:root{--bg:#FFFDF7;--ink:#1B1B2F;--mute:#6E6E84;--coral:#FF4D6D;--lime:#B8FF3A;--violet:#7C5CFF;--sky:#3DD6FF;--sun:#FFC83D;--mint:#3CF0B0;--pink:#FF8FB8;--orange:#FF8A3D;--line:#E6E6F0}
*{box-sizing:border-box;margin:0}
html{overflow-x:hidden;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:Nunito,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw;font-weight:700}
img,svg{max-width:100%}.ic{flex:none;display:block}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;border-radius:0 0 10px 0;z-index:99;font-weight:900}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--violet);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* nav */
.nav{max-width:1180px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand .wm{font-weight:900;font-size:17px;letter-spacing:-.02em;line-height:1;white-space:nowrap}
.brand .wm small{display:block;font-size:9px;letter-spacing:.12em;opacity:.5;margin-top:3px;text-transform:uppercase}
.navr{display:flex;align-items:center;gap:14px}
.navr a{text-decoration:none;font-weight:800;font-size:14px;color:var(--mute)}
.navr a:hover{color:var(--ink)}
.navbtn{border:3px solid var(--ink);background:#fff;font:inherit;font-weight:900;font-size:14px;padding:8px 14px;border-radius:99px;cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 4px 0 var(--ink);white-space:nowrap}
.navbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.navbtn .gr{width:15px;height:12px;flex:none;background:linear-gradient(var(--coral),var(--coral)) 0 0/6px 5px no-repeat,linear-gradient(var(--sky),var(--sky)) 9px 0/6px 5px no-repeat,linear-gradient(var(--lime),var(--lime)) 0 7px/6px 5px no-repeat,linear-gradient(var(--violet),var(--violet)) 9px 7px/6px 5px no-repeat}
@media(max-width:720px){.navr .hide{display:none}.nav{padding:12px 16px}.brand .wm{font-size:15px}}
/* play */
.play{max-width:820px;margin:0 auto;padding:4px 20px 26px}
h1{font-size:clamp(25px,4.4vw,36px);font-weight:900;letter-spacing:-.025em;line-height:1.08;margin:10px 0 6px}
.sub{color:var(--mute);font-size:15px;font-weight:700;margin-bottom:14px;line-height:1.5}
.bar{display:flex;align-items:center;gap:9px;border:3px solid var(--ink);background:#fff;border-radius:16px;padding:12px 15px;font-weight:900;font-size:15px;cursor:pointer;box-shadow:0 5px 0 var(--ink);width:100%;font-family:inherit;text-align:left;min-width:0}
.bar:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}
.bar>span:first-child{flex:none}
.bar .cur{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--mute);font-size:13px;min-width:0}
.bar .cur b{display:flex;align-items:center;gap:7px;color:var(--ink);min-width:0}
.bar .cur .dn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:11ch}
.bar .chev{flex:none}
.card{margin-top:13px;border:4px solid var(--ink);border-radius:28px;background:var(--sun);box-shadow:8px 8px 0 var(--ink);display:flex;flex-direction:column;height:clamp(290px,44vh,420px);padding:24px}
.card .lead{font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.55;text-align:center;flex:none}
.fit{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:10px 2px;overflow:hidden}
.fit q{quotes:none;display:block;text-align:center;font-weight:900;line-height:1.1;letter-spacing:-.02em;max-width:100%;hyphens:none;text-wrap:balance;font-size:32px}
.card .foot{flex:none;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;opacity:.6}
.ans{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}
.ans button{border:4px solid var(--ink);font:inherit;font-weight:900;font-size:17px;padding:15px 0;border-radius:18px;box-shadow:0 6px 0 var(--ink);cursor:pointer;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px}
.ans button:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}
.ans .y{background:var(--lime)}
.next{margin-top:9px;border:3px solid var(--ink);background:#fff;font:inherit;font-weight:900;font-size:14px;padding:11px;border-radius:14px;cursor:pointer;width:100%}
.keys{display:flex;gap:15px;justify-content:center;margin-top:12px;font-size:12px;font-weight:800;color:var(--mute)}
.keys kbd{background:#fff;border:2px solid var(--ink);border-radius:6px;padding:1px 7px;font-size:11px;font-weight:900;color:var(--ink);font-family:inherit}
@media(max-width:720px){.keys{display:none}.card{padding:19px}}
/* sheet */
.scrim{position:fixed;inset:0;background:rgba(27,27,47,.5);display:none;z-index:40}
.scrim.on{display:block}
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:84vh;background:#fff;border-top:4px solid var(--ink);border-radius:26px 26px 0 0;padding:13px 15px 22px;display:none;flex-direction:column;z-index:50;overscroll-behavior:contain}
.sheet.on{display:flex}
@media(min-width:860px){.sheet{left:50%;transform:translateX(-50%);width:800px;border:4px solid var(--ink);border-radius:26px;bottom:auto;top:6vh;max-height:82vh}}
.grab{width:44px;height:5px;background:#D8D8E4;border-radius:9px;margin:0 auto 10px;flex:none}
@media(min-width:860px){.grab{display:none}}
.shead{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex:none}
.shead h2{font-size:18px;font-weight:900;line-height:1.25;min-width:0}
.shead h2 em{font-style:normal;color:var(--mute);font-size:12px;display:block;font-weight:800}
.x{margin-left:auto;width:36px;height:36px;flex:none;border:3px solid var(--ink);background:#fff;border-radius:50%;font:inherit;font-size:16px;font-weight:900;cursor:pointer;display:grid;place-items:center;box-shadow:0 3px 0 var(--ink)}
.x:hover{background:var(--coral);color:#fff}
.slist{overflow-y:auto;flex:1;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.acc{border:2px solid var(--ink);border-radius:14px;margin-bottom:7px;overflow:hidden}
.acc>button{width:100%;border:none;background:#fff;font:inherit;font-weight:900;font-size:14px;padding:11px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;min-width:0}
.acc>button .gn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc>button .c{margin-left:auto;font-size:11px;color:var(--mute);flex:none}
.acc.open>button{background:var(--ink);color:#fff}
.acc.open>button .c{color:#B9B9CC}
.acc .bd{display:none;padding:9px;background:#FAFAFF;border-top:2px solid var(--ink)}
.acc.open .bd{display:block}
.row{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}
@media(min-width:860px){.row{grid-template-columns:repeat(4,1fr)}}
@media(max-width:400px){.row{grid-template-columns:1fr}}
.d{border:2px solid var(--ink);border-radius:12px;padding:8px 10px;font-weight:900;font-size:13px;cursor:pointer;background:#fff;text-align:left;font-family:inherit;display:flex;align-items:center;gap:7px;min-width:0;text-decoration:none;color:var(--ink)}
.d .dn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.d i{margin-left:auto;font-style:normal;font-size:10px;color:var(--mute);flex:none}
.d:hover{background:var(--lime)}
.d[aria-current=true]{background:var(--sun)}
body.lock{overflow:hidden;position:fixed;width:100%}
/* prose + lists */
.sec{border-top:3px solid var(--ink);background:#fff}
.sec .in{max-width:1180px;margin:0 auto;padding:32px 20px 44px}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:25px;font-weight:900;letter-spacing:-.02em;margin-bottom:10px}
.prose p{font-size:16px;font-weight:700;color:#3C3C52;line-height:1.65;margin-bottom:13px}
h2.ctr{text-align:center}
.qlist{max-width:820px;margin:0 auto;columns:2;column-gap:26px}
@media(max-width:720px){.qlist{columns:1}}
.qlist li{break-inside:avoid;font-size:15px;font-weight:700;color:#3C3C52;line-height:1.5;padding:6px 0 6px 20px;position:relative;list-style:none}
.qlist li:before{content:"";position:absolute;left:0;top:13px;width:8px;height:8px;border-radius:3px;background:var(--coral)}
.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:22px}
.gcol h3{font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;color:var(--mute);padding-bottom:7px;border-bottom:2px solid var(--line);margin-bottom:6px}
.gcol a{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;text-decoration:none;padding:5px 0;min-width:0}
.gcol a:hover{color:var(--coral)}
.gcol a .dn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.gcol a em{font-style:normal;color:var(--mute);font-size:10.5px;margin-left:auto;flex:none}
.faq{max-width:820px;margin:0 auto}
.q1{border:3px solid var(--ink);border-radius:16px;margin-bottom:9px;overflow:hidden;background:#fff}
.q1>summary{font-weight:900;font-size:15.5px;padding:14px 16px;cursor:pointer;list-style:none;display:flex;gap:10px;align-items:flex-start}
.q1>summary::-webkit-details-marker{display:none}
.q1>summary:after{content:"+";margin-left:auto;color:var(--mute);font-size:19px;line-height:1;flex:none}
.q1[open]>summary:after{content:"\2212"}
.q1 p{padding:0 16px 15px;font-size:14.5px;font-weight:700;color:#3C3C52;line-height:1.6}
.foot{text-align:center;padding:26px 20px 44px;font-size:12.5px;font-weight:800;color:var(--mute)}
.foot a{margin:0 8px;text-decoration:none}
.foot a:hover{color:var(--ink)}
.crumb{font-size:12.5px;font-weight:800;color:var(--mute);padding:2px 0 0}
.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}