:root{--bg:#f3ece0;--paper:#faf4e8;--paper-2:#f0e8d8;--paper-3:#f3ece0;--ink:#1f1a16;--ink-2:#3a322c;--ink-3:#6b615a;--ink-4:#a89e92;--rule:#d9cfbf;--rule-soft:#e6ddcc;--accent:oklch(62% .15 45);--accent-2:oklch(72% .14 55);--accent-ink:oklch(32% .08 40);--accent-wash:oklch(92% .04 60);--ok:oklch(55% .13 145);--warn:oklch(66% .14 75);--err:oklch(54% .18 27);--err-wash:oklch(94% .03 27);--serif:"IBM Plex Serif", "Source Serif 4", Georgia, serif;--sans:"IBM Plex Sans", "Source Sans 3", system-ui, sans-serif;--mono:"IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;--radius:6px;--radius-lg:10px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--dur-fast:.12s;--dur:.18s;--dur-med:.22s;--dur-slow:.28s}*{box-sizing:border-box}html,body,#root{background:var(--bg);font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100%;margin:0;padding:0}#root{min-height:100vh}.tc-kbd{min-width:18px;height:18px;font-family:var(--mono);color:var(--ink-3);background:var(--paper);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10.5px;display:inline-flex}.tc-chip{font-family:var(--sans);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule);letter-spacing:.02em;transition:background-color var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease), color var(--dur-med) var(--ease);border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tc-chip.ok{background:color-mix(in oklch, var(--ok) 14%, var(--paper));color:var(--ok);border-color:color-mix(in oklch, var(--ok) 35%, var(--rule))}.tc-chip.accent{background:var(--accent-wash);color:var(--accent-ink);border-color:color-mix(in oklch, var(--accent) 40%, var(--rule))}.tc-chip.dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.tc-btn{font-family:var(--sans);border-radius:var(--radius);background:var(--paper);color:var(--ink);border:1px solid var(--rule);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform 80ms var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.tc-btn:hover{background:var(--paper-2)}.tc-btn:active{transform:scale(.98)}.tc-btn:disabled,.tc-btn[disabled]{cursor:not-allowed;opacity:.5;box-shadow:none;transform:none}.tc-btn:disabled:hover,.tc-btn[disabled]:hover{background:var(--paper)}.tc-btn.primary:disabled:hover,.tc-btn.primary[disabled]:hover{background:var(--accent)}.tc-btn.primary{background:var(--accent);color:#fff8ee;border-color:color-mix(in oklch, var(--accent) 60%, #000);box-shadow:0 1px 0 color-mix(in oklch, var(--accent) 60%, #000)}.tc-btn.primary:hover{background:var(--accent-2)}.tc-btn.ghost{background:0 0;border-color:#0000}.tc-btn.ghost:hover{background:var(--paper-2)}.tc-input{font-family:var(--mono);border-radius:var(--radius);background:var(--paper);color:var(--ink);border:1px solid var(--rule);width:100%;transition:border-color var(--dur-fast) var(--ease-out), outline-color var(--dur-fast) var(--ease-out);padding:8px 12px;font-size:12.5px}.tc-input:focus{outline:2px solid var(--accent);outline-offset:-1px}.tc-rule{background:var(--rule);border:0;height:1px}.tc-caret{background:var(--accent);vertical-align:-2px;width:8px;height:14px;margin-left:2px;animation:1.1s steps(2,end) infinite tc-blink;display:inline-block}@keyframes tc-blink{50%{opacity:0}}.tc-prose p{font-family:var(--serif);color:var(--ink-2);margin:0 0 14px;font-size:16px;line-height:1.65}.tc-prose p.lead{color:var(--ink);font-size:18px}.tc-prose h2{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;align-items:baseline;gap:10px;margin:34px 0 10px;scroll-margin-top:80px;font-size:24px;font-weight:600;display:flex}.tc-prose h2 .num{font-family:var(--mono);color:var(--accent);letter-spacing:.08em;padding-top:2px;font-size:12px;font-weight:500}.tc-prose h3{font-family:var(--serif);color:var(--ink);margin:24px 0 8px;font-size:18px;font-weight:600}.tc-prose code{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:4px;padding:1px 5px;font-size:.88em}.tc-prose pre{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-2);margin:0 0 14px;padding:16px 18px;font-size:12.5px;line-height:1.55;overflow-x:auto}.tc-prose pre code{background:0 0;border:none;padding:0}.tc-prose pre code.hljs{background:0 0;padding:0}.tc-prose .hljs-comment,.tc-prose .hljs-quote{color:var(--ink-3);font-style:italic}.tc-prose .hljs-keyword,.tc-prose .hljs-selector-tag,.tc-prose .hljs-literal{color:var(--accent-ink);font-weight:600}.tc-prose .hljs-string,.tc-prose .hljs-attr,.tc-prose .hljs-symbol{color:#6b7a4e}.tc-prose .hljs-number,.tc-prose .hljs-built_in,.tc-prose .hljs-type{color:#a35a2c}.tc-prose .hljs-title.function_,.tc-prose .hljs-function .hljs-title,.tc-prose .hljs-title{color:var(--ink);font-weight:600}.tc-prose .hljs-variable,.tc-prose .hljs-params{color:var(--ink-2)}.tc-prose .hljs-meta,.tc-prose .hljs-tag,.tc-prose .hljs-name{color:var(--ink-3)}.tc-prose .hljs-regexp,.tc-prose .hljs-link{color:var(--accent)}.tc-prose strong{color:var(--ink);font-weight:600}.tc-prose em{font-style:italic}.tc-prose ul,.tc-prose ol{font-family:var(--serif);color:var(--ink-2);margin:0 0 14px 22px;padding:0;font-size:16px;line-height:1.65}.tc-prose li{margin-bottom:4px}.tc-prose a{color:var(--accent-ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent)}.tc-prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.tc-prose blockquote{border-left:3px solid var(--accent);color:var(--ink-3);margin:0 0 14px;padding:2px 14px;font-style:italic}.tc-prose hr{margin:32px 0}.tc-ascii{font-family:var(--mono);white-space:pre;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-2);margin:0 0 14px;padding:16px 18px;font-size:12.5px;line-height:1.55;overflow-x:auto}.tc-ascii .label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.tc-project{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 1px 0 var(--rule);margin:24px 0;padding:0;scroll-margin-top:80px;overflow:hidden}.tc-project .tc-project-head{background:var(--paper-2);border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding:14px 18px;display:flex}.tc-project .tc-project-head .ribbon{font-family:var(--mono);letter-spacing:.12em;color:var(--accent);background:var(--accent-wash);border:1px solid color-mix(in oklch, var(--accent) 30%, var(--rule));text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10.5px;font-weight:600}.tc-project .tc-project-head .title{font-family:var(--serif);color:var(--ink);font-size:18px;font-weight:600}.tc-project .tc-project-body{padding:16px 18px}.tc-project .tc-project-body>:first-child{margin-top:0}.tc-project p{font-family:var(--serif);color:var(--ink-2);margin:0 0 10px;font-size:15px;line-height:1.6}.tc-project ol,.tc-project ul{font-family:var(--serif);color:var(--ink-2);margin:8px 0 14px 18px;padding:0;font-size:14.5px;line-height:1.6}.tc-project ol li,.tc-project ul li{margin-bottom:4px}.tc-project code{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule-soft);border-radius:4px;padding:1px 5px;font-size:.88em}.tc-submit{border-top:1px dashed var(--rule);background:color-mix(in oklch, var(--paper-2) 70%, var(--paper));align-items:center;gap:10px;padding:14px 18px;display:flex}.tc-submit .label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.tc-submit .submitted-url{font-family:var(--mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.tc-submit .submitted-url a{color:var(--accent-ink);text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklch, var(--accent) 40%, transparent)}.tc-cmdbar-wrap{z-index:10;width:min(620px,100vw - 32px);transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.tc-cmdbar-wrap.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(8px)}.tc-cmdbar{background:var(--paper);border:1px solid var(--rule);box-shadow:0 6px 24px -12px #1e161240, 0 2px 0 var(--rule);transition:box-shadow var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);border-radius:999px;align-items:center;gap:12px;padding:8px 14px 8px 10px;display:flex}.tc-cmdbar:hover{box-shadow:0 10px 32px -14px #1e161259, 0 2px 0 var(--rule);transform:translateY(-1px)}.tc-cmdbar .spark{background:var(--accent);color:#fff8ee;width:28px;height:28px;font-family:var(--mono);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.tc-cmdbar input{font-family:var(--mono);color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12.5px}.tc-cmdbar input::placeholder{color:var(--ink-3)}.tc-chat{background:var(--paper);border-left:1px solid var(--rule);z-index:20;opacity:0;width:420px;max-width:100vw;transition:transform var(--dur-slow) var(--ease), opacity var(--dur-slow) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-18px 0 48px -24px #00000040}.tc-chat.open{opacity:1;transform:translate(0)}.tc-chat .tc-chat-head{border-bottom:1px solid var(--rule);background:var(--paper-2);align-items:center;gap:10px;padding:16px 18px;display:flex}.tc-chat .tc-chat-head .title{font-family:var(--serif);color:var(--ink);flex:1;font-size:16px;font-weight:600}.tc-chat .tc-chat-body{flex-direction:column;flex:1;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.tc-msg{max-width:85%;animation:tc-msg-in var(--dur-med) var(--ease-out);flex-direction:column;gap:4px;display:flex}@keyframes tc-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tc-msg.user{align-self:flex-end;align-items:flex-end}.tc-msg.assistant{align-self:flex-start}.tc-msg .bubble{font-family:var(--serif);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule);border-radius:12px;padding:10px 14px;font-size:14.5px;line-height:1.55}.tc-msg.user .bubble{background:var(--accent-wash);color:var(--accent-ink);border-color:color-mix(in oklch, var(--accent) 30%, var(--rule))}.tc-msg .meta{font-family:var(--mono);color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.tc-chat .tc-chat-foot{border-top:1px solid var(--rule);background:var(--paper);padding:12px 14px}.tc-chat .tc-chat-empty{font-family:var(--serif);color:var(--ink-3);text-align:center;padding:40px 8px;font-size:14.5px;font-style:italic}.tc-rail{background:var(--paper-2);border-right:1px solid var(--rule);width:280px;height:100vh;transition:width var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.tc-rail.drawer{z-index:2;width:380px;box-shadow:18px 0 48px -24px #00000040}.tc-rail .brand{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding:20px 18px 14px;display:flex}.tc-rail .brand .mark{background:var(--ink);width:28px;height:28px;color:var(--paper);font-family:var(--mono);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.tc-rail .brand .name{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:17px;font-weight:600;text-decoration:none}.tc-rail .brand .user{font-family:var(--sans);color:var(--ink-3);margin-left:auto;font-size:11px}.tc-rail .rail-header{justify-content:space-between;align-items:center;padding:12px 14px 6px;display:flex}.tc-rail .rail-header .label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.tc-rail .rail-header .count{font-family:var(--mono);color:var(--ink-4);font-size:11px}.tc-rail .rail-mode{min-height:0;animation:tc-rail-mode-swap .24s var(--ease-out) both;flex-direction:column;flex:1;display:flex}@keyframes tc-rail-mode-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tc-rail .rail-scroll{flex:1;overflow-y:auto}.tc-rail .rail-foot{border-top:1px solid var(--rule);align-items:center;gap:8px;padding:12px 14px;display:flex}.tc-rail .rail-foot .hint{font-family:var(--sans);color:var(--ink-3);font-size:11.5px}.tc-lesson{border-bottom:1px solid var(--rule-soft);cursor:pointer;color:inherit;padding:10px 14px;text-decoration:none;display:block}.tc-lesson.current{border-left:3px solid var(--accent);padding-left:11px}.tc-lesson .row{align-items:center;gap:10px;display:flex}.tc-lesson .num{font-family:var(--mono);color:var(--ink-4);width:18px;font-size:10.5px}.tc-lesson .ttl{font-family:var(--sans);color:var(--ink);flex:1;min-width:0;font-size:13.5px;font-weight:500}.tc-lesson .status{border:1.5px solid var(--ink-4);width:10px;height:10px;transition:background var(--dur-med) var(--ease), border-color var(--dur-med) var(--ease);background:0 0;border-radius:50%;flex-shrink:0}.tc-lesson .status.done{background:var(--ink);border-color:var(--ink)}.tc-lesson .status.progress{background:conic-gradient(var(--accent) 0 40%, transparent 40% 100%);border-color:var(--accent)}.tc-lesson .caret{font-family:var(--mono);color:var(--ink-4);font-size:10px;transition:transform .12s}.tc-lesson.expanded{background:var(--paper)}.tc-lesson.expanded .caret{color:var(--ink-3);transform:rotate(90deg)}.tc-lesson .blurb{font-family:var(--sans);color:var(--ink-3);margin-top:4px;margin-left:28px;font-size:11.5px;line-height:1.45}.tc-sections{border-left:1px solid var(--rule);margin:6px 0 4px 28px;padding-left:10px}.tc-section{font-family:var(--sans);color:var(--ink-2);cursor:pointer;transition:background-color .16s var(--ease), color .16s var(--ease);border-radius:5px;align-items:center;gap:8px;margin-bottom:1px;padding:5px 8px;font-size:12.5px;text-decoration:none;display:flex}.tc-section:hover{background:var(--paper-2)}.tc-section .dot{transition:background-color var(--dur) var(--ease), transform var(--dur) var(--ease);background:var(--ink-4);border-radius:50%;flex-shrink:0;width:4px;height:4px}.tc-section.project .dot{background:var(--accent);transform:scale(1.4)}.tc-section.done .dot{background:var(--ink)}.tc-section.active{background:var(--ink);color:var(--paper);font-weight:600}.tc-section.active .dot{background:var(--accent)}.tc-section .label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tc-section .tag{font-family:var(--mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.1em;font-size:9.5px}.tc-section.active .tag{color:var(--paper-2)}.tc-rail-meetings{background:color-mix(in oklch, var(--paper-2) 60%, var(--paper));border-bottom:1px solid var(--rule);padding:4px 0 10px}.tc-rail-meetings.collapsed{padding-bottom:6px}.tc-rail-meetings .rail-header{padding:10px 14px 4px}.tc-rail-meetings .rail-header.toggle{cursor:pointer;width:100%;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.tc-rail-meetings .rail-header.toggle:hover{color:var(--ink)}.tc-rail-meetings .label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:inline-flex}.tc-rail-meetings .label .caret{width:8px;color:var(--ink-4);font-size:9px;transition:transform .14s;display:inline-block}.tc-rail-meetings .label .caret.open{transform:rotate(90deg)}.tc-rail-meetings .new-pill{font-family:var(--mono);color:var(--paper);background:var(--accent);letter-spacing:.08em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.tc-rail-meetings .caret-end,.tc-rail-meetings .collapsed-when{font-family:var(--mono);color:var(--ink-4);font-size:11px}.tc-rail-meetings .collapsed-line{font-family:var(--mono);color:var(--ink-2);padding:4px 14px 6px;font-size:11.5px;line-height:1.45}.tc-rail-meetings .collapsed-line .when{color:var(--accent);font-weight:600}.tc-rail-meetings .collapsed-line .sep,.tc-rail-meetings .collapsed-line.empty{color:var(--ink-4)}.tc-rail-meetings .rail-meetings-body{transition:grid-template-rows .24s var(--ease);display:grid}.tc-rail-meetings .rail-meetings-body.is-collapsed{grid-template-rows:1fr 0fr}.tc-rail-meetings .rail-meetings-body.is-expanded{grid-template-rows:0fr 1fr}.tc-rail-meetings .rail-meetings-body .row{min-height:0;transition:opacity .2s var(--ease);overflow:hidden}.tc-rail-meetings .rail-meetings-body.is-collapsed .expanded-row,.tc-rail-meetings .rail-meetings-body.is-expanded .collapsed-row{opacity:0;pointer-events:none}.tc-rail-next{border-radius:var(--radius);background:var(--accent-wash);border:1px solid color-mix(in oklch, var(--accent) 28%, var(--rule));margin:8px 14px 0;padding:12px 14px}.tc-rail-next.clickable{cursor:pointer}.tc-rail-next.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tc-rail-mlist-upcoming.clickable{cursor:pointer}.tc-rail-mlist-upcoming.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tc-rail-next .head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tc-rail-next .kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.14em;font-size:10px;font-weight:600}.tc-rail-next .when{font-family:var(--mono);color:var(--ink-3);font-size:10px}.tc-rail-next .title{font-family:var(--serif);color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.2}.tc-rail-next .sub{font-family:var(--sans);color:var(--ink-2);margin-top:2px;font-size:11.5px}.tc-rail-next .join,.tc-rail-mlist-upcoming .join{justify-content:center;align-items:center;width:100%;margin-top:10px;padding:7px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.tc-rail-agenda{border-top:1px dashed color-mix(in oklch, var(--accent) 28%, var(--rule));margin-top:12px;padding-top:12px}.tc-rail-agenda .header{font-family:var(--mono);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;transition:color var(--dur-fast) var(--ease);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:2px 0;font-size:10px;font-weight:600;display:inline-flex}.tc-rail-agenda .header .caret{color:currentColor;width:8px;font-size:9px;transition:transform .14s;display:inline-block}.tc-rail-next.clickable:hover .tc-rail-agenda .header,.tc-rail-mlist-upcoming.clickable:hover .tc-rail-agenda .header,.tc-rail-next[aria-expanded=true] .tc-rail-agenda .header,.tc-rail-mlist-upcoming[aria-expanded=true] .tc-rail-agenda .header{color:var(--accent)}.tc-rail-next[aria-expanded=true] .tc-rail-agenda .header .caret,.tc-rail-mlist-upcoming[aria-expanded=true] .tc-rail-agenda .header .caret{transform:rotate(90deg)}.tc-rail-agenda .peek-wrap{margin-top:8px;position:relative}.tc-rail-agenda .peek-fade-top{pointer-events:none;z-index:1;background:linear-gradient(to bottom, var(--accent-wash), transparent);height:1.4em;position:absolute;top:0;left:2px;right:0}.tc-rail-agenda .peek{border-left:2px solid color-mix(in oklch, var(--accent) 24%, var(--rule));font-family:var(--serif);color:var(--ink-2);scrollbar-width:none;overscroll-behavior:contain;max-height:calc(4.5em + 12px);padding:6px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.tc-rail-agenda .peek::-webkit-scrollbar{display:none}.tc-rail-agenda .peek p{text-wrap:pretty;margin:0 0 4px}.tc-rail-agenda .peek p:last-child{margin-bottom:0}.tc-rail-agenda .peek ul,.tc-rail-agenda .peek ol{margin:0;padding-left:16px}.tc-rail-agenda .peek li{margin:1px 0}.tc-rail-agenda .peek li::marker{color:var(--accent)}.tc-rail-agenda .peek strong{color:var(--ink);font-weight:600}.tc-rail-agenda .peek em{font-style:italic}.tc-rail-agenda .peek code{font-family:var(--mono);background:var(--paper-2);border-radius:3px;padding:1px 4px;font-size:11.5px}.tc-rail-agenda textarea{box-sizing:border-box;field-sizing:content;background:var(--paper);width:100%;min-height:84px;color:var(--ink);border:0;border-left:2px solid color-mix(in oklch, var(--accent) 30%, var(--rule));border-radius:0 var(--radius) var(--radius) 0;font-family:var(--serif);resize:vertical;box-shadow:inset 0 1px 2px color-mix(in oklch, var(--ink) 5%, transparent), 0 1px 0 var(--rule);transition:border-color var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease), background var(--dur-med) var(--ease);margin-top:10px;padding:10px 12px;font-size:14px;line-height:1.55;display:block}.tc-rail-agenda textarea::placeholder{color:var(--ink-4);font-style:italic}.tc-rail-agenda textarea:focus{border-left-color:var(--accent);background:color-mix(in oklch, var(--paper) 96%, var(--accent));box-shadow:inset 0 1px 2px color-mix(in oklch, var(--ink) 6%, transparent), 0 0 0 3px color-mix(in oklch, var(--accent) 14%, transparent);outline:none}.tc-rail-last{text-align:left;border-radius:var(--radius);background:var(--paper);border:1px solid var(--rule);cursor:pointer;width:calc(100% - 28px);font:inherit;color:inherit;box-shadow:0 1px 0 var(--rule);transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);margin:10px 14px 4px;padding:12px 14px;display:block}.tc-rail-last:hover{box-shadow:0 8px 20px -10px #1e161259, 0 1px 0 var(--rule);transform:translateY(-2px)}.tc-rail-last.is-new{border-color:color-mix(in oklch, var(--accent) 45%, var(--rule))}.tc-rail-last .head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.tc-rail-last .kicker{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;align-items:center;gap:6px;font-size:10px;font-weight:600;display:inline-flex}.tc-rail-last.is-new .kicker{color:var(--accent)}.tc-rail-last .new-pill{font-family:var(--mono);color:var(--paper);background:var(--accent);letter-spacing:.08em;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.tc-rail-last .date{font-family:var(--mono);color:var(--ink-4);font-size:10px}.tc-rail-last .title{font-family:var(--serif);color:var(--ink);margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.22}.tc-rail-last .summary{font-family:var(--serif);color:var(--ink-2);-webkit-line-clamp:3;text-wrap:pretty;-webkit-box-orient:vertical;margin-bottom:10px;font-size:12.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.tc-rail-last .topics{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.tc-rail-last .topics .tc-chip{white-space:nowrap;text-overflow:ellipsis;min-width:0;padding:1px 7px;font-size:10px;overflow:hidden}.tc-rail-last .topics .overflow{font-family:var(--mono);color:var(--ink-4);flex-shrink:0;font-size:10px}.tc-rail-last .topics .arrow{font-family:var(--mono);color:var(--accent);flex-shrink:0;margin-left:auto;font-size:14px;font-weight:600}.tc-rail-last:hover .topics .arrow{transition:transform var(--dur-fast) var(--ease-out);transform:translate(2px)}.tc-rail-mback{cursor:pointer;border:0;border-bottom:1px solid var(--rule-soft);font-family:var(--mono);color:var(--accent);letter-spacing:.06em;text-align:left;background:0 0;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:11px;font-weight:600;display:flex}.tc-rail-mback:hover{background:var(--paper)}.tc-rail-mlist-upcoming{border-radius:var(--radius);background:var(--accent-wash);border:1px dashed color-mix(in oklch, var(--accent) 50%, var(--rule));margin:8px 10px;padding:12px 14px}.tc-rail-mlist-upcoming .head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.tc-rail-mlist-upcoming .kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.14em;font-size:10px;font-weight:600}.tc-rail-mlist-upcoming .when{font-family:var(--mono);color:var(--ink-3);font-size:10px}.tc-rail-mlist-upcoming .title{font-family:var(--serif);color:var(--ink);font-size:14px;font-weight:600;line-height:1.2}.tc-rail-mlist-upcoming .sub{font-family:var(--sans);color:var(--ink-2);margin-top:2px;font-size:11.5px}.tc-rail-mlist-divider{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-4);letter-spacing:.14em;margin:4px 14px 6px;padding-top:10px;font-size:10px;font-weight:600}.tc-rail-mitem{text-align:left;border-radius:var(--radius);width:calc(100% - 20px);font:inherit;color:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-med) var(--ease-out), box-shadow var(--dur-med) var(--ease-out);background:0 0;border:1px solid #0000;border-left-width:3px;margin:0 10px 8px;padding:12px 14px;display:block}.tc-rail-mitem:hover{background:var(--paper)}.tc-rail-mitem.active{background:var(--paper);border-color:var(--ink-3);border-left-color:var(--accent);box-shadow:0 1px 0 var(--rule)}.tc-rail-mitem .head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.tc-rail-mitem .date{font-family:var(--mono);color:var(--ink-4);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600}.tc-rail-mitem.active .date{color:var(--accent)}.tc-rail-mitem .duration{font-family:var(--mono);color:var(--ink-4);font-size:10px}.tc-rail-mitem .title{font-family:var(--serif);color:var(--ink);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.2}.tc-rail-mitem .summary{font-family:var(--serif);color:var(--ink-2);-webkit-line-clamp:2;text-wrap:pretty;-webkit-box-orient:vertical;margin-bottom:8px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.tc-rail-mitem .topics{flex-wrap:wrap;gap:4px;display:flex}.tc-rail-mitem .topics .tc-chip{padding:1px 6px;font-size:9.5px}.tc-meeting{background:var(--paper);border-left:1px solid var(--rule);z-index:18;opacity:0;width:min(900px,100vw - 280px);transition:transform var(--dur-slow) var(--ease), opacity var(--dur-slow) var(--ease);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-24px 0 48px -12px #1e161233}.tc-meeting.open{opacity:1;transform:translate(0)}.tc-meeting-head{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:22px 28px 0;position:relative}.tc-meeting-head .meta{align-items:center;gap:10px;margin-bottom:4px;display:flex}.tc-meeting-head .meta .when{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;font-size:11px;font-weight:500}.tc-meeting-head .close{font-family:var(--mono);padding:5px 10px;font-size:12px;position:absolute;top:18px;right:22px}.tc-meeting-head .title{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:4px 0 12px;font-size:28px;font-weight:700}.tc-meeting-head .topics{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tc-meeting-head .tabs{gap:0;margin-bottom:-1px;display:flex}.tc-meeting-head .tab{border:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-2);color:var(--ink-3);font-family:var(--sans);cursor:pointer;border-radius:6px 6px 0 0;margin-right:4px;padding:9px 18px;font-size:13px;font-weight:500}.tc-meeting-head .tab.active{background:var(--paper);color:var(--ink);border-bottom-color:var(--paper);font-weight:600}.tc-meeting-body{background:var(--paper);animation:tc-meeting-swap .22s var(--ease-out) both;flex:1;overflow-y:auto}.tc-meeting-head .meeting-info{animation:tc-meeting-swap .2s var(--ease-out) both}@keyframes tc-meeting-swap{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tc-meeting-body .notes-grid{grid-template-columns:1fr 220px;align-items:start;gap:40px;padding:36px 32px 80px;display:grid}.tc-meeting-body .notes-col{min-width:0}.tc-meeting-empty{text-align:center;font-family:var(--serif);color:var(--ink-3);padding:64px 32px;font-size:16px}.tc-mn{font-family:var(--serif);color:var(--ink-2)}.tc-mn h2{font-family:var(--serif);letter-spacing:-.005em;color:var(--ink);border-bottom:1px solid var(--rule);align-items:baseline;gap:10px;margin:34px 0 12px;padding-bottom:6px;font-size:22px;font-weight:600;display:flex}.tc-mn h2:first-child{margin-top:0}.tc-mn h2 .num{font-family:var(--mono);color:var(--accent);letter-spacing:.14em;font-size:11px;font-weight:500}.tc-mn p{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:8px 0 12px;font-size:15.5px;line-height:1.6}.tc-mn ul,.tc-mn ol{font-family:var(--serif);color:var(--ink-2);padding-left:22px;font-size:15px;line-height:1.55}.tc-mn ul li,.tc-mn ol li{margin:4px 0}.tc-mn strong{color:var(--ink);font-weight:600}.tc-mn-note{font-family:var(--serif);color:var(--ink-2);border-left:1px dotted var(--rule);text-wrap:pretty;margin:6px 0;padding-left:14px;font-size:14px;line-height:1.55}.tc-mn-decision{border-left:2px solid var(--ink);font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:14px 0;padding:4px 0 4px 14px;font-size:15px;line-height:1.55}.tc-mn-decision:before{content:"DECISION";font-family:var(--mono);color:var(--accent);background:var(--accent-wash);letter-spacing:.1em;border-radius:3px;margin-bottom:6px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.tc-mn-decision .tc-mn-label,.tc-mn-decision strong{color:var(--ink);font-weight:600;display:inline}.tc-mn-decision .tc-mn-label:after{content:". "}.tc-mn-decision p{color:var(--ink);margin:6px 0 0}.tc-mn-wisdom{border-left:1px solid var(--ink-3);margin:18px 0;padding:4px 0 4px 16px;font-style:italic}.tc-mn-wisdom:before{content:"WISDOM";font-family:var(--mono);color:var(--accent);background:var(--accent-wash);letter-spacing:.1em;border-radius:3px;margin-bottom:8px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:600;display:inline-block}.tc-mn-wisdom p{font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:0;font-size:16px;font-style:italic;font-weight:500;line-height:1.5}.tc-mn-cite{font-family:var(--mono);color:var(--ink-3);letter-spacing:.04em;margin-top:8px;font-size:11px;font-style:normal}.tc-mn-qa{margin:14px 0}.tc-mn-q,.tc-mn-a{font-family:var(--serif);text-wrap:pretty;grid-template-columns:26px 1fr;align-items:baseline;gap:8px;margin:0 0 4px;padding-left:14px;font-size:14.5px;line-height:1.5;display:grid}.tc-mn-q{border-left:2px dotted var(--ink);color:var(--ink);font-weight:500}.tc-mn-a{border-left:2px dotted var(--rule);color:var(--ink-2);margin-bottom:0}.tc-mn-q .tag,.tc-mn-a .tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.tc-mn-q .tag{color:var(--accent);background:var(--accent-wash)}.tc-mn-a .tag{color:var(--ink-3);background:var(--paper-2);font-weight:500}.tc-mn-action{background:var(--accent-wash);border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;grid-template-columns:22px 1fr;align-items:start;gap:12px;margin:14px 0;padding:12px 14px;display:grid}.tc-mn-action.high{background:color-mix(in oklch, var(--accent) 14%, var(--paper))}.tc-mn-action .check{border:1.5px solid var(--accent);border-radius:3px;width:16px;height:16px;margin-top:4px;display:inline-block}.tc-mn-action .body p{font-family:var(--serif);color:var(--ink);text-wrap:pretty;margin:0;font-size:15px;line-height:1.5}.tc-mn-action .body>:first-child{margin-top:0}.tc-mn-action .kicker{font-family:var(--mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-right:6px;font-size:11px;font-weight:700}.tc-mt{max-width:820px;margin:0 auto;padding:28px 32px 80px}.tc-mt-search{border-bottom:1px dashed var(--rule);margin-bottom:14px;padding-bottom:14px}.tc-mt-search input{width:100%;font-family:var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:10px 14px;font-size:14px}.tc-mt-search input:focus{border-color:color-mix(in oklch, var(--accent) 60%, var(--rule));outline:none}.tc-mt-list{flex-direction:column;display:flex}.tc-mt-line{border-bottom:1px dashed var(--rule);grid-template-columns:56px 70px 1fr;gap:12px;padding:12px 0;display:grid}.tc-mt-line .t{font-family:var(--mono);color:var(--ink-3);padding-top:3px;font-size:11px}.tc-mt-line .s{font-family:var(--sans);color:var(--ink);padding-top:3px;font-size:11.5px;font-weight:600}.tc-mt-line .s.caleb{color:var(--accent)}.tc-mt-line .text{font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;margin:0;font-size:15px;line-height:1.55}.tc-mt-empty{text-align:center;font-family:var(--serif);color:var(--ink-3);padding:32px 0}.tc-mn-jump{font-family:var(--sans);padding-top:8px;position:sticky;top:0}.tc-mn-jump .kicker{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;margin-bottom:14px;font-size:10px;font-weight:600}.tc-mn-jump ul{margin:0;padding:0;list-style:none}.tc-mn-jump li{border-bottom:1px dotted var(--rule)}.tc-mn-jump button{text-align:left;cursor:pointer;width:100%;font-family:var(--serif);color:var(--ink-2);text-wrap:pretty;background:0 0;border:0;padding:14px 0;font-size:14px;line-height:1.35;display:block}.tc-mn-jump button:hover{color:var(--ink)}.tc-shell{min-height:100vh;display:flex;position:relative}.tc-main{min-width:0;transition:filter var(--dur-med) var(--ease);flex:1;position:relative}.tc-main.dimmed{filter:blur(1.5px)opacity(.55);pointer-events:none}.tc-articles-shell{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.tc-articles-nav{border-bottom:1px solid var(--rule);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.tc-articles-nav .brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.tc-articles-nav .brand .mark{background:var(--ink);width:28px;height:28px;color:var(--paper);font-family:var(--mono);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.tc-articles-nav .brand .name{font-family:var(--serif);letter-spacing:-.01em;font-size:17px;font-weight:600}.tc-articles-nav .links{font-family:var(--mono);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:18px;font-size:12px;display:flex}.tc-articles-nav .links a{color:var(--ink-3);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-bottom:1px solid #0000;padding:6px 0;text-decoration:none}.tc-articles-nav .links a:hover{color:var(--ink)}.tc-articles-nav .links a.active{color:var(--ink);border-bottom-color:var(--ink)}.tc-articles-main{flex:1;min-width:0}.tc-topbar{border-bottom:1px solid var(--rule);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;padding:18px 48px;display:flex;position:sticky;top:0}.tc-topbar .crumbs{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:14px;font-size:12px;display:flex}.tc-topbar .crumbs .sep{color:var(--ink-4)}.tc-topbar .right{align-items:center;gap:10px;display:flex}.tc-topbar .indef{background:var(--paper-2);border:1px solid var(--rule);border-radius:3px;width:140px;height:6px;position:relative;overflow:hidden}.tc-topbar .indef .fill{background:var(--accent);width:30%;transition:width .24s;position:absolute;inset:0 auto 0 0}.tc-read{max-width:720px;margin:0 auto;padding:56px 32px 220px;position:relative}.tc-read .eyebrow{font-family:var(--mono);color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.tc-read h1.title{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:0 0 14px;font-size:46px;font-weight:700;line-height:1.05}.tc-read .tag-row{gap:6px;margin-bottom:30px;display:flex}.tc-home-header{border-bottom:1px solid var(--rule);padding:26px 56px 14px}.tc-home-header .kicker{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.tc-home-header h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin:6px 0 0;font-size:40px;font-weight:700}.tc-home-header .sub{font-family:var(--serif);color:var(--ink-3);margin-top:8px;font-size:17px;font-style:italic}.tc-home-body{max-width:900px;margin:0 auto;padding:28px 56px 200px}.tc-overview{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper);margin-bottom:28px;overflow:hidden}.tc-overview-head{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr auto;align-items:center;gap:20px;padding:20px 28px;display:grid}.tc-overview-stat{align-items:baseline;gap:14px;display:flex}.tc-overview-stat.topics{border-left:1px solid var(--rule);padding-left:20px}.tc-overview-stat.topics .tc-overview-num{color:var(--accent)}.tc-overview-num{font-family:var(--serif);color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:72px;font-weight:600;line-height:.9}.tc-overview-label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:13px;line-height:1.2}.tc-overview-log{padding:14px 28px 18px}.tc-overview-cols{font-family:var(--mono);color:var(--ink-4);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--rule-soft);grid-template-columns:90px 160px 1fr;gap:14px;padding:0 0 8px;font-size:10px;display:grid}.tc-overview-row{border-bottom:1px dashed var(--rule-soft);grid-template-columns:90px 160px 1fr;align-items:start;gap:14px;padding:12px 0;display:grid}.tc-overview-row.last{border-bottom:none}.tc-overview-when{font-family:var(--mono);color:var(--ink-3);padding-top:6px;font-size:11.5px}.tc-overview-lesson{padding-top:2px}.tc-overview-lesson .num{font-family:var(--mono);color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}.tc-overview-lesson .num.recent{color:var(--accent)}.tc-overview-lesson .label{font-family:var(--serif);color:var(--ink);margin-top:2px;font-size:14px;font-weight:500}.tc-overview-chips{flex-wrap:wrap;gap:6px;display:flex}.tc-overview-topic{font-family:var(--sans);white-space:nowrap;cursor:pointer;background:var(--paper);color:var(--ink-2);border:1px solid var(--rule);border-radius:999px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.tc-overview-topic.recent{background:var(--accent-wash);color:var(--accent-ink);border-color:color-mix(in oklch, var(--accent) 40%, var(--rule))}.tc-overview-topic:hover{filter:brightness(.97)}.tc-overview-toggle{cursor:pointer;font-family:var(--mono);color:var(--ink-3);background:0 0;border:0;margin:10px auto 0;padding:4px 8px;font-size:12px;display:block}.tc-overview-toggle:hover{color:var(--ink)}.tc-section-label{font-family:var(--sans);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:11px;font-weight:600}.tc-lesson-card{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper);color:inherit;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);grid-template-columns:50px 1fr auto;align-items:center;gap:22px;padding:20px 24px;text-decoration:none;display:grid}.tc-lesson-card:hover{background:var(--paper-2);transform:translateY(-1px);box-shadow:0 6px 16px -10px #1e161240}.tc-lesson-card.current{box-shadow:0 0 0 1.5px var(--accent)}.tc-lesson-card.locked{opacity:.7}.tc-lesson-card .num{font-family:var(--mono);color:var(--ink-4);font-size:32px;font-weight:500}.tc-lesson-card.current .num{color:var(--accent)}.tc-lesson-card .title{font-family:var(--serif);color:var(--ink);font-size:22px;font-weight:600}.tc-lesson-card .blurb{font-family:var(--serif);color:var(--ink-3);margin:4px 0 10px;font-size:14.5px}.tc-lesson-card .title-row{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.tc-lesson-card .chips{flex-wrap:wrap;gap:8px;display:flex}.tc-lesson-card .right{text-align:right}.tc-lesson-card .right .pct{font-family:var(--mono);color:var(--ink-3);margin-top:8px;font-size:11px}.tc-mark-done{border-top:1px solid var(--rule);justify-content:center;margin:48px 0 0;padding:24px 0;display:flex}.tc-hamburger{z-index:30;background:var(--paper);border:1px solid var(--rule);cursor:pointer;border-radius:8px;padding:8px 10px;display:none;position:fixed;top:12px;left:12px}@media (width<=768px){.tc-rail{z-index:25;width:85%;max-width:340px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.tc-rail.mobile-open{transform:translate(0);box-shadow:18px 0 48px -24px #0006}.tc-hamburger{display:inline-flex}.tc-topbar{padding:18px 16px 18px 60px}.tc-topbar .indef{display:none}.tc-home-header{padding:26px 20px 14px}.tc-home-header h1{font-size:30px}.tc-home-body{padding:24px 20px 160px}.tc-read{padding:36px 20px 160px}.tc-read h1.title{font-size:34px}.tc-prose h2{font-size:20px}.tc-chat,.tc-meeting{width:100%;max-width:100%}.tc-meeting-body .notes-grid{grid-template-columns:1fr;gap:24px;padding:24px 20px 80px}.tc-mn-jump{order:-1;position:static}.tc-meeting-head{padding:56px 20px 0}.tc-meeting-head .close{top:14px}.tc-meeting-head .title{font-size:22px}.tc-mt{padding:24px 20px 80px}.tc-mt-line{grid-template-columns:48px 60px 1fr;gap:8px}.tc-lesson-card{grid-template-columns:40px 1fr}.tc-lesson-card .right{text-align:left;grid-column:1/-1}}.tc-scrim{z-index:1;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease-out);background:#1e161259;position:fixed;inset:0}.tc-scrim.visible{opacity:1;pointer-events:auto}.tc-scrim.front{z-index:20}.tc-submit{animation:tc-swap-in var(--dur) var(--ease-out)}@keyframes tc-swap-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tc-feedback{max-width:100%;font-family:var(--sans);color:var(--ink);line-height:1.65}.tc-feedback .tc-feedback-intro{color:var(--ink-2);margin:8px 0 32px;font-size:15px}.tc-fb-section{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);margin:0 -28px 24px;padding:28px}@media (width<=720px){.tc-fb-section{margin:0 -16px 24px;padding:20px 16px}}.tc-fb-section>h2{font-family:var(--serif);letter-spacing:-.01em;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 6px;font-size:22px;display:flex}.tc-fb-section>h2 .num{display:none}.tc-fb-section .sub{color:var(--ink-3);margin:0 0 18px;font-size:14.5px}.tc-fb-section h3{font-family:var(--sans);letter-spacing:-.005em;margin:24px 0 10px;font-size:15px;font-weight:700}.tc-fb-section p{margin:10px 0}.tc-fb-section p code,.tc-feedback .file-ref{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule-soft);color:var(--ink-2);border-radius:4px;padding:1px 5px;font-size:.85em}.tc-fb-badge{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:700;font-family:var(--sans);white-space:nowrap;border-radius:999px;padding:3px 9px;display:inline-block}.tc-fb-badge.bug{color:var(--err);background:var(--err-wash)}.tc-fb-badge.refactor{color:var(--accent-ink);background:var(--accent-wash)}.tc-fb-badge.structure{color:oklch(38% .1 145);background:oklch(94% .04 145)}.tc-fb-badge.hygiene{color:var(--ink-3);background:var(--paper-2)}.tc-fb-callout{background:var(--accent-wash);border-left:3px solid var(--accent);color:var(--ink-2);border-radius:0 8px 8px 0;max-width:100%;margin:16px 0;padding:14px 18px;font-size:14.5px}.tc-fb-callout strong{color:var(--accent-ink)}.tc-fb-callout p{max-width:none;margin:6px 0}.tc-fb-callout p:first-child{margin-top:0}.tc-fb-callout p:last-child{margin-bottom:0}.tc-fb-code{color:#e6e6e6;font-family:var(--mono);background:#1f1f1f;border-radius:8px;max-width:100%;margin:0;padding:14px 0;font-size:12.5px;line-height:1.55;overflow-x:auto}.tc-fb-code code{min-width:max-content;font-family:inherit;display:block}.tc-fb-line{white-space:pre;border-left:3px solid #0000;padding:0 16px;display:block}.tc-fb-line.hl{border-left-color:var(--accent);background:#b8541f29}.tc-fb-code .hljs-keyword,.tc-fb-code .hljs-built_in{color:#ff9ec3}.tc-fb-code .hljs-string{color:#c3e88d}.tc-fb-code .hljs-number{color:#f78c6c}.tc-fb-code .hljs-comment{color:#889;font-style:italic}.tc-fb-code .hljs-title,.tc-fb-code .hljs-title.function_,.tc-fb-code .hljs-function .hljs-title{color:#82aaff}.tc-fb-code .hljs-attr,.tc-fb-code .hljs-property{color:#ffcb6b}.tc-fb-code .hljs-params{color:#e6e6e6}.tc-fb-code .hljs-literal,.tc-fb-code .hljs-variable.language_{color:#c792ea}.tc-fb-code .hljs-meta{color:#80cbc4}.tc-fb-grid{align-items:start;gap:14px;margin:14px 0;display:grid}.tc-fb-grid.count-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.tc-fb-grid.count-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.tc-fb-grid-cell{min-width:0}.tc-fb-col-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:6px;font-size:11px}.tc-fb-table{border-collapse:separate;border-spacing:0;border:1px solid var(--rule);table-layout:fixed;border-radius:8px;width:100%;margin:14px 0;font-size:13.5px;overflow:hidden}.tc-fb-table th{background:var(--paper-2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);text-align:left;border-bottom:1px solid var(--rule);padding:10px 12px;font-size:10.5px;font-weight:700}.tc-fb-table td{border-bottom:1px solid var(--rule-soft);vertical-align:top;word-wrap:break-word;padding:12px}.tc-fb-table tr:last-child td{border-bottom:0}.tc-fb-table tr.bug td{background:var(--err-wash)}.tc-fb-table tr.ok td{background:oklch(96% .03 145)}.tc-fb-table .mono{font-family:var(--mono);font-size:12.5px;font-weight:600}.tc-fb-table .status{font-weight:700;font-family:var(--mono);font-size:12.5px}.tc-fb-table tr.bug .status.actual{color:var(--err)}.tc-fb-table tr.ok .status.actual{color:var(--ok)}.tc-fb-table .note{color:var(--ink-3);font-size:11.5px;font-family:var(--sans);margin-top:4px;font-weight:400;display:block}.tc-fb-table .mark{margin-left:6px;font-weight:700}.tc-fb-table .mark.bad{color:var(--err)}.tc-fb-table .mark.good{color:var(--ok)}@media (width<=720px){.tc-fb-table{font-size:12.5px}.tc-fb-table th,.tc-fb-table td{padding:8px}}.tc-fb-step{grid-template-columns:32px 1fr;align-items:start;gap:14px;margin:16px 0;display:grid}.tc-fb-step .num{background:var(--accent);width:28px;height:28px;color:var(--paper);font-size:13px;font-weight:700;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.tc-fb-step .body{min-width:0}.tc-fb-step .body p:first-child{margin-top:4px}.tc-fb-tree{font-family:var(--mono);color:#d6d0c4;white-space:pre;background:#1f1f1f;border-radius:8px;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow-x:auto}.tc-fb-tree .add{color:#a5d6a7;font-weight:700}.tc-fb-tree .dim{color:#7a766c}.tc-fb-diagram{background:var(--paper-2);border:1px solid var(--rule-soft);text-align:center;border-radius:8px;margin:12px 0 18px;padding:16px}.tc-fb-diagram svg{max-width:100%;height:auto;margin:0 auto;display:block}.auth-frame{background:var(--bg);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-frame:before{content:"";background:repeating-linear-gradient(0deg, transparent 0 27px, color-mix(in oklch, var(--rule-soft) 60%, transparent) 27px 28px);opacity:.45;pointer-events:none;position:absolute;inset:0}.auth-foot{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;z-index:3;justify-content:center;align-items:center;gap:14px;font-size:10.5px;display:flex;position:absolute;bottom:22px;left:0;right:0}.auth-foot .dot{color:var(--accent)}.auth-corner{font-family:var(--mono);color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;z-index:3;align-items:center;gap:12px;font-size:10.5px;display:flex;position:absolute;top:28px;left:32px}.auth-corner .dot{color:var(--accent)}.acc{display:block}.acc .bar{fill:var(--ink)}.acc .bar.accent{fill:var(--accent)}.acc .baseline{stroke:var(--ink-4);stroke-width:.6px}.acc.splash .bar{animation:1.6s ease-out both bar-rise}.acc.splash .bar.b1{animation-delay:0s}.acc.splash .bar.b2{animation-delay:.12s}.acc.splash .bar.b3{animation-delay:.24s}.acc.splash .bar.b4{animation-delay:.36s}.acc.splash .bar.b5{animation-delay:.48s}.acc.splash .bar.accent{animation:1.6s ease-out both bar-rise,2.4s ease-in-out 1.6s infinite accent-pulse}.acc.splash .bar.b5{animation:1.6s ease-out both bar-rise,2.4s ease-in-out 1.7s infinite accent-pulse}.acc.splash .baseline{animation:1.2s ease-out both base-draw}@keyframes bar-rise{0%{transform-origin:bottom;opacity:0;transform:scaleY(0)}to{transform-origin:bottom;opacity:1;transform:scaleY(1)}}@keyframes accent-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes base-draw{0%{stroke-dashoffset:100px;stroke-dasharray:100}to{stroke-dashoffset:0;stroke-dasharray:100}}.auth-card{background:var(--paper);border:1px solid var(--rule);width:380px;box-shadow:0 1px 0 var(--rule), 0 20px 60px -32px #1f1a1640;z-index:2;border-radius:10px;padding:36px 36px 28px;position:relative}.auth-card:before{content:"";background:var(--accent);opacity:.85;border-radius:0 0 2px 2px;height:2px;position:absolute;top:-1px;left:36px;right:36px}.auth-mark{flex-direction:column;align-items:center;gap:14px;margin-bottom:26px;display:flex}.auth-mark .wordmark{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:600}.auth-title{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;font-size:22px;font-weight:600}.auth-sub{font-family:var(--serif);color:var(--ink-3);margin:0 0 22px;font-size:14px;line-height:1.5}.auth-sub em{color:var(--ink-2);font-style:italic}.field{margin-bottom:14px}.field .label{font-family:var(--mono);color:var(--ink-3);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:10.5px;display:flex}.field .label .hint{font-family:var(--mono);color:var(--ink-4);text-transform:none;letter-spacing:.04em;align-items:center;gap:4px;font-size:10px;display:inline-flex}.field .label .hint .lock{width:9px;height:11px;display:inline-block;position:relative}.field .label .hint .lock:before{content:"";background:var(--ink-4);border-radius:1px;height:6px;position:absolute;bottom:0;left:1px;right:1px}.field .label .hint .lock:after{content:"";border:1.2px solid var(--ink-4);border-bottom:0;border-radius:5px 5px 0 0;height:5px;position:absolute;top:0;left:2px;right:2px}.auth-input{font-family:var(--mono);background:var(--paper);color:var(--ink);border:1px solid var(--rule);width:100%;min-height:40px;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:6px;outline:none;padding:10px 12px;font-size:13px;display:block}.auth-input::placeholder{color:var(--ink-4)}.auth-input.locked{background:var(--paper-2);color:var(--ink-2);border-color:var(--rule);cursor:not-allowed}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent)}.auth-input.error{border-color:var(--err);background:var(--err-wash)}.error-msg{font-family:var(--sans);color:var(--err);align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.error-msg:before{content:"";background:var(--err);border-radius:50%;width:4px;height:4px;display:inline-block}.auth-actions{flex-direction:column;gap:8px;margin-top:22px;display:flex}.auth-btn{font-family:var(--sans);background:var(--paper);color:var(--ink);border:1px solid var(--rule);cursor:pointer;min-height:40px;transition:background var(--dur) var(--ease);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.auth-btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 1px #000}.auth-btn.primary.accent{background:var(--accent);color:#fff8ee;border-color:color-mix(in oklch, var(--accent) 60%, #000);box-shadow:0 1px 0 color-mix(in oklch, var(--accent) 60%, #000)}.auth-btn.primary.accent:hover:not(:disabled){background:var(--accent-2)}.auth-btn:disabled{opacity:.55;cursor:not-allowed}.auth-btn .return{font-family:var(--mono);opacity:.7;margin-left:2px;font-size:11px}.spin{border:2px solid color-mix(in oklch, var(--paper) 40%, transparent);border-top-color:var(--paper);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.splash-stage{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex}.splash-name{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:22px;font-weight:600}.splash-status{font-family:var(--mono);color:var(--ink-3);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:10px;margin-top:6px;font-size:11px;display:flex}.splash-status .dots-anim:after{content:"";animation:1.4s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.rail-splash{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:10px;font-size:11.5px;display:inline-flex}
