:root{--color-brand:var(--gold);--color-brand-ui:#8C7600;--color-brand-soft:var(--gold-soft);--color-text:var(--ink);--color-text-muted:var(--grey);--color-surface:var(--surface);--color-border:var(--line);--color-border-control:#8d8d86;--color-danger:#b00020;--focus-ring:3px solid var(--ink);--font-body:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--gold:#C8AB23;--gold-soft:#efe5a6;--gold-wash:#f6efc8;--gold-stage:#e8d98a;--ink:#252525;--grey:#555;--bg:#F4F4F2;--surface:#fff;--line:#d9d9d3;--r:14px;--glass-solid:rgba(255,255,255,.95);--glass-fill:rgba(255,255,255,.58);--glass-edge:rgba(255,255,255,.8);--glass-hi:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.3);--glass-shadow:0 6px 18px rgba(37,37,37,.1);--glass-blur:blur(10px) saturate(1.3);--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s6:48px;font:16px/1.5 var(--font-body);color:var(--color-text)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(112deg,transparent 0 56%,var(--gold-wash) 56% 74%,var(--gold-stage) 74% 100%)}.wrap{max-width:1160px;margin:0 auto;padding:0 var(--s2)}.sr-svg{position:absolute;width:0;height:0;overflow:hidden}.lg{position:relative;isolation:isolate;background:var(--glass-solid);border:1px solid var(--line);border-radius:20px;box-shadow:var(--glass-hi),var(--glass-shadow)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.lg{background:var(--glass-fill);border-color:var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.lg-top[data-refract]{-webkit-backdrop-filter:url(#lg-top) blur(7px) saturate(1.3);backdrop-filter:url(#lg-top) blur(7px) saturate(1.3)}.lg-dock[data-refract]{-webkit-backdrop-filter:url(#lg-dock) blur(7px) saturate(1.3);backdrop-filter:url(#lg-dock) blur(7px) saturate(1.3)}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.lg,.lg[data-refract]{background:var(--glass-solid)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-color:var(--line)}}.top{position:sticky;top:8px;z-index:5;width:min(1160px,calc(100% - 16px));margin:8px auto 0}.hd{display:flex;align-items:center;gap:var(--s2);min-height:60px;padding:6px var(--s2);position:relative;z-index:1}.hd h1{font-size:1.05rem;margin:0;font-weight:600;line-height:1.25}.hd p{margin:0;font-size:.8rem}.logo{display:block;flex:none;height:38px;width:auto;margin-right:var(--s1)}.hd>div{border-left:1px solid var(--line);padding-left:var(--s2)}@media (max-width:480px){.hide-sm{display:none}.hd{gap:var(--s1)}.logo{height:28px;margin-right:0}.hd>div{padding-left:var(--s1)}.hd h1{font-size:.85rem}.hd p{font-size:.72rem}}.dock{position:fixed;left:8px;right:8px;bottom:8px;z-index:5;display:none;justify-content:space-between;gap:var(--s2);padding:10px var(--s2);font-size:.95rem}.dock.on{display:flex}.dock span{position:relative;z-index:1}.dock small{display:block;font-size:.75rem}.dock b{font-size:1.1rem}@media (min-width:960px){.dock,.dock.on{display:none}}main.wrap{display:grid;gap:var(--s3);padding-top:var(--s3);padding-bottom:96px}@media (min-width:960px){main.wrap{grid-template-columns:400px 1fr;align-items:start;padding-bottom:var(--s6)}.inputs{position:sticky;top:94px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 1px 2px #2525250f}.inputs,.pad{padding:var(--s3)}.out{min-width:0;display:grid;gap:var(--s3)}h2{font-size:1.25rem;margin:0 0 var(--s1);font-weight:600}h3{font-size:1.1rem;margin:0;font-weight:600}h4{margin:var(--s2) 0 0;font-size:1rem}.f{margin:0 0 var(--s3);border:0;padding:0;display:block}.f label,.lbl,legend,.fld{font-weight:600;font-size:.95rem;display:block;margin-bottom:var(--s1);padding:0}.row{display:flex;align-items:center;gap:var(--s1)}.unit{color:var(--grey);white-space:nowrap}input[type=number],select{font:inherit;padding:12px var(--s2);min-height:48px;width:100%;border:2px solid var(--grey);border-radius:12px;background:var(--surface);color:var(--ink);font-weight:400}input[type=number]:hover,select:hover{border-color:var(--ink)}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:var(--focus-ring);outline-offset:2px}input[type=range]{width:100%;height:32px;margin:var(--s1) 0 0;accent-color:var(--gold)}.val{margin:0;font-size:1.25rem;font-weight:600}.stepper{display:flex;align-items:center;gap:var(--s2)}.stepper output{font-size:2rem;font-weight:600;min-width:2.5ch;text-align:center}.rb{width:56px;height:56px;border-radius:50%;font:inherit;font-size:1.5rem;cursor:pointer;color:var(--ink);background:var(--surface);border:2px solid var(--color-brand-ui);box-shadow:inset 0 1px #fff,0 2px 6px #2525251a;transition:transform .12s,background .12s}.rb:hover:not(:disabled){background:var(--gold-soft);transform:translateY(-1px)}.rb:active:not(:disabled){transform:scale(.94)}.rb:disabled{opacity:.4;cursor:not-allowed}.seg{display:grid;grid-template-columns:1fr;gap:var(--s1)}@media (min-width:420px){.seg{grid-template-columns:repeat(3,1fr)}}.seg legend{grid-column:1/-1}.o{display:block;margin:0!important}.o input{position:absolute;opacity:0;width:1px;height:1px}.o span{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px var(--s1);min-height:52px;border:2px solid var(--color-border-control);border-radius:12px;background:var(--surface);cursor:pointer;font-weight:400;transition:background .12s,border-color .12s,transform .12s}.o span:hover{border-color:var(--ink)}.o span:active{transform:scale(.97)}.o input:checked+span{border-color:var(--color-brand-ui);background:var(--gold-soft);font-weight:600}.o input:focus-visible+span{outline:var(--focus-ring);outline-offset:2px}.refine{margin-top:var(--s2)}summary{cursor:pointer;font-weight:600}.refine .fld{margin-top:var(--s2)}.refine input,.refine select{margin-top:6px}.chk{display:flex;gap:var(--s1);align-items:flex-start;margin-top:var(--s2);font-weight:400}.chk input{margin-top:5px;width:20px;height:20px;accent-color:var(--gold)}.small,.note,.sub,.hint{color:var(--grey);font-size:.88rem}.sub{margin:4px 0 var(--s1)}.cmp{display:grid;gap:var(--s2)}@media (min-width:720px){.cmp{grid-template-columns:1fr 1fr}}.card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:var(--r);padding:var(--s3)}.label{margin:var(--s2) 0 0;font-size:.85rem;color:var(--grey)}.hero{margin:0 0 var(--s2);font-size:clamp(2rem,1.6rem + 1.2vw,2.4rem);line-height:1.1;font-weight:700}.hero small{font-size:1rem;font-weight:400;color:var(--grey)}.flag{display:inline-block;background:var(--ink);color:var(--surface);border-radius:6px;padding:2px var(--s1);font-size:.85rem;margin:0}dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--s2);font-size:.95rem}dt{color:var(--grey)}dd{margin:0;text-align:right;font-weight:600}.pop{display:inline-block;animation:pop .25s ease-out}@keyframes pop{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}.rec{border-left:6px solid var(--gold)}.rec .head{margin:0 0 var(--s1);font-size:1.1rem}.rec ul{margin:0 0 var(--s1);padding-left:var(--s3)}.rec .label{margin-top:var(--s1)}.alert{background:var(--surface);border:2px solid var(--ink);border-radius:12px;padding:var(--s1) var(--s2);margin:0}.acc details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:var(--s2);margin-bottom:var(--s1)}.acc details p,.acc details ul{color:var(--grey)}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem;margin-top:var(--s1)}th,td{padding:8px;border-bottom:1px solid var(--line);text-align:right}th:first-child,tbody th,.law td{text-align:left}.foot{color:var(--grey);font-size:.85rem;padding-bottom:var(--s4)}a{color:var(--ink)}@media (max-width:520px){.hero{font-size:2rem}.card{padding:var(--s2)}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}input[type=number].under,input[type=number].under:hover{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.val.under,.val.under .pop{color:var(--color-danger)}.minhint{margin:var(--s1) 0 0;font-size:.88rem;color:var(--grey)}.minhint.under{color:var(--color-danger);font-weight:600}.minhint button{font:inherit;font-size:.88rem;margin-left:var(--s1);padding:4px 10px;border:2px solid var(--gold);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.minhint button:hover{background:var(--gold-soft)}.hero,.val,dd,td,.dock b,.stepper output{font-variant-numeric:tabular-nums}
