@font-face{font-family:"Oswald";src:url(assets/fonts/Oswald-VariableFont_wght.woff) format("woff");font-weight:200 700;font-display:swap}
@font-face{font-family:"Atkinson";src:url(assets/fonts/AtkinsonHyperlegible-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(assets/fonts/AtkinsonHyperlegible-Bold.woff) format("woff");font-weight:700;font-display:swap}
:root{--ink:#02010D;--ink2:#070B1C;--card:#0A1630;--navy:#0C2D59;--blue:#1F4D86;--line:#24406A;--or:#F08735;--or2:#DD621A;--or3:#BC3401;--txt:#F4F6FA;--mut:#B9C4D6;--green:#3FB97A;--yellow:#F2C230;--red:#FF6B5E;
 --r:16px;--s1:8px;--s2:16px;--s3:24px;--s4:40px}
*{box-sizing:border-box}
html{background:var(--ink)}
body{margin:0;color:var(--txt);font:400 1.125rem/1.55 "Atkinson",system-ui,sans-serif;background:radial-gradient(1200px 600px at 50% -200px,#0C2D5966,transparent 70%) var(--ink);min-height:100vh}
main{max-width:600px;margin:0 auto;padding:var(--s3) 20px var(--s4);min-height:86vh;outline:none}
.fade{animation:f .28s cubic-bezier(.2,.7,.2,1)}@keyframes f{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
h1,h2,.verdict b{font-family:"Oswald",Impact,sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:600;line-height:1.08}
h1{font-size:2.5rem;margin:0 0 var(--s2)}
h2{font-size:1.5rem;margin:0 0 var(--s1)}
p{margin:0 0 var(--s2)}.mut{color:var(--mut)}.c{text-align:center}
.kick{margin:6vh 0 var(--s1);color:var(--or);font:600 .95rem "Oswald",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.lead{font-size:1.2rem;color:var(--txt)}
.how{list-style:none;padding:0;margin:var(--s3) 0;display:grid;gap:10px}
.how li{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.how b{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--or);color:var(--ink);font-family:"Oswald"}
.trust{list-style:none;padding:0;margin:var(--s2) 0;color:var(--mut);font-size:1rem}.trust li{padding-left:26px;position:relative;margin-bottom:6px}.trust li::before{content:"✓";position:absolute;left:4px;color:var(--green)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:var(--mut);font-size:.95rem}
.stepl{text-align:right}
.bar{height:6px;background:var(--navy);border-radius:3px;overflow:hidden;margin-bottom:var(--s3)}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--or2),var(--or));border-radius:3px;transition:width .35s ease}
.btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:56px;margin:0 0 12px;padding:14px 16px;font:700 1.2rem "Atkinson",sans-serif;color:var(--txt);background:var(--card);border:2px solid var(--line);border-radius:14px;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s,border-color .15s,transform .1s}
.btn:hover{border-color:var(--blue);background:#0E2244}.btn:active{transform:scale(.985)}
.btn small{font-weight:400;font-size:.9rem;opacity:.85}
.btn.pri{background:var(--or);border-color:var(--or);color:var(--ink)}.btn.pri:hover{background:#F59A50;border-color:#F59A50}
.btn.ghost{background:transparent;border-style:dashed}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.link{background:none;border:0;color:var(--mut);font:inherit;font-size:1rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:10px 0;min-height:44px}
.link:hover{color:var(--txt)}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:6px}
a{color:#F7A462}
.note{font-size:.95rem;color:var(--mut)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:4px 16px;margin:0 0 var(--s3)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--s2)}
.chip{min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:transparent;color:var(--txt);font:700 1rem "Atkinson",sans-serif;cursor:pointer}
.chip:hover{border-color:var(--blue)}.chip.on{background:var(--or);border-color:var(--or);color:var(--ink)}
.stp{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.stp:last-child{border:0}
.stp .lb{font-weight:700}
.ctl{display:flex;align-items:center;gap:4px}
.pm{width:48px;height:48px;border-radius:12px;border:2px solid var(--line);background:var(--ink2);color:var(--txt);font:700 1.6rem/1 "Atkinson",sans-serif;cursor:pointer}
.pm:hover:not([disabled]){border-color:var(--or)}.pm[disabled]{opacity:.3;cursor:not-allowed}
.ctl output{min-width:2.2ch;text-align:center;font:600 1.5rem "Oswald",sans-serif}
.mapc{margin:0 0 var(--s3)}.mapc.small{margin:0 0 var(--s1)}
.sticky{position:sticky;bottom:0;padding:12px 0 6px;background:linear-gradient(transparent,var(--ink) 30%);text-align:center}
.sticky .btn{margin-bottom:2px}
.opt{font:400 .85rem "Atkinson",sans-serif;text-transform:none;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:2px 10px;vertical-align:middle;letter-spacing:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin:var(--s2) 0}
.tile{min-height:72px;border-radius:14px;border:2px solid var(--line);background:var(--card);padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;text-align:center;overflow-wrap:anywhere;cursor:pointer;color:var(--txt);font:inherit}
.tile span{font:600 .95rem/1.15 "Oswald",sans-serif;letter-spacing:.04em;text-transform:uppercase}.tile small{color:var(--mut);font-size:.85rem}
.tile:hover{border-color:var(--blue)}.tile.named{border-color:var(--or2)}.tile.pick{border-color:var(--or);background:#F0873533}.tile[disabled]{opacity:.4;cursor:not-allowed}
.rn{display:block;font-weight:700;margin:12px 0 6px}
input{width:100%;min-height:52px;padding:10px 14px;border-radius:12px;border:2px solid var(--blue);background:var(--ink2);color:var(--txt);font:1.1rem "Atkinson",sans-serif;margin-bottom:12px}
.row{display:flex;gap:10px;margin-bottom:12px}.row .btn{margin:0}
.grps{list-style:none;padding:0;margin:8px 0}.grps li{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:4px 0}
/* question */
.where{margin:0 0 4px;color:var(--or);font:600 .95rem "Oswald",sans-serif;letter-spacing:.1em;text-transform:uppercase;text-align:center}
.q{font-family:"Atkinson";text-transform:none;font-size:1.35rem;font-weight:700;line-height:1.3;margin:0 0 var(--s2);letter-spacing:0;text-align:center}
.help{color:var(--mut);background:var(--card);border-left:4px solid var(--blue);border-radius:10px;padding:12px 14px;margin:0 0 var(--s3)}.help b{color:var(--txt)}
.answers .btn.sel{border-color:var(--or);background:#F087352a}
.answers .a-yes:hover{border-color:var(--green)}.answers .a-no:hover{border-color:var(--red)}.answers .a-notsure:hover{border-color:var(--yellow)}
/* results */
.c-green{--c:var(--green)}.c-yellow{--c:var(--yellow)}.c-red{--c:var(--red)}
.verdict{display:flex;gap:16px;align-items:flex-start;border-radius:20px;padding:22px;margin:4px 0 var(--s4);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 16%,var(--card)),var(--card));border:2px solid var(--c)}
.vi{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--c);color:var(--ink);font:700 1.7rem "Atkinson"}
.verdict b{display:block;font-size:2rem;color:var(--c);margin-bottom:6px}
.counts{display:flex;flex-wrap:wrap;gap:8px;margin:0;font-size:.95rem}.counts span{border:1px solid var(--c);color:var(--c);border-radius:999px;padding:2px 10px}
section{margin:0 0 var(--s4)}
.ff{list-style:none;counter-reset:f;padding:0;margin:var(--s2) 0 0}
.ff li{counter-increment:f;margin-bottom:10px}
.ff a{display:flex;flex-direction:column;position:relative;padding:12px 14px 12px 58px;min-height:60px;border-radius:14px;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c);color:var(--txt);text-decoration:none}
.ff a::before{content:counter(f);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--c);color:var(--ink);display:grid;place-items:center;font:700 1rem "Oswald"}
.ff a:hover{border-color:var(--c)}.ff small{color:var(--mut);font-size:.9rem}
.list{list-style:none;padding:0;margin:0}
.list details{border-bottom:1px solid var(--line);border-radius:10px}
.list details.flash{animation:fl 1.2s ease-out}@keyframes fl{from{background:#F0873540}to{background:transparent}}
.list summary{display:flex;gap:14px;align-items:center;padding:14px 4px;cursor:pointer;list-style:none;min-height:56px}
.list summary::-webkit-details-marker{display:none}
.list summary::after{content:"+";color:var(--mut);font-size:1.4rem;margin-left:auto}.list details[open] summary::after{content:"−"}
.dot{flex:none;width:26px;height:26px;border-radius:50%;background:var(--c);color:var(--ink);display:grid;place-items:center;font:700 .85rem "Atkinson"}
.list .t{flex:1;display:flex;flex-direction:column}.list summary small{color:var(--mut);font-size:.9rem}
.list .body{padding:0 4px 16px 44px;color:var(--mut)}.list .body strong{color:var(--txt)}
textarea{width:100%;min-height:300px;background:var(--ink2);color:var(--txt);border:2px solid var(--blue);border-radius:12px;padding:14px;font:1rem/1.5 "Atkinson",sans-serif;margin:6px 0 12px}
.go{padding-left:20px}.go li{margin:0 0 10px}
details.code{border-top:1px solid var(--line);padding-top:10px}
details.code summary{cursor:pointer;font-family:"Oswald";text-transform:uppercase;font-size:1.1rem;padding:10px 0;min-height:44px}
details.code li{margin-bottom:10px;font-size:1rem;color:var(--mut)}
.foot{text-align:center;padding:18px;font-size:.9rem;color:var(--mut)}
/* spider */
.spider{display:block;width:100%;max-width:440px;margin:0 auto;overflow:visible}
.spider.sm{max-width:230px}
.spider .sp{stroke:var(--line);stroke-width:2;stroke-linecap:round}
.spider .nd rect,.spider .nd circle{fill:var(--card);stroke:#35588A;stroke-width:2;transition:fill .35s,stroke .35s}
.spider .hub circle{fill:var(--navy);stroke:var(--or2);stroke-width:2.5}
.spider text{fill:var(--txt);font:600 12px "Oswald",sans-serif;text-anchor:middle;letter-spacing:.03em;pointer-events:none}
.spider .hub text{font-size:14px;fill:var(--or)}
.spider .on rect,.spider .on circle{fill:#F0873540;stroke:var(--or);stroke-width:3}.spider .sp.on{stroke:var(--or);stroke-width:3}
.spider.sm .nd:not(.on):not(.hub){opacity:.55}
.spider.sm .on rect{animation:pu 1.6s ease-in-out infinite}@keyframes pu{50%{stroke-width:5}}
.spider.heat .nd rect,.spider.heat .nd circle{fill:color-mix(in srgb,var(--c) 26%,var(--card));stroke:var(--c)}
.spider.heat .nd{animation:pop .45s cubic-bezier(.2,1.4,.4,1) both;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
@keyframes pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.spider.heat .sp{stroke-dasharray:400;stroke-dashoffset:400;animation:dr .5s ease-out forwards;animation-delay:var(--d)}@keyframes dr{to{stroke-dashoffset:0}}
.spider.heat .sp[class*="c-"]{stroke:var(--c);stroke-width:2.5}
.spider.heat .hub text{fill:var(--txt)}.spider .st{font:700 10px "Atkinson",sans-serif!important}
.spider .bd{fill:var(--c)!important;stroke:var(--ink)!important;stroke-width:2!important}.spider .bt{fill:var(--ink)!important;font:700 10px "Atkinson",sans-serif!important}
.spider.heat .none rect{fill:transparent;stroke:#5a6f90;stroke-dasharray:5 4}.spider.heat .none text{fill:var(--mut)}
.spider.heat .nd[tabindex]{cursor:pointer}.spider.heat .nd[tabindex]:hover rect,.spider .nd:focus-visible rect,.spider .nd:focus-visible circle{stroke-width:4}
.spider .nd:focus{outline:none}
.spider .grp{fill:#F087350d;stroke:#5a6f90;stroke-width:1.2;stroke-dasharray:4 4}
.spider .gl{font-size:10px!important;fill:var(--mut)!important;text-anchor:start!important;letter-spacing:.08em}
.spider .cn{stroke:#5a6f90;stroke-width:2}
@media (min-width:760px){main{padding-top:var(--s4)}h1{font-size:3.4rem}.q{font-size:1.9rem}.spider.sm{max-width:340px}.answers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.answers .btn{margin:0}}
@media (prefers-reduced-motion:reduce){*,*::before{animation:none!important;transition:none!important}.spider.heat .sp{stroke-dashoffset:0}}
.print{display:none}
@media print{
 body{background:#fff;color:#000;font-size:11pt}
 main>div>*:not(.print),.foot{display:none!important}
 .print{display:block!important}.print h2{color:#0C2D59;font-size:18pt;margin:0 0 4pt}.print h4{margin:10pt 0 2pt;color:#BC3401;text-transform:uppercase}
 .print table{border-collapse:collapse;width:100%;margin:8pt 0}.print td{padding:3pt 4pt;border-bottom:1px solid #ccc;vertical-align:top}
 .pd{font-size:12pt;font-weight:700}.pd.c-green{color:#1a8a50}.pd.c-yellow{color:#9a7400}.pd.c-red{color:#c0261b}
 .print h3{break-before:page}.print pre{white-space:pre-wrap;font:10pt/1.35 "Atkinson",sans-serif}.sm{font-size:8pt;color:#555}
 @page{margin:14mm}
}
