.ctf-desk{background:var(--terminal-bg);width:100%;height:100%;min-height:0;color:var(--nd-ink);flex-direction:column;display:flex}.ctf-desk-tabs{border-bottom:1px solid var(--nd-border);background:color-mix(in srgb, var(--nd-ink) 5%, var(--nd-bg));flex-shrink:0;align-items:stretch;gap:2px;height:31px;padding-left:30px;display:flex}.ctf-desk-tabs [role=tab]{text-overflow:ellipsis;white-space:nowrap;border:0;border-right:1px solid color-mix(in srgb, var(--nd-ink) 8%, var(--nd-bg) 12%);max-width:340px;color:var(--nd-muted);font:11px var(--font-mono);cursor:pointer;background:0 0;padding:6px 12px;overflow:hidden}.ctf-desk-tabs [role=tab][aria-selected=true]{color:var(--nd-ink);background:color-mix(in srgb, var(--nd-ink) 16%, var(--nd-bg));box-shadow:inset 0 2px var(--nd-accent)}.ctf-desk-page{flex:1;justify-content:center;min-height:0;display:flex;overflow:auto}.ctf-desk-document{zoom:1.2;width:100%;max-width:620px;height:100%;overflow:hidden}.ctf-desk-page:has(>.ctf-desk-document){overflow:hidden}.ctf-outline{width:100%;max-width:760px;padding:18px 24px 32px;font-size:13px;line-height:1.55}.ctf-outline-head{align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.ctf-outline-head>div{flex:1;min-width:0}.ctf-outline-head h2{color:var(--nd-ink);margin:0 0 2px;font-size:17px;font-weight:600}.ctf-outline-head p{color:var(--nd-muted);margin:0}.ctf-outline code{font:inherit;color:var(--nd-accent)}.ctf-outline-all{border:1px solid var(--nd-border-strong);color:var(--nd-ink);cursor:pointer;background:0 0;flex-shrink:0;padding:4px 10px}.ctf-outline-next{text-align:left;border:1px solid color-mix(in srgb, var(--nd-accent) 45%, transparent);background:var(--nd-glow);width:100%;color:var(--nd-ink);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 18px;padding:10px 12px;display:flex}.ctf-outline-next span{color:var(--nd-muted)}.ctf-outline-next strong{color:var(--nd-accent);font-weight:600}.ctf-outline-next code{color:var(--nd-faint);margin-left:auto;font-size:11px}.ctf-outline-group{margin-bottom:18px}.ctf-outline-group h3{border-bottom:1px solid var(--nd-border);color:var(--nd-muted);margin:0 0 4px;padding-bottom:4px;font-size:12px;font-weight:600}.ctf-module{border-bottom:1px solid color-mix(in srgb, var(--nd-ink) 6%, transparent);padding:2px 0 6px}.ctf-module-row{width:100%;color:var(--nd-ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:6px 4px 2px;display:flex}.ctf-module-caret{width:1em;color:var(--nd-faint);font-size:11px}.ctf-module-name{flex:1;min-width:0;font-weight:600}.ctf-module-meter{background:color-mix(in srgb, var(--nd-ink) 12%, transparent);flex-shrink:0;width:84px;height:4px}.ctf-module-meter>span{background:var(--nd-accent);height:100%;display:block}.ctf-module-count{text-align:right;width:3.5em;color:var(--nd-faint);font-variant-numeric:tabular-nums;flex-shrink:0}.ctf-module[data-complete] .ctf-module-count{color:var(--nd-accent)}.ctf-module-about{color:var(--nd-muted);margin:0 0 2px;padding-left:calc(1em + 14px);font-size:12px}.ctf-case-list{margin:4px 0 2px;padding:0 0 0 calc(1em + 10px);list-style:none}.ctf-case-list button{width:100%;color:var(--nd-ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:3px 6px;display:flex}.ctf-case-list button[data-current]{background:var(--nd-selected)}.ctf-case-mark{width:1em;color:var(--nd-faint)}.ctf-case-mark[data-done]{color:var(--nd-accent)}.ctf-case-name{flex:1;min-width:0}.ctf-case-stage{color:var(--nd-faint);font-size:11px}.ctf-outline button:hover:not(:disabled){background:var(--nd-hover)}.ctf-outline button:focus-visible,.ctf-desk-tabs [role=tab]:focus-visible{outline:1px solid var(--nd-accent);outline-offset:-1px}.ctf-notes{background:var(--terminal-bg);flex-direction:column;flex:1;min-height:0;display:flex}.ctf-notes textarea{resize:none;width:100%;min-height:0;color:var(--terminal-fg);font:12px/1.6 var(--font-mono);caret-color:var(--terminal-cursor);background:0 0;border:0;outline:0;flex:1;margin:0;padding:10px 12px}.ctf-notes textarea::placeholder{color:var(--nd-faint)}.ctf-notes-status{border-top:1px solid var(--nd-border);background:color-mix(in srgb, var(--nd-ink) 5%, var(--nd-bg));color:var(--nd-faint);white-space:nowrap;flex-shrink:0;gap:12px;padding:3px 10px;font-size:10.5px;display:flex;overflow:hidden}.ctf-notes-status>span:first-child{text-overflow:ellipsis;min-width:0;color:var(--nd-muted);flex:1;overflow:hidden}.ctf-notes-status [data-warn]{color:var(--nd-warn)}.ctf-desk-actions{flex-shrink:0}.ctf-desk-actions .nd-game-actions{margin:0}