:root{--bg:#f0ece2;--surface:#fff;--surface-2:#e9e3d4;--ink:#1a1410;--ink-muted:#6b6255;--accent:#52b878;--accent-strong:#3d9d61;--danger:#e8555a;--teal:#1a8a7a;--navy:#143463;--navy-strong:#0a1e3d;--rule:#1a141024;--radius:14px;--radius-sm:10px;--border-w:3px;--shadow:5px 5px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--font-display:"Baloo 2", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{font-size:16px}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:hidden}a{color:var(--navy)}.app{max-width:960px;min-height:100vh;margin:0 auto}nav{border-bottom:2px solid var(--rule);flex-wrap:wrap;align-items:flex-end;gap:.25rem;padding:1.25rem 1.5rem 0;display:flex}nav .brand{letter-spacing:-.02em;color:var(--ink);margin-right:.75rem;padding-bottom:.85rem;font-size:1.2rem;font-weight:700;text-decoration:none}nav .nav-tabs{gap:.2rem;display:flex;overflow-x:auto}nav .nav-tabs a{color:var(--ink-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;white-space:nowrap;border:1px solid #0000;border-bottom:none;padding:.6rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:color .15s,transform .15s,background .15s;transform:translateY(2px)}nav .nav-tabs a:hover{color:var(--ink)}nav .nav-tabs a.active{color:var(--ink);background:var(--surface);border-color:var(--rule);transform:translateY(0)}nav .nav-user{font-family:var(--font-mono);align-items:center;gap:.75rem;margin-left:auto;padding-bottom:.85rem;font-size:.8rem;display:flex}nav .nav-admin{position:relative}nav .nav-admin summary{cursor:pointer;font-family:var(--font-display);color:var(--ink);background:var(--surface-2);border:2px solid var(--ink);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;padding:.4rem .8rem;font-size:.85rem;font-weight:700;list-style:none}nav .nav-admin summary::-webkit-details-marker{display:none}nav .nav-admin summary:after{content:"▾";margin-left:.4rem;font-size:.7rem}nav .nav-admin[open] summary:after{content:"▴"}nav .nav-admin summary:hover{background:var(--surface)}nav .nav-admin-menu{z-index:20;background:var(--surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);min-width:160px;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:absolute;top:calc(100% + .4rem);left:0;overflow:hidden}nav .nav-admin-menu a{font-family:var(--font-body);color:var(--ink);border-bottom:1px solid var(--rule);padding:.55rem .8rem;font-size:.88rem;font-weight:600;text-decoration:none}nav .nav-admin-menu a:last-child{border-bottom:none}nav .nav-admin-menu a:hover,nav .nav-admin-menu a.active{background:var(--surface-2)}main{padding:1.75rem 1.5rem 3rem}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.2}h1{margin:0 0 1.25rem;font-size:1.7rem}h2{margin:2rem 0 .75rem;font-size:1.2rem}h3{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;margin:1.5rem 0 .5rem;font-size:1rem}.muted{color:var(--ink-muted)}.error{color:var(--danger)}hr{border:none;border-top:1px solid var(--rule);margin:1.75rem 0}button{font-family:var(--font-display);border:var(--border-w) solid var(--ink);background:var(--accent);color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;box-shadow:var(--shadow-sm);padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;transition:background .15s,transform .1s,box-shadow .1s}button:hover:not(:disabled){background:var(--accent-strong)}button:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{color:var(--ink);border-color:var(--ink);box-shadow:none;background:0 0}button.secondary:hover:not(:disabled){background:var(--surface-2)}button.danger{color:var(--danger);border-color:var(--danger);box-shadow:none;background:0 0}button.danger:hover:not(:disabled){background:var(--danger);color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{font:inherit;font-family:var(--font-body);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:.55rem .7rem}input::placeholder,textarea::placeholder{color:var(--ink-muted)}form{flex-direction:column;gap:.85rem;max-width:420px;display:flex}form label{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.auth-page{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);max-width:380px;box-shadow:var(--shadow);margin:3rem auto 0;padding:2rem}.auth-page h1{margin-bottom:1.5rem}.auth-page form{max-width:none}.auth-page p:last-child{color:var(--ink-muted);margin-top:1.25rem;font-size:.9rem}.group-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;margin:0 0 2rem;padding:0;list-style:none;display:grid}.group-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:.4rem;padding:1.1rem 1.2rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.group-card:hover{border-color:var(--accent);transform:translateY(-2px)}.group-card .name{font-size:1.02rem;font-weight:600}.group-card .stat{font-family:var(--font-mono);color:var(--ink-muted);font-size:.78rem}.empty-state{border:1px dashed var(--rule);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.5rem}.empty-state p{margin-top:0}.starter-grid{flex-wrap:wrap;gap:.6rem;margin:.75rem 0 0;display:flex}.starter-card{border:1px dashed var(--rule);border-radius:var(--radius);color:var(--ink);text-align:left;background:0 0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.8rem 1.1rem;display:flex}.starter-card .eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--navy);font-size:.7rem}.starter-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface);border-style:solid}.divider-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.75rem;margin:1.5rem 0 1rem;font-size:.8rem;display:flex}.divider-label:after{content:"";background:var(--rule);flex:1;height:1px}.group-meta{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.group-meta h1{margin:0}.member-list{flex-direction:column;gap:.6rem;padding:0;list-style:none;display:flex}.member-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.85rem 1rem}.member-card .member-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.member-card .member-name{font-weight:600}.member-card .member-knows{color:var(--ink-muted);flex:1;min-width:160px;font-size:.88rem}.member-card .member-actions{gap:.4rem;margin-left:auto;display:flex}.member-card .member-actions button{padding:.35rem .7rem;font-size:.8rem}.chip-grid{background:var(--navy);border-radius:var(--radius);--ink:#fff;--ink-muted:#c3cee0;--rule:#ffffff4d;flex-wrap:wrap;align-content:flex-start;gap:.4rem;margin:.5rem 0;padding:1rem;display:flex}.chip{border:1px solid var(--rule);color:var(--ink);cursor:pointer;box-shadow:none;background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .85rem .32rem .7rem;font-size:.85rem;font-weight:500;display:inline-flex}.chip:before{content:"";border:1px solid var(--ink-muted);border-radius:2px;flex:none;width:7px;height:7px;transform:rotate(45deg)}.chip:hover:not(:disabled){border-color:var(--accent)}.chip-selected{background:var(--surface-2);border-color:var(--accent);color:var(--ink);--ink:#1a1410}.chip-selected:before{background:var(--accent);border-color:var(--accent)}.games-toolbar{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.games-toolbar input{width:100%;max-width:320px}.game-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.game-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1rem 1.1rem;display:flex}.game-card-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.game-card .name{font-weight:600}.game-card .stat{font-family:var(--font-mono);color:var(--ink-muted);white-space:nowrap;font-size:.75rem}.ingested-badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--navy);background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-sm);align-self:flex-start;padding:.2rem .5rem;font-size:.7rem}.source-tags{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.source-tag{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink);border-radius:999px;padding:.1rem .55rem;font-size:.72rem}.source-tag.muted{color:var(--ink-muted);border-style:dashed}.game-card-head .name{color:var(--ink);font-weight:600;text-decoration:none}.game-card-head .name:hover{color:var(--navy)}.game-detail-stats{gap:.6rem;margin:-.5rem 0 1rem;display:flex}.subsystem-list{flex-direction:column;gap:.6rem;padding:0;list-style:none;display:flex}.subsystem-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:.85rem 1rem}.subsystem-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.subsystem-head .name{font-weight:600}.teachable-deltas{padding-left:1.2rem}.teachable-deltas li{margin-bottom:.5rem}.profile-editor form{max-width:none}.profile-editor .subsystem-card{flex-direction:column;gap:.6rem;display:flex}.profile-editor .subsystem-card label{color:var(--ink-muted);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.field-row{align-items:center;gap:.5rem;display:flex}label>.field-row input{max-width:160px}.teachable-deltas li.field-row input{flex:1}.phase{border-top:3px solid var(--rule);margin-top:1.75rem;padding-top:1.25rem}.phase .phase-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--navy);margin-bottom:.75rem;font-size:.75rem}.phase-body{font-family:var(--font-body);max-width:68ch;font-size:1.08rem;line-height:1.7}.phase-body :is(h1,h2,h3){font-family:var(--font-body);letter-spacing:normal}.phase-body p{margin:0 0 1em}.reasoning-trace{background:var(--surface);border:1px dashed var(--rule);border-radius:var(--radius);max-width:68ch;max-height:12rem;margin-top:1.5rem;padding:.9rem 1.1rem;overflow-y:auto}.reasoning-trace .phase-label{margin-bottom:.5rem}.reasoning-trace p:last-child{font-family:var(--font-mono);color:var(--ink-muted);white-space:pre-wrap;font-size:.82rem;line-height:1.6}.rules-lawyer-result{border-top:3px solid var(--rule);max-width:68ch;margin-top:1.75rem;padding-top:1.25rem}.confidence-stamp{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--navy);background:var(--surface);border:1.5px solid var(--accent);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-block;transform:rotate(-1.5deg)}.rules-lawyer-answer{font-family:var(--font-body);font-size:1.08rem;line-height:1.7}.citations{flex-direction:column;gap:.6rem;margin-top:1rem;padding:0;list-style:none;display:flex}.citation-card{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.6rem .85rem}.citation-card .mark{font-family:var(--font-mono);color:var(--navy);margin-right:.4rem;font-size:.78rem;font-weight:600}.citation-card .quote{font-family:var(--font-body);color:var(--ink);font-style:italic}.rl-layout{grid-template-columns:1fr 320px;align-items:start;gap:1.75rem;margin-top:1.25rem;display:grid}.rl-main{min-width:0}.rl-sidebar{position:sticky;top:1rem}@media (width<=900px){.rl-layout{grid-template-columns:1fr}.rl-sidebar{position:static}.rl-sidebar-first .rl-sidebar{order:-1}}.rules-lawyer-panel{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:1.1rem 1.2rem}.rules-lawyer-panel form{gap:.6rem;max-width:none;margin:.5rem 0 0}.rules-lawyer-panel textarea{resize:vertical}.rules-lawyer-panel .rules-lawyer-result{max-width:none;margin-top:1.25rem;padding-top:1rem}@media (width<=640px){main{padding:1.25rem 1rem 2.5rem}nav{padding:1rem 1rem 0}.member-card .member-actions{width:100%;margin-left:0}}.nav-landing-links{gap:1.5rem;margin-left:2rem;padding-bottom:.85rem;display:flex}.nav-landing-links a{font-family:var(--font-body);color:var(--ink);font-size:.92rem;font-weight:700;text-decoration:none}.nav-landing-links a:hover{color:var(--teal)}.nav-landing-cta{margin-bottom:.6rem;margin-left:auto}.landing-hero,.landing-section,.landing-footer{width:100vw;margin-left:-50vw;position:relative;left:50%}.landing-inner{max-width:1200px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}.landing-hero{background:linear-gradient(115deg, var(--accent) 0%, var(--teal) 45%, var(--navy) 100%);padding:clamp(3rem,8vw,5.5rem) clamp(1.25rem,4vw,3rem) clamp(3.5rem,9vw,6rem);overflow:hidden}.landing-hero-inner{max-width:640px}.landing-hero h1{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--ink);text-shadow:2px 0 #fff,-2px 0 #fff,0 2px #fff,0 -2px #fff,2px 2px #fff,-2px -2px #fff,2px -2px #fff,-2px 2px #fff;margin:0 0 1.5rem;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.05}.landing-hero-lede{font-family:var(--font-body);max-width:34ch;color:var(--navy-strong);margin:0 0 2rem;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:700;line-height:1.5}.landing-hero-cta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.landing-finePrint{font-family:var(--font-body);color:var(--navy-strong);margin:0;font-size:.9rem;font-weight:600}.landing-finePrint a{color:var(--navy-strong);text-decoration:underline}.landing-badge{background:var(--surface);border:var(--border-w) solid var(--ink);text-align:center;width:150px;height:150px;font-family:var(--font-display);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;line-height:1.35;display:flex;position:absolute;top:clamp(1.5rem,5vw,3.5rem);right:clamp(1rem,5vw,4rem);transform:rotate(8deg)}.btn-sticker{font-family:var(--font-display);color:var(--ink);background:var(--accent);border:var(--border-w) solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.75rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-block}.btn-sticker:hover{background:var(--accent-strong)}.btn-sticker:active{box-shadow:none;transform:translate(5px,5px)}.landing-section{padding:clamp(3rem,8vw,5rem) 0}.landing-section-cream{background:var(--bg)}.landing-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--navy);background:var(--surface-2);border-radius:999px;margin:0 0 1rem;padding:.4rem .9rem;font-size:.78rem;font-weight:600;display:inline-block}.landing-eyebrow-onDark{color:var(--ink);background:var(--accent)}.landing-section h2{font-family:var(--font-display);color:var(--ink);margin:0 0 2.5rem;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700}.landing-section h2.onDark{color:#fff}.landing-steps{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.landing-step{background:var(--surface);border:var(--border-w) solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem 1.5rem}.landing-step-num{width:44px;height:44px;font-family:var(--font-display);color:#fff;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.1rem;font-size:1.15rem;font-weight:700;display:inline-flex}.landing-step-num.num-navy{background:var(--navy)}.landing-step-num.num-teal{background:var(--teal)}.landing-step-num.num-ink{background:var(--ink);color:var(--accent)}.landing-step h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .6rem;font-size:1.15rem;font-weight:700}.landing-step p{font-family:var(--font-body);color:var(--ink-muted);margin:0;font-size:.98rem;line-height:1.5}.landing-section-navy{background:var(--navy-strong)}.landing-features{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:clamp(3rem,8vw,5rem);display:grid}.landing-feature{border:2px solid var(--accent);border-radius:var(--radius);padding:1.75rem 1.5rem}.landing-feature-icon{width:32px;height:32px;color:var(--accent);margin-bottom:1.1rem;display:inline-flex}.landing-feature-icon svg{width:100%;height:100%}.landing-feature h3{font-family:var(--font-display);margin:0 0 .6rem;font-size:1.15rem;font-weight:700}.landing-feature p{font-family:var(--font-body);margin:0;font-size:.96rem;line-height:1.55}.onDark{color:#fff}.onDark-muted{color:#b7c2d6}.landing-finalCta{text-align:center;max-width:640px;margin:0 auto}.landing-finalCta h2{margin:0 0 1rem}.landing-finalCta>p{font-family:var(--font-body);margin:0 0 2rem;font-size:1.05rem}.landing-finalCta .landing-hero-cta{justify-content:center}.landing-finalCta .landing-finePrint,.landing-finalCta .landing-finePrint a{color:#b7c2d6}.landing-footer{background:var(--bg);padding:2rem 0}.landing-footer-inner{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.landing-wordmark{font-family:var(--font-display);color:var(--navy);font-size:1.1rem;font-weight:700;text-decoration:none}.landing-wordmark span{color:var(--accent-strong)}.landing-footer-copy{font-family:var(--font-mono);margin-left:auto;font-size:.8rem}@media (width<=860px){.landing-steps,.landing-features{grid-template-columns:1fr}.landing-badge,.nav-landing-links{display:none}.landing-footer-copy{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
