@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-ext-600-normal-BtBW-rpm.woff2)format("woff2"),url(/assets/montserrat-cyrillic-ext-600-normal-wReYPmz2.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-cyrillic-600-normal-CQEPC0hM.woff2)format("woff2"),url(/assets/montserrat-cyrillic-600-normal-DUglwBrH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-vietnamese-600-normal-DKe6qT_E.woff2)format("woff2"),url(/assets/montserrat-vietnamese-600-normal-SJ-HTWuM.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-ext-600-normal-DSkTqI9L.woff2)format("woff2"),url(/assets/montserrat-latin-ext-600-normal-CSDhkhgS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2)format("woff2"),url(/assets/montserrat-latin-600-normal-CdhFl4lI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2)format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2)format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2)format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2)format("woff2"),url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2)format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2)format("woff2"),url(/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2)format("woff2"),url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2)format("woff2"),url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2)format("woff2"),url(/assets/montserrat-latin-ext-800-normal-Wjq_OapB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#1b2a5a;--rust:#b8562a;--ink:#23263a;--muted:#5d6378;--card:#fffffff2;--glass:#ffffffe6;--line:#1b2a5a1f;--shadow:0 10px 30px #181e3c2e, 0 2px 6px #181e3c14;--accent:#6b3fa0;--ease:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Inter,system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#app canvas{outline:none;width:100%;height:100%;display:block}#ui{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}#ui .interactive,#ui button{pointer-events:auto}button{font:inherit;cursor:pointer}.hidden{display:none!important}.fade{transition:opacity .5s var(--ease), transform .5s var(--ease)}.title-screen{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.title-head{text-align:center;animation:drop 1.2s var(--ease) both;margin-top:3.2vh}.title-head h1{color:var(--navy);letter-spacing:.01em;text-shadow:0 2px #fff,0 0 18px #fff;margin:0;font:800 clamp(26px,3.6vw,54px)/1.05 Montserrat,sans-serif}.title-head h1 span{color:var(--navy);font-weight:700}.title-head p{color:var(--rust);text-shadow:0 0 10px #fff;margin:.55em 0 0;font:700 clamp(14px,1.5vw,22px) Montserrat,sans-serif}.title-cta{animation:rise 1.4s .4s var(--ease) both;align-items:center;gap:14px;display:flex;position:absolute;bottom:2.4vh}.btn-primary{pointer-events:auto;color:#fff;letter-spacing:.04em;transition:transform .2s var(--ease), box-shadow .2s;background:linear-gradient(135deg,#7d52f0,#5a33cf);border:0;border-radius:999px;padding:14px 30px;font:800 17px Montserrat,sans-serif;animation:2.6s ease-in-out 2s infinite ctaGlow;box-shadow:0 10px 28px #5a34a866,inset 0 1px #ffffff59}.btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 14px 34px #5a34a880,inset 0 1px #ffffff59}.btn-ghost{pointer-events:auto;border:1px solid var(--line);background:var(--glass);color:var(--navy);border-radius:999px;padding:12px 20px;font:600 14px Inter}.title-note{color:var(--muted);animation:rise 1.4s .8s var(--ease) both;font-size:12px;display:none;position:absolute;bottom:2.2vh}@keyframes drop{0%{opacity:0;transform:translateY(-18px)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.pin{pointer-events:auto;cursor:pointer;transition:opacity .35s var(--ease);position:absolute;transform:translate(-50%,-50%)}.pin .dot{border:2px solid var(--c);width:26px;height:26px;color:var(--c);transition:transform .2s var(--ease);background:#fff;border-radius:8px;place-items:center;font:800 13px Montserrat;display:grid;box-shadow:0 4px 12px #0000002e}.pin:hover .dot{transform:scale(1.15)}.pin .pulse{border:2px solid var(--c);opacity:0;border-radius:12px;animation:2.4s infinite pulse;position:absolute;inset:-6px}@keyframes pulse{0%{opacity:.6;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.pin .label{white-space:nowrap;background:var(--card);border:1.5px solid var(--c);color:var(--c);letter-spacing:.03em;box-shadow:var(--shadow);border-radius:8px;padding:4px 9px;font:800 11px Montserrat;position:absolute;top:50%;left:32px;transform:translateY(-50%)}.pin.left .label{left:auto;right:32px}.pin.visited .dot:after{content:"✓";color:#fff;background:#39a96b;border-radius:50%;place-items:center;width:14px;height:14px;font-size:9px;display:grid;position:absolute;top:-6px;right:-6px}.card{background:var(--card);width:min(380px,34vw);box-shadow:var(--shadow);border:1.5px solid color-mix(in srgb, var(--c) 45%, transparent);pointer-events:auto;animation:cardIn .45s var(--ease) both;border-radius:16px;max-height:82vh;padding:18px 20px 16px;position:absolute;top:50%;right:22px;overflow:auto;transform:translateY(-50%)}.card.out{animation:cardOut .3s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translate(24px,-50%)}}@keyframes cardOut{to{opacity:0;transform:translate(24px,-50%)}}.card .head{align-items:center;gap:10px;display:flex}.card .num{border:2px solid var(--c);width:30px;height:30px;color:var(--c);border-radius:8px;flex:none;place-items:center;font:800 15px Montserrat;display:grid}.card h2{color:var(--c);letter-spacing:.02em;text-transform:uppercase;margin:0;font:800 18px/1.15 Montserrat}.card .role{color:var(--ink);margin:10px 0 4px;font:700 15px Inter}.card .text{color:#333849;margin:0;font:400 14.5px/1.5 Inter}.card .analogy{background:color-mix(in srgb, var(--c) 8%, #fff);color:#464c60;border-radius:10px;margin:12px 0 0;padding:9px 11px;font:500 12.5px/1.45 Inter}.card .analogy b{color:var(--c)}.card .deep{border-top:1px solid var(--line);color:#3a3f52;margin-top:12px;padding-top:10px;font:400 13.5px/1.55 Inter}.card .deep p{margin:0 0 9px}.card .fun{color:var(--muted);font-style:italic}.card .actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.card .actions button{border:1.5px solid var(--c);color:var(--c);background:#fff;border-radius:999px;padding:8px 13px;font:700 12.5px Montserrat;transition:background .2s,color .2s}.card .actions button.solid,.card .actions button:hover{background:var(--c);color:#fff}.card .close{color:var(--muted);background:0 0;border:0;font-size:20px;position:absolute;top:8px;right:10px}.prompt{color:#fff;white-space:nowrap;background:#141830e6;border-radius:10px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font:600 13px Inter;transition:opacity .2s;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 6px 18px #00000040}.kbd{min-width:22px;height:22px;color:var(--navy);background:#fff;border-radius:6px;place-items:center;padding:0 6px;font:800 12px Montserrat;display:inline-grid;box-shadow:inset 0 -2px #0000002e}.prompt .kbd{background:#ffd56b}.dialogue{background:var(--card);width:min(760px,70vw);box-shadow:var(--shadow);animation:rise .4s var(--ease) both;pointer-events:auto;border-radius:18px;align-items:flex-start;gap:14px;padding:14px 18px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.dialogue.out{animation:cardOut2 .3s var(--ease) both}@keyframes cardOut2{to{opacity:0;transform:translate(-50%,12px)}}.avatar{background:radial-gradient(circle at 50% 38%,#f3c9a8 0 32%,#0000 33%),radial-gradient(circle at 50% 30%,#3a2a2a 0 42%,#0000 43%),linear-gradient(#fff 0 62%,#8a5cc8 62%);border:3px solid #8a5cc8;border-radius:50%;flex:none;width:52px;height:52px;position:relative;box-shadow:0 4px 10px #00000026}.avatar.talking:after{content:"";border:2px solid #8a5cc8;border-radius:50%;animation:1.2s infinite pulse;position:absolute;inset:-6px}.avatar.worker{background:radial-gradient(circle at 50% 40%,#e9b896 0 30%,#0000 31%),radial-gradient(circle at 50% 22%,#f2b51c 0 40%,#0000 41%),linear-gradient(#fff 0 62%,#dfe3ea 62%);border-color:#e8b62a}.dialogue .who{color:#8a5cc8;letter-spacing:.06em;text-transform:uppercase;font:800 12px Montserrat}.dialogue .line{color:var(--ink);min-height:23px;margin-top:3px;font:500 16px/1.45 Inter}.dialogue .choices{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.dialogue .choices button{color:#6b3fa0;background:#fff;border:1.5px solid #8a5cc8;border-radius:999px;padding:7px 14px;font:700 13px Montserrat}.dialogue .choices button.solid{color:#fff;background:#8a5cc8}.dialogue .skip{color:var(--muted);font:600 11px Inter;position:absolute;bottom:8px;right:12px}.hud-tl{align-items:center;gap:10px;display:flex;position:absolute;top:16px;left:18px}.district-banner{text-align:center;pointer-events:none;position:absolute;top:18px;left:50%;transform:translate(-50%)}.district-banner .k{letter-spacing:.22em;color:var(--c);text-shadow:0 0 8px #fff;font:800 12px Montserrat}.district-banner .n{color:var(--navy);text-shadow:0 0 14px #fff,0 0 4px #fff;font:800 26px Montserrat}.district-banner.show{animation:banner 3.6s var(--ease) both}@keyframes banner{0%{opacity:0;transform:translate(-50%,-10px)}12%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.chip{pointer-events:auto;background:var(--glass);color:var(--navy);border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 7px;font:700 12.5px Montserrat;display:flex;box-shadow:0 4px 16px #181e3c1f}.chip:hover{background:#fff}.chip .ic{background:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;display:grid}.progress{gap:3px;display:flex}.progress i{background:#1b2a5a26;border-radius:50%;width:7px;height:7px}.progress i.on{background:var(--c,#8a5cc8)}.hud-bl{align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:18px;left:18px}.guide-btn{pointer-events:auto;background:var(--glass);border:1px solid #ffffffb3;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex;box-shadow:0 4px 16px #181e3c1f}.guide-btn .avatar{border-width:2px;width:40px;height:40px}.guide-btn b{color:#6b3fa0;font:800 12px Montserrat;display:block}.guide-btn span{color:var(--muted);font:500 11.5px Inter}.hud-br{gap:8px;display:flex;position:absolute;bottom:18px;right:18px}.hint{color:#fff;animation:rise .4s var(--ease) both;background:#141830cc;border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font:600 14px Inter;display:flex;position:absolute;bottom:130px;left:50%;transform:translate(-50%)}.toast{background:var(--card);box-shadow:var(--shadow);animation:toastIn 4.2s var(--ease) both;border-left:4px solid var(--c,#8a5cc8);border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:absolute;top:18px;right:22px}.toast .t{letter-spacing:.12em;color:var(--c,#8a5cc8);font:800 11px Montserrat}.toast .n{color:var(--ink);font:700 14px Inter}@keyframes toastIn{0%{opacity:0;transform:translate(30px)}8%,85%{opacity:1;transform:none}to{opacity:0;transform:translate(30px)}}.nav-arrow{pointer-events:none;filter:drop-shadow(0 3px 6px #00000040);width:46px;height:46px;position:absolute;transform:translate(-50%,-50%)}.modal-back{pointer-events:auto;background:#f0f3fad1;place-items:center;animation:.3s both fadeIn;display:grid;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}.modal{width:min(980px,92vw);max-height:86vh;box-shadow:var(--shadow);animation:rise .4s var(--ease) both;background:#fff;border-radius:22px;padding:26px 30px;position:relative;overflow:auto}.modal h2{color:var(--navy);margin:0 0 4px;font:800 24px Montserrat}.modal .sub{color:var(--rust);margin:0 0 18px;font:600 14px Montserrat}.modal h3{letter-spacing:.14em;color:var(--muted);margin:20px 0 10px;font:800 13px Montserrat}.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.nb-item{border:1.5px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:transform .2s;display:flex}.nb-item.done{border-color:color-mix(in srgb, var(--c) 55%, transparent);background:color-mix(in srgb, var(--c) 6%, #fff)}.nb-item .num{border:2px solid var(--c);width:26px;height:26px;color:var(--c);border-radius:7px;flex:none;place-items:center;font:800 12px Montserrat;display:grid}.nb-item .t{color:var(--ink);font:700 13px Inter}.nb-item .s{color:var(--muted);font:500 11.5px Inter}.nb-item.locked .t{color:#a0a5b5}.ticks{gap:4px;margin-left:auto;display:flex}.ticks i{border:1.5px solid var(--c);border-radius:50%;width:9px;height:9px}.ticks i.on{background:var(--c)}.modal .x{width:34px;height:34px;color:var(--muted);background:#f1f2f7;border:0;border-radius:50%;font-size:18px;position:absolute;top:14px;right:16px}.controls{grid-template-columns:auto 1fr;align-items:center;gap:9px 16px;font:500 14px Inter;display:grid}.controls .k{gap:5px;display:flex}.settings{grid-template-columns:140px 1fr 46px;align-items:center;gap:10px 14px;font:600 13.5px Inter;display:grid}.settings input[type=range]{accent-color:#7b4fd0;pointer-events:auto;width:100%}.note{color:#4c4366;background:#f6f3fc;border-radius:12px;margin-top:18px;padding:12px 14px;font:500 13px/1.5 Inter}.activity{background:var(--card);width:min(340px,30vw);box-shadow:var(--shadow);pointer-events:auto;animation:rise .4s var(--ease) both;border-top:4px solid var(--c);border-radius:16px;padding:16px 18px;position:absolute;top:50%;left:22px;transform:translateY(-50%)}.activity h3{color:var(--c);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font:800 15px Montserrat}.activity .goal{color:#3a3f52;font:500 14.5px/1.5 Inter}.activity .meter{background:#eef0f6;border-radius:6px;height:10px;margin:12px 0 6px;overflow:hidden}.activity .meter i{background:linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 60%, #fff));width:0;height:100%;transition:width .3s var(--ease);display:block}.activity .stat{color:var(--muted);font:700 13px Montserrat}.activity .btns{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.activity .btns button{border:1.5px solid var(--c);color:var(--c);background:#fff;border-radius:10px;padding:9px 13px;font:700 13.5px Montserrat}.activity .btns button.solid{background:var(--c);color:#fff}.activity .btns button:disabled{opacity:.4}.sci-label{pointer-events:none;color:#fff;white-space:nowrap;letter-spacing:.02em;background:#0e142cc7;border:1px solid #a0dcff99;border-radius:6px;padding:3px 8px;font:600 13.5px Inter;position:absolute;transform:translate(-50%,-50%)}.sci-label:before{content:"";background:#a0dcffcc;width:1px;height:18px;position:absolute;top:100%;left:50%}.sci-label .tag{color:#9fe3ff;margin-right:5px;font-family:ui-monospace,Menlo,monospace}.loading{z-index:10;pointer-events:auto;background:#fff;place-items:center;transition:opacity .8s;display:grid;position:absolute;inset:0}.loading .ring{border:4px solid #eee;border-top-color:#8a5cc8;border-radius:50%;width:54px;height:54px;animation:1s linear infinite spin}.loading p{color:var(--navy);letter-spacing:.1em;text-align:center;margin-top:14px;font:700 13px Montserrat}@keyframes spin{to{transform:rotate(360deg)}}.fadeout{opacity:0;pointer-events:none}.callout{border:1.5px solid color-mix(in srgb, var(--c) 55%, transparent);cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s;animation:rise .9s var(--ease) both;background:#fffffff5;border-radius:10px;padding:9px 11px 10px;position:absolute;transform:translateY(-14px);box-shadow:0 6px 18px #181e3c1a}.callout:hover{transform:translateY(-17px);box-shadow:0 10px 26px #181e3c2e}.callout .head{align-items:center;gap:7px;display:flex}.callout .num{border:1.8px solid var(--c);width:21px;height:21px;color:var(--c);border-radius:6px;flex:none;place-items:center;font:800 11px Montserrat;display:grid}.callout h4{color:var(--c);letter-spacing:.02em;margin:0;font:800 12.5px/1.15 Montserrat}.callout b{color:var(--ink);margin:6px 0 2px;font:700 11.5px Inter;display:block}.callout p{color:#3e4356;margin:0;font:400 11px/1.38 Inter}@keyframes ctaGlow{0%,to{box-shadow:0 10px 28px #6e3ce073,inset 0 1px #ffffff59}50%{box-shadow:0 10px 38px #8c5affbf,0 0 0 6px #9a63ff26,inset 0 1px #ffffff59}}.gfx{flex-wrap:wrap;gap:8px;display:flex}.gfx button{pointer-events:auto;color:#4b3a8a;text-transform:capitalize;background:#fff;border:1.5px solid #c9bdf0;border-radius:999px;padding:8px 16px;font:700 13px Montserrat}.gfx button.on{color:#fff;background:#6a3ce0;border-color:#6a3ce0}.gfx-note{color:var(--muted);margin-top:8px;font:500 12.5px/1.45 Inter}.crosshair{pointer-events:none;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crosshair i{background:#fffffff2;border-radius:50%;width:8px;height:8px;margin:auto;display:block;box-shadow:0 0 0 2px #1b2a5a8c,0 0 10px #00000040}.crosshair span{color:#fff;white-space:nowrap;background:#141830d1;border-radius:999px;margin-top:14px;padding:6px 12px;font:600 12.5px Inter;display:none}.crosshair.free span{display:inline-block}
