@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-vietnamese-800-normal-D4LFh2W4.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-800-normal-CA0HL1e4.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-ext-800-normal-GEpNgheG.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-800-normal-BvOXQlBN.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:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/be-vietnam-pro-latin-800-normal-BpHZASpI.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-800-normal-Cwp5p0gU.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{--white:#fff;--soft:#f5f8ff;--soft-2:#eef3ff;--ink:#0b1a3a;--text:#33415c;--muted:#66748f;--line:#e4e9f4;--blue:#2563eb;--blue-dark:#1d4ed8;--indigo:#4f46e5;--cyan:#06b6d4;--orange:#f97316;--green:#16a34a;--red:#dc2626;--amber:#f59e0b;--radius:16px;--radius-lg:24px;--shadow-sm:0 1px 2px #0b1a3a0d, 0 2px 8px #0b1a3a0a;--shadow-md:0 2px 4px #0b1a3a0a, 0 12px 32px #0b1a3a14;--shadow-lg:0 8px 16px #0b1a3a0f, 0 32px 64px #2563eb24;--grad:linear-gradient(100deg, #2563eb 0%, #4f46e5 62%, #7c3aed 100%);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{background:var(--white);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Be Vietnam Pro,system-ui,Segoe UI,Roboto,Arial,sans-serif;font-size:16px;line-height:1.6}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2563eb73}img{max-width:100%;height:auto}h1,h2,h3{color:var(--ink);letter-spacing:-.02em;margin:0}p{margin:0}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,100%);margin:0 auto;padding:0 24px}.muted{color:var(--muted);font-size:.93rem}.grad{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:inline-block}.btn{white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.94rem;font-weight:600;transition:transform .16s,box-shadow .16s,background .16s,color .16s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;color:#98a4ba;box-shadow:none;background:#e6ebf5}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 20px #2563eb47}.btn-primary:hover:not(:disabled){box-shadow:0 12px 26px #2563eb5c}.btn-ghost{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn-ghost:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px #c7d3ea}.btn-soft{background:var(--soft-2);color:var(--blue-dark)}.btn-white{background:var(--white);color:var(--blue-dark);box-shadow:0 10px 24px #0b1a3a33}.btn-lg{border-radius:14px;padding:14px 24px;font-size:1rem}.btn-sm{border-radius:10px;padding:6px 12px;font-size:.86rem}.btn-block{width:100%}.mini{background:var(--white);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:.8rem;font-weight:500;transition:border-color .14s,color .14s;display:inline-flex}.mini:hover{color:var(--ink);border-color:#b9c6e0}.mini-pip{background:var(--soft);color:var(--blue-dark);border-color:#cfdcf8}.cost{color:#9a4b00;background:#fde8c8;border-radius:6px;place-items:center;min-width:17px;height:17px;font-size:.7rem;font-weight:700;display:inline-grid}.link{color:var(--blue);background:0 0;border:0;align-items:center;gap:5px;padding:6px 0;font-size:.9rem;font-weight:600;display:inline-flex}.link-muted{color:var(--muted);font-weight:500}.icon-btn{background:var(--soft-2);width:40px;height:40px;color:var(--blue-dark);border:0;border-radius:12px;flex:none;place-items:center;display:grid}.icon-btn-plain{color:var(--muted);background:0 0}.logo{text-align:left;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;display:inline-flex}.logo-mark{object-fit:cover;background:linear-gradient(145deg,#e8f0ff,#dbe6ff);border-radius:13px;flex:none;width:42px;height:42px}.logo-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.logo-text strong{color:var(--ink);letter-spacing:-.015em;white-space:nowrap;font-size:1.04rem;font-weight:800}.logo-text small{color:var(--muted);white-space:nowrap;font-size:.72rem}.logo-light .logo-text strong{color:#fff}.logo-light .logo-text small{color:#b9c9ec}.site-header{z-index:15;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#ffffffdb;position:sticky;top:0}.site-header-row{justify-content:space-between;align-items:center;gap:16px;height:72px;display:flex}.site-nav{gap:28px;font-size:.93rem;font-weight:500;display:flex}.site-nav a:hover{color:var(--blue)}.hero{background:radial-gradient(620px 420px at 86% 12%, #4f46e51c, transparent 70%), radial-gradient(560px 420px at 6% 90%, #06b6d417, transparent 70%), radial-gradient(420px 320px at 44% 0%, #2563eb12, transparent 70%), var(--white);padding:64px 0 56px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:56px;display:grid}.pill{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:.84rem;font-weight:600;display:inline-flex}.pill svg{color:var(--orange)}.hero h1{letter-spacing:-.035em;margin:22px 0 18px;font-size:clamp(2.3rem,4.5vw,3.55rem);font-weight:800;line-height:1.1}.lead{max-width:34em;font-size:1.1rem;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.install-help-backdrop{z-index:100;background:#0b1a3a73;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.install-help{background:var(--white);width:min(420px,100%);box-shadow:var(--shadow-sm);text-align:center;border-radius:20px;padding:24px 22px 20px;position:relative}.install-help img{border-radius:14px}.install-help h3{margin:12px 0 14px;font-size:1.15rem}.install-help ol{text-align:left;margin:0 0 18px;padding-left:20px;line-height:1.6}.install-help ol svg{vertical-align:-3px;color:var(--blue-dark)}.install-help-close{width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:10px;right:10px}@media (width>=640px){.install-help-backdrop{place-items:center}}.hero-stats{gap:36px;margin:36px 0 0;display:flex}.hero-stats div{flex-direction:column-reverse;display:flex}.hero-stats div+div{border-left:1px solid var(--line);padding-left:36px}.hero-stats dd{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.9rem;font-weight:800;line-height:1.15}.hero-stats dt{color:var(--muted);font-size:.8rem}.hero-visual{padding:16px 0 16px 48px;position:relative}.case-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid #e4e9f4b3;overflow:hidden;transform:rotate(1.2deg)}.case-card-head{color:#cdd9f3;background:linear-gradient(120deg,#0b1a3a,#1e3a8a);padding:18px 22px 16px}.case-card-head h3{color:#fff;margin-top:8px;font-size:1.2rem;font-weight:700}.case-card-head p{font-size:.82rem}.case-card>img{aspect-ratio:25/11;object-fit:cover;object-position:50% 62%;width:100%;display:block}.case-card-body{padding:14px 20px 20px 34%}.case-tags{flex-wrap:wrap;gap:6px;display:flex}.dot-tag{border:1px solid var(--line);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:600;display:inline-flex}.dot-tag:before{content:"";background:var(--blue);border-radius:50%;width:6px;height:6px}.dot-green:before{background:var(--green)}.dot-orange:before{background:var(--orange)}.clash{gap:8px;margin-top:12px;display:grid}.clash-row{color:#7f1d1d;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:8px 12px;font-size:.86rem;font-weight:500}.clash-row-alt{background:var(--soft);color:#1e3a8a;border-color:#cfdcf8}.clash-label{letter-spacing:.04em;text-transform:uppercase;opacity:.72;font-size:.68rem;font-weight:700;display:block}.hero-pip{filter:drop-shadow(0 18px 22px #0b1a3a3d);width:41%;animation:4.6s ease-in-out infinite bob;position:absolute;bottom:-10px;left:-34px}.float-chip{background:var(--white);box-shadow:var(--shadow-md);color:var(--ink);border:1px solid #e4e9f4cc;border-radius:14px;align-items:center;gap:8px;padding:9px 13px;font-size:.84rem;font-weight:600;display:flex;position:absolute}.float-chip small{color:var(--muted);font-size:.74rem;font-weight:500;display:block}.float-a{animation:5.4s ease-in-out infinite reverse bob;top:-6px;right:-14px}.float-a svg{color:var(--green)}.float-b{animation:6s ease-in-out .6s infinite bob;top:40%;right:-20px}.float-b svg{color:var(--blue)}@keyframes bob{50%{transform:translateY(-9px)}}.skills{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:56px;display:grid}.skill{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:14px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.skill:hover{box-shadow:var(--shadow-md);border-color:#cfdcf8;transform:translateY(-2px)}.skill strong{color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.3;display:block}.skill small{color:var(--muted);font-size:.77rem}.tile{color:#fff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:inline-grid;box-shadow:inset 0 1px #ffffff4d,0 6px 12px #0b1a3a1a}.tile-blue{background:linear-gradient(145deg,#3b82f6,#2563eb)}.tile-violet{background:linear-gradient(145deg,#a78bfa,#7c3aed)}.tile-orange{background:linear-gradient(145deg,#fb923c,#ea580c)}.tile-green{background:linear-gradient(145deg,#34d399,#059669)}.tile-red{background:linear-gradient(145deg,#f87171,#dc2626)}.tile-pink{background:linear-gradient(145deg,#f472b6,#db2777)}.tile-amber{background:linear-gradient(145deg,#fbbf24,#d97706)}.tile-teal{background:linear-gradient(145deg,#2dd4bf,#0d9488)}.section{padding:88px 0}.section-soft{background:linear-gradient(180deg, var(--white), var(--soft) 24%, var(--soft) 76%, var(--white))}.section-head{text-align:center;max-width:660px;margin:0 auto 48px}.section-head h2{margin:10px 0 12px;font-size:clamp(1.8rem,3.6vw,2.6rem);font-weight:800;line-height:1.2}.section-head p{color:var(--muted);font-size:1.03rem}.showcase{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.show-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:12px 12px 24px;transition:transform .2s,box-shadow .2s}.show-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.show-card h3{margin:20px 12px 6px;font-size:1.1rem;font-weight:700}.show-card>p{color:var(--muted);margin:0 12px;font-size:.92rem}.show-stage{border-radius:16px;flex-direction:column;justify-content:center;gap:10px;height:216px;padding:22px;display:flex;position:relative}.show-stage-blue{background:linear-gradient(150deg,#eaf1ff,#dfe7ff)}.show-stage-rose{background:linear-gradient(150deg,#fff1f1,#ffe9f3)}.show-stage-green{background:linear-gradient(150deg,#e9fbf3,#e2f6fb)}.mock-sentence{color:var(--ink);font-size:1.04rem;font-weight:500}.mock-word{border-bottom:2px solid var(--orange);background:#ffe9a8;padding:0 3px}.mock-pop{background:var(--ink);color:#fff;box-shadow:var(--shadow-md);border-radius:14px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mock-pop strong{line-height:1.2;display:block}.mock-pop span{color:#c6d3ee;font-size:.85rem}.mock-icon{background:#ffffff24;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.mock-note{background:var(--white);color:#991b1b;box-shadow:var(--shadow-sm);border:1.5px solid #fecaca;border-radius:13px;align-items:center;gap:8px;padding:11px 13px;font-size:.88rem;font-weight:600;display:flex}.mock-note-good{color:#1e40af;border-color:#bbd0fb}.mock-note svg{flex:none}.mock-link{background:repeating-linear-gradient(#ef4444 0 5px,#0000 5px 9px);width:2px;height:22px;margin:-4px auto}.mock-option{background:var(--white);border:1.5px solid var(--line);color:var(--ink);border-radius:12px;align-items:center;gap:9px;padding:9px 13px;font-size:.88rem;font-weight:500;display:flex}.mock-option-good{color:#166534;background:#f0fdf4;border-color:#86efac;font-weight:600}.mock-option-bad{color:#b91c1c;border-color:#fecaca;text-decoration:line-through}.mock-radio{border:2px solid #c4cedf;border-radius:50%;width:16px;height:16px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:56px 0 0;padding:0;list-style:none;display:grid;position:relative}.steps li{position:relative}.steps li:not(:last-child):after{content:"";background:linear-gradient(90deg,#cfdcf8,#0000);height:2px;position:absolute;top:18px;left:52px;right:-16px}.step-num{background:var(--grad);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;margin-bottom:12px;font-weight:700;display:grid}.steps strong{color:var(--ink);font-weight:700;display:block}.steps p{color:var(--muted);font-size:.91rem}.bento{grid-template-columns:1.25fr 1fr 1fr;gap:20px;display:grid}.bento-main{border-radius:var(--radius-lg);color:#cdd9f3;box-shadow:var(--shadow-lg);background:radial-gradient(420px 260px at 96% 0,#4f46e58c,#0000 70%),linear-gradient(150deg,#0b1a3a,#142a63);flex-direction:column;grid-row:span 2;padding:32px;display:flex}.bento-main h3{color:#fff;margin:14px 0 18px;font-size:1.5rem;font-weight:700;line-height:1.3}.quote-stack{gap:8px;margin-bottom:22px;display:grid}.quote-stack p{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;padding:11px 14px;font-size:.97rem}.quote-stack mark{white-space:nowrap;color:#0b1a3a;background:#fbbf24;border-radius:5px;padding:1px 5px;font-weight:700}.bento-main ul{gap:10px;margin:0;padding:0;font-size:.93rem;list-style:none;display:grid}.bento-main li{gap:9px;display:flex}.bento-main li svg{color:#4ade80;flex:none;margin-top:3px}.bento-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px;transition:transform .2s,box-shadow .2s}.bento-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.bento-card h3{margin:16px 0 6px;font-size:1.05rem;font-weight:700}.bento-card p{color:var(--muted);font-size:.91rem}.tag{border-radius:999px;align-self:flex-start;padding:3px 11px;font-size:.74rem;font-weight:700;display:inline-block}.tag-orange{color:#fff;background:linear-gradient(100deg,#fb923c,#f97316)}.tag-glass{color:#fff;background:#ffffff29}.cases{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.case{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.case:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.case-cover{aspect-ratio:25/12;place-items:center;display:grid;position:relative;overflow:hidden}.case-cover img{object-fit:cover;object-position:50% 70%;width:100%;height:100%}.case-level{color:var(--ink);background:#ffffffeb;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700;position:absolute;top:12px;right:12px}.case-solved{color:#fff;background:#16a34a;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px}.case-pill{background:var(--soft-2);color:var(--blue-dark);white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:.8rem;font-weight:700}.case-body{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.case-body small{color:var(--blue);font-size:.76rem;font-weight:700}.case-body h3{margin-bottom:6px;font-size:1.1rem;font-weight:700}.case-body p{color:var(--text);font-size:.9rem}.case-body .case-topic{color:var(--muted);margin-bottom:16px;font-size:.84rem}.case-body .btn{margin-top:auto}.cta-band{padding:0 24px 64px}.cta-inner{color:#dbe6ff;background:radial-gradient(500px 240px at 100% 0%, #06b6d46b, transparent 70%), var(--grad);max-width:1132px;box-shadow:var(--shadow-lg);border-radius:28px;align-items:center;gap:24px;padding:26px 40px;display:flex}.cta-inner img{filter:drop-shadow(0 12px 18px #0b1a3a57);flex:none;width:120px;margin:-38px 0 -26px -8px}.cta-inner div{flex:1;min-width:0}.cta-inner h2{color:#fff;font-size:1.6rem;font-weight:800}.site-footer{border-top:1px solid var(--line);background:var(--ink);color:#9fb2d8;padding:28px 0;font-size:.88rem}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;display:flex}.footer-row nav{gap:22px;display:flex}.footer-row nav a:hover{color:#fff}.reveal{opacity:0;transition:opacity .52s,transform .52s;transform:translateY(18px)}.reveal-on{opacity:1;transform:none}.page-bg{background:radial-gradient(560px 360px at 92% 0%, #4f46e512, transparent 70%), var(--white);min-height:100vh;padding-bottom:72px}.page-bg h1{margin:8px 0 6px;font-size:clamp(1.7rem,3.2vw,2.25rem);font-weight:800;line-height:1.2}.narrow{gap:18px;width:min(780px,100%);padding-top:32px;display:grid}.card-lg{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px}.card-lg h2{align-items:center;gap:8px;margin-bottom:14px;font-size:1.14rem;font-weight:700;display:flex}.briefing{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px 32px;padding-top:32px;display:grid}.briefing-art{grid-column:1}.briefing-art img{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);display:block}.briefing-body{grid-column:1;gap:8px;display:grid}.briefing-body>.muted{margin-bottom:8px}.briefing-body h1{margin:0}.briefing-tips{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;grid-area:1/2/span 2;align-self:start;margin-top:64px;padding:0 24px 24px;position:sticky;top:96px}.briefing-tips>img{filter:drop-shadow(0 12px 16px #0b1a3a33);width:190px;margin:-74px auto 0;display:block}.briefing-tips h2{margin:4px 0 14px;font-size:1.08rem;font-weight:700}.briefing-tips ul{text-align:left;gap:12px;margin:0 0 20px;padding:0;font-size:.9rem;line-height:1.45;list-style:none;display:grid}.briefing-tips li{align-items:center;gap:11px;display:flex}.briefing-tips .tile{border-radius:10px;width:34px;height:34px}.word{color:inherit;background:0 0;border:0;border-bottom:1.5px dotted #b4c3e2;padding:0;transition:color .12s,border-color .12s}.word:hover{color:var(--blue);border-bottom-color:var(--blue)}.nowrap{white-space:nowrap}.word-mark{border-bottom:2px solid var(--orange);background:#fff1c2;border-radius:3px}.line{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;margin-bottom:10px;padding:13px 15px}.speaker{color:var(--blue);margin-bottom:3px;font-size:.79rem;font-weight:700}.line-text{color:var(--ink);font-size:1.1rem;font-weight:500;line-height:1.6}.line-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pip-note{background:var(--soft);color:#1e3a8a;border:1px solid #dde7fb;border-radius:12px;align-items:flex-start;gap:9px;margin-top:8px;padding:8px 11px 8px 8px;font-size:.89rem;line-height:1.5;display:flex}.pip-note img{object-fit:cover;background:#dfe9ff;border-radius:9px;flex:none;width:30px;height:30px}.pip-note-warn{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.pip-note-warn img{background:#ffe7c7}.warn{color:#b45309;margin-top:6px;font-size:.78rem}.saved{color:var(--green);align-items:center;gap:6px;margin-bottom:10px;font-size:.86rem;font-weight:600;display:flex}.play-page{background:var(--white);min-height:100vh}.play-header{align-items:center;gap:18px;height:72px;display:flex}.stats{align-items:center;gap:10px;margin-right:auto;display:flex}.stat{height:34px;color:var(--amber);background:#fffbeb;border-radius:10px;align-items:center;gap:2px;padding:0 11px;display:inline-flex}.stat-cookie{color:#b45309;background:#fff4e6;gap:6px;font-size:.9rem;font-weight:700}.play-actions{gap:8px;display:flex}.badge{background:var(--soft-2);min-width:20px;height:20px;color:var(--blue-dark);border-radius:7px;place-items:center;padding:0 5px;font-size:.74rem;font-style:normal;font-weight:700;display:inline-grid}.play-main{padding-top:18px;padding-bottom:40px}.play-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.segmented{background:var(--soft-2);border-radius:13px;gap:3px;max-width:100%;margin-bottom:0;padding:4px;display:inline-flex}.segmented button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:6px;padding:7px 14px;font-size:.89rem;font-weight:600;transition:background .14s,color .14s;display:inline-flex}.segmented button.on{background:var(--white);color:var(--blue-dark);box-shadow:var(--shadow-sm)}.segmented em{color:var(--muted);font-size:.78rem;font-style:normal}.progress{color:var(--muted);gap:16px;font-size:.86rem;display:flex}.progress b{color:var(--ink)}.play-grid{grid-template-columns:minmax(0,1.72fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.play-panel{gap:12px;scroll-margin-top:84px;display:grid}.play-side{gap:12px;display:grid}.objective{color:var(--ink);background:linear-gradient(120deg,#eff4ff,#f3f0ff);border-radius:14px;padding:11px 14px;font-size:.91rem;font-weight:500;line-height:1.45}.objective span{color:var(--blue);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:700;display:block}.scene{box-shadow:var(--shadow-md);border-radius:20px;position:relative;overflow:hidden}.scene-art{aspect-ratio:25/14;background:var(--soft-2);width:100%;height:auto;display:block}.hotspot{background:0 0;border:0;border-radius:12px;transition:background .14s,box-shadow .14s;position:absolute}.hotspot:hover,.hotspot:focus-visible{box-shadow:inset 0 0 0 2.5px #ffffffeb, 0 0 0 2.5px var(--blue);background:#2563eb1f;outline:none}.hotspot:after{content:"";background:var(--blue);border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;top:50%;left:50%;box-shadow:0 0 0 3px #fff,0 3px 8px #0b1a3a66}.hotspot-top:after{margin-top:-2px;top:0}.hotspot-new:after{animation:2.2s ease-out infinite pulse}.hotspot-seen:after{background:#fff;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;box-shadow:0 0 0 2px #2563ebbf,0 2px 6px #0b1a3a59}.hotspot-top.hotspot-seen:after,.hotspot-top.hotspot-locked:after{margin-top:0}.hotspot.hotspot-bottom:after{margin-top:0;top:auto;bottom:3px}.hotspot-locked:after{background:#66748f;border-radius:4px;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;box-shadow:0 0 0 2.5px #fff,0 2px 6px #0b1a3a59}.hotspot-label{z-index:2;background:var(--ink);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;border-radius:8px;padding:3px 9px;font-size:.78rem;font-weight:600;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1}.scene-legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-size:.8rem;display:flex}.scene-legend span{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:50%;width:11px;height:11px;display:inline-block}.dot-new{background:var(--blue)}.dot-seen{background:#fff;box-shadow:inset 0 0 0 2px #2563ebbf}.dot-locked{background:#66748f;border-radius:3px}.chip-new{background:#f4f7ff;border-color:#93b4f6;font-weight:600}@keyframes pulse{0%{box-shadow:0 0 0 3px #fff,0 0 0 3px #2563eb99}70%{box-shadow:0 0 0 3px #fff,0 0 0 16px #2563eb00}to{box-shadow:0 0 0 3px #fff,0 0 0 16px #2563eb00}}.chips{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.chip{background:var(--white);border:1.5px solid var(--line);color:var(--ink);border-radius:10px;padding:5px 12px;font-size:.87rem;font-weight:500;transition:border-color .14s,background .14s}.chip:hover{background:var(--soft);border-color:#a9c0f2}.chip-locked{color:var(--muted);border-style:dashed}.chip-on{background:var(--blue);border-color:var(--blue);color:#fff}.chip-on:hover{background:var(--blue-dark)}.panel{background:var(--soft);border-radius:18px;padding:14px}.panel>.pip-note:first-child{margin-top:0}.panel-title{color:var(--ink);margin-bottom:8px;font-weight:700}.panel-title+.muted{margin:-6px 0 8px}.npc-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.avatar{object-fit:cover;width:58px;height:58px;box-shadow:0 0 0 2.5px #fff, var(--shadow-md);border-radius:18px;flex:none}.npc-name{flex-direction:column;min-width:0;line-height:1.3;display:flex}.npc-name strong{color:var(--ink);font-weight:700}.npc-name span{color:var(--muted);font-size:.82rem}.patience{text-align:right;color:var(--muted);margin-left:auto;font-size:.72rem}.patience div{justify-content:flex-end;gap:4px;margin-top:3px;display:flex}.patience i{background:#d8e0ef;border-radius:4px;width:18px;height:7px}.patience i.on{background:var(--green)}.options{flex-direction:column;gap:7px;margin-bottom:8px;display:flex}.option{text-align:left;background:var(--white);border:1.5px solid var(--line);color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:1rem;font-weight:500;line-height:1.4;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.option:hover{box-shadow:var(--shadow-sm);border-color:#93b4f6;transform:translateY(-1px)}.option-key{background:var(--soft-2);width:26px;height:26px;color:var(--blue-dark);border-radius:8px;flex:none;place-items:center;font-size:.8rem;font-weight:700;display:grid}.option-topic{justify-content:space-between;font-size:.94rem}.option-topic svg{color:var(--muted);flex:none}.option-evidence{flex-direction:column;align-items:flex-start;gap:1px;font-size:.95rem}.option-evidence strong{font-weight:700}.option-evidence span{color:var(--muted);font-size:.84rem}.mistake{background:#fff1f1;border-radius:12px;margin-bottom:8px;padding:10px 12px}.word-sheet{background:var(--white);border:1px solid var(--line);z-index:30;width:min(460px,100% - 32px);box-shadow:var(--shadow-lg);border-radius:18px;align-items:center;gap:12px;padding:10px 12px;animation:.18s ease-out sheet-in;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.word-sheet-body{flex:1;min-width:0;line-height:1.35}.word-sheet-body strong{color:var(--ink);font-size:1.12rem;font-weight:700;display:block}.word-sheet-body span{color:var(--muted);font-size:.92rem}@keyframes sheet-in{0%{opacity:0;transform:translate(-50%,10px)}}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#0b1a3a6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.overlay-close{background:0 0;border:0;flex:1}.notebook{background:var(--white);width:min(540px,100%);height:100%;padding:20px 20px 100px;animation:.2s ease-out slide-in;overflow-y:auto;box-shadow:-18px 0 48px #0b1a3a2e}@keyframes slide-in{0%{transform:translate(28px)}}.notebook-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.notebook-head h2{font-size:1.28rem;font-weight:800}.notebook .segmented{margin-bottom:14px;display:flex}.notebook .segmented button{flex:1;justify-content:center;padding:7px 8px;font-size:.84rem}.notebook-foot{border-top:1px solid var(--line);margin-top:16px;padding-top:8px}.entry{margin-bottom:16px}.entry .line{margin-bottom:7px}.empty{text-align:center;color:var(--muted);background:var(--soft);border-radius:14px;padding:32px 16px;font-size:.92rem}.resolved{color:var(--green);align-items:center;gap:6px;font-size:.86rem;font-weight:600;display:inline-flex}.result{border-radius:14px;align-items:center;gap:11px;margin-bottom:10px;padding:13px 15px;display:flex}.result strong{line-height:1.3;display:block}.result span{font-size:.85rem}.result-good{color:#166534;background:#ecfdf3}.result-bad{color:#991b1b;background:#fef2f2}.word-list{margin:0;padding:0;list-style:none}.word-list li{border-bottom:1px solid var(--line);gap:10px;padding:9px 2px;font-size:.94rem;display:flex}.word-list .word{color:var(--ink);font-weight:600}.word-list span{color:var(--muted)}.sentence{background:var(--soft);color:var(--ink);border-radius:16px;margin:18px 0;padding:18px;font-size:1.22rem;font-weight:500;line-height:2}.slot{min-width:56px;color:var(--muted);text-align:center;border-bottom:2.5px solid #b7c5e2;padding:0 6px;display:inline-block}.slot-filled{color:var(--blue-dark);border-bottom-color:var(--blue);font-weight:700}.slot-group{margin-top:14px}.slot-label{color:var(--muted);font-size:.82rem;font-weight:600}.slot-group .chips{margin-top:5px}.row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:22px;display:flex}.row-center{justify-content:center;gap:12px;margin-top:8px}.result-hero{border-radius:var(--radius-lg);color:#dbe6ff;background:radial-gradient(420px 240px at 100% 0%, #06b6d466, transparent 70%), var(--grad);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;gap:20px;padding:30px 32px;display:flex}.result-hero h1{color:#fff}.result-stars{color:#fde047;gap:3px;margin-top:10px;display:flex}.rank{background:var(--white);width:104px;height:104px;color:var(--blue-dark);border-radius:28px;flex-direction:column;flex:none;justify-content:center;align-items:center;font-size:3rem;font-weight:800;line-height:1;display:flex;box-shadow:0 14px 28px #0b1a3a3d}.rank small{color:var(--muted);margin-bottom:3px;font-size:.72rem;font-weight:600}.stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat-row div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px 18px}.stat-row strong{color:var(--ink);font-size:1.5rem;font-weight:800;line-height:1.2;display:block}.stat-row span{color:var(--muted);font-size:.82rem}.final-line{color:#14532d;background:#ecfdf3;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-weight:600}.word-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 20px;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.word-grid li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:7px 0;display:flex}.word-grid strong{color:var(--ink);font-weight:600}.word-grid span{color:var(--muted);text-align:right}.notebook-page{background:linear-gradient(160deg,#fffaf0,#fff5e0);border-color:#f6e4bd}.notebook-page .line{background:#ffffffb8;border-color:#f6e4bd;margin-bottom:0}@media (width<=980px){.hero{padding-top:40px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero-visual{max-width:560px;margin:0 auto;padding-left:24px}.skills,.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.steps li:after{display:none}.showcase,.cases,.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-main{grid-area:auto/1/auto/-1}.play-grid,.briefing{grid-template-columns:minmax(0,1fr)}.briefing-tips{grid-area:auto/1;position:static}.logo-text small{display:none}}@media (width<=640px){.wrap{padding:0 16px}.site-header-row{height:64px}.hero-stats{gap:18px}.hero-stats div+div{padding-left:18px}.hero-stats dd{font-size:1.5rem}.float-chip{display:none}.hero-visual{padding-left:0}.skills{gap:10px;margin-top:40px}.skill{gap:9px;padding:11px 12px}.skill .tile{width:34px;height:34px}.skill small{display:none}.showcase,.cases,.bento{grid-template-columns:minmax(0,1fr)}.section{padding:56px 0}.cta-band{padding:0 16px 48px}.cta-inner{text-align:center;flex-direction:column;gap:14px;padding:24px 20px}.cta-inner img{width:120px;margin:-8px 0}.result-hero{padding:22px}.rank{width:84px;height:84px;font-size:2.4rem}.card-lg{padding:20px}.stat-row div{padding:12px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.panel .mini+.link{margin-left:12px}.header-right{align-items:center;gap:10px;display:flex}.account{align-items:center;gap:8px;display:flex}.account-loading{width:120px}.account-avatar{background:var(--grad);color:#fff;border-radius:12px;flex:none;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--ink);font-size:.9rem;font-weight:600;overflow:hidden}.btn-text{color:var(--ink);background:0 0;padding:10px 8px}.btn-text:hover:not(:disabled){color:var(--blue)}.auth-page{background:var(--white);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);min-height:100vh;display:grid}.auth-side{color:#dbe6ff;background:radial-gradient(520px 340px at 100% 0,#06b6d46b,#0000 70%),radial-gradient(460px 360px at 0 100%,#7c3aed8c,#0000 70%),linear-gradient(150deg,#1d4ed8,#312e81);flex-direction:column;padding:36px 44px;display:flex;position:relative;overflow:hidden}.auth-side-body{max-width:400px;margin-top:64px;position:relative}.auth-side h2{color:#fff;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:800;line-height:1.2}.auth-side ul{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.auth-side li{align-items:center;gap:10px;display:flex}.auth-side li svg{color:#6ee7b7;flex:none}.auth-side>img{filter:drop-shadow(0 24px 32px #0b1a3a73);width:min(50%,250px);position:absolute;bottom:16px;right:24px}.auth-main{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px 24px;display:flex}.auth-main>.link,.auth-card{width:min(440px,100%)}.auth-card h1{font-size:1.9rem;font-weight:800;line-height:1.2}.auth-tabs{margin:20px 0;display:flex}.auth-tabs button{flex:1;justify-content:center;padding:9px 14px}.field{margin-bottom:14px;display:block}.field>span{color:var(--ink);margin-bottom:5px;font-size:.88rem;font-weight:600;display:block}.field input{border:1.5px solid var(--line);background:var(--white);width:100%;height:48px;color:var(--ink);font:inherit;border-radius:12px;outline:none;padding:0 14px;transition:border-color .14s,box-shadow .14s}.field input::placeholder{color:#9aa6bd}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2563eb24}.field-password{position:relative}.field-password input{padding-right:48px}.field-password .icon-btn{position:absolute;top:4px;right:4px}.auth-submit{margin-top:14px}.auth-note{color:var(--muted);text-align:center;margin-top:16px;font-size:.84rem}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.save-banner{background:var(--soft);border-radius:var(--radius);border:1px solid #dde7fb;align-items:center;gap:14px;padding:10px 14px;display:flex}.save-banner .pip-note{background:0 0;border:0;flex:1;margin:0;padding:0}@media (width<=860px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-side{display:none}.auth-main{justify-content:flex-start;padding-top:24px}}@media (width<=640px){.account-register,.account-name{display:none}.save-banner{flex-direction:column;align-items:stretch}}.mobile-menu{display:none}.menu-panel{background:var(--white);border-bottom:1px solid var(--line);gap:12px;max-height:calc(100vh - 64px);padding:12px 16px 18px;animation:.16s ease-out menu-in;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 18px 32px #0b1a3a24}@keyframes menu-in{0%{transform:translateY(-6px)}}.menu-links{display:grid}.menu-links a{border-bottom:1px solid var(--line);color:var(--ink);padding:12px 4px;font-weight:600}.menu-auth{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.menu-user{align-items:center;gap:10px;display:flex}.menu-user-name{flex:1;min-width:0;line-height:1.3}.menu-user-name strong,.menu-user-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.menu-user-name strong{color:var(--ink)}.menu-user-name small{color:var(--muted)}.auth-mobile-logo{display:none}@media (width<=860px){.site-nav,.header-right{display:none}.mobile-menu{display:block}.auth-mobile-logo{width:min(440px,100%);display:block}}@media (width<=980px){.play-grid{flex-direction:column;align-items:stretch;display:flex}.play-left{order:2}.play-side{display:contents}.objective{order:1}.play-panel{order:3}}@media (width<=640px){.play-page{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.play-page .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--white)}.play-header{gap:10px;height:58px}.play-header .logo-text{display:none}.play-header .logo-mark{width:38px;height:38px}.stats{gap:6px;margin-left:auto;margin-right:0}.stat{height:32px;padding:0 8px}.play-actions{z-index:14;padding:10px 16px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:#fffffff0;position:fixed;bottom:0;left:0;right:0}.play-actions .btn{flex:1;padding-top:12px;padding-bottom:12px}.play-panel{scroll-margin-top:72px}.play-main{padding-top:12px}.play-top{margin-bottom:10px}.play-top .segmented{width:100%;display:flex}.play-top .segmented button{text-align:center;white-space:normal;flex:1 1 0;justify-content:center;min-width:0;padding:8px 6px;line-height:1.2}.progress{justify-content:space-between;width:100%}.word-sheet{bottom:calc(82px + env(safe-area-inset-bottom))}.notebook{padding:16px 16px 120px}.sentence{padding:14px;font-size:1.08rem}.line-text{font-size:1.04rem}}@media (width<=480px){.notebook .segmented svg{display:none}.notebook .segmented button{gap:4px;min-width:0;padding:8px 4px;font-size:.78rem}.play-top .segmented svg{display:none}.hero-stats{justify-content:space-between;gap:10px}.hero-stats div+div{padding-left:10px}.hero-actions .btn{flex:1}}@media (height<=520px) and (orientation:landscape){.play-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);display:grid}.play-side{display:grid}.play-left{order:0}}@media (pointer:coarse){.mini{min-height:36px;padding:6px 11px}.chip{min-height:40px;padding:7px 13px}.word{padding:2px 0}}.lb{max-width:760px;margin:0 auto}.lb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px;display:flex}.lb-rule{color:var(--muted);font-size:.86rem}.lb-list{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.lb-row{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:10px 16px 10px 12px;display:flex}.lb-row-me{background:#f4f7ff;border-color:#93b4f6}.lb-rank{width:32px;height:32px;color:var(--muted);border-radius:10px;flex:none;place-items:center;font-weight:700;display:grid}.lb-rank-1{color:#78350f;background:linear-gradient(145deg,#fde68a,#f59e0b)}.lb-rank-2{color:#334155;background:linear-gradient(145deg,#e8ecf3,#b4bdcd)}.lb-rank-3{color:#6b3410;background:linear-gradient(145deg,#fcd5b0,#d98a4e)}.lb-avatar{background:var(--grad);color:#fff;border-radius:13px;flex:none;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.lb-name{flex:1;min-width:0;line-height:1.3}.lb-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;display:block;overflow:hidden}.lb-name em{background:var(--blue);color:#fff;border-radius:6px;margin-left:6px;padding:1px 7px;font-size:.68rem;font-style:normal}.lb-name small{color:var(--muted);font-size:.8rem}.lb-time{color:var(--ink);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:5px;font-weight:700;display:inline-flex}.lb-time svg{color:var(--muted)}.lb-me{color:var(--blue-dark);text-align:center;margin-top:10px;font-weight:600}.lb-cta{background:var(--white);border-radius:var(--radius);color:var(--text);border:1px dashed #c7d3ea;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin-top:14px;padding:12px 16px;font-size:.92rem;display:flex}.solve-time{border-radius:var(--radius);color:var(--blue-dark);background:#f0f5ff;align-items:center;gap:12px;padding:14px 18px;display:flex}.solve-time svg{flex:none}.solve-time strong{line-height:1.3;display:block}.solve-time span{color:var(--muted);font-size:.86rem}@media (width<=480px){.lb-row{gap:8px;padding:9px 10px}.lb-avatar{width:34px;height:34px}.lb-time{font-size:.9rem}}.stage{background:#0b1a3a;min-height:100dvh;position:relative;overflow:hidden}.stage-bg{object-fit:cover;opacity:.28;filter:blur(3px)saturate(1.15);width:100%;height:100%;position:absolute;inset:0;transform:scale(1.04)}.stage:after{content:"";background:radial-gradient(at 50% 30%,#0000 10%,#0b1a3ac7 80%);position:absolute;inset:0}.stage-content{z-index:1;justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;position:relative}.cold,.story,.catch-react{justify-items:stretch;gap:16px;width:min(680px,100%);display:grid}.story>.btn,.catch-react>.btn{justify-self:center}.cold-head{justify-content:space-between;align-items:center;display:flex}.cold-setup{color:#dbe6ff;font-size:1.08rem;font-weight:500}.cold-setup .word{border-bottom-color:#dbe6ff73}.spoken{align-items:flex-end;gap:14px;display:flex}.spoken-face{object-fit:cover;border-radius:28px;flex:none;width:112px;height:112px;animation:.26s cubic-bezier(.2,1.4,.4,1) pop-in;box-shadow:0 0 0 3px #fff,0 14px 30px #0006}.catch .spoken-face{border-radius:36px;width:168px;height:168px}.spoken-face-shake{animation:.24s cubic-bezier(.2,1.6,.4,1) pop-in,.42s ease-in-out .2s shake}.spoken-bubble{background:var(--white);border-radius:20px 20px 20px 6px;flex:1;min-width:0;padding:14px 18px;box-shadow:0 18px 40px #00000057}.spoken-bubble .line-actions{margin-top:8px}.typed{text-align:left;line-height:inherit;font:inherit;color:inherit;background:0 0;border:0;padding:0;display:inline}.typed-rest{visibility:hidden}.cold-lie{font-size:1.28rem;line-height:1.75}.tap-word{font:inherit;color:inherit;background:0 0;border:0;border-radius:7px;padding:1px;transition:background .12s}.tap-word:hover{background:#fff1c2}.tap-word-miss{color:#b91c1c;background:#fee2e2;animation:.3s ease-in-out shake}.tap-word-hint{box-shadow:inset 0 -2px 0 var(--orange);background:#fde68a}.cold-proof{color:#1e40af;background:#f3f7ff;border-radius:16px;gap:11px;padding:13px 16px;display:flex;transform:rotate(-.6deg);box-shadow:0 12px 28px #0000004d}.cold-proof svg{flex:none;margin-top:2px}.cold-proof small{font-weight:700}.cold-proof p{color:var(--ink);font-weight:600}.cold-task{color:#fff;text-align:center;font-size:1.05rem}.cold-task strong,.cold-task span{display:block}.cold-task span{color:#fcd34d;font-size:.9rem;font-weight:500}.cold-meaning{color:#dbe6ff;background:#ffffff1a;border-radius:12px;padding:10px 14px;font-size:.92rem}.link-light{color:#bcd0ff;justify-self:center}.catch{justify-items:center;width:min(680px,100%);display:grid}.catch-clash{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;padding:40px 0;display:grid;position:relative}.clash-card{background:var(--white);color:var(--ink);border-radius:16px;padding:16px;font-weight:600;box-shadow:0 16px 36px #0000005c}.clash-card small{letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:.72rem;font-weight:700;display:block}.clash-card-lie{animation:.3s cubic-bezier(.3,1.3,.6,1) slam-left}.clash-card-lie small{color:var(--red)}.clash-card-proof{animation:.3s cubic-bezier(.3,1.3,.6,1) slam-right}.clash-card-proof small{color:var(--blue)}.catch-stamp{color:#fff;letter-spacing:-.02em;white-space:nowrap;background:#dc2626;border:5px solid #fff;border-radius:14px;padding:8px 22px;font-size:clamp(1.7rem,7vw,2.8rem);font-weight:800;animation:.36s cubic-bezier(.2,1.6,.4,1) .26s both stamp;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-7deg);box-shadow:0 18px 44px #00000075}.catch-reward{color:#fcd34d;justify-content:center;align-items:center;gap:8px;font-size:1.15rem;font-weight:700;animation:.28s cubic-bezier(.2,1.6,.4,1) pop-in;display:flex}@keyframes slam-left{0%{opacity:0;transform:translate(-60%)rotate(-5deg)}}@keyframes slam-right{0%{opacity:0;transform:translate(60%)rotate(5deg)}}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-7deg)scale(2.6)}}@keyframes pop-in{0%{opacity:0;transform:scale(.72)}}@keyframes shake{20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.shake{animation:.34s ease-in-out shake}.story-eyebrow{color:#fcd34d;justify-content:center;align-items:center;gap:7px;font-size:.9rem;font-weight:700;display:flex}.story-title{color:#fff;text-align:center;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:800}.story-title .word{border-bottom-color:#ffffff57}.story-vi{color:#dbe6ff;text-align:center}.verdict-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.verdict{background:var(--white);text-align:left;border:0;border-radius:18px;padding:18px;transition:transform .16s;box-shadow:0 16px 34px #0000004d}.verdict:hover{transform:translateY(-3px)}.verdict strong{color:var(--ink);font-size:1.05rem;line-height:1.4;display:block}.verdict span{color:var(--muted);margin-top:4px;font-size:.88rem;display:block}.torn-page{color:#4a3518;background:linear-gradient(170deg,#fff8e6,#f6e6bf);border-radius:6px;padding:26px 24px;animation:.32s ease-out pop-in;transform:rotate(-1.2deg);box-shadow:0 22px 44px #00000070}.torn-page .line-text{color:#2d2110;font-size:1.2rem}.torn-vi{color:#7a5f35;margin-top:8px;font-size:.9rem}.result-next .pip-note{margin:0}.result-note{color:var(--muted);text-align:center;font-size:.86rem}@media (width<=640px){.stage-content{align-items:flex-start;padding-top:16px}.spoken-face,.catch .spoken-face{border-radius:22px;width:84px;height:84px}.cold-lie{font-size:1.14rem}.catch-clash{grid-template-columns:minmax(0,1fr);padding:72px 0 24px}.verdict-options{grid-template-columns:minmax(0,1fr)}.stats .icon-btn{width:34px;height:34px}}@media (width<=980px){.hero-pip{width:36%;left:-6px}.play-header .logo-text{display:none}}.hotspot-focus{z-index:3;animation:1.5s ease-in-out infinite focus-glow;box-shadow:inset 0 0 0 3px #fbbf24,0 0 0 3px #fbbf2473}.hotspot-focus:after{background:#f59e0b;animation:none}.hotspot-focus:before{content:"";filter:drop-shadow(0 2px 3px #0b1a3a73);border-top:13px solid #f59e0b;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;margin-left:-9px;animation:.9s ease-in-out infinite focus-bob;position:absolute;top:-24px;left:50%}.hotspot-top.hotspot-focus:before{top:-30px}@keyframes focus-glow{50%{box-shadow:inset 0 0 0 3px #fbbf24,0 0 0 7px #fbbf2440}}@keyframes focus-bob{50%{transform:translateY(6px)}}.chip-focus{color:#92400e;background:#fffbeb;border-color:#f59e0b;font-weight:700}.seg-next{position:relative;box-shadow:inset 0 0 0 2px #f59e0b;color:#92400e!important;background:#fffbeb!important}.seg-next:after{content:"";background:#f59e0b;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:5px}.btn-attn{animation:1.4s ease-in-out infinite attn}@keyframes attn{50%{box-shadow:0 0 0 5px #f59e0b73}}.objective{border:1.5px solid #dbe4fb;font-size:.98rem}.prologue{gap:14px}.prologue-art{object-fit:cover;border-radius:18px;width:100%;max-height:38vh;display:block;box-shadow:0 20px 44px #00000070}.prologue-text{background:var(--white);color:var(--ink);border-radius:18px;align-items:flex-start;gap:12px;padding:16px 18px;font-size:1.08rem;line-height:1.6;animation:.22s ease-out pop-in;display:flex;box-shadow:0 16px 36px #00000057}.prologue-text img{object-fit:cover;background:#e8f0ff;border-radius:14px;flex:none;width:48px;height:48px}.prologue-cast{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.prologue-cast li,.case-cast li{background:var(--white);color:var(--text);border-radius:14px;align-items:center;gap:11px;padding:10px 12px;font-size:.88rem;line-height:1.4;display:flex}.prologue-cast img,.case-cast img{object-fit:cover;border-radius:15px;flex:none;width:54px;height:54px}.prologue-cast strong,.case-cast strong{color:var(--ink);font-size:.95rem;display:block}.prologue-goals{background:var(--white);color:var(--ink);border-radius:16px;margin:0;padding:16px 18px 16px 42px;font-size:1.1rem;font-weight:600;line-height:1.9}.prologue-actions{flex-direction:column;align-items:center;gap:2px;display:flex}.cold-setup small{color:#bcd0ff;margin-top:3px;font-size:.9rem;font-weight:400;display:block}.cold-vi{color:var(--muted);margin-top:4px;font-size:.86rem;font-weight:400;line-height:1.45;display:block}.case-file h3{margin-bottom:8px;font-size:1.1rem;font-weight:800}.case-file h4{color:var(--ink);margin:16px 0 6px;font-size:.92rem;font-weight:700}.case-file>p{margin-bottom:8px;font-size:.95rem}.case-goals{color:var(--ink);margin:0;padding-left:20px;font-weight:600}.case-cast{gap:8px;margin:0;padding:0;list-style:none;display:grid}.case-cast li{background:var(--soft)}@media (width<=640px){.prologue-cast{grid-template-columns:minmax(0,1fr)}.prologue-art{max-height:26vh}.prologue-text{font-size:1rem}}.entry-next{background:#fffbeb;border:2px solid #f59e0b;border-radius:16px;padding:10px}.entry-tag{color:#92400e;margin-bottom:7px;font-size:.82rem;font-weight:700}.pick-vi{color:var(--muted);margin:-4px 0 12px 4px;font-size:.88rem}.option-evidence small{color:#7c8aa5;font-size:.8rem;font-weight:400}.option-hint{background:#fffbeb;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b40}.field-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;display:grid}.field>span small{color:var(--muted);font-size:.76rem;font-weight:400}@media (width<=420px){.field-row{grid-template-columns:minmax(0,1fr);gap:0}}.chat-fab{z-index:18;background:var(--grad);color:#fff;border:0;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 26px #2563eb66}.chat-fab em{color:#fff;background:#dc2626;border:2px solid #fff;border-radius:11px;min-width:22px;height:22px;padding:0 5px;font-size:.72rem;font-style:normal;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-6px}.chat{z-index:26;background:var(--white);border:1px solid var(--line);width:min(380px,100vw - 24px);height:min(560px,100dvh - 36px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;position:fixed;bottom:18px;right:18px;overflow:hidden}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 8px 10px 16px;display:flex}.chat-head strong{color:var(--ink);display:block}.chat-head>div>span{color:var(--muted);align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.chat-note{background:var(--soft);color:var(--muted);padding:7px 14px;font-size:.76rem;line-height:1.4}.chat-list{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.chat-msg{align-items:flex-end;gap:8px;max-width:88%;display:flex}.chat-mine{align-self:flex-end}.chat-avatar{color:#fff;background:linear-gradient(145deg,#38bdf8,#6366f1);border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-size:.8rem;font-weight:700;display:grid}.chat-msg small{color:var(--muted);margin:0 0 2px 2px;font-size:.72rem;font-weight:600;display:block}.chat-msg p{background:var(--soft-2);color:var(--ink);overflow-wrap:anywhere;border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:.92rem;line-height:1.45}.chat-mine p{background:var(--blue);color:#fff;border-radius:14px 14px 4px}.chat-msg time{color:#9aa6bd;margin:2px 2px 0;font-size:.68rem;display:block}.chat-mine time{text-align:right}.chat-typing{color:var(--muted);font-size:.8rem;font-style:italic}.chat-notice{color:#9a3412;background:#fff7ed;padding:6px 14px;font-size:.8rem}.chat-form{border-top:1px solid var(--line);gap:8px;padding:10px;display:flex}.chat-form input{border:1.5px solid var(--line);min-width:0;height:42px;color:var(--ink);font:inherit;border-radius:12px;outline:none;flex:1;padding:0 13px;font-size:.94rem}.chat-form input:focus{border-color:var(--blue)}.chat-form .icon-btn{width:42px;height:42px}.chat-form .icon-btn:disabled{opacity:.45}@media (width<=640px){.chat-fab{right:12px;bottom:calc(86px + env(safe-area-inset-bottom));width:50px;height:50px}.chat{border:0;border-radius:0;width:100%;height:100dvh;bottom:0;right:0}}.field .input-error,.field .input-error:focus{border-color:var(--red);box-shadow:0 0 0 3px #dc26261f}.field-error{color:var(--red);align-items:flex-start;gap:5px;margin-top:5px;font-size:.82rem;line-height:1.4;display:flex}.field-error svg{flex:none;margin-top:2px}.confirm-row{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.9rem;display:flex}body.duel-playing .chat-fab,body.duel-playing .chat{display:none}.duel-page{background:radial-gradient(circle at 8% 0%, #2563eb12, transparent 34%), radial-gradient(circle at 96% 12%, #7c3aed12, transparent 30%), var(--soft);min-height:100vh}.duel-main{padding-top:28px;padding-bottom:64px}.duel-center{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:560px;margin:40px auto;display:flex}.duel-center h1{color:var(--ink);margin:0;font-size:1.6rem}.duel-center-row{flex-wrap:wrap;justify-content:center}.duel-offline{color:#9a3412;background:#fff7ed;border-bottom:1px solid #fed7aa;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.9rem;font-weight:600;display:flex}.duel-confirm{z-index:30;background:var(--white);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow-lg);color:var(--ink);border:2px solid #fecaca;margin:0 auto 20px;padding:18px 20px;position:sticky;top:76px}.duel-confirm p{margin:0 0 12px;font-weight:600}.duel-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:10px;padding:10px 12px 10px 16px;font-size:.92rem;font-weight:600;display:flex}.duel-error span{flex:1}.duel-lobby{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:24px;display:grid}.duel-lobby-main{flex-direction:column;gap:20px;min-width:0;display:flex}.duel-lobby-side{position:sticky;top:88px}.duel-lobby-side .card-lg h2,.duel-history h2{align-items:center;gap:8px;display:flex}.duel-avatar{background:var(--grad);color:#fff;width:38px;height:38px;font-size:inherit;border-radius:50%;flex:none;place-items:center;gap:0;font-weight:800;line-height:1;display:inline-grid}.duel-avatar-lg{width:72px;height:72px;font-size:1.8rem;box-shadow:0 10px 24px #2563eb47}.duel-avatar-bot{background:linear-gradient(135deg,#10b981,#0d9488)}.tier-badge{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.tier-bot{color:#065f46;background:#d1fae5}.duel-profile{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto 1fr;align-items:center;gap:16px 18px;padding:24px;display:grid}.duel-profile h1{color:var(--ink);overflow-wrap:anywhere;margin:0 0 4px;font-size:1.45rem}.duel-profile-tier{color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.duel-progress{max-width:360px;margin-top:10px;position:relative}.duel-progress:before{content:"";background:var(--soft-2);border-radius:99px;height:8px;display:block}.duel-progress span{background:var(--grad);border-radius:99px;height:8px;position:absolute;top:0;left:0}.duel-progress small{color:var(--muted);margin-top:4px;font-size:.8rem;display:block}.duel-stats{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:4px 0 0;display:grid}.duel-stats div{background:var(--soft);border-radius:12px;padding:10px 12px}.duel-stats dt{color:var(--muted);font-size:.76rem}.duel-stats dd{color:var(--ink);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 0;font-size:1.05rem;font-weight:800;display:flex}.duel-stats dd svg{color:var(--orange)}.duel-stats dd small{color:var(--muted);font-size:.72rem;font-weight:500}.duel-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.duel-mode{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:20px;display:flex}.duel-mode h2{color:var(--ink);margin:0;font-size:1.12rem}.duel-mode p{color:var(--muted);margin:0;font-size:.9rem}.duel-mode-main{background:linear-gradient(180deg, #f5f8ff, var(--white));border:2px solid #2563eb4d}.duel-mode-main .btn{margin-top:auto}.duel-mode-icon{background:var(--grad);color:#fff;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.duel-mode-icon-violet{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.duel-mode-icon-green{background:linear-gradient(135deg,#10b981,#0d9488)}.duel-options{flex-wrap:wrap;gap:6px;display:flex}.duel-join{border-top:1px dashed var(--line);padding-top:10px}.duel-join .field{margin:0}.duel-join-row{flex-wrap:wrap;gap:8px;display:flex}.duel-join-row .btn{flex:auto}.duel-join-row input{letter-spacing:.12em;text-transform:uppercase;flex:130px;min-width:0;font-weight:700}.duel-bots{gap:8px;display:grid}.duel-bot{border:1.5px solid var(--line);background:var(--white);text-align:left;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:9px 12px;transition:border-color .14s,background .14s;display:grid}.duel-bot:hover{background:#f0fdf4;border-color:#10b981}.duel-bot strong{color:#065f46;background:#d1fae5;border-radius:10px;grid-row:span 2;place-items:center;width:42px;height:42px;font-size:.86rem;display:grid}.duel-bot span{color:var(--ink);font-size:.92rem;font-weight:700}.duel-bot small{color:var(--muted);font-size:.78rem}.duel-rules summary{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.duel-rules ul{color:var(--text);margin:12px 0 0;padding-left:20px}.duel-rules li+li{margin-top:6px}.duel-history ul{margin:0;padding:0;list-style:none}.duel-history-row{border-top:1px solid var(--line);grid-template-columns:62px minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.duel-history-row:first-child{border-top:0}.duel-outcome{text-align:center;border-radius:8px;padding:3px 0;font-size:.82rem;font-weight:800}.duel-win .duel-outcome{color:#166534;background:#dcfce7}.duel-loss .duel-outcome{color:#991b1b;background:#fee2e2}.duel-draw .duel-outcome{background:var(--soft-2);color:var(--blue-dark)}.duel-history-who{flex-direction:column;min-width:0;display:flex}.duel-history-who strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-history-who em,.bot-tag{color:#065f46;vertical-align:middle;background:#d1fae5;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-style:normal;font-weight:700}.duel-history-who small{color:var(--muted);font-size:.78rem}.duel-history-score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.duel-delta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:700}.duel-delta-up{color:var(--green)}.duel-delta-down{color:var(--red)}.lb-rating svg{color:var(--amber)}.lb-compact .lb-row{padding:8px 10px}.duel-search .duel-timer{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:2rem;font-weight:800}.radar{background:var(--grad);color:#fff;border-radius:50%;place-items:center;width:120px;height:120px;margin:8px 0;display:grid;position:relative}.radar span{border:2px solid #2563eb80;border-radius:50%;animation:2s ease-out infinite radar;position:absolute;inset:0}.radar span:nth-child(2){animation-delay:1s}@keyframes radar{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.room-code{gap:8px;margin:8px 0;display:flex}.room-code span{background:var(--soft-2);width:54px;height:64px;color:var(--blue-dark);border:2px solid #2563eb40;border-radius:14px;place-items:center;font-size:2rem;font-weight:800;display:grid}.duel-waiting{color:var(--blue-dark);align-items:center;gap:8px;font-weight:600;display:inline-flex}.vs{border-radius:var(--radius-lg);background:var(--grad);color:#fff;text-align:center;max-width:760px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:18px;margin:24px auto;padding:32px 24px;display:flex}.vs-mode{background:#ffffff2e;border-radius:999px;padding:4px 12px;font-size:.86rem;font-weight:600}.vs-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:100%;display:grid}.vs-card{background:#ffffff1f;border-radius:20px;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:18px 10px;animation:.38s ease-out both duel-slide-left;display:flex}.vs-opponent{animation-name:duel-slide-right}.vs-card .duel-avatar{color:var(--blue-dark);background:#fff}.vs-card .duel-avatar-bot{color:#065f46;background:#d1fae5}.vs-card strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:1.2rem;overflow:hidden}.vs-card small{opacity:.85}.vs-badge{letter-spacing:-.02em;font-size:2.4rem;font-style:italic;font-weight:900;animation:.42s ease-out .3s both duel-stamp}.vs-ranked{opacity:.9;margin:0}.vs-count{font-variant-numeric:tabular-nums;font-size:3.2rem;font-weight:900;line-height:1}.duel-arena{flex-direction:column;gap:14px;max-width:820px;margin:0 auto;display:flex}.duel-score{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 16px;display:grid}.duel-score-side{align-items:center;gap:10px;min-width:0;display:flex}.duel-score-opp{text-align:right;justify-content:flex-end}.duel-score-name{flex-direction:column;min-width:0;display:flex}.duel-score-name strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-points{color:var(--ink);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:900;line-height:1}.duel-score-mid{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:4px;font-weight:700;display:flex}.duel-worth{color:#92400e;white-space:nowrap;background:#fef3c7;border-radius:999px;padding:2px 9px;font-size:.74rem;font-style:normal}.duel-worth-sudden{color:#991b1b;background:#fee2e2}.duel-status{color:var(--muted);align-items:center;gap:4px;font-size:.78rem;display:inline-flex}.duel-score-opp .duel-status{justify-content:flex-end}.duel-status-done{color:var(--green);font-weight:700}.duel-status-away{color:var(--orange);font-weight:700}.duel-timebar{background:var(--soft-2);border-radius:99px;height:10px;overflow:hidden}.duel-timebar span{background:var(--grad);border-radius:99px;height:100%;transition:width 60ms linear;display:block}.duel-timebar span.low{background:linear-gradient(90deg,#f97316,#dc2626)}.duel-next{border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);flex-direction:column;align-items:center;gap:8px;padding:64px 16px;animation:.26s ease-out both duel-pop;display:flex}.duel-next span{color:var(--ink);font-size:2.2rem;font-weight:900}.duel-next strong{color:#b45309}.duel-question{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;padding:24px}.duel-prompt{color:var(--muted);margin:0;font-weight:600}.duel-focus{color:var(--ink);overflow-wrap:anywhere;margin:6px 0 4px;font-size:2.3rem;font-weight:800;line-height:1.2}.duel-focus-vi{font-size:1.8rem}.duel-options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.duel-options-long{grid-template-columns:1fr}.duel-option{border:2px solid var(--line);background:var(--white);min-height:60px;color:var(--ink);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:1.04rem;font-weight:600;transition:border-color .12s,background .12s,transform .12s;display:flex;position:relative}.duel-option:hover:not(:disabled){border-color:var(--blue);background:var(--soft);transform:translateY(-1px)}.duel-option:disabled{cursor:default}.duel-key{background:var(--soft-2);width:30px;height:30px;color:var(--blue-dark);border-radius:9px;flex:none;place-items:center;font-size:.85rem;font-weight:800;display:grid}.duel-option-text{overflow-wrap:anywhere;flex:1;min-width:0}.duel-option-picked{border-color:var(--blue);background:var(--soft-2)}.duel-option-right{border-color:var(--green);background:#f0fdf4}.duel-option-right .duel-key{background:var(--green);color:#fff}.duel-option-wrong{border-color:var(--red);background:#fef2f2}.duel-option-wrong .duel-key{background:var(--red);color:#fff}.duel-option-dim{opacity:.55}.duel-marks{flex:none;gap:4px;display:flex}.duel-marks em{background:var(--blue);color:#fff;border-radius:6px;padding:2px 7px;font-size:.7rem;font-style:normal;font-weight:700}.duel-marks em.opp{background:#7c3aed}.duel-hint{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:6px;margin:14px 0 0;font-weight:600;display:flex}.duel-round{background:var(--soft);text-align:left;border-radius:14px;flex-direction:column;gap:2px;margin-top:16px;padding:14px 16px;animation:.22s ease-out both duel-pop;display:flex}.duel-round strong{color:var(--ink);font-size:1.08rem}.duel-round span{color:var(--text)}.duel-round p{color:var(--muted);margin:6px 0 0;font-size:.9rem}.duel-round-you{background:#f0fdf4;border:1px solid #bbf7d0}.duel-round-opponent{background:#fef2f2;border:1px solid #fecaca}.duel-emotes{position:relative}.emote-bar{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.emote-bar button{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;padding:5px 10px;font-size:.84rem}.emote-bar button:hover:not(:disabled){border-color:var(--blue)}.emote-bar button:disabled{opacity:.5;cursor:default}.emote-bar .emote-mute{color:var(--muted);border-style:dashed}.emote-bubble{z-index:5;background:var(--ink);color:#fff;white-space:nowrap;border-radius:14px;padding:8px 14px;font-weight:600;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.duel-forfeit{align-self:center}.duel-end{flex-direction:column;gap:18px;max-width:820px;margin:0 auto;display:flex}.duel-end-hero{border-radius:var(--radius-lg);color:#fff;text-align:center;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.duel-end-win{background:linear-gradient(120deg,#16a34a,#0d9488)}.duel-end-loss{background:linear-gradient(120deg,#475569,#334155)}.duel-end-draw{background:var(--grad)}.duel-end-icon{background:#ffffff2e;border-radius:50%;place-items:center;width:72px;height:72px;animation:.42s ease-out both duel-stamp;display:grid}.duel-end-hero h1{color:#fff;margin:0;font-size:2.2rem}.duel-end-hero p{opacity:.92;margin:0}.duel-end-score{font-variant-numeric:tabular-nums;align-items:center;gap:18px;margin-top:6px;font-size:2.6rem;font-weight:900;display:flex}.duel-end-score span{flex-direction:column;align-items:center;line-height:1;display:flex}.duel-end-score small{opacity:.85;text-overflow:ellipsis;white-space:nowrap;max-width:140px;margin-bottom:6px;font-size:.85rem;font-weight:600;overflow:hidden}.duel-end-rating{background:#ffffff29;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;margin-top:6px;padding:8px 16px;display:flex}.duel-end-rating .duel-delta{background:#fff;border-radius:999px;padding:2px 10px;font-size:1rem}.duel-tier-up{align-items:center;gap:5px;font-weight:700;display:inline-flex}.duel-unranked{font-size:.9rem}.duel-end-actions{flex-wrap:wrap;justify-content:center}.duel-review-toggle{color:var(--blue-dark);background:0 0;border:0;align-items:center;gap:8px;padding:0;font-weight:700;display:flex}.duel-review{flex-direction:column;gap:12px;margin:14px 0 0;padding:0;list-style:none;display:flex}.duel-review-item{border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:14px 16px}.duel-review-you{border-left-color:var(--green)}.duel-review-opponent{border-left-color:var(--red)}.duel-review-head{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;font-weight:700;display:flex}.duel-review-head em{color:#92400e;background:#fef3c7;border-radius:6px;padding:1px 7px;font-style:normal}.duel-review-head strong{color:var(--ink);margin-left:auto}.duel-review-q{color:var(--ink);margin:6px 0 2px}.duel-review-answer{color:var(--green);align-items:center;gap:6px;margin:0;font-weight:700;display:flex}.duel-review-sides{flex-wrap:wrap;gap:4px 18px;margin-top:6px;font-size:.88rem;display:flex}.duel-review-sides .ok{color:#166534}.duel-review-sides .bad{color:#991b1b}.duel-review-explain{color:var(--muted);margin:6px 0 0;font-size:.86rem}.duel-review-modal{max-width:720px}.solo-band{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:48px;display:grid}.solo-copy h2{color:var(--ink);margin:14px 0 12px;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15}.solo-copy p{color:var(--text);margin:0 0 16px;font-size:1.05rem}.solo-points{flex-direction:column;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.solo-points li{color:var(--ink);align-items:center;gap:10px;font-weight:600;display:flex}.solo-points svg{color:var(--blue);flex:none}.solo-visual{border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-lg);text-align:center;padding:22px;transform:rotate(1.2deg)}.solo-mock-score{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.solo-mock-score span{align-items:center;gap:8px;display:flex}.solo-mock-score i{background:var(--grad);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.85rem;font-style:normal;display:grid}.solo-mock-score b{font-size:1.5rem}.solo-mock-score small{color:var(--muted)}.solo-mock-bar{background:var(--soft-2);border-radius:99px;height:8px;margin:14px 0}.solo-mock-bar span{background:var(--grad);border-radius:99px;width:62%;height:100%;display:block}.solo-mock-prompt{color:var(--muted);margin:0;font-weight:600}.solo-mock-word{color:var(--ink);margin:2px 0 12px;font-size:2rem;font-weight:800}.solo-mock-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.solo-mock-options span{border:2px solid var(--line);color:var(--ink);text-align:left;border-radius:12px;align-items:center;gap:8px;padding:10px;font-weight:600;display:flex}.solo-mock-options i{background:var(--soft-2);width:24px;height:24px;color:var(--blue-dark);border-radius:7px;place-items:center;font-size:.75rem;font-style:normal;font-weight:800;display:grid}.solo-mock-options .on{border-color:var(--green);background:#f0fdf4}.solo-mock-options .on i{background:var(--green);color:#fff}.solo-mock-result{color:#166534;background:#f0fdf4;border-radius:10px;margin:12px 0 0;padding:8px;font-weight:700}@media (width<=1080px){.duel-lobby{grid-template-columns:1fr}.duel-lobby-side{position:static}.duel-modes{grid-template-columns:1fr 1fr}.duel-mode-main{grid-column:1/-1}.duel-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=860px){.solo-band{grid-template-columns:1fr;gap:28px}.solo-visual{transform:none}}@media (width<=640px){.duel-main{padding-top:16px}.duel-modes{grid-template-columns:1fr}.duel-profile{padding:18px}.duel-avatar-lg{width:56px;height:56px;font-size:1.4rem}.duel-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-history-row{grid-template-columns:54px minmax(0,1fr) auto;row-gap:6px}.duel-history-row .duel-delta{grid-column:2}.duel-history-row .btn{grid-column:3}.duel-score{gap:6px;padding:10px}.duel-score .duel-avatar{display:none}.duel-points{font-size:1.6rem}.duel-score-name strong{font-size:.9rem}.duel-score-mid{font-size:.82rem}.duel-worth{white-space:normal}.duel-question{padding:18px 14px}.duel-focus{font-size:1.9rem}.duel-focus-vi{font-size:1.45rem}.duel-options-grid{grid-template-columns:1fr}.duel-option{min-height:52px}.vs{padding:24px 12px}.vs-row{gap:8px}.vs-card{padding:14px 6px}.vs-card strong{font-size:1rem}.vs-badge{font-size:1.6rem}.room-code span{width:46px;height:56px;font-size:1.6rem}.duel-end-hero h1{font-size:1.8rem}.duel-end-score{font-size:2.1rem}.emote-bubble{white-space:normal;width:max-content;max-width:90vw}.duel-join-row{flex-direction:column}}@keyframes duel-pop{0%{transform:scale(.94)}}@keyframes duel-stamp{0%{transform:scale(1.6)rotate(-6deg)}}@keyframes duel-slide-left{0%{transform:translate(-24px)}}@keyframes duel-slide-right{0%{transform:translate(24px)}}span.tier-avatar{flex:none;line-height:1;display:inline-block;position:relative}.tier-avatar .tier-avatar-face{background:var(--grad);color:#fff;border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;inset:20%}.tier-avatar.tier-avatar-rookie .tier-avatar-face{background:linear-gradient(140deg,#d4a373,#9c6644)}.tier-avatar.tier-avatar-trainee .tier-avatar-face{background:linear-gradient(140deg,#e09f6b,#a5582b)}.tier-avatar.tier-avatar-detective .tier-avatar-face{background:linear-gradient(140deg,#3b82f6,#1e3a8a)}.tier-avatar.tier-avatar-inspector .tier-avatar-face{background:linear-gradient(140deg,#ef4444,#9f1239)}.tier-avatar.tier-avatar-chief .tier-avatar-face{background:linear-gradient(140deg,#7c3aed,#312e81)}.tier-avatar.tier-avatar-assistant .tier-avatar-face{background:linear-gradient(140deg,#2dd4bf,#0f766e)}.tier-avatar img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.tier-emblem{object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px #0b1a3a2e);flex:none}.tier-badge .tier-emblem{margin-left:-3px}.chat-head>div:first-child{min-width:0}.chat-members{align-items:center;margin-left:auto;margin-right:4px;display:flex}.chat-members>span+span{margin-left:-9px}.chat-members em{color:var(--muted);margin-left:4px;font-size:.74rem;font-style:normal;font-weight:700}.chat-msg{align-items:flex-start}.chat-msg .tier-avatar{margin-top:2px}.chat-mine{flex-direction:row-reverse}.chat-mine .chat-author{justify-content:flex-end}.chat-author{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 5px;margin:0 0 3px 2px;font-size:.72rem;font-weight:600;display:flex}.chat-author b{color:var(--ink);font-size:.8rem}.chat-tier{background:var(--soft-2);color:var(--blue-dark);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:700}.chat-tier-rookie{color:#7f5539;background:#f5ebe0}.chat-tier-trainee{color:#9a4a1c;background:#fde8d7}.chat-tier-detective{color:#1e3a8a;background:#e0e7ff}.chat-tier-inspector{color:#9f1239;background:#fee2e2}.chat-tier-chief{color:#5b21b6;background:linear-gradient(90deg,#fef3c7,#ede9fe)}.chat-tier-assistant{color:#0f766e;background:#ccfbf1}.chat-rank{color:#92400e;font-variant-numeric:tabular-nums;background:#fef3c7;border-radius:6px;padding:1px 6px;font-size:.68rem;font-weight:800}.lb-tier{align-items:center;gap:4px;display:inline-flex}.auth-card p.muted+form{margin-top:22px}.chat-announce{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;align-self:stretch;gap:10px;padding:10px 12px;display:flex}.chat-announce svg{flex:none;margin-top:2px}.chat-announce small{font-size:.72rem;font-weight:700}.chat-announce p{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-size:.9rem}.chat-locked{color:#9a3412;background:#fff7ed;border-top:1px solid #fed7aa;align-items:center;gap:7px;margin:0;padding:8px 14px;font-size:.82rem;font-weight:600;display:flex}.duel-bot:disabled{cursor:default;opacity:.5}.chat-member{color:#78350f;background:linear-gradient(135deg,#fde68a,#fbbf24);border-radius:6px;align-items:center;gap:3px;padding:1px 6px;font-size:.68rem;font-weight:800;display:inline-flex}.duel-shield{color:#92400e;background:#fef3c7;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.case-free{color:#166534;background:#dcfce7;border-radius:999px;padding:3px 10px;font-size:.74rem;font-weight:700;position:absolute;bottom:12px;left:12px}.case-locked{justify-content:center;align-items:center;gap:7px;text-decoration:none;display:inline-flex}.account-member{color:#78350f;white-space:nowrap;background:linear-gradient(135deg,#fde68a,#fbbf24);border-radius:999px;align-items:center;gap:3px;padding:2px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.pricing-member{border-radius:var(--radius);color:#78350f;background:#fffbeb;align-items:center;gap:10px;max-width:760px;margin:-20px auto 24px;padding:12px 16px;display:flex}.pricing-perks{color:var(--text);flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:-16px auto 32px;padding:0;list-style:none;display:flex}.pricing-perks li{align-items:center;gap:8px;display:inline-flex}.pricing-perks svg{color:var(--blue);flex:none}.pricing-empty{color:var(--muted);text-align:center;margin:0}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:1040px;margin:0 auto;display:grid}.plan{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:26px 22px 22px;display:flex;position:relative}.plan-featured{border:2px solid var(--blue);box-shadow:var(--shadow-lg)}.plan-flag{background:var(--grad);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 12px;font-size:.76rem;font-weight:700;display:inline-flex;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.plan h3{margin:0;font-size:1.15rem}.plan-duration{color:var(--muted);margin:0;font-size:.9rem}.plan-price{color:var(--ink);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:2rem;font-weight:800;line-height:1.1}.plan-monthly{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;font-size:.88rem;display:flex}.plan-saving{color:#166534;background:#dcfce7;border-radius:999px;padding:1px 8px;font-size:.76rem;font-weight:700}.plan-desc{color:var(--text);margin:0 0 12px;font-size:.92rem}.plan .btn{margin-top:auto}body.pay-open{overflow:hidden}.pay-overlay{z-index:80;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pay-backdrop{cursor:default;background:#0b1a3a8c;border:0;position:absolute;inset:0}.pay-modal{border-radius:var(--radius-lg);background:var(--white);width:min(760px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);outline:none;padding:20px 22px 24px;animation:.18s ease-out pay-pop;position:relative;overflow-y:auto}@keyframes pay-pop{0%{transform:translateY(10px)scale(.98)}}.pay-head{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.pay-head small{color:var(--blue-dark);font-weight:700}.pay-head h2{margin:2px 0 0;font-size:1.35rem}.pay-state{text-align:center;color:var(--text);flex-direction:column;align-items:center;gap:12px;padding:36px 12px;display:flex}.pay-done svg{color:var(--green)}.pay-done h3{margin:0;font-size:1.4rem}.pay-error{color:var(--red);margin:0}.pay-body{grid-template-columns:280px minmax(0,1fr);gap:22px;display:grid}.pay-qr{flex-direction:column;align-items:center;gap:8px;display:flex}.pay-qr img{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius);object-fit:contain;background:#fff;width:100%}.pay-qr-missing{aspect-ratio:1;border:1px dashed var(--line);border-radius:var(--radius);width:100%;color:var(--muted);text-align:center;place-items:center;margin:0;padding:20px;display:grid}.pay-wait,.pay-timer{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:0;font-size:.86rem;display:inline-flex}.pay-expired{color:#9a3412;text-align:center;background:#fff7ed;border-radius:10px;margin:0;padding:8px 10px;font-size:.85rem}.pay-link{color:var(--blue-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.pay-info dl{margin:0}.pay-step{color:var(--text);margin:0 0 10px;font-size:.92rem}.pay-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.pay-row dt{color:var(--muted);font-size:.88rem}.pay-row dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.pay-copy{border:1px solid var(--line);background:var(--soft);color:var(--blue-dark);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.pay-code{border-radius:var(--radius);background:var(--soft-2);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin-top:14px;padding:12px 14px;display:grid}.pay-code span{color:var(--muted);grid-column:1/-1;font-size:.85rem}.pay-code strong{color:var(--ink);letter-spacing:.18em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.8rem}.pay-code .btn{align-items:center;gap:6px;display:inline-flex}.pay-note{color:var(--muted);margin:10px 0 0;font-size:.84rem}@media (width<=680px){.pay-body{grid-template-columns:1fr}.pay-qr img,.pay-qr-missing{max-width:260px}.pricing-perks{flex-direction:column;align-items:flex-start;max-width:420px}}.site-nav a{white-space:nowrap}@media (width<=1360px){.site-nav{gap:18px;font-size:.88rem}}.site-header-row>:first-child{flex:none}.case-loading{place-items:center;min-height:100dvh;padding:16px;display:grid}.case-loading-box{border-radius:var(--radius-lg);background:var(--white);max-width:420px;box-shadow:var(--shadow-md);color:var(--text);text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 24px;display:flex}.case-loading-box p{margin:0}.case-loading-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.case-loading-spinner{border:3px solid var(--soft-2);border-top-color:var(--blue);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite case-spin}@keyframes case-spin{to{transform:rotate(360deg)}}.lb-formula{background:var(--soft);color:var(--text);border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:.9rem}.lb-formula summary{color:var(--blue-dark);cursor:pointer;align-items:center;gap:6px;font-weight:700;display:inline-flex}.lb-formula ul{gap:6px;margin:10px 0 2px;padding:0;list-style:none;display:grid}.lb-formula li{gap:8px;line-height:1.5;display:flex}.lb-formula li svg{color:var(--blue);flex:none;margin-top:3px}.lb-detail{flex-wrap:wrap;gap:2px 12px;display:flex}.lb-detail span{align-items:center;gap:4px;display:inline-flex}.lb-points{flex-direction:column;flex:none;align-items:flex-end;line-height:1.1;display:flex}.lb-points strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.15rem}.lb-points small{color:var(--muted);font-size:.74rem}html{overflow-x:hidden}@supports (overflow-x:clip){html,body{overflow-x:clip}}.daily-page{min-height:100dvh}.daily-wrap{max-width:1080px;padding-top:18px;padding-bottom:64px}.daily-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.daily-back{align-items:center;gap:6px;display:inline-flex}.daily-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm);padding:20px}.daily-card h2{margin:0 0 10px;font-size:1.15rem}.daily-briefing{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;padding:0;display:grid;overflow:hidden}.daily-cover{min-height:260px;position:relative}.daily-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.daily-number{color:var(--ink);background:#ffffffeb;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:.8rem;font-weight:700;display:inline-flex;position:absolute;top:12px;left:12px}.daily-brief-body{flex-direction:column;align-items:flex-start;gap:8px;padding:22px 22px 22px 0;display:flex}.daily-brief-body h1,.daily-head h1{color:var(--ink);margin:0;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2}.daily-sub{color:var(--muted);margin:0}.daily-focus{background:var(--soft-2);color:var(--blue-dark);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700;display:inline-block}.daily-en{color:var(--ink);margin:0;font-size:1.02rem}.daily-vi{color:var(--muted);margin:4px 0 0;font-size:.9rem}.daily-rules{color:var(--text);gap:6px;margin:6px 0;padding:0;font-size:.9rem;list-style:none;display:grid}.daily-rules li{gap:8px;display:flex}.daily-rules svg{color:var(--blue);flex:none;margin-top:4px}.daily-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:.88rem;display:flex}.daily-meta>span{align-items:center;gap:5px;display:inline-flex}.daily-streak{background:var(--soft);color:var(--muted);border-radius:999px;padding:3px 10px;font-weight:700}.daily-streak.on{color:#c2410c;background:#fff7ed}.daily-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.daily-note{color:var(--muted);margin:4px 0 0;font-size:.84rem}.daily-locked{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.daily-locked svg{color:var(--blue)}.daily-head{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.daily-head-img{aspect-ratio:4/3;object-fit:cover;border-radius:14px;width:100%}.daily-number-inline{color:var(--blue-dark);align-items:center;gap:8px;font-size:.82rem;font-weight:700;display:inline-flex}.daily-number-inline em{color:#92400e;background:#fef3c7;border-radius:999px;padding:1px 8px;font-style:normal}.daily-clock{background:var(--soft-2);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:1.1rem;font-weight:800;display:inline-flex}.daily-step{color:var(--text);margin:16px 0 10px}.daily-board{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;display:grid}.daily-shake{animation:.36s daily-shake}@keyframes daily-shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.daily-col{flex-direction:column;gap:12px;min-width:0;display:flex}.daily-col>h2{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.85rem}.daily-witness{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:14px}.daily-witness header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.daily-witness header span:nth-child(2){flex-direction:column;line-height:1.25;display:flex}.daily-witness small{color:var(--muted)}.daily-liar{border-color:#fca5a5}.daily-avatar{background:var(--grad);color:#fff;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.daily-tag-bad{color:#991b1b;background:#fee2e2;border-radius:999px;margin-left:auto;padding:2px 9px;font-size:.75rem;font-style:normal;font-weight:700}.daily-line,.daily-evidence{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px;margin-top:6px;display:grid;position:relative}.daily-line .daily-vi,.daily-evidence .daily-vi{grid-column:1/-1;margin:0 0 4px 12px}.daily-pick{border:1.5px solid var(--line);background:var(--white);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;transition:border-color .12s,background .12s;display:flex}.daily-pick:hover:not(:disabled){border-color:#93c5fd}.daily-pick:disabled{cursor:default}.daily-pick svg{position:absolute;top:10px;right:46px}.daily-line.on .daily-pick,.daily-evidence.on .daily-pick{border-color:var(--blue);background:var(--soft-2);box-shadow:0 0 0 3px #2563eb1f}.daily-line.lie .daily-pick{background:#fef2f2;border-color:#f87171}.daily-line.lie svg{color:#dc2626}.daily-evidence.proof .daily-pick{background:#f0fdf4;border-color:#4ade80}.daily-evidence.proof svg{color:#16a34a}.daily-evidence .daily-pick strong{color:var(--blue-dark);font-size:.85rem}.daily-quote{font-size:.98rem}.daily-translate{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:4px;padding:8px;font-size:.8rem;display:inline-flex}.daily-translate:hover{background:var(--soft);color:var(--blue-dark)}.daily-head .daily-translate{padding:4px 0}.daily-accuse{border-radius:var(--radius);background:var(--soft);flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.daily-hint{color:#92400e;gap:6px;margin:0;font-size:.9rem;display:flex}.daily-hint svg{flex:none;margin-top:3px}.daily-feedback{border-radius:12px;margin:14px 0 0;padding:10px 14px;font-weight:600}.daily-feedback.ok{color:#166534;background:#f0fdf4}.daily-feedback.bad{color:#991b1b;background:#fef2f2}.daily-detail{margin-top:16px}.daily-options{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.daily-option{border:1.5px solid var(--line);background:var(--white);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:12px;font-weight:600;display:inline-flex}.daily-option:hover:not(:disabled){border-color:var(--blue);background:var(--soft-2)}.daily-option:disabled{cursor:default;opacity:.7}.daily-option.right{color:#166534;opacity:1;background:#f0fdf4;border-color:#4ade80}.daily-result{margin-top:16px}.daily-result h3{margin:18px 0 6px;font-size:1rem}.daily-result>p{margin:0}.daily-score{color:var(--ink);align-items:baseline;gap:8px;display:flex}.daily-score svg{color:#d97706;align-self:center}.daily-score strong{font-size:2.6rem;line-height:1}.daily-breakdown{gap:2px;max-width:420px;margin:12px 0;display:grid}.daily-breakdown div{color:var(--text);justify-content:space-between;font-size:.92rem;display:flex}.daily-breakdown dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.daily-culprit{color:#991b1b;align-items:center;gap:6px;font-weight:600;display:flex;margin-top:8px!important}.daily-vocab{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.daily-vocab li{background:var(--soft-2);color:var(--text);border-radius:999px;padding:5px 11px;font-size:.9rem}.daily-vocab b{color:var(--blue-dark);margin-right:4px}.daily-next{color:var(--muted);margin:12px 0 0;font-size:.9rem}.daily-countdown{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}.daily-upsell{color:#78350f;background:#fffbeb;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:.9rem}.daily-board-title{margin:0}.daily-archive{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.daily-archive button{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.daily-archive button:hover:not(:disabled){border-color:var(--blue)}.daily-archive button:disabled{opacity:.55;cursor:not-allowed}.daily-archive small{color:var(--muted);font-size:.78rem;display:block}.daily-archive-day{font-weight:800}.daily-archive-main strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.daily-archive-status{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:.85rem;display:inline-flex}.daily-home{padding-top:0}.daily-home-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid;overflow:hidden}.daily-home-img{min-height:240px;position:relative}.daily-home-img img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.daily-home-body{flex-direction:column;align-items:flex-start;gap:10px;padding:26px;display:flex}.daily-home-body h2{color:var(--ink);margin:0;font-size:clamp(1.4rem,3vw,1.9rem)}.daily-home-body>p{color:var(--text);margin:0}.daily-home .daily-next{margin:0}@media (width<=860px){.daily-briefing,.daily-home-card,.daily-board{grid-template-columns:1fr}.daily-brief-body{padding:0 18px 20px}.daily-cover,.daily-home-img{min-height:200px}.daily-head{grid-template-columns:96px minmax(0,1fr)}.daily-clock{grid-column:1/-1;justify-self:start}}@media (width<=520px){.daily-head{grid-template-columns:1fr}.daily-head-img{aspect-ratio:16/9}.daily-archive button{grid-template-columns:64px minmax(0,1fr)}.daily-archive-status{grid-column:2}.daily-home-body{padding:18px}}.scene-frame{background:var(--soft-2);box-shadow:var(--shadow-md);border-radius:20px;position:relative;overflow:hidden}.scene-frame .scene{box-shadow:none;border-radius:0;overflow:visible}.scene-viewport{overflow:hidden}.scene-pannable{cursor:grab}.scene-pannable .scene{-webkit-user-select:none;user-select:none}.scene-pannable .scene-art{-webkit-user-drag:none}.scene-dragging,.scene-dragging .hotspot{cursor:grabbing}.scene-zoom{z-index:3;width:38px;height:38px;color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;background:#ffffffe6;border:0;border-radius:11px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.scene-zoom:hover{color:var(--blue);background:#fff}.scene-arrow{z-index:3;width:42px;height:42px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 10px #0b1a3a47}.scene-arrow:hover{color:var(--blue);background:#fff}.scene-arrow:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.scene-arrow-left{left:10px}.scene-arrow-right{right:10px}.scene-arrow-left.scene-arrow-hint{animation:1.2s ease-in-out infinite scene-arrow-left}.scene-arrow-right.scene-arrow-hint{animation:1.2s ease-in-out infinite scene-arrow-right}@keyframes scene-arrow-left{50%{transform:translate(-6px,-50%)}}@keyframes scene-arrow-right{50%{transform:translate(6px,-50%)}}@media (prefers-reduced-motion:reduce){.scene-arrow-hint{animation:none!important}}.scene-swipe{z-index:3;color:#fff;white-space:nowrap;pointer-events:none;background:#0b1a3ab8;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;animation:1.6s ease-in-out 3 scene-swipe;display:inline-flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}@keyframes scene-swipe{50%{transform:translate(calc(8px - 50%))}}@media (width<=760px){.scene-viewport{overscroll-behavior-x:contain;scrollbar-width:none;overflow:auto hidden}.scene-viewport::-webkit-scrollbar{display:none}.scene-frame .scene{width:max(100%,1.78571*min(56vh,420px))}}@media (width<=640px){.scene-frame{box-shadow:none;border-radius:0;margin-inline:-16px}}body.scene-full-open{overflow:hidden}.scene-full .scene-frame{z-index:90;box-shadow:none;background:#0b1a3a;border-radius:0;align-items:center;margin:0;display:grid;position:fixed;inset:0}.scene-full .scene-viewport{scrollbar-width:none;overflow:auto hidden}.scene-full .scene-frame .scene{width:max(100vw,178.571dvh)}@media (orientation:landscape) and (width>=761px){.scene-full .scene-frame .scene{width:min(100vw,178.571dvh);margin:0 auto}}
