:root{--forest: #174049;--dark-forest: #11252a;--highlighter: #ccef08;--contrast-green: #79a213;--violet: #8968f1;--white: #ffffff;--gray: #f9fafb;--off-black: #1f1f1f;--surface: #ffffff;--surface-2: #f9fafb;--border: #e5e8e7;--text: #1f1f1f;--text-muted: #5c6b6d;--text-on-dark: #eaf2f0;--text-on-dark-muted: #9fb3b2;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(17, 37, 42, .06), 0 8px 24px rgba(17, 37, 42, .06);--shadow-lg: 0 12px 40px rgba(17, 37, 42, .16);--font-ui: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Playfair Display", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);color:var(--text);background:var(--gray);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;cursor:pointer}a{color:var(--forest)}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 24px}.topbar{background:var(--forest);color:var(--text-on-dark);position:sticky;top:0;z-index:50}.topbar-inner{display:flex;align-items:center;gap:18px;height:64px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em;color:var(--white);font-size:18px;white-space:nowrap}.brand .mark{width:30px;height:30px;flex:none}.brand .sub{color:var(--highlighter);font-weight:600}.nav{display:flex;gap:4px;margin-left:auto;align-items:center}.nav button{background:transparent;border:none;color:var(--text-on-dark-muted);padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:all .15s ease}.nav button:hover{color:var(--white);background:#ffffff14}.nav button.active{color:var(--dark-forest);background:var(--highlighter)}.whoami{font-size:13px;color:var(--text-on-dark-muted);margin-left:8px;white-space:nowrap}.whoami b{color:var(--white)}.streak-pill{display:inline-flex;align-items:center;gap:5px;background:#ccef0824;color:var(--highlighter);border:1px solid rgba(204,239,8,.35);padding:4px 10px;border-radius:999px;font-size:13px;font-weight:700}main{flex:1;padding:32px 0 64px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.section-label{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;color:var(--contrast-green)}.hero{background:linear-gradient(160deg,var(--forest) 0%,var(--dark-forest) 100%);color:var(--text-on-dark);border-radius:var(--radius);padding:28px 30px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;box-shadow:var(--shadow-lg)}.hero h1{font-family:var(--font-display);font-weight:600;font-size:34px;margin:6px 0;color:var(--white);line-height:1.1}.hero p{margin:0;color:var(--text-on-dark-muted);max-width:460px;font-size:15px}.hero .eyebrow{color:var(--highlighter);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}.countdown{text-align:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);padding:16px 20px;min-width:230px}.countdown .label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--text-on-dark-muted);margin-bottom:10px}.countdown .digits{display:flex;gap:8px;justify-content:center}.countdown .unit{display:flex;flex-direction:column;align-items:center}.countdown .num{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;color:var(--white);background:#0003;border-radius:8px;padding:6px 10px;min-width:52px}.countdown .unit small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-on-dark-muted);margin-top:6px}.brief{padding:30px 32px}.brief-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:#17404914;color:var(--forest);border:1px solid rgba(23,64,73,.12)}.tag.dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ct-color, var(--forest))}.brief h2{font-family:var(--font-display);font-weight:600;font-size:27px;line-height:1.2;margin:4px 0 16px;color:var(--dark-forest)}.prose{font-size:16px;line-height:1.62;color:var(--text)}.prose p{margin:0 0 14px}.prose strong{color:var(--dark-forest)}.source{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border);font-size:13.5px;color:var(--text-muted);display:flex;gap:8px;align-items:flex-start}.source b{color:var(--contrast-green)}.why{margin-top:16px;background:var(--surface-2);border-left:3px solid var(--highlighter);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 16px;font-size:14.5px;color:var(--text)}.why b{color:var(--dark-forest)}.quiz{margin-top:22px;background:var(--dark-forest);border-radius:var(--radius);padding:24px 26px;color:var(--text-on-dark)}.quiz .q-label{color:var(--highlighter);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;display:flex;align-items:center;gap:8px}.quiz h3{margin:10px 0 18px;font-size:19px;color:var(--white);font-weight:600;line-height:1.35}.options{display:flex;flex-direction:column;gap:10px}.option{text-align:left;background:#ffffff0d;border:1.5px solid rgba(255,255,255,.12);color:var(--text-on-dark);border-radius:var(--radius-sm);padding:14px 16px;font-size:15px;display:flex;gap:12px;align-items:center;transition:all .14s ease}.option:hover:not(:disabled){border-color:var(--highlighter);background:#ccef0814}.option:disabled{cursor:default}.option .key{flex:none;width:26px;height:26px;border-radius:7px;background:#ffffff1a;display:grid;place-items:center;font-weight:700;font-size:13px}.option.correct{border-color:var(--highlighter);background:#ccef0824}.option.correct .key{background:var(--highlighter);color:var(--dark-forest)}.option.wrong{border-color:#e9748f;background:#e9748f1f}.option.wrong .key{background:#e9748f;color:var(--dark-forest)}.explain{margin-top:16px;background:#ffffff0f;border-radius:var(--radius-sm);padding:14px 16px;font-size:14.5px;line-height:1.55;color:var(--text-on-dark)}.explain.win{border:1px solid rgba(204,239,8,.4)}.scoreline{display:flex;align-items:center;gap:16px;margin-top:18px;flex-wrap:wrap}.points-won{font-size:15px;font-weight:700;color:var(--highlighter);display:inline-flex;align-items:center;gap:7px}.btn{border:none;border-radius:999px;padding:11px 20px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;transition:all .15s ease}.btn-primary{background:var(--highlighter);color:var(--dark-forest)}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--forest);border:1.5px solid var(--border)}.btn-ghost:hover{border-color:var(--forest)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;box-shadow:var(--shadow)}.stat .v{font-size:28px;font-weight:700;color:var(--dark-forest);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px}.stat .v .ic{color:var(--contrast-green)}.stat .k{font-size:12.5px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:4px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.ct-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);text-align:left;transition:all .15s ease;position:relative;overflow:hidden}.ct-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--ct-color, var(--forest))}.ct-card .ic{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:14px;color:var(--white)}.ct-card h3{margin:0 0 6px;font-size:17px;color:var(--dark-forest)}.ct-card p{margin:0;font-size:13.5px;color:var(--text-muted);line-height:1.45}.ct-card .count{margin-top:14px;font-size:12.5px;font-weight:700;color:var(--contrast-green)}.page-head{margin-bottom:22px}.page-head .back{background:none;border:none;color:var(--text-muted);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;padding:4px 0;margin-bottom:8px}.page-head .back:hover{color:var(--forest)}.page-head h1{font-family:var(--font-display);font-size:32px;margin:0 0 6px;color:var(--dark-forest);display:flex;align-items:center;gap:12px}.page-head .ic-lg{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--white)}.page-head p{margin:0;color:var(--text-muted);font-size:15px;max-width:640px;line-height:1.55}.subhead{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:32px 0 14px}.archive-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:18px 20px;margin-bottom:12px;box-shadow:var(--shadow)}.archive-item .meta{display:flex;gap:10px;align-items:center;margin-bottom:8px;font-size:12.5px;color:var(--text-muted)}.archive-item h4{margin:0 0 8px;font-size:17px;color:var(--dark-forest)}.archive-item .body{font-size:14.5px;line-height:1.55;color:var(--text)}.archive-item .src{margin-top:10px;font-size:12.5px;color:var(--text-muted)}.muted{color:var(--text-muted);font-size:14.5px}.lb-tabs{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px;margin-bottom:20px}.lb-tabs button{border:none;background:transparent;padding:8px 18px;border-radius:999px;font-weight:600;font-size:14px;color:var(--text-muted)}.lb-tabs button.active{background:var(--forest);color:var(--white)}.lb-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.lb-row{display:grid;grid-template-columns:56px 1fr auto auto;align-items:center;gap:16px;padding:14px 22px;border-bottom:1px solid var(--border)}.lb-row:last-child{border-bottom:none}.lb-row.me{background:#ccef0817}.lb-row .rank{font-size:18px;font-weight:700;color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums}.lb-row .rank.medal{font-size:22px}.lb-row .who{font-weight:600;color:var(--dark-forest)}.lb-row .who small{display:block;color:var(--text-muted);font-weight:400;font-size:12.5px}.lb-row .streak{font-size:13px;color:var(--contrast-green);font-weight:700}.lb-row .pts{font-weight:700;color:var(--dark-forest);font-variant-numeric:tabular-nums;font-size:17px}.lb-head{background:var(--dark-forest);color:var(--text-on-dark);padding:16px 22px;font-weight:600}.banner{background:#8968f11a;border:1px solid rgba(137,104,241,.25);color:#5b46a8;border-radius:var(--radius-sm);padding:12px 16px;font-size:13.5px;margin-bottom:20px;display:flex;gap:10px;align-items:center}.center-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.footer{border-top:1px solid var(--border);padding:22px 0;color:var(--text-muted);font-size:13px;text-align:center}.onboard{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(160deg,var(--forest) 0%,var(--dark-forest) 100%)}.onboard-card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:36px 34px;text-align:center}.onboard-mark{display:inline-flex;margin-bottom:14px}.onboard-card h1{font-family:var(--font-display);font-size:27px;color:var(--dark-forest);margin:0 0 8px}.onboard-card>p{color:var(--text-muted);font-size:14.5px;line-height:1.55;margin:0 0 22px}.onboard-card label{display:block;text-align:left;font-size:13px;font-weight:700;color:var(--dark-forest);margin-bottom:7px}.onboard-card input{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:13px 15px;font-size:16px;font-family:inherit;outline:none}.onboard-card input:focus{border-color:var(--forest)}.onboard-go{width:100%;justify-content:center;margin-top:14px;padding:13px;font-size:15px}.onboard-perks{display:flex;justify-content:center;gap:20px;margin:22px 0 12px;flex-wrap:wrap}.onboard-perks span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--contrast-green)}.onboard-fine{font-size:12px;color:var(--text-muted);margin:0;line-height:1.5}.chat-window{min-height:340px;max-height:56vh;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:14px}.chat-empty{margin:auto 0}.starters{display:grid;gap:10px}.starter{text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:13px 16px;font-size:14.5px;color:var(--dark-forest);font-weight:500;transition:all .14s ease}.starter:hover{border-color:var(--violet);background:#8968f10f}.msg{display:flex}.msg.user{justify-content:flex-end}.msg .bubble{max-width:78%;padding:13px 16px;border-radius:16px;font-size:15px;line-height:1.55}.msg.user .bubble{background:var(--forest);color:var(--white);border-bottom-right-radius:5px}.msg.assistant .bubble{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:5px}.msg .bubble p{margin:0 0 10px}.msg .bubble p:last-child{margin-bottom:0}.bubble.typing{display:inline-flex;gap:5px;align-items:center}.bubble.typing span{width:7px;height:7px;border-radius:50%;background:var(--text-muted);animation:blink 1.2s infinite ease-in-out}.bubble.typing span:nth-child(2){animation-delay:.2s}.bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.25}30%{opacity:1}}.chat-input{display:flex;gap:10px;padding:16px;border-top:1px solid var(--border);background:var(--surface)}.chat-input input{flex:1;border:1.5px solid var(--border);border-radius:999px;padding:11px 18px;font-size:15px;font-family:inherit;outline:none}.chat-input input:focus{border-color:var(--forest)}.quiz-controls{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.quiz-controls select{border:1.5px solid var(--border);border-radius:999px;padding:10px 16px;font-size:14.5px;font-family:inherit;background:var(--surface);color:var(--dark-forest);font-weight:600;outline:none;cursor:pointer}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 720px){.stats{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:28px}.nav .label-text,.whoami{display:none}}
