@font-face{font-family:NotoSC;src:url("assets/fonts/noto-sans-sc-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Martian;src:url("assets/fonts/martian-grotesk-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--black:#0a0b0c;--panel:#121413;--white:#f2f2ee;--paper:#eeede6;--ink:#181a19;--muted:#858a87;--line:rgba(242,242,238,.16);--paper-line:rgba(24,26,25,.18);--signal:#ff4f34;--danger:#ff765f}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--black);color:var(--white);font-family:NotoSC,system-ui,sans-serif}
button,input,textarea{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
::selection{background:var(--signal);color:#230500}
:focus-visible{outline:2px solid var(--signal);outline-offset:4px}
[hidden]{display:none!important}
.studio-shell{width:100%;height:100%;background:var(--black)}
.studio-bar{height:68px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:32px;padding:0 24px;border-bottom:1px solid var(--line)}
.brand,.login-brand{font:850 14px/1 Martian,sans-serif;letter-spacing:-.03em}.brand b,.login-brand b{color:var(--signal)}
.modules{height:100%;display:flex;align-items:center;gap:30px}
.module{position:relative;height:100%;padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:780;cursor:pointer}
.module.active{color:var(--white)}.module.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--signal)}
.module.pending{cursor:not-allowed}.module small{margin-left:6px;color:#666b68;font:650 7px/1 Martian,sans-serif;letter-spacing:.08em}
.studio-actions{display:flex;align-items:center;gap:16px}.session-name{color:var(--muted);font:650 8px/1 Martian,sans-serif;letter-spacing:.06em}.logout,.note-open,.notes-panel header button{min-height:38px;padding:0;border:0;border-bottom:1px solid var(--signal);background:transparent;font-size:11px;font-weight:780;cursor:pointer}.logout:hover,.note-open:hover,.notes-panel header button:hover{color:var(--signal)}
.knowledge-layout{height:calc(100dvh - 68px);display:grid;grid-template-columns:minmax(300px,1fr) minmax(0,3fr);background:var(--paper);color:var(--ink)}
.knowledge-index{min-width:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);padding:22px 18px 0;border-right:1px solid var(--paper-line);overflow:hidden}
.index-head{display:flex;align-items:end;justify-content:space-between;padding:0 4px 18px}.index-head h1{margin:0;font-size:clamp(44px,4vw,72px);font-weight:900;line-height:.88;letter-spacing:-.04em}.index-head strong{font:750 12px/1 Martian,sans-serif;color:var(--signal)}
.search-field{display:grid;gap:7px;padding:14px 4px;border-top:1px solid var(--paper-line)}.search-field span{font:650 8px/1 Martian,sans-serif;letter-spacing:.08em}.search-field input{width:100%;height:42px;padding:0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);font-size:13px;font-weight:650}.search-field input::placeholder{color:#626663;opacity:1}.search-field input::-webkit-search-cancel-button{filter:grayscale(1)}
.group-filters{display:flex;gap:7px;padding:2px 4px 14px;overflow-x:auto;scrollbar-width:none}.group-filters::-webkit-scrollbar{display:none}.group-filter{flex:0 0 auto;min-height:34px;padding:0 10px;border:1px solid var(--paper-line);background:transparent;color:#636764;font-size:9px;font-weight:700;cursor:pointer}.group-filter[aria-pressed="true"]{border-color:var(--ink);background:var(--ink);color:var(--white)}
.article-list{min-height:0;overflow-y:auto;padding:0 4px 24px;scrollbar-color:var(--ink) transparent;scrollbar-width:thin}.article-item{position:relative;width:100%;min-height:82px;display:grid;grid-template-columns:34px 1fr;gap:10px;padding:13px 8px 13px 18px;border:0;border-left:1px solid var(--paper-line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.article-item:before{content:"";position:absolute;left:-5px;top:20px;width:8px;height:8px;border:1px solid var(--signal);border-radius:50%;background:var(--paper)}.article-item:hover{background:rgba(24,26,25,.04)}.article-item[aria-pressed="true"]{background:var(--ink);color:var(--white)}.article-item[aria-pressed="true"]:before{background:var(--signal)}.article-item .order{font:700 8px/1 Martian,sans-serif;color:var(--signal)}.article-item strong{display:block;font-size:13px;line-height:1.35}.article-item small{display:block;margin-top:6px;color:#5c605d;font-size:11px;line-height:1.45}.article-item[aria-pressed="true"] small{color:#c5c8c4}
.list-state{padding:28px 8px;color:#626663;font-size:12px;line-height:1.7}
.reader{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--ink);color:var(--white);overflow:hidden}
.reader-head{min-height:190px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:28px 34px 24px;border-bottom:1px solid var(--line)}.reader-head>div{max-width:920px}.reader-state{color:var(--signal);font:700 8px/1 Martian,sans-serif;letter-spacing:.1em}.reader-head h2{margin:16px 0 10px;max-width:18ch;font-size:clamp(35px,4.2vw,72px);font-weight:900;line-height:.94;letter-spacing:-.04em}.reader-head p{max-width:64ch;margin:0;color:#aaafac;font-size:13px;line-height:1.7}.note-open{align-self:start;color:var(--white)}.note-open:disabled{color:#777c79;border-bottom-color:#3a3d3b;cursor:not-allowed}.reader-close{display:none}
.reader-body{min-height:0;overflow-y:auto;padding:36px clamp(30px,5vw,82px) 96px;scrollbar-color:var(--signal) transparent;scrollbar-width:thin}.reader-body>*{max-width:75ch}.reader-body h2{margin:2.2em 0 .65em;font-size:30px;line-height:1.05;letter-spacing:-.03em}.reader-body h3{margin:1.8em 0 .55em;font-size:21px}.reader-body p,.reader-body li{color:#d3d5d1;font-size:15px;line-height:1.85}.reader-body ul,.reader-body ol{padding-left:1.4em}.reader-body pre{max-width:100%;overflow:auto;padding:18px;border-left:1px solid var(--signal);background:#0e100f;color:#e3e5e1;font:12px/1.75 Martian,monospace}.reader-body code{font-family:Martian,monospace}.reader-body a{color:var(--white);text-decoration:underline;text-decoration-color:var(--signal);text-underline-offset:4px}.reader-body button{display:inline;padding:0;border:0;background:transparent;color:inherit;text-align:left}.reader-empty{padding-top:14vh}.reader-empty strong{display:block;color:var(--signal);font:800 clamp(74px,10vw,150px)/.8 Martian,sans-serif;letter-spacing:-.08em}.reader-empty p{max-width:32ch;margin-top:30px;color:#a7aba8;font-size:14px}
.notes-panel{position:fixed;z-index:20;top:68px;right:0;bottom:0;width:min(560px,46vw);display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:28px;background:#171918;color:var(--white);border-left:1px solid var(--signal);transform:translateX(100%);transition:transform .34s cubic-bezier(.16,1,.3,1)}.notes-panel.open{transform:none}.notes-panel header{display:flex;justify-content:space-between;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--line)}.notes-panel header span{color:var(--signal);font:700 8px/1 Martian,sans-serif;letter-spacing:.1em}.notes-panel h2{margin:14px 0 4px;font-size:44px;line-height:.9;letter-spacing:-.04em}.notes-panel header p{margin:0;color:#8f9491;font-size:11px}.note-field{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:15px;padding:22px 0}.note-field span{color:#9ba09d;font-size:12px}.note-field textarea{width:100%;height:100%;resize:none;padding:18px;border:1px solid #3d413f;border-radius:0;background:#222523;color:var(--white);font-size:14px;line-height:1.75;caret-color:var(--signal)}.note-field textarea::placeholder{color:#9ba09d;opacity:1}.notes-panel footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line)}.notes-panel footer span{color:#888d8a;font-size:9px}.notes-panel footer button{min-height:44px;padding:0 18px;border:0;background:var(--signal);color:#260600;font-weight:850;cursor:pointer}
.login-gate{width:100%;height:100%;display:grid;place-items:center;padding:24px;background:var(--black)}.login-form{width:min(520px,100%);display:grid;gap:18px}.login-brand{margin-bottom:52px}.login-copy h1{margin:0;font-size:clamp(58px,8vw,104px);font-weight:900;line-height:.82;letter-spacing:-.04em}.login-copy p{max-width:36ch;margin:22px 0 18px;color:#969b98;font-size:13px;line-height:1.7}.login-form label{display:grid;gap:8px}.login-form label span{color:#9da19f;font:650 8px/1 Martian,sans-serif;letter-spacing:.08em}.login-form input{height:50px;padding:0;border:0;border-bottom:1px solid #5d625f;border-radius:0;background:transparent;color:var(--white);caret-color:var(--signal)}.login-submit{height:52px;margin-top:8px;border:0;background:var(--signal);color:#260600;font-weight:850;cursor:pointer}.form-error{min-height:18px;margin:0;color:var(--danger);font-size:11px}.app-message{position:fixed;z-index:40;left:50%;bottom:22px;transform:translateX(-50%);padding:12px 18px;background:var(--white);color:var(--black);font-size:11px;font-weight:750}
@media(max-width:900px){.studio-bar{grid-template-columns:1fr auto;height:112px;padding:0 16px;grid-template-rows:48px 64px}.modules{grid-column:1/-1;grid-row:2}.session-name{display:none}.knowledge-layout{height:calc(100dvh - 112px);display:block;overflow:auto}.knowledge-index{min-height:calc(100dvh - 112px);overflow:visible;padding:20px 14px}.article-list{overflow:visible}.reader{position:fixed;z-index:10;inset:112px 0 0;display:none}.reader.open{display:grid}.reader-head{min-height:190px;padding:18px 20px 20px;grid-template-columns:minmax(0,1fr) auto}.reader-head h2{font-size:42px}.reader-close{display:block;grid-column:1/-1;justify-self:start;min-height:38px;padding:0;border:0;border-bottom:1px solid var(--signal);background:transparent;color:var(--white);font-size:11px;font-weight:780;cursor:pointer}.reader-body{padding:28px 20px 80px}.notes-panel{top:112px;width:100vw}.notes-panel h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
