:root{--bg: #faf9f5;--surface: #ffffff;--surface-2: #f2f0e9;--text: #1f1e1b;--text-2: #5c594f;--text-3: #8a8679;--primary: #c15f3c;--primary-ink: #ffffff;--accent: #3c6e71;--danger: #b3392b;--warn: #9a6b00;--ok: #3f6b3f;--border: #e4e0d6;--focus: 0 0 0 3px rgba(60, 110, 113, .35);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-full: 999px;--fs-xs: 12px;--fs-sm: 14px;--fs-md: 16px;--fs-lg: 20px;--fs-xl: 26px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 6px 20px rgba(0, 0, 0, .1);--font: system-ui, -apple-system, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "JetBrains Mono", monospace;--safe-bottom: env(safe-area-inset-bottom, 0px);--content-pad: 16px;--tab-h: 76px;--fab-size: 56px;--fab-gap: 16px;--fab-safe: calc(var(--fab-size) + var(--fab-gap) * 2)}[data-theme=nebula]{--bg: #1a1915;--surface: #232219;--surface-2: #2c2a20;--text: #f5f3ec;--text-2: #b7b3a6;--text-3: #8a8679;--primary: #e08a63;--primary-ink: #1a1915;--accent: #6fb3b7;--danger: #e5675a;--warn: #e0a93b;--ok: #79b079;--border: #3a382c;--shadow-1: 0 1px 2px rgba(0, 0, 0, .3);--shadow-2: 0 6px 20px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-md);line-height:1.5;overflow-wrap:anywhere}h1,h2,h3,h4{line-height:1.3;margin:0 0 8px}a{color:var(--accent);text-decoration:none}code,.mono{font-family:var(--mono);font-size:.9em}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--r-sm)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{min-height:100dvh;padding-bottom:calc(var(--tab-h) + var(--safe-bottom))}.shell-bare{display:flex;align-items:center;justify-content:center;padding:24px 16px}.shell-topright{position:fixed;top:12px;right:12px}.content{max-width:1080px;margin:0 auto;padding:var(--content-pad);padding-bottom:calc(var(--tab-h) + var(--fab-safe) + var(--safe-bottom) + 16px)}.content-bare{width:100%;max-width:420px;padding:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.page-title{font-size:var(--fs-xl);margin:0}.section-title{font-size:var(--fs-lg);margin:24px 0 12px}.crumb{margin:0 0 4px}.sidebar{display:none}.tabbar{position:fixed;inset:auto 0 0;display:flex;background:var(--surface);border-top:1px solid var(--border);padding-left:var(--content-pad);padding-right:var(--content-pad);padding-bottom:var(--safe-bottom);z-index:20}.tab{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--text-2);font-size:var(--fs-sm)}.tab-on{color:var(--accent);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}.fab{position:fixed;right:var(--fab-gap);bottom:calc(var(--tab-h) + var(--safe-bottom));width:var(--fab-size);height:var(--fab-size);border-radius:var(--r-full);background:var(--primary);color:var(--primary-ink);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:var(--shadow-2);z-index:21}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow-1);color:var(--text)}.list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.task-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-wrap:wrap}.task-id{font-family:var(--mono);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.task-card,.task-card-head>*,.card{min-width:0}.metrics-block{display:block;grid-column:1 / -1}.list.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.nowrap-words{word-break:keep-all}.task-oneliner{margin:0 0 6px}.task-meta{margin:0}.muted{color:var(--text-2)}.tiny{font-size:var(--fs-xs)}.tag-warn{color:var(--warn)}.sync-line{margin:8px 0 12px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--r-full);font-size:var(--fs-xs);border:1px solid currentColor;white-space:nowrap;min-width:0;max-width:100%;flex-shrink:1;overflow:hidden;text-overflow:ellipsis}.task-card-badges{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;align-items:center;justify-content:flex-end}.badge-accent{color:var(--accent)}.badge-ok{color:var(--ok)}.badge-danger{color:var(--danger)}.badge-warn{color:var(--warn)}.badge-muted{color:var(--text-3)}.btn{min-height:44px;padding:10px 16px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--fs-md);font-family:inherit;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:600}.btn-ghost{background:transparent}.btn-sm{min-height:40px;padding:8px 12px;font-size:var(--fs-sm)}.btn-icon{min-height:44px;width:44px;border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-1)}.linklike{background:none;border:none;color:var(--accent);padding:8px 0;font:inherit;cursor:pointer;min-height:44px}.chip{min-height:44px;padding:6px 12px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.chip-on{border-color:var(--accent);color:var(--accent);font-weight:600}.chip-count{font-size:var(--fs-xs);color:var(--text-3)}.filter-row{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px;margin-bottom:8px}.filter-row>*{flex:0 0 auto;white-space:nowrap}.inline-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.inline-link:hover{text-decoration-thickness:2px}.theme-switch{display:flex;gap:8px;flex-wrap:wrap}.form{display:grid;gap:12px}.field{display:grid;gap:6px}.field-label{font-size:var(--fs-sm);color:var(--text-2)}.input{min-height:44px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--fs-md);width:100%}.textarea{min-height:96px;resize:vertical;line-height:1.5}.switch-row{display:flex;align-items:center;gap:10px;min-height:44px}.row-2{display:grid;gap:12px;grid-template-columns:1fr 1fr}.login-card{width:100%;max-width:420px}.state{border-radius:var(--r-lg);padding:20px 16px;border:1px dashed var(--border);background:var(--surface);display:grid;gap:8px;justify-items:start}.state-title{margin:0;font-weight:600}.state-error{border-style:solid;border-color:var(--danger)}.err-code{margin:0;font-size:var(--fs-sm)}.err-code code{color:var(--danger);font-weight:600}.skeleton{display:grid;gap:12px}.skeleton-row{height:64px;border-radius:var(--r-lg);background:linear-gradient(90deg,var(--surface-2),var(--surface),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.banner{margin:0 0 12px;padding:10px 12px;border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--surface-2);border:1px solid var(--border)}.banner-warn{color:var(--warn);border-color:var(--warn)}.banner-info{color:var(--text-2)}.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-bottom));transform:translate(-50%);padding:10px 16px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);font-size:var(--fs-sm);z-index:30;max-width:90vw}.toast-ok{color:var(--ok);border-color:var(--ok)}.toast-error{color:var(--danger);border-color:var(--danger)}.kv{display:grid;grid-template-columns:88px 1fr;gap:6px 12px;margin:12px 0 0;font-size:var(--fs-sm)}.kv dt{color:var(--text-2)}.kv dd{margin:0}.live-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.session-row{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.session-row:last-child{border-bottom:none}.timeline{list-style:none;margin:0;padding:0;display:grid;gap:12px}.timeline-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.seq{font-family:var(--mono);font-size:var(--fs-sm);color:var(--text-2)}.readback{margin:8px 0 0;padding-top:8px;border-top:1px dashed var(--border)}.stack>*{min-width:0}.question-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.question-text{margin:0;font-size:var(--fs-md)}.option-list{display:flex;gap:8px;flex-wrap:wrap}.section-panel{border:1px solid var(--border);border-radius:var(--r-md);padding:8px 12px;background:var(--surface)}.section-panel summary{cursor:pointer;font-weight:600;min-height:36px;display:flex;align-items:center}.detail-grid{display:grid;gap:0}.md-body{display:grid;gap:8px;font-size:var(--fs-md)}.md-clamped{max-height:360px;overflow:hidden}.md-body p{margin:0}.md-body ul,.md-body ol{margin:0;padding-left:20px}.md-code{background:var(--surface-2);padding:1px 5px;border-radius:var(--r-sm)}.md-pre{margin:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px;overflow-x:auto;font-family:var(--mono);font-size:var(--fs-sm)}.md-body blockquote{margin:0;padding-left:12px;border-left:3px solid var(--border);color:var(--text-2)}.md-link{text-decoration:underline}.table-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}.md-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:var(--fs-sm)}.md-table th,.md-table td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top;white-space:nowrap}.md-table th{background:var(--surface-2);font-weight:600}.md-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 55%,transparent)}@media(min-width:641px){.content{padding:24px}.list{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{grid-template-columns:1fr 1fr}.stack>.section-panel:has(.table-scroll){grid-column:1 / -1}}@media(min-width:1025px){.shell{padding-bottom:0}.sidebar{display:block;position:fixed;top:0;left:0;bottom:0;width:240px;padding:24px 16px;background:var(--surface);border-right:1px solid var(--border);z-index:10}.brand{font-weight:700;font-size:var(--fs-lg);margin:0 0 16px}.sidebar-nav{display:grid;gap:4px}.sidebar-nav .tab{justify-content:flex-start;padding:0 12px;min-height:44px;border-radius:var(--r-md)}.sidebar-nav .tab-on{box-shadow:none;background:var(--surface-2)}.content{margin-left:240px;max-width:1080px;padding:32px 24px}.content-bare{margin-left:0;max-width:420px}.tabbar,.fab{display:none}.list{grid-template-columns:1fr}.stack{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:24px;align-items:start}}.page-head .btn,.row-2>.btn,.question-card .btn,.filter-row>*,.tabbar a,.fab{min-height:44px}.fab{min-width:44px;min-height:44px}.inline-link{padding:10px 2px}.chip{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.tag-warn{max-width:100%;overflow-wrap:anywhere}.task-oneliner,.task-meta,.task-progress-line,.kv dd,.page-title,.section-title{overflow-wrap:anywhere;word-break:break-word}.kv dd{min-width:0}.pull-hint{margin:0 0 8px;min-height:20px;transition:color .12s ease}.pull-hint[data-active=true]{color:var(--accent);font-weight:600}.task-progress-line{margin:6px 0 0;white-space:normal;word-break:break-word}.section-title.small{font-size:var(--fs-sm);margin:4px 0 0}
