.cx{
  --sky1:#E4E0D6; --sky2:#F4F2EE; --ink:#14202B; --mute:#5F6670; --card:#FFFFFF; --soft:#F4F2EE; --line:#E3DFD7;
  --accent:#3F7A0C; --tape:#F2C230; --rubber:#1A1D20; --ok:#1E8E5A; --warn:#B26A00;
  --display:'Space Grotesk',system-ui,sans-serif; --body:'Inter Tight',system-ui,sans-serif;
  
font:500 15px/1.5 var(--body);color:var(--ink)}















@media (max-width:900px){}

.cx .scene{position:relative;margin-inline:0;background:linear-gradient(180deg,var(--sky1) 0%,#ECE8E0 55%,var(--sky2) 100%);min-height:760px}
.cx .scene canvas{position:absolute;inset:0;width:100%!important;height:100%!important;touch-action:pan-y;cursor:grab}
.cx .ui{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,370px) 1fr minmax(0,330px);gap:24px;align-items:start;padding-block:28px 32px;pointer-events:none}
.cx .ui>*{pointer-events:auto}
.cx .kick{font:800 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.cx h1{font:800 clamp(30px,3.4vw,46px)/1.02 var(--display);letter-spacing:-.04em;margin:10px 0 16px;text-wrap:balance}
.cx .panel{background:var(--card);border-radius:22px;padding:18px;box-shadow:0 24px 60px -30px rgba(20,32,43,.45)}
.cx .f{margin-bottom:14px}
.cx .f .top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.cx .f label,.cx .f .lab{font-weight:800;font-size:13px}
.cx .cxnum{display:flex;align-items:center;gap:4px;font:700 16px var(--display)}
.cx .cxnum input{width:64px;border:1px solid var(--line);border-radius:10px;padding:4px 8px;font:700 16px var(--display);text-align:right;color:var(--ink);background:var(--soft)}
.cx .f input[type=range]{width:100%;accent-color:var(--accent)}
.cx .seg{display:flex;background:var(--soft);border-radius:12px;padding:3px;gap:3px}
.cx .seg button{flex:1;border:0;background:transparent;border-radius:9px;padding:8px 6px;font:700 12.5px var(--body);color:var(--mute);cursor:pointer;line-height:1.2}
.cx .seg button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.cx .seg4{flex-wrap:wrap}.cx .seg4 button{flex:1 1 45%}
.cx .seg button[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 2px 8px -4px rgba(20,32,43,.4)}
.cx .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cx .cxstep{display:flex;align-items:center;justify-content:space-between;background:var(--soft);border-radius:12px;padding:4px}
.cx .cxstep button{border:0;background:var(--card);width:30px;height:30px;border-radius:9px;font:800 16px var(--body);cursor:pointer;color:var(--ink)}
.cx .cxstep output{font:700 15px var(--display)}
.cx .chk{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700}
.cx .cxhint{font-size:12px;color:var(--mute);margin-top:4px}
.cx .btn:focus-visible,.cx .cart:focus-visible,.cx input:focus-visible,.cx .seg button:focus-visible,.cx .cxstep button:focus-visible{outline:3px solid var(--tape);outline-offset:2px}

.cx .cxhud{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:3;display:flex;gap:4px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);padding:5px;border-radius:999px;box-shadow:0 10px 30px -18px rgba(20,32,43,.5);max-width:calc(100% - 32px);overflow-x:auto;scrollbar-width:none}
.cx .cxhud span{white-space:nowrap;font:700 12px var(--body);padding:6px 10px;border-radius:999px;color:var(--mute);transition:.3s}
.cx .cxhud span.on{background:var(--ink);color:#fff}
.cx .cxhud span.done{color:var(--ink)}
.cx .cxhud button{border:0;background:var(--accent);color:#fff;border-radius:999px;padding:6px 12px;font:800 12px var(--body);cursor:pointer;white-space:nowrap}
.cx .dim{position:absolute;z-index:2;font:800 12px var(--display);background:var(--card);padding:3px 8px;border-radius:8px;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 4px 12px -6px rgba(20,32,43,.5);white-space:nowrap}

.cx .sum h3{font:800 17px var(--display);margin:0 0 2px;letter-spacing:-.02em}
.cx .sum .sub{font-size:12px;color:var(--mute);margin:0 0 10px}
.cx .big{font:800 34px var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.cx .perm{display:flex;gap:8px;margin:10px 0 4px}.cx .perm div{flex:1;background:var(--soft);border-radius:12px;padding:8px 10px}.cx .perm b{display:block;font:800 18px var(--display);font-variant-numeric:tabular-nums;color:var(--ink)}.cx .perm span{font:600 11.5px var(--body);color:var(--mute)}
.cx .big small{display:block;font:600 12px var(--body);color:var(--mute);letter-spacing:0}
.cx .mini{margin:12px 0;display:grid;gap:8px}
.cx .mini>div{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;font-size:13px}
.cx .mini img{width:40px;height:40px;border-radius:10px;background:#EDF0ED;object-fit:contain}
.cx .mini b{display:block;font-weight:800;line-height:1.2}
.cx .mini small{color:var(--mute)}
.cx .mini .q{font:800 13px var(--display);text-align:right;white-space:nowrap}
.cx .btn{display:block;width:100%;border:0;border-radius:14px;padding:14px;background:var(--accent);color:#fff;font:800 15px var(--body);cursor:pointer;text-align:center;text-decoration:none}
.cx .btn.s{background:var(--soft);color:var(--ink);margin-top:8px}
@media (max-width:1100px){
  .cx .scene{display:flex;flex-direction:column;padding-bottom:20px;min-height:0}
  .cx .ui{display:contents}
  .cx .ui>*{margin-inline:max(16px,env(safe-area-inset-left,0px))}
  .cx .ui>.intro{order:1;padding-top:20px}
  .cx .ui .gap{display:none}
  .cx .stagebox{order:2;position:relative;height:min(95vw,560px)}
  .cx .scene canvas{position:absolute}
  .cx .ui .sum{order:3}
  .cx .cxhud{bottom:8px}
}
@media (min-width:1101px){.cx .stagebox{position:absolute;inset:0}}

.cx section{padding-block:56px 8px}
.cx h2{font:800 clamp(26px,3.2vw,40px)/1.05 var(--display);letter-spacing:-.035em;margin:0 0 8px}
.cx .cxlead{color:var(--mute);margin:0 0 24px;max-width:66ch}
.cx .kit{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:980px){.cx .kit{grid-template-columns:1fr}}
.cx .cxtbl{background:var(--card);border-radius:22px;padding:8px 18px 18px}
.cx .grp{font:800 11px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding:16px 0 6px}
.cx .it{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.cx .it img{width:48px;height:48px;border-radius:12px;background:#EDF0ED;object-fit:contain}
.cx .it b{display:block;font-weight:800;font-size:14px;line-height:1.25}
.cx .it small{color:var(--mute);font-size:12px}
.cx .it .q{font:700 14px var(--display);white-space:nowrap;text-align:right;color:var(--mute)}
.cx .it .p{font:800 14px var(--display);white-space:nowrap;text-align:right;min-width:86px;font-variant-numeric:tabular-nums}
@media (max-width:560px){.cx .it{grid-template-columns:40px minmax(0,1fr) auto}.cx .it .q{display:none}.cx .it img{width:40px;height:40px}}
.cx .total{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--ink);margin-top:6px;padding-top:14px}
.cx .total span{font:800 30px var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.cx .side{display:grid;gap:16px}
.cx .box{background:var(--card);border-radius:22px;padding:18px}
.cx .box h3{font:800 16px var(--display);margin:0 0 10px;letter-spacing:-.02em}
.cx .roll{margin-bottom:10px}
.cx .roll .t{display:flex;justify-content:space-between;font-size:12px;font-weight:700;margin-bottom:4px;gap:8px}
.cx .roll .t small{color:var(--mute);font-weight:600}
.cx .bar{display:flex;height:22px;border-radius:6px;overflow:hidden;background:repeating-linear-gradient(45deg,#E9EEF0 0 6px,#F5F7F8 6px 12px)}
.cx .bar i{display:block;height:100%;border-right:2px solid #fff}
.cx .bar .fld{background:var(--rubber)}
.cx .bar .up{background:#56606A}
.cx .leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mute);margin-top:6px}
.cx .leg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.cx .cxrules{margin:0;padding-left:18px;font-size:13px;color:var(--mute);display:grid;gap:4px}
.cx .sysq{display:flex;gap:6px;align-items:stretch}.cx .sysq .seg{flex:1}
.cx .qbtn{border:0;width:30px;border-radius:10px;background:var(--soft);font:800 14px var(--display);color:var(--accent);cursor:pointer}
.cx .qbox{background:#EEF2FF;border-radius:12px;padding:10px 12px;font-size:12.5px;margin-top:8px;color:#1d2b6b}
.cx .qbox b{display:block;font-size:13px;margin-bottom:2px}
.cx .disc{background:#FFF6E5;color:#5C3B00;border-radius:14px;padding:10px 12px;font-size:12.5px;line-height:1.45;margin:0 0 14px}
.cx .disc b{color:#3d2700}
.cx .cxcta{background:var(--ink);color:#fff;border-radius:22px;padding:18px}
.cx .cxcta h3{color:#fff}.cx .cxcta p{margin:0 0 10px;font-size:13.5px;color:#C9D3DC}
.cx .cxcta .ct{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px;font:700 15px var(--display);user-select:all}
.cx .cxcta button{border:0;background:#2E3B48;color:#fff;border-radius:8px;padding:5px 10px;font:700 12px var(--body);cursor:pointer}
.cx .nc{opacity:.75}.cx .nc .p{color:var(--mute)}
.cx .warn{background:#FFF6E5;color:#6B4300;border-radius:14px;padding:10px 12px;font-size:13px;display:grid;gap:6px}



@media (prefers-reduced-motion:reduce){}

.cx .wrap{max-width:1320px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
main.calcmain{pointer-events:auto;padding-top:8px}
.cx .nomont{margin:10px 0 8px;font-size:13px}
.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(16px);background:#14202B;color:#F4F2EE;padding:12px 16px;border-radius:10px;font-size:.92rem;opacity:0;pointer-events:none;transition:.25s;z-index:40;width:max-content;max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.calcseo{max-width:1180px;padding-top:40px}
.calcseo .faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin:10px 0}
.calcseo .faq summary{font-weight:700;cursor:pointer;color:var(--fg)}
.calcseo .faq details p{margin:10px 0 0}

.cx .sides{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cx .sides .chk{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;font-size:14px}
.cx .sides .chk b{margin-left:auto;font-weight:600;color:var(--mute)}
.cx .sides input{width:18px;height:18px;accent-color:var(--accent)}
.cx .cxsel{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:700 15px var(--body);color:var(--ink);background:var(--soft);appearance:auto}
.cx .rollwarn{margin-top:8px;font-size:13px;border-radius:12px;padding:8px 12px;background:#EEF6E5;color:#2F5A0A}
.cx .rollwarn.heavy{background:#FFF1D6;color:#7A4A00;font-weight:600;animation:cxblink 1.6s ease-in-out infinite}
@keyframes cxblink{0%,100%{box-shadow:0 0 0 0 rgba(224,140,0,.0);background:#FFF1D6}50%{box-shadow:0 0 0 4px rgba(224,140,0,.25);background:#FFE2A6}}
@media (prefers-reduced-motion:reduce){.cx .rollwarn.heavy{animation:none}}
.cx .seg button:disabled{opacity:.4;cursor:not-allowed}
