.calc{--ink: #241c15;--cream: #fff6e9;--coral: #ff6b5e;--mint: #3fc8b4;--sun: #ffcf3f;--lav: #a78bfa;--trust-bg: #f4f9f1;background:radial-gradient(rgba(36,28,21,.05) 1.1px,transparent 1.1px) 0 0 / 18px 18px,var(--cream);color:var(--ink);min-height:100%;font-weight:500}.calc-wrap{max-width:560px;margin:0 auto;padding:20px 16px 48px}.calc .hero{position:relative;padding:8px 4px 20px}.calc .hero h1{font-size:clamp(26px,6vw,34px);font-weight:800;line-height:1.15;letter-spacing:-.01em}.calc .hero .hl{background:linear-gradient(transparent 62%,var(--sun) 62%);padding:0 2px}.calc .verchip{display:inline-block;margin-top:12px;background:var(--mint);color:#fff;border:2px solid var(--ink);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;box-shadow:2px 2px 0 var(--ink)}.calc .card{background:#fff;border:2.5px solid var(--ink);border-radius:20px;box-shadow:4px 4px 0 var(--ink);padding:16px;margin-bottom:16px;position:relative}.calc .cardtitle{font-weight:800;font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.calc .b{flex:0 0 auto;width:22px;height:22px;border-radius:7px;background:var(--ink);color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.calc .row{display:grid;grid-template-columns:1fr 64px 84px 34px;gap:8px;align-items:center;margin-bottom:8px}.calc .row.head{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:6px}.calc .row.head span:nth-child(2),.calc .row.head span:nth-child(3){text-align:center}.calc .in{border:2px solid var(--ink);border-radius:12px;padding:9px 10px;font-size:13.5px;font-weight:600;width:100%;background:#fff;color:var(--ink)}.calc .in:focus-visible{outline:3px solid var(--lav);outline-offset:1px}.calc .in.invalid{border-color:var(--coral);background:#fff2f0}.calc .in.score{text-align:center}.calc .coef{justify-self:center;background:var(--lav);color:#fff;border:2px solid var(--ink);border-radius:10px;padding:8px 0;width:52px;text-align:center;font-weight:800;font-size:13px;box-shadow:2px 2px 0 var(--ink)}.calc .delrow{border:2px solid var(--ink);background:#fff;border-radius:9px;width:34px;height:34px;font-weight:800;cursor:pointer;line-height:1}.calc .fieldnote{font-size:11px;color:var(--coral);font-weight:700;margin:2px 0 6px}.calc .addrow{width:100%;border:2px dashed var(--ink);background:transparent;border-radius:12px;padding:9px;font-weight:700;font-size:13px;cursor:pointer;margin:4px 0 12px;color:var(--ink)}.calc .cta{width:100%;border:2.5px solid var(--ink);background:var(--coral);color:#fff;border-radius:14px;padding:13px;font-weight:800;font-size:16px;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .05s ease}.calc .cta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.calc .cta:disabled{opacity:.5;cursor:not-allowed}.calc .result .bignum{font-size:46px;font-weight:800;line-height:1}.calc .result .den{font-size:20px;font-weight:700;opacity:.55}.calc .gradechip{display:inline-block;background:var(--sun);border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font-weight:800;font-size:13.5px;box-shadow:2px 2px 0 var(--ink)}.calc .gradechip.warn{background:var(--coral);color:#fff}.calc .secondary{margin-top:10px;font-size:14px;font-weight:700}.calc .secondary .val{font-weight:800}.calc .trust{background:var(--trust-bg);border:2px solid var(--ink);border-radius:14px;padding:11px 13px;margin-top:13px;font-size:12.5px;line-height:1.7}.calc .trust .formula{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1.5px solid var(--ink);border-radius:8px;padding:6px 8px;margin:6px 0;font-size:12px;unicode-bidi:plaintext}.calc .fb{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;font-weight:700;flex-wrap:wrap}.calc .fb .tb{width:40px;height:34px;border:2px solid var(--ink);border-radius:11px;background:#fff;box-shadow:2px 2px 0 var(--ink);font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.calc .fb .tb[aria-pressed=true]{background:var(--mint)}.calc .fb .report{margin-inline-start:auto;font-size:11.5px;font-weight:700;color:var(--coral);text-decoration:underline;cursor:pointer;background:none;border:none}.calc .cite{display:flex;gap:10px;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink);font-size:12.5px;line-height:1.6;margin-bottom:16px}.calc .cite .ic{flex:0 0 26px;width:26px;height:26px;border-radius:9px;background:var(--mint);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800}.calc .cite a{color:var(--ink);font-weight:700}.calc .ad{border:2px dashed var(--ink);border-radius:14px;padding:20px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.08em;opacity:.6;margin-bottom:16px;min-height:100px}.calc .selectrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.calc .selectrow select{border:2px solid var(--ink);border-radius:10px;padding:7px 10px;font-weight:700;font-size:13px;background:#fff;color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.calc .schoollist{display:grid;gap:8px;margin-bottom:16px}.calc .schoollink{display:flex;justify-content:space-between;align-items:center;background:#fff;border:2px solid var(--ink);border-radius:13px;padding:12px 14px;font-weight:700;font-size:13.5px;box-shadow:2.5px 2.5px 0 var(--ink);text-decoration:none;color:var(--ink)}.calc .reportform{margin-top:10px;border-top:2px dashed var(--ink);padding-top:10px}.calc .reportform textarea{width:100%;border:2px solid var(--ink);border-radius:10px;padding:8px;font-size:13px;min-height:64px;font-family:inherit}.calc .reportmsg{display:block;font-size:12.5px;font-weight:700;margin-top:8px;padding:8px 10px;border-radius:10px;border:2px solid var(--ink)}.calc .reportmsg.ok{background:var(--trust-bg)}.calc .reportmsg.err{background:#fff2f0}.calc .foot{text-align:center;font-size:11.5px;opacity:.7;margin-top:8px}.calc .meter{margin-top:12px}.calc .meter .track{height:12px;border:2px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden}.calc .meter .fill{height:100%;background:var(--mint);border-inline-end:2px solid var(--ink)}:root{--ink: #241c15;--cream: #fff6e9;--coral: #ff6b5e;--mint: #3fc8b4;--sun: #ffcf3f;--lav: #a78bfa;--trust-bg: #f4f9f1}.calc-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--cream)}.calc-shell-main{flex:1}.sp-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--cream) 90%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(6px);backdrop-filter:saturate(1.2) blur(6px);border-bottom:2.5px solid var(--ink)}.sp-header-in{max-width:600px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);margin-inline-end:auto}.brand .mark{width:34px;height:34px;border-radius:10px;background:var(--sun);border:2.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);display:grid;place-items:center;font-size:18px;transform:rotate(-4deg)}.brand .name{font-weight:800;font-size:18px;letter-spacing:-.01em}.brand .name b{color:var(--coral)}.nav-link{text-decoration:none;color:var(--ink);font-weight:800;font-size:13.5px;white-space:nowrap;padding:6px 2px;position:relative}.nav-link:after{content:"";position:absolute;inset-inline:0;bottom:2px;height:6px;background:var(--sun);border-radius:3px;transform:scaleX(0);transform-origin:inline-start;transition:transform .15s ease;z-index:-1}.nav-link:hover:after{transform:scaleX(1)}.schoolsel{position:relative}.schoolbtn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:2px solid var(--ink);border-radius:11px;box-shadow:2px 2px 0 var(--ink);padding:7px 11px;font:inherit;font-size:13px;font-weight:800;color:var(--ink);cursor:pointer;white-space:nowrap}.schoolbtn .chev{transition:transform .15s ease}.schoolsel.open .schoolbtn .chev{transform:rotate(180deg)}.schoolbtn .lbl-short{display:none}.menu{position:absolute;inset-inline-end:0;top:calc(100% + 8px);width:288px;max-width:78vw;background:#fff;border:2.5px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:8px}.menu .mh{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;opacity:.55;padding:6px 8px 4px}.menu a{display:flex;align-items:center;justify-content:space-between;gap:8px;text-decoration:none;color:var(--ink);font-weight:700;font-size:13px;padding:9px 10px;border-radius:10px}.menu a .tag{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:999px;border:1.5px solid var(--ink);background:var(--mint);color:#fff}.menu a:hover{background:var(--trust-bg)}.langsw{display:inline-flex;border:2px solid var(--ink);border-radius:10px;overflow:hidden;box-shadow:2px 2px 0 var(--ink);flex:0 0 auto}.langsw a,.langsw span{text-decoration:none;color:var(--ink);background:#fff;padding:6px 9px;font-size:12px;font-weight:800;line-height:1}.langsw>*+*{border-inline-start:2px solid var(--ink)}.langsw [aria-current=true]{background:var(--lav);color:#fff}.langsw .soon{opacity:.45;cursor:not-allowed}.calc .trustrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.calc .trustchip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;background:#fff;border:2px solid var(--ink);border-radius:999px;padding:5px 11px;box-shadow:2px 2px 0 var(--ink)}.calc .result .actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.calc .result .act{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink);background:#fff;border-radius:11px;padding:8px 12px;font:inherit;font-weight:800;font-size:12.5px;box-shadow:2px 2px 0 var(--ink);cursor:pointer;color:var(--ink)}.calc .result .act.primary{background:var(--mint);color:#fff}.calc .result .act:disabled{opacity:.55;cursor:default}.calc .reverse{background:var(--trust-bg);border:2.5px dashed var(--ink);border-radius:18px;padding:16px;margin-bottom:16px}.calc .reverse .rv-h{font-weight:800;font-size:14.5px;display:flex;align-items:center;gap:8px}.calc .reverse .rv-h .ic{width:22px;height:22px;border-radius:7px;background:var(--lav);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800;border:2px solid var(--ink)}.calc .reverse .rv-sub{font-size:12.5px;opacity:.75;font-weight:600;margin:4px 0 12px}.calc .reverse .rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc .reverse label{font-size:10.5px;font-weight:800;text-transform:uppercase;opacity:.6;display:block;margin-bottom:4px}.calc .reverse .out{display:block;margin-top:13px;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:700;box-shadow:2px 2px 0 var(--ink);line-height:1.6}.calc .reverse .out b{background:linear-gradient(transparent 58%,var(--sun) 58%);font-weight:800;padding:0 2px}.calc .school-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px}.calc .school-card{display:flex;gap:11px;align-items:center;background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:11px;box-shadow:3px 3px 0 var(--ink);text-decoration:none;color:var(--ink)}.calc .school-card:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.calc .school-card .logo{width:42px;height:42px;border-radius:12px;border:2px solid var(--ink);display:grid;place-items:center;font-weight:800;font-size:12.5px;flex:0 0 auto;color:#fff;text-align:center;line-height:1.05}.calc .school-card .sc-txt{display:flex;flex-direction:column;min-width:0}.calc .school-card .sc-name{font-weight:800;font-size:12.5px;line-height:1.25}.calc .school-card .sc-sub{font-size:11px;opacity:.6;font-weight:600;margin-top:2px}.calc .school-card.all{border-style:dashed;box-shadow:none;justify-content:center;font-weight:800;font-size:13px}.calc .school-grid .school-card:nth-of-type(6n+1) .logo{background:var(--coral)}.calc .school-grid .school-card:nth-of-type(6n+2) .logo{background:var(--mint)}.calc .school-grid .school-card:nth-of-type(6n+3) .logo{background:var(--lav)}.calc .school-grid .school-card:nth-of-type(6n+4) .logo{background:var(--sun);color:var(--ink)}.calc .school-grid .school-card:nth-of-type(6n+5) .logo{background:var(--ink)}.calc .school-grid .school-card:nth-of-type(6n) .logo{background:#e8896b}.calc .sec{margin-bottom:20px}.calc .sec h2{font-size:clamp(19px,5vw,22px);font-weight:800;letter-spacing:-.01em;margin:0 0 4px}.calc .sec h2 .hl{background:linear-gradient(transparent 60%,var(--sun) 60%);padding:0 3px}.calc .sec .lead{font-size:13.5px;line-height:1.75;opacity:.85;margin:8px 0 0}.calc .fx{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:2px solid var(--ink);border-radius:12px;padding:12px 14px;margin:14px 0 6px;font-size:13px;box-shadow:3px 3px 0 var(--ink);text-align:center;unicode-bidi:plaintext}.calc .exhint{background:var(--trust-bg);border:2px solid var(--ink);border-radius:12px;padding:10px 13px;font-size:12.5px;line-height:1.65;margin-top:10px}.calc .tablewrap{border:2.5px solid var(--ink);border-radius:16px;overflow:hidden;box-shadow:4px 4px 0 var(--ink);margin-top:14px;background:#fff}.calc table.sp{width:100%;border-collapse:collapse;font-size:13px}.calc table.sp th{background:var(--ink);color:#fff;font-weight:800;font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;padding:10px 12px;text-align:start}.calc table.sp td{padding:10px 12px;border-top:2px solid var(--ink);font-weight:600}.calc table.sp tbody tr:nth-child(2n) td{background:#fffaf0}.calc .lettercell{font-weight:800}.calc .coefcell{font-weight:800;color:var(--lav)}.calc .clschip{display:inline-block;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;border:2px solid var(--ink)}.calc .cls-honor{background:var(--sun)}.calc .cls-pass,.calc .cls-info{background:var(--mint);color:#fff}.calc .cls-warning{background:#ffe0dc}.calc .cls-fail{background:var(--coral);color:#fff}.calc .faq{background:#fff;border:2.5px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);margin-top:10px;overflow:hidden}.calc .faq summary{list-style:none;cursor:pointer;padding:13px 15px;font-weight:800;font-size:13.5px;display:flex;justify-content:space-between;gap:12px;align-items:center}.calc .faq summary::-webkit-details-marker{display:none}.calc .faq summary .pm{flex:0 0 auto;width:22px;height:22px;border-radius:7px;border:2px solid var(--ink);display:grid;place-items:center;font-weight:800;background:var(--sun);transition:transform .15s ease}.calc .faq[open] summary .pm{transform:rotate(45deg)}.calc .faq .a{padding:0 15px 14px;font-size:13px;line-height:1.7;opacity:.9}.sp-footer{background:var(--ink);color:var(--cream);border-top:4px solid var(--coral)}.sp-footer-in{max-width:600px;margin:0 auto;padding:26px 16px 22px}.foot-brand{display:flex;align-items:center;gap:10px}.foot-brand .mark{width:34px;height:34px;border-radius:10px;background:var(--sun);border:2.5px solid #000;display:grid;place-items:center;font-size:18px;transform:rotate(-4deg)}.foot-brand .name{font-weight:800;font-size:18px;color:#fff}.foot-tag{margin:10px 0 22px;font-size:13px;line-height:1.6;opacity:.75;max-width:46ch}.foot-h{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sun);margin:0 0 12px}.foot-cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px 24px}.foot-links{display:flex;flex-direction:column;gap:9px}.foot-links a{color:var(--cream);text-decoration:none;font-size:13.5px;font-weight:600;opacity:.9;width:fit-content}.foot-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}.foot-schools{display:flex;flex-wrap:wrap;gap:8px}.foot-schools a{text-decoration:none;font-size:12.5px;font-weight:800;padding:6px 11px;border-radius:999px;background:#fff6e914;border:1.5px solid rgba(255,246,233,.4);color:var(--cream)}.foot-schools a:hover{background:var(--sun);color:var(--ink);border-color:var(--sun)}.foot-rule{border:0;border-top:2px dashed rgba(255,246,233,.28);margin:24px 0 16px}.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;opacity:.7}.foot-bottom .disc{max-width:40ch;line-height:1.5}@media(min-width:640px){.calc .school-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:460px){.schoolbtn .lbl-full{display:none}.schoolbtn .lbl-short{display:inline}.foot-cols{grid-template-columns:1fr 1fr}.calc .reverse .rc-grid{grid-template-columns:1fr}}
