:root{--surface:#fff;--surface-raised:#f5f6f8;--ink:#14171c;--ink-2:#3a4049;--muted:#646b76;--line:#e6e8ec;--gold:#a8862f;--gold-ink:#7a5f1c;--gold-soft:#f7f1e1;--steel:#12151a;--on-steel:#f1f2f4;--gold-on-steel:#d4b25c;--action:#14171c;--on-action:#fff;--focus-ring:var(--gold-ink);--critical:#b42318;--critical-soft:#fdecea;--notice:#3a4a63;--notice-soft:#eef2f7;--ok:#15803d;--ok-soft:#e9f6ee;--shadow-shot:0 1px 2px #14171c0f, 0 18px 44px #14171c1f;--radius-sharp:4px;--radius-pill:99px;--font-sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--action-hover:#2b3038;--ink-hover:#2b3038;--faint:#7c838e;--placeholder:#9aa0aa;--disabled:#c3c8d0;--disabled-2:#9aa0aa;--stage:#eceef1;--stage-2:#f5f6f8;--track:#eceef1;--selected:#eceef1;--row-hover:#f5f6f8;--line-input:#dfe2e7;--line-soft:#eceef1;--line-softer:#f1f2f4;--notice-line:#a9b8cf;--dot-open:var(--notice);--dot-ready:var(--ink);--dot-issued:var(--ok);--dot-error:var(--critical);--highlight:#e0a100;--shadow-menu:var(--shadow-shot);--shadow-modal:var(--shadow-shot);--shadow-page:var(--shadow-shot);--img-outline:1px solid #14171c1a}html,body,#root{height:100%;margin:0}body{background:var(--surface);font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:var(--ink)}a:hover{color:var(--action-hover)}button,input,textarea{color:inherit;font-family:inherit}textarea{resize:none}::placeholder{color:var(--placeholder)}.mono{font-family:var(--font-mono)}.btn{border-radius:var(--radius-sharp);border:1px solid var(--line-input);background:var(--surface);cursor:pointer;white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:8px;height:32px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-raised);border-color:var(--ink)}.btn:active,.btn-primary:active{transform:scale(.98)}.btn:focus-visible,.btn-primary:focus-visible,.btn-ghost:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn-primary{border-radius:var(--radius-sharp);background:var(--action);height:32px;color:var(--on-action);cursor:pointer;white-space:nowrap;border:none;flex:none;padding:0 14px;font-size:13px;font-weight:500}.btn-primary:hover{background:var(--action-hover)}.btn-primary:disabled{background:var(--line);color:var(--disabled-2);cursor:not-allowed}.btn-ghost{border-radius:var(--radius-sharp);cursor:pointer;white-space:nowrap;height:32px;color:var(--muted);background:0 0;border:none;padding:0 10px;font-size:13px;font-weight:500}.btn-ghost:hover{background:var(--track)}.btn-danger{border-radius:var(--radius-sharp);height:32px;color:var(--critical);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0 10px;font-size:13px;font-weight:500}.btn-danger:hover{background:var(--critical-soft)}.btn-sm{border-radius:var(--radius-sharp);height:30px;padding:0 12px;font-size:12.5px}.btn-lg{height:34px}.seg{background:var(--track);border-radius:var(--radius-sharp);flex:none;padding:2px;font-size:12.5px;font-weight:500;display:flex}.seg>span{border-radius:var(--radius-sharp);cursor:pointer;white-space:nowrap;color:var(--muted);padding:5px 12px}.seg>span.on{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line-input)}.seg.fill>span{text-align:center;flex:1;padding:5px 8px}.toggle{border-radius:var(--radius-sharp);background:var(--disabled);flex:none;width:30px;height:18px;position:relative}.toggle.on{background:var(--action)}.toggle:after{content:"";background:var(--surface);border-radius:2px;width:14px;height:14px;transition:left .12s;position:absolute;top:2px;left:2px}.toggle.on:after{left:14px}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;font-size:13.5px;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.label{color:var(--muted);font-size:12px;font-weight:500}.input{box-sizing:border-box;border:1px solid var(--line-input);border-radius:var(--radius-sharp);background:var(--surface);width:100%;height:36px;color:var(--ink);outline:none;padding:0 11px;font-size:14px}.input:focus{border-color:var(--ink);outline:2px solid var(--focus-ring);outline-offset:2px}.input[readonly]{background:var(--surface-raised)}.input-sm{height:32px;font-size:13px}.search{box-sizing:border-box;border:1px solid var(--line-input);border-radius:var(--radius-sharp);background:var(--surface);outline:none;height:32px;padding:0 11px;font-size:13px}.search:focus{border-color:var(--ink);outline:2px solid var(--focus-ring);outline-offset:2px}.textarea{box-sizing:border-box;border:1px solid var(--line-input);border-radius:var(--radius-sharp);color:var(--ink);background:var(--surface);outline:none;width:100%;padding:9px 11px;font-size:13.5px;line-height:1.45}.textarea:focus{border-color:var(--ink);outline:2px solid var(--focus-ring);outline-offset:2px}.textarea[readonly]{background:var(--surface-raised)}.readonly-box{box-sizing:border-box;border-radius:var(--radius-sharp);background:var(--surface-raised);align-items:center;height:36px;padding:0 11px;display:flex}.hint{color:var(--faint);font-size:12px;line-height:1.5}.ref-chip{border-radius:var(--radius-sharp);border:1px solid var(--line);background:var(--surface);height:24px;font:500 11.5px var(--font-mono);color:var(--ink);align-items:center;gap:6px;padding:0 8px;display:flex}.ref-chip .k{color:var(--faint);font-family:var(--font-sans);font-weight:400}.ref-chip .x{color:var(--placeholder);font-family:var(--font-sans);cursor:pointer}.ref-chip .x:hover{color:var(--ink)}.tag{border-radius:var(--radius-sharp);background:var(--track);align-items:center;gap:6px;height:26px;padding:0 10px;font-size:12.5px;display:flex}.tag .x{color:var(--faint);cursor:pointer}.tag .x:hover{color:var(--ink)}.tag-input{box-sizing:border-box;border-radius:var(--radius-sharp);background:0 0;border:1px dashed #d4d4da;outline:none;width:96px;height:26px;padding:0 10px;font-size:12.5px}.tag-input:focus{border-style:solid;border-color:var(--action)}.mini-tag{border-radius:var(--radius-sharp);background:var(--track);height:20px;color:var(--ink-2);flex:none;align-items:center;padding:0 8px;font-size:11.5px;display:flex}.badge{border-radius:var(--radius-sharp);flex:none;align-items:center;height:20px;padding:0 8px;font-size:11.5px;font-weight:500;display:flex}.badge-outline{border-radius:var(--radius-sharp);border:1px solid var(--line);height:20px;color:var(--ink-2);flex:none;align-items:center;padding:0 8px;font-size:11.5px;display:flex}.pill-issued{border-radius:var(--radius-pill);background:var(--ok-soft);height:22px;color:var(--ok);flex:none;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:500;display:flex}.pill-draft{border-radius:var(--radius-pill);background:var(--notice-soft);height:22px;color:var(--notice);flex:none;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:flex}.choice{border-radius:var(--radius-sharp);cursor:pointer;background:var(--track);height:28px;color:var(--ink-2);align-items:center;padding:0 11px;font-size:12.5px;display:flex}.choice.on{background:var(--action);color:var(--on-action)}.link{color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px;font-size:12.5px;font-weight:500}.menu{z-index:6;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sharp);box-shadow:var(--shadow-menu);cursor:default;flex-direction:column;padding:4px;display:flex;position:absolute;right:0}.menu-item{border-radius:var(--radius-sharp);cursor:pointer;padding:8px 10px;font-size:13px}.menu-item:hover{background:var(--stage-2)}.menu-item.danger{color:var(--critical)}.menu-item.danger:hover{background:var(--critical-soft)}.menu-sep{background:var(--line-soft);height:1px;margin:4px 6px}.scrim{z-index:5;position:fixed;inset:0}.backdrop{z-index:30;background:#14171c52;place-items:center;display:grid;position:absolute;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sharp);box-shadow:var(--shadow-modal);flex-direction:column;max-height:92vh;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--line-soft);box-sizing:border-box;flex:none;justify-content:space-between;align-items:center;gap:10px;height:56px;padding:0 22px;display:flex}.modal-title{letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-x{color:var(--faint);cursor:pointer;padding:4px 8px;font-size:20px}.modal-foot{border-top:1px solid var(--line-soft);flex:none;align-items:center;gap:8px;padding:14px 22px;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);box-sizing:border-box;flex:none;align-items:center;gap:10px;min-width:0;height:52px;display:flex}.logo{width:22px;height:22px;color:var(--ink);flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.vsep{background:var(--line);flex:none;width:1px;height:20px;margin:0 4px}.thumb{aspect-ratio:16/10;position:relative;overflow:hidden}.img-cover{object-fit:cover;object-position:top left;outline:var(--img-outline);outline-offset:-1px;width:100%;height:100%;display:block}.img-fit{display:flex;position:absolute;inset:0}.img-fit img{outline:var(--img-outline);outline-offset:-1px;width:auto;max-width:100%;height:auto;max-height:100%;display:block}.ext-tile{font:500 12px var(--font-mono);color:var(--muted);place-items:center;display:grid;position:absolute;inset:0}.err-tile{color:var(--critical);place-items:center;font-size:18px;font-weight:600;display:grid;position:absolute;inset:0}.row{border-radius:var(--radius-sharp);cursor:pointer;grid-template-columns:14px 44px 120px minmax(0,1fr);align-items:center;gap:14px;padding:10px 12px;display:grid}.row:hover{background:var(--row-hover)}.row.sel{background:var(--selected);box-shadow:inset 2px 0 0 var(--gold)}.row.over{box-shadow:inset 0 2px 0 var(--action)}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropzone-inline{border:1.5px dashed var(--disabled);border-radius:var(--radius-sharp);min-height:52px;color:var(--faint);cursor:pointer;flex:none;justify-content:center;align-items:center;margin:8px 12px 0;font-size:13px;display:flex}.dropzone-inline:hover{border-color:var(--placeholder);color:var(--muted)}.inplace{border-radius:var(--radius-sharp);color:var(--ink);background:0 0;border:none;outline:none}.inplace:hover{background:var(--row-hover)}.inplace:focus{outline:2px solid var(--focus-ring);outline-offset:2px}.inline-name{border-radius:var(--radius-sharp);color:var(--ink);text-overflow:ellipsis;background:0 0;border:none;outline:none;margin-left:-6px;padding:5px 6px;font-size:14px}.inline-name:hover,.inline-name:focus{background:var(--stage-2)}.handle{box-sizing:border-box;background:var(--surface);border:1.5px solid var(--action);border-radius:2px;width:10px;height:10px;position:absolute}.handle.nw{cursor:nwse-resize;top:-6px;left:-6px}.handle.ne{cursor:nesw-resize;top:-6px;right:-6px}.handle.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.handle.se{cursor:nwse-resize;bottom:-6px;right:-6px}.hover-row:hover{background:var(--row-hover)}.new-client:hover{background:var(--surface-raised)}.banner{background:var(--surface-raised);border-bottom:1px solid var(--line);color:var(--ink-2);flex:none;align-items:center;gap:10px;padding:10px 20px;font-size:13px;display:flex}.crumb{color:var(--muted);cursor:pointer;white-space:nowrap;font-size:14px}.crumb:hover{color:var(--ink)}.pattern-pill{border-radius:var(--radius-sharp);background:var(--track);max-width:260px;height:26px;font:500 11.5px var(--font-mono);color:var(--ink-2);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border:none;padding:0 9px;overflow:hidden}.pattern-pill:hover{background:var(--stage)}.kbd{font:500 11.5px var(--font-mono);border:1px solid var(--line-input);border-radius:var(--radius-sharp);background:var(--surface);color:var(--ink-2);padding:2px 6px}.mark-btn{border-radius:var(--radius-sharp);height:28px;color:var(--on-action);cursor:pointer;background:#14171cd1;border:none;padding:0 10px;font-size:12px;font-weight:500;position:absolute;bottom:8px;right:8px}.mark-btn:hover{background:var(--ink)}.token-chip{box-sizing:border-box;background:var(--surface);color:var(--ink-2);font:inherit;border-radius:var(--radius-sharp);border:1px solid var(--line-input);cursor:pointer;align-items:center;height:26px;padding:0 9px;font-size:12.5px;display:flex}.token-chip:hover{background:var(--surface-raised)}.orient-btn{border-radius:var(--radius-sharp);cursor:pointer;place-items:center;width:24px;height:20px;display:grid}.page-thumb{background:var(--surface);width:100%;box-shadow:0 0 0 1px var(--line-input);border-radius:3px;position:relative;overflow:hidden}.page-thumb:hover{box-shadow:0 0 0 2px var(--action)!important}.ed-link{border-radius:var(--radius-sharp);cursor:pointer;white-space:nowrap;padding:5px 10px}.ed-link:hover{background:var(--track)}.sync-chip{border-radius:var(--radius-sharp);border:1px solid var(--line);min-width:0;max-width:260px;height:22px;color:var(--muted);white-space:nowrap;flex:0 auto;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:flex}.extra-badge{background:var(--track);color:var(--ink-2);border-radius:4px;padding:0 5px;font-weight:500}.picker-btn{box-sizing:border-box;text-align:left;border:1px solid var(--line-input);border-radius:var(--radius-sharp);background:var(--surface);cursor:pointer;height:40px;font:inherit;color:var(--ink);grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;max-width:320px;padding:0 12px;display:grid}.picker-btn:hover{border-color:var(--ink)}.picker-btn.open,.picker-btn:focus-visible{border-color:var(--action);outline:2px solid var(--focus-ring);outline-offset:2px}.picker-cap{color:var(--muted);grid-column:1;font-size:10.5px;font-weight:500;line-height:1.2}.picker-val{grid-column:1;font-size:13.5px;font-weight:500;line-height:1.25}.picker-chev{color:var(--muted);grid-area:1/2/span 2;transition:transform .15s}.picker-btn.field{grid-template-rows:auto;width:100%;max-width:none;height:38px}.picker-btn.field .picker-chev{grid-row:1}.picker-btn.field .picker-val{font-size:14px;font-weight:400}.picker-btn.open .picker-chev{transform:rotate(180deg)}.picker-btn.chip{border-radius:var(--radius-sharp);background:var(--stage-2);border:none;grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr) auto;column-gap:6px;max-width:220px;height:30px;padding:0 9px 0 11px;transition:background .15s}.picker-btn.chip:hover{background:var(--track)}.picker-btn.chip .picker-cap{color:var(--muted);grid-column:1;font-size:12.5px;font-weight:400;line-height:1}.picker-btn.chip .picker-val{grid-column:2;font-size:13px;font-weight:500;line-height:1}.picker-btn.chip .picker-chev{grid-area:1/3}.picker-btn.chip.active{background:var(--surface-raised)}.picker-btn.chip.active .picker-val,.picker-btn.chip.active .picker-chev{color:var(--ink)}.picker-pop{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sharp);box-shadow:var(--shadow-menu);outline:none;flex-direction:column;max-width:calc(100vw - 32px);display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.picker-search{border:none;border-bottom:1px solid var(--line-soft);height:38px;font:inherit;outline:none;padding:0 14px;font-size:13.5px}.picker-list{max-height:320px;padding:4px 6px 6px;overflow:auto}.picker-sec+.picker-sec{border-top:1px solid var(--line-soft);margin-top:4px;padding-top:4px}.picker-title{letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:10px 8px 4px;font-size:10.5px;font-weight:600}.picker-item{border-radius:var(--radius-sharp);cursor:pointer;height:34px;color:var(--ink);align-items:center;gap:8px;padding:0 8px;font-size:13.5px;display:flex}.picker-item.act{background:var(--stage-2)}.picker-item.on{color:var(--ink);font-weight:500}.picker-check{width:14px;color:var(--action);flex:none;place-items:center;display:grid}.picker-meta{font:500 11.5px var(--font-mono);color:var(--faint);flex:none}.picker-empty{color:var(--faint);padding:14px 10px;font-size:13px}.picker-foot{border-top:1px solid var(--line-soft);padding:4px 6px}.rail{box-sizing:border-box;border-right:1px solid var(--line);background:var(--surface-raised);flex-direction:column;flex:none;align-items:center;gap:6px;width:60px;padding:12px 0;display:flex}.rail-logo{all:unset;border-radius:var(--radius-sharp);width:38px;height:38px;color:var(--ink);cursor:pointer;place-items:center;margin-bottom:10px;font-size:14px;font-weight:700;display:grid}.rail-logo:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rail-btn{all:unset;border-radius:var(--radius-sharp);width:40px;height:40px;color:var(--muted);cursor:pointer;place-items:center;transition:background .15s,color .15s;display:grid}.rail-btn:hover{background:var(--track);color:var(--ink)}.rail-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.rail-btn{position:relative}.rail-btn.on{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.rail-btn.on:before{content:"";background:var(--gold);width:2px;position:absolute;top:8px;bottom:8px;left:-10px}.home{flex-wrap:wrap;flex:1;min-width:0;min-height:0;display:flex}.home-list{box-sizing:border-box;background:var(--surface);border-right:1px solid var(--line-soft);flex-direction:column;flex:400px;min-width:0;max-width:460px;min-height:0;max-height:100%;display:flex}.home-pane{background:var(--surface);flex:999 520px;min-width:0;min-height:0;max-height:100%;overflow:auto}@media (width<=960px){.home-list{max-width:none;max-height:none}.home-pane{max-height:none}.home{overflow:auto}}.tabs{border-bottom:1px solid var(--line-soft);gap:18px;display:flex}.tab{all:unset;height:34px;color:var(--muted);cursor:pointer;font-size:13px;font-weight:500;transition:color .15s;position:relative}.tab:hover{color:var(--ink)}.tab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}.tab.on{color:var(--ink)}.tab.on:after{content:"";background:var(--gold);transform-origin:0;height:2px;animation:.25s ease-out tab-grow;position:absolute;bottom:-1px;left:0;right:0}@keyframes tab-grow{0%{transform:scaleX(0)}to{transform:none}}.search-box{border-radius:var(--radius-sharp);background:var(--stage-2);height:36px;color:var(--muted);align-items:center;gap:8px;padding:0 10px;display:flex}.search-box:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px;background:var(--surface)}.search-box input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-size:13.5px}.search-box input::-webkit-search-cancel-button{display:none}.dot{border-radius:50%;flex:none;width:8px;height:8px}.home-row{border-radius:var(--radius-sharp);cursor:pointer;outline:none;grid-template-columns:16px 8px minmax(0,1fr) auto 28px;align-items:center;gap:10px;margin:0 8px;padding:9px 8px 9px 10px;transition:background .12s;display:grid}.home-row:hover{background:var(--row-hover)}.home-row:focus-visible{box-shadow:inset 0 0 0 2px var(--action)}.home-row.on{background:var(--surface-raised)}.home-row.on:hover{background:var(--stage)}.home-row.child{padding-top:6px;padding-bottom:6px}.home-row .more{opacity:0}.home-row:hover .more,.home-row.on .more,.home-row .more.open{opacity:1}.grp-client{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fffffff0;align-items:center;gap:8px;padding:14px 10px 6px 14px;display:flex;position:sticky;top:0}.grp-toggle{all:unset;cursor:pointer;border-radius:var(--radius-sharp);align-items:center;gap:6px;min-width:0;display:flex}.grp-toggle:focus-visible{box-shadow:0 0 0 2px var(--action)}.grp-chev{width:16px;height:16px;color:var(--muted);place-items:center;transition:transform .15s;display:grid}.grp-chev.open{transform:rotate(90deg)}.grp-client-name{letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;font-weight:600}.grp-proj{align-items:center;gap:6px;padding:8px 10px 4px 12px;display:flex}.grp-proj-name{all:unset;cursor:pointer;color:var(--ink-2);font-size:13px;font-weight:600}.grp-proj-name:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.grp-proj-name:focus-visible{box-shadow:0 0 0 2px var(--action);border-radius:4px}.grp-label{color:var(--ink-2);align-items:center;gap:6px;padding:10px 10px 4px 12px;font-size:13px;font-weight:600;display:flex}.kbd-bar{border-top:1px solid var(--line-soft);color:var(--muted);flex-wrap:wrap;flex:none;gap:12px;padding:9px 16px;font-size:11.5px;display:flex}.kbd-bar .kbd,.kbd-sm{box-sizing:border-box;background:var(--stage-2);border:1px solid var(--line-input);min-width:18px;height:18px;font:500 10.5px var(--font-mono);color:var(--ink-2);border-radius:4px;place-items:center;padding:0 4px;display:inline-grid}.pane-in{animation:.35s cubic-bezier(.2,.8,.2,1) pane-in}@keyframes pane-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.stat{border-radius:var(--radius-sharp);background:var(--surface);box-shadow:0 0 0 1px var(--line);flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.stat-k{color:var(--muted);font-size:12px}.stat-v{letter-spacing:-.01em;font-size:22px;font-weight:600}.card{border-radius:var(--radius-sharp);background:var(--surface);box-shadow:0 0 0 1px var(--line);flex-direction:column;gap:14px;padding:18px;display:flex}.ex-tile{all:unset;cursor:pointer;border-radius:var(--radius-sharp);flex-direction:column;gap:6px;min-width:0;display:flex}.ex-tile:focus-visible{box-shadow:0 0 0 2px var(--action)}.ex-tile .thumb{border-radius:var(--radius-sharp);box-shadow:0 0 0 1px var(--line)}.ex-tile:hover .thumb{transform:scale(1.04)}.chk{border-bottom:1px solid var(--line-softer);align-items:center;gap:10px;padding:10px 0;font-size:13.5px;display:flex}.chk:last-child{border-bottom:none}.chk-ic{border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:grid}.pill-closed{border-radius:var(--radius-sharp);background:var(--notice-soft);height:20px;color:var(--notice);align-items:center;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.selbar{border-radius:var(--radius-sharp);background:var(--ink);color:var(--on-action);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 6px 6px 14px;font-size:13.5px;font-weight:500;display:flex}.selbar .btn{height:30px}.selbar .btn-ghost{color:var(--disabled)}.selbar .btn-ghost:hover{color:var(--on-action);background:#ffffff1a}.home-cb{width:15px;height:15px;accent-color:var(--action);cursor:pointer;margin:0}.opt-row{border:1px solid var(--line-input);border-radius:var(--radius-sharp);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.opt-row:hover{background:var(--row-hover)}.opt-row.on{border-color:var(--action)}.opt-row input{accent-color:var(--action);margin:0}.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sharp);flex-direction:column;gap:12px;padding:16px;display:flex}.acc{border-bottom:1px solid var(--line-soft)}.acc-h{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:10px;width:100%;padding:14px 2px;font-size:13.5px;font-weight:600;display:flex}.acc-h:focus-visible{box-shadow:0 0 0 2px var(--action);border-radius:var(--radius-sharp)}.acc-sum{min-width:0;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;font-weight:400;overflow:hidden}.acc-chev{color:var(--faint);flex:none;transition:transform .25s}.acc-chev.open{transform:rotate(180deg)}.acc-b{grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1);display:grid}.acc-b.open{grid-template-rows:1fr}.acc-i{flex-direction:column;gap:16px;min-height:0;display:flex;overflow:hidden}.acc-b.open .acc-i{padding:2px 2px 18px}.acc-b:not(.open) .acc-i{visibility:hidden}.strip-th{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);cursor:pointer;flex-direction:column;flex:none;gap:6px;width:100%;padding:6px;transition:background .15s;display:flex}.strip-th:hover{background:var(--stage-2)}.strip-th:focus-visible{box-shadow:0 0 0 2px var(--action)}.strip-th.on,.strip-th.on:hover{background:var(--surface-raised)}.strip-th.over{box-shadow:inset 0 2px 0 var(--action)}.strip-th[draggable=true]{-webkit-user-drag:element}.page-in{animation:.3s cubic-bezier(.2,.8,.2,1) page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cmd-scrim{z-index:40;background:#14171c52;justify-content:center;padding-top:14vh;animation:.18s ease-out fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.cmd-box{border-radius:var(--radius-sharp);background:var(--surface);width:min(560px,100vw - 32px);box-shadow:var(--shadow-modal), 0 0 0 1px var(--line);align-self:flex-start;animation:.22s cubic-bezier(.2,.9,.3,1.2) drop;overflow:hidden}@keyframes drop{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}.cmd-in{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:14px 16px;display:flex}.cmd-in input{border:none;outline:none;flex:1;min-width:0;font-size:15px}.cmd-list{max-height:min(360px,56vh);padding:8px;overflow:auto}.cmd-sec{letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:8px 10px 4px;font-size:11px;font-weight:600}.cmd{border-radius:var(--radius-sharp);cursor:pointer;color:var(--ink);align-items:center;gap:12px;padding:9px 12px;font-size:14px;display:flex}.cmd.act{background:var(--surface-raised);color:var(--ink)}.cmd-ic{width:20px;color:var(--muted);flex:none;place-items:center;display:grid}.cmd-hint{font:500 11.5px var(--font-mono);color:var(--faint);flex:none;margin-left:auto}.cmd-btn{min-width:200px;color:var(--muted);justify-content:flex-start}@media (width<=1280px){.cmd-btn{min-width:0}.cmd-btn .cmd-btn-text{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.dash{box-sizing:border-box;flex-direction:column;gap:24px;max-width:1180px;margin:0 auto;padding:28px 36px 48px;display:flex}@media (width<=700px){.dash{padding:20px 16px 40px}}.dash-h{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600}.dash-card-h{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.dash-search{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);background:var(--surface);width:min(380px,100%);height:38px;box-shadow:0 0 0 1px var(--line-input);color:var(--muted);cursor:text;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;display:flex}.dash-search:hover{box-shadow:0 0 0 1px var(--ink)}.dash-search:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dash-stat{font:inherit;color:inherit;text-align:left;cursor:pointer;border:none;transition:box-shadow .15s,transform .15s}.dash-stat:hover{box-shadow:0 0 0 1px var(--ink)}.dash-stat:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dash-tile{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);background:var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;flex-direction:column;gap:10px;min-width:0;padding:12px;transition:box-shadow .15s,transform .15s;display:flex}.dash-tile:hover{box-shadow:0 0 0 1px var(--ink)}.dash-tile:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.dash-row{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);cursor:pointer;align-items:center;gap:12px;width:calc(100% + 16px);min-width:0;margin:0 -8px;padding:10px 8px;font-size:13.5px;transition:background .12s;display:flex}.dash-row:hover{background:var(--row-hover)}.dash-row:focus-visible{box-shadow:inset 0 0 0 2px var(--action)}.bar{background:var(--track);border-radius:3px;height:6px;display:block;overflow:hidden}.bar>span{background:var(--dot-issued);border-radius:3px;height:100%;display:block}.rich{flex-direction:column;display:flex;position:relative}.rich.textarea{padding:0;overflow:visible}.rich.textarea.focused{border-color:var(--ink);outline:2px solid var(--focus-ring);outline-offset:2px}.rich.textarea.ro{background:var(--surface-raised)}.rich.textarea .tiptap{padding:9px 11px}.rich.inplace .tiptap{padding:4px 8px}.rich.inplace.focused{outline:2px solid var(--focus-ring);outline-offset:2px}.rich .tiptap{white-space:pre-wrap;word-break:break-word;outline:none}.rich .tiptap>*+*{margin-top:2px}.rich .tiptap p{margin:0}.rich .tiptap h3{color:var(--ink);margin:6px 0 0;font-size:1.08em;font-weight:650}.rich .tiptap ul,.rich .tiptap ol{margin:0;padding-left:1.4em}.rich .tiptap li p{margin:0}.rich .tiptap blockquote{border-left:2px solid var(--line-input);color:var(--muted);margin:0;padding-left:10px}.rich .tiptap code,.rich-text code{font:.9em var(--font-mono);background:var(--track);border-radius:4px;padding:0 3px}.rich .tiptap pre{border-radius:var(--radius-sharp);background:var(--track);font:.88em/1.45 var(--font-mono);white-space:pre-wrap;margin:0;padding:6px 8px}.rich .tiptap pre code{font:inherit;background:0 0;padding:0}.rich .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--placeholder);float:left;pointer-events:none;height:0}.rt-bar{border-bottom:1px solid var(--line-softer);flex-wrap:wrap;align-items:center;gap:1px;padding:4px 5px;display:flex}.rich.inplace .rt-bar{z-index:5;border-radius:var(--radius-sharp);background:var(--surface);box-shadow:0 0 0 1px var(--line), var(--shadow-shot);border:none;margin-bottom:6px;display:none;position:absolute;bottom:100%;left:0}.rich.inplace.focused .rt-bar{display:flex}.rt-btn{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);min-width:25px;height:26px;color:var(--ink-2);cursor:pointer;place-items:center;padding:0 4px;font-size:13px;display:grid}.rt-btn:hover{background:var(--stage-2)}.rt-btn.on{background:var(--surface-raised);color:var(--ink)}.rt-btn:focus-visible{box-shadow:0 0 0 2px var(--action)}.rt-sep{background:var(--line);width:1px;height:16px;margin:0 3px}.rt-style{border:1px solid var(--line-input);border-radius:var(--radius-sharp);width:100px;height:26px;color:var(--ink-2);font:inherit;background:0 0;margin-right:3px;padding:0 4px;font-size:12.5px}.rich-text code{font-size:.88em}.proj-row .drag-grip{letter-spacing:-2px;color:var(--placeholder);opacity:0;cursor:grab;font-size:11px;transition:opacity .12s}.proj-row:hover .drag-grip,.proj-row:focus-visible .drag-grip{opacity:1}.app-root{height:100dvh}html{touch-action:manipulation}.phone-head,.refs-fold,.sheet{display:none}@media (width<=1100px){.topbar{flex-wrap:wrap;row-gap:8px;height:auto;min-height:52px;padding-top:8px;padding-bottom:8px}}@media (pointer:coarse){.kbd,.kbd-sm,.kbd-bar{display:none}.handle{border-radius:4px;width:22px;height:22px}.handle.nw{top:-12px;left:-12px}.handle.ne{top:-12px;right:-12px}.handle.sw{bottom:-12px;left:-12px}.handle.se{bottom:-12px;right:-12px}.home-row .more{opacity:1}.row:hover,.home-row:hover{background:0 0}}@media (width<=700px){.app-root{flex-direction:column}.rail{width:100%;height:auto;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));border-right:none;border-top:1px solid var(--line);background:var(--surface);flex-direction:row;order:2;justify-content:space-around}.rail-logo,.rail-wide,.rail-gap{display:none}.rail-btn{width:52px;height:40px}.rail-btn.on:before{width:auto;height:2px;inset:-6px 10px auto}.fab{z-index:15;border-radius:var(--radius-sharp);background:var(--action);width:60px;height:60px;color:var(--on-action);box-shadow:var(--shadow-shot);cursor:pointer;border:none;place-items:center;display:grid;position:absolute;bottom:16px;right:16px}.fab:active{transform:scale(.95)}.phone-actions>button{align-items:center;gap:6px;display:inline-flex}.toast{bottom:calc(148px + env(safe-area-inset-bottom,0px))!important;max-width:calc(100vw - 24px)!important}input,textarea,select,.ProseMirror{font-size:16px!important}.phone-head{padding:8px 10px;padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--surface);border-bottom:1px solid var(--line);flex:none;gap:8px;display:grid}.phone-actions{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.phone-actions::-webkit-scrollbar{display:none}.phone-actions>button{flex:none;height:36px}.refs-fold{box-sizing:border-box;border:0;border-bottom:1px solid var(--line);background:var(--surface);width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;flex:none;align-items:center;gap:10px;min-width:0;padding:10px 14px;font-size:13px;display:flex}.row{grid-template-columns:0 30px 64px minmax(0,1fr);gap:10px;padding:10px 6px}.row>:first-child{visibility:hidden}.sheet{z-index:20;background:var(--surface);flex-direction:column;display:flex;position:absolute;inset:0}.sheet-head{border-bottom:1px solid var(--line);flex:none;align-items:center;height:48px;padding:0 6px;display:flex}.sheet>aside{flex:1;min-height:0;border-left:none!important;width:auto!important}.banner{flex-wrap:wrap}.home-side{display:none}.home-list{border-right:none;max-width:none}.backdrop{place-items:stretch stretch}.modal{border:none;border-radius:0;max-height:none;width:100%!important;height:100%!important}.modal-head{padding-top:env(safe-area-inset-top,0px);height:auto;min-height:56px}.modal-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));flex-wrap:wrap}.exp-body{flex-direction:column;overflow:auto}.exp-opts{border-right:none!important;width:auto!important;overflow:visible!important}.exp-preview{display:none!important}.ed-head{flex-wrap:wrap;row-gap:8px;height:auto!important;padding:8px 10px!important}.ed-stage{--ed-chrome:260px;padding:10px!important}.ed-foot{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));text-align:center;flex-wrap:wrap;height:auto!important}}.plan-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch;gap:12px;display:grid}.plan-card{border-radius:var(--radius-sharp);background:var(--surface);box-shadow:0 0 0 1px var(--line);flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.plan-card.current{box-shadow:0 0 0 2px var(--action)}.plan-now{color:var(--ink);background:var(--surface-raised);border-radius:var(--radius-sharp);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600}.plan-list{color:var(--ink-2);gap:7px;margin:0;padding:0;font-size:12.5px;list-style:none;display:grid}.plan-list li{grid-template-columns:14px minmax(0,1fr);gap:6px;display:grid}.plan-list li:before{content:"✓";color:var(--action);font-weight:600}.plan-list li.lead{color:var(--muted);grid-template-columns:minmax(0,1fr);font-size:12px}.plan-list li.lead:before{content:none}.plan-note{text-align:center;box-sizing:border-box;border-radius:var(--radius-sharp);background:var(--surface-raised);min-height:34px;color:var(--muted);justify-content:center;align-items:center;padding:6px 10px;font-size:12.5px;font-weight:500;display:flex}.set-body{flex-direction:column;padding:6px 24px 24px;display:flex}.set-section{border-bottom:1px solid var(--line-softer);flex-direction:column;gap:12px;padding:18px 0;display:flex}.set-section:last-child{border-bottom:0}.set-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.set-title{letter-spacing:-.005em;color:var(--ink);font-size:14px;font-weight:600}.set-hint{color:var(--muted);margin-top:2px;font-size:12.5px;line-height:1.5}.set-row{align-items:center;gap:12px;display:flex}.set-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.set-row-name{font-size:13.5px;font-weight:500}.set-row-desc{color:var(--muted);font-size:12.5px;line-height:1.45}.set-list{flex-direction:column;display:flex}.set-list>.set-row{border-bottom:1px solid var(--line-softer);padding:12px 0}.set-list>.set-row:last-child{border-bottom:0}.chip-status{border-radius:var(--radius-sharp);background:var(--surface-raised);height:22px;color:var(--ink-2);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:500;display:inline-flex}.chip-status.on:before{content:"";background:var(--ok);border-radius:3px;width:6px;height:6px}.set-empty{border:1px dashed var(--line);border-radius:var(--radius-sharp);text-align:center;color:var(--muted);padding:22px 16px;font-size:13px;line-height:1.5}.set-foot-status{min-width:0;color:var(--faint);flex:1;font-size:12px}.drill-row{all:unset;box-sizing:border-box;border-radius:var(--radius-sharp);cursor:pointer;align-items:center;gap:12px;width:calc(100% + 24px);min-height:54px;margin:0 -12px;padding:10px 12px;display:flex}.drill-row:hover{background:var(--row-hover)}.drill-row:focus-visible{outline:2px solid var(--action);outline-offset:1px}.drill-label{flex:1;min-width:0;font-size:14px;font-weight:500}.drill-value{min-width:0;max-width:60%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.drill-chev{color:var(--placeholder);font-size:18px;line-height:1}.set-group{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:600}.link-accent{all:unset;cursor:pointer;color:var(--ink);font-size:13px;font-weight:500}.link-accent:hover{text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}.link-accent:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.store-list{border:1px solid var(--line);border-radius:var(--radius-sharp);overflow:hidden}.store-row{align-items:center;gap:12px;padding:12px 14px;display:flex}.store-row+.store-row{border-top:1px solid var(--line-soft)}.store-row.on{background:var(--surface-raised)}.badge-soon{border:1px solid var(--line-input);border-radius:var(--radius-pill);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;flex:none;padding:2px 9px;font-size:10.5px;font-weight:700}.store-row label{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.store-row input[type=radio]{accent-color:var(--action);flex:none;width:16px;height:16px;margin:0}.store-row input[type=radio]:disabled+span{opacity:.55}
