:root{--bg: #f7f6f3;--panel: #ffffff;--side: #efede8;--text: #1f1e1c;--text-2: #5f5d58;--text-3: #97948d;--line: rgba(0, 0, 0, .09);--line-2: rgba(0, 0, 0, .16);--hover: rgba(0, 0, 0, .045);--accent: #2f6fdb;--accent-bg: #e8f0fc;--success: #2f7d4f;--success-bg: #e5f3ea;--warning: #9a6200;--warning-bg: #fbf0d9;--danger: #b4372f;--danger-bg: #fbe9e7;--brand: #c96442;--radius: 8px;--serif: "Charter", "Iowan Old Style", "Songti SC", Georgia, serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #1c1c1b;--panel: #262625;--side: #212120;--text: #ecebe7;--text-2: #b0aea7;--text-3: #7d7b75;--line: rgba(255, 255, 255, .09);--line-2: rgba(255, 255, 255, .18);--hover: rgba(255, 255, 255, .06);--accent: #7aa7f0;--accent-bg: #23324a;--success: #7cc79a;--success-bg: #1f3428;--warning: #e6b45c;--warning-bg: #3a2f1a;--danger: #f08a80;--danger-bg: #42231f}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:14px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{border:.5px solid var(--line-2);background:var(--panel);border-radius:6px;padding:4px 11px;cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:var(--hover)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--text);color:var(--bg);border-color:transparent}button.primary:hover:not(:disabled){opacity:.88;background:var(--text)}button.ghost{border-color:transparent;background:transparent}button.link{border:none;background:none;padding:0;color:var(--accent);font-size:12px}input,select,textarea{width:100%;border:.5px solid var(--line-2);border-radius:6px;background:var(--panel);padding:6px 9px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}textarea{resize:vertical;line-height:1.6}h1,h2,h3{font-weight:600;margin:0}.loading{display:grid;place-items:center;height:100%;color:var(--text-3)}.app{display:flex;height:100%}.spacer{flex:1}.muted-text{color:var(--text-3);font-weight:400}.danger-text{color:var(--danger)}.hint{color:var(--text-3);font-size:12px;margin:4px 0 0}.row{display:flex;gap:8px;align-items:center;margin-top:8px}.sidebar{width:260px;flex-shrink:0;background:var(--side);border-right:.5px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.sidebar-top{height:44px;flex-shrink:0;-webkit-app-region:drag}.side-section{padding:4px 10px 12px}.side-label{font-size:11px;color:var(--text-3);padding:6px 8px}.side-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:none;text-align:left;padding:6px 8px;border-radius:6px}.side-item.active{background:var(--accent-bg);color:var(--accent)}.side-item.muted{color:var(--text-2)}.side-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-count{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px}.side-stage{font-size:11px;color:var(--text-3)}.side-bottom{margin-top:auto;padding:8px 10px 12px;border-top:.5px solid var(--line)}.dot-busy{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}.tone-success{color:var(--success)}.tone-warning{color:var(--warning)}.tone-danger{color:var(--danger)}.tone-accent{color:var(--accent)}.main{flex:1;overflow-y:auto;position:relative;min-width:0}.titlebar-drag{position:sticky;top:0;height:14px;-webkit-app-region:drag;z-index:5;background:var(--bg)}.banner{margin:0 24px 12px;padding:8px 12px;border-radius:var(--radius);display:flex;gap:12px;align-items:center;justify-content:space-between}.banner.danger{background:var(--danger-bg);color:var(--danger)}.banner.warning{background:var(--warning-bg);color:var(--warning)}.banner.inline{margin:0 20px 8px}.qheader{padding:14px 24px 12px;position:sticky;top:14px;background:var(--bg);z-index:4;border-bottom:.5px solid var(--line)}.qtitle-row{display:flex;align-items:flex-start;gap:12px}.qtitle{font-size:20px;flex:1;line-height:1.35}.qactions{display:flex;gap:6px}.qcontrols{display:flex;gap:10px;align-items:center;margin-top:10px}.qfilters{display:flex;align-items:center;margin-top:10px}.keywords{display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1;min-width:0}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--accent-bg);color:var(--accent);padding:2px 4px 2px 9px;border-radius:999px;font-size:12px}.chip button{border:none;background:none;padding:0 4px;color:inherit;line-height:1}.chip-input{width:180px;border:none;background:transparent;padding:3px 4px;box-shadow:none!important}.segmented{display:inline-flex;background:var(--hover);border-radius:7px;padding:2px}.segmented button{border:none;background:none;padding:3px 11px;border-radius:5px;color:var(--text-2)}.segmented button.on{background:var(--panel);color:var(--text);box-shadow:0 0 0 .5px var(--line-2)}.empty{max-width:460px;margin:12vh auto;text-align:center;color:var(--text-2)}.empty h2{color:var(--text);margin-bottom:8px}.empty.small{margin:8vh auto}.masonry{columns:360px;column-gap:16px;padding:16px 24px 48px}.masonry.dense{columns:280px}.card{break-inside:avoid;background:var(--panel);border:.5px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:16px;display:inline-block;width:100%}.card.accepted{border:1.5px solid var(--success)}.card.discarded{opacity:.7}.card.generating,.card.error{border-style:dashed;border-color:var(--line-2)}.card-question{font-size:11px;color:var(--text-3);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head{display:flex;gap:8px;align-items:baseline}.card-index{font-size:12px;color:var(--text-3)}.card-title{font-size:16px;line-height:1.4}.hook{font-family:var(--serif);font-style:italic;margin:10px 0 6px;padding-left:10px;border-left:2px solid var(--brand);color:var(--text)}.oneliner{margin:0 0 8px;color:var(--text-2)}.field{margin-top:10px}.field-label{font-size:11px;color:var(--text-3);display:block;margin-bottom:2px}.field p{margin:0}.field .en{font-family:var(--serif)}.twists{margin:0;padding-left:20px}.twists li{margin:3px 0}.twists li.paywall{background:var(--warning-bg);border-radius:4px;padding:2px 6px;margin-left:-6px}.twist-at{font-size:11px;color:var(--text-3);margin-right:6px}.badge{display:inline-block;font-size:11px;padding:0 7px;border-radius:999px;margin-right:6px;background:var(--hover)}.badge.warning{background:var(--warning);color:var(--panel)}.scenes{margin:0;padding-left:18px}.dense-meta{font-size:12px;color:var(--text-3)}.versions{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);margin-top:6px}.versions button{padding:0 7px}.version-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.card-actions{display:flex;gap:8px;margin-top:12px;align-items:center}.card-actions .accept{border-color:var(--success);color:var(--success)}.card-note{font-size:12px;margin-top:8px}.card-error{display:flex;flex-direction:column;gap:8px;align-items:flex-start;color:var(--danger)}.feedback-box{margin-top:12px}.feedback-box textarea{min-height:74px}.story-chip{display:flex;width:100%;gap:10px;align-items:center;margin-top:12px;background:var(--hover);border:none;padding:8px 10px;border-radius:var(--radius)}.story-chip .arrow{margin-left:auto;color:var(--text-2)}.pending{padding:4px 0}.pending-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--accent)}.pending-title{font-weight:600;margin-top:8px}.pending-line{color:var(--text-2);margin-top:4px}.spinner{width:11px;height:11px;border:1.5px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton i{display:block;height:10px;background:var(--hover);border-radius:4px;margin-top:10px;animation:pulse 1.4s infinite}.skeleton i:nth-child(2){width:80%}.skeleton i:nth-child(3){width:55%}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:20;display:flex;justify-content:flex-end}.drawer{width:min(820px,92vw);height:100%;background:var(--panel);display:flex;flex-direction:column;border-left:.5px solid var(--line)}.drawer-head{display:flex;gap:12px;align-items:flex-start;padding:36px 20px 12px}.drawer-head>div:first-child{flex:1;min-width:0}.drawer-head h2{font-size:18px}.drawer-q{font-size:12px;color:var(--text-3)}.drawer-tabs{display:flex;gap:16px;align-items:center;padding:0 20px 12px;border-bottom:.5px solid var(--line)}.progress{flex:1;height:4px;background:var(--hover);border-radius:2px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width .3s}.drawer-body{flex:1;overflow-y:auto;padding:16px 28px 32px}.drawer-foot{display:flex;gap:8px;align-items:center;padding:12px 20px;border-top:.5px solid var(--line);flex-wrap:wrap}.foot-feedback{width:100%}.foot-feedback textarea{min-height:80px}.editor{width:100%;min-height:70vh;font-family:ui-monospace,Menlo,monospace;font-size:13px}.live{margin-top:8px}.dim{opacity:.45}.md h2{font-size:20px;margin:4px 0 12px}.md h3{font-size:16px;margin:22px 0 6px;padding-top:12px;border-top:.5px solid var(--line)}.md h4,.md h5{font-size:14px;margin:14px 0 4px}.md p{margin:4px 0}.md ul{margin:4px 0;padding-left:20px}.mark{background:var(--accent-bg);color:var(--accent);border-radius:4px;padding:0 3px;font-size:12px}.mark.paywall{background:var(--warning-bg);color:var(--warning)}.novel{font-family:var(--serif);font-size:17px;line-height:1.75;max-width:640px;margin:0 auto}.novel p{margin:0 0 1em}.novel .live p{color:var(--text-2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:30;display:grid;place-items:center}.modal{width:min(620px,92vw);max-height:88vh;overflow-y:auto;background:var(--panel);border-radius:14px;padding:22px 24px;border:.5px solid var(--line)}.modal.wide{width:min(720px,92vw)}.modal h2{font-size:18px;margin-bottom:8px}.label{display:block;font-size:12px;color:var(--text-2);margin:14px 0 6px}.questions-input{min-height:160px}.field-error{color:var(--danger);font-size:13px;margin-top:4px}.modal-foot{display:flex;gap:8px;align-items:center;margin-top:22px}.settings-group{border-top:.5px solid var(--line);margin-top:16px;padding-top:6px}.settings-group h3{font-size:13px;margin-top:10px}.settings-group .rules{min-height:180px;font-size:13px}.status-line{font-size:13px;margin-top:8px}.status-line.ok{color:var(--success)}.status-line.bad{color:var(--danger)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:8px}.toast{background:var(--text);color:var(--bg);padding:8px 14px;border-radius:var(--radius);max-width:560px}.label-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.label-row .label{margin-bottom:6px}.drop-zone{position:relative;border-radius:6px}.drop-zone.dragging textarea{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;background:var(--accent-bg);color:var(--accent);border-radius:6px;opacity:.94}.ok-text{color:var(--success)}.warn-text{color:var(--warning)}.warn-text .link{margin-left:8px}.qcontrols button.on{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.req-row{display:flex;gap:8px;align-items:baseline;margin-top:8px;font-size:13px}.req-label{font-size:11px;color:var(--text-3);flex-shrink:0}.req-text{color:var(--text-2);white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.req-edit,.ideas-panel{margin-top:10px}.req-edit textarea,.ideas-panel textarea{min-height:84px}.ideas-panel .label{margin-top:0}.req-input{min-height:60px}.card-idea{font-size:12px;color:var(--accent);background:var(--accent-bg);border-radius:6px;padding:3px 8px;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.banner.accent{background:var(--accent-bg);color:var(--accent)}.inline-link{margin-left:8px;font-size:13px;max-width:220px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.draft-tag{font-size:11px;color:var(--warning)}.draft-setup{max-width:640px;margin:40px auto;padding:24px 28px;background:var(--panel);border:.5px solid var(--line);border-radius:12px}.draft-setup h2{font-size:18px;margin-bottom:4px}.draft-setup ol{padding-left:20px;margin:16px 0;color:var(--text-2)}.draft-setup li{margin:8px 0}.draft-setup li.done b{color:var(--success)}.draft-setup .row{margin-top:18px}.card.stopped{border-style:dashed;border-color:var(--line-2)}.card.trashed,.card.discarded{opacity:.75}.card-top{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:6px;min-height:20px}.genre{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--hover);color:var(--text-2)}.icon-btn{border:none;background:none;padding:1px 6px;font-size:12px;color:var(--text-3)}.icon-btn:hover:not(:disabled){color:var(--danger);background:var(--danger-bg)}.selling{margin:8px 0 4px;padding:7px 10px;border-radius:8px;background:var(--warning-bg);color:var(--text);font-weight:500}.selling span{display:block;font-size:11px;font-weight:400;color:var(--warning);margin-bottom:1px}.selling.compact{font-size:13px}.info{margin-top:8px}.info-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;padding:7px 0;border-top:.5px solid var(--line)}.info-label{font-size:11px;color:var(--text-3);padding-top:2px}.info-body p{margin:0}.info-body .en{font-family:var(--serif)}.bullets{margin:0;padding-left:16px}.bullets li{margin:2px 0}.bullets.scenes li::marker{content:"▸ ";color:var(--brand)}.pending-label .stop{margin-left:auto;font-size:12px;padding:1px 9px;color:var(--text-2)}.trash-note{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-2);background:var(--hover);border-radius:6px;padding:4px 4px 4px 10px;margin-bottom:8px}.card-halt .card-head{align-items:center;gap:8px;color:var(--text-2)}.card-halt.error .card-head span:nth-child(2){color:var(--danger)}.card-halt .pending-line{margin-top:6px}.trash-btn{color:var(--text-2)}.trash-btn:hover:not(:disabled){color:var(--danger);border-color:var(--danger);background:var(--danger-bg)}.side-q{align-items:flex-start}.side-text.full{white-space:normal;overflow:visible;line-height:1.45}.side-q .side-count{padding-top:2px}.q-dot{width:8px;height:8px;border-radius:50%;background:var(--qc);flex-shrink:0;margin-top:6px}.side-item.side-q.active{background:color-mix(in srgb,var(--qc) 14%,transparent);color:var(--text)}.qtitle.colored{font-size:26px;font-weight:800;color:var(--qc);line-height:1.3}.card.with-q{box-shadow:inset 0 4px 0 var(--qc)}.card-question{font-size:14px;font-weight:700;color:var(--qc);white-space:normal;overflow:visible;line-height:1.4;margin-bottom:8px}.card-top{min-height:24px}.trash-btn{font-size:12px;padding:2px 10px}.genre{background:color-mix(in srgb,var(--qc, var(--brand)) 13%,transparent);color:var(--text)}.twists li.paywall{background:var(--warning-bg);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent)}.pay-why{margin-top:3px;font-size:12px;color:var(--warning);font-weight:500}.frame{font-weight:500}.outline-full{margin-top:8px;padding:10px 12px;background:var(--hover);border-radius:8px;line-height:1.75;white-space:pre-wrap}.info-row{grid-template-columns:58px minmax(0,1fr)}.masonry{columns:400px}.card{font-size:15.5px;line-height:1.65;padding:16px 18px}.card-title{font-size:19px}.card-question{font-size:15px}.oneliner{font-size:16px;color:var(--text)}.hook{font-size:15.5px}.info-label{font-size:12.5px}.info-row{grid-template-columns:64px minmax(0,1fr)}.chain{margin-top:12px;padding-top:10px;border-top:.5px solid var(--line)}.chain-title{font-size:12.5px;color:var(--text-3);margin-bottom:4px}.chain .twists{padding-left:22px}.chain .twists li{margin:6px 0}.payoff{margin:10px 0 0;padding-left:18px}.payoff li{margin:4px 0}.payoff b{font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:6px}.scene-chip{background:var(--hover);border-radius:6px;padding:2px 9px}.modal.wide{width:min(900px,94vw)}.import-panel{border:.5px solid var(--line-2);border-radius:10px;padding:14px 16px;background:var(--bg)}.import-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px}.import-head select{width:auto}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:8px}.import-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-2)}.import-filters{margin-top:12px}.filter-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;align-items:start;margin:6px 0}.filter-name{font-size:12px;color:var(--text-2);padding-top:4px;overflow:hidden;text-overflow:ellipsis}.filter-chip{font-size:12px;padding:2px 9px;border-radius:999px}.filter-chip.on{background:var(--accent-bg);color:var(--accent);border-color:var(--accent)}.import-count{margin-top:14px;font-size:14px}.import-preview{margin:6px 0 10px;padding-left:22px;font-size:13px;color:var(--text-2);max-height:200px;overflow-y:auto}.import-preview li{margin:2px 0}.q-star{border:none;background:none;padding:0 2px;margin-top:-1px;flex-shrink:0;font-size:17px;line-height:1.4;color:var(--qc);cursor:pointer}.q-star:hover:not(:disabled){background:none;transform:scale(1.15)}.side-q.starred .q-star{color:#f2b705}.side-q.starred .side-text{font-weight:600;color:var(--text)}.side-q.starred{background:color-mix(in srgb,#f2b705 9%,transparent)}.side-q.starred.active{background:color-mix(in srgb,var(--qc) 16%,transparent)}.side-q{cursor:pointer;border-radius:6px}.side-q:hover{background:var(--hover)}.side-q.menu-open{outline:1.5px solid var(--accent)}.side-hint{font-size:11px;color:var(--text-3);padding:2px 8px;margin:4px 0 0}.ctx-menu{position:fixed;z-index:60;min-width:160px;padding:4px;background:var(--panel);border:.5px solid var(--line-2);border-radius:8px;box-shadow:0 8px 24px #0000002e}.ctx-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:6px 10px;border-radius:5px}.ctx-menu button:hover{background:var(--accent-bg)}.ctx-menu .danger-text:hover{background:var(--danger-bg)}.ctx-sep{height:.5px;background:var(--line);margin:4px 2px}.evo-badge{font-size:11px;background:var(--accent);color:var(--bg);border-radius:999px;padding:0 7px}.evo{max-width:1000px;margin:0 auto;padding:8px 28px 60px}.evo-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:6px 0 16px}.evo-head h1{font-size:24px;font-weight:800}.evo-card{background:var(--panel);border:.5px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:16px}.evo-card h2{font-size:17px}.evo-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.evo-counts{margin:10px 0 4px}.signals{list-style:none;padding:0;margin:10px 0 0;max-height:420px;overflow-y:auto}.signal{display:grid;grid-template-columns:34px 92px minmax(0,1fr);gap:8px;padding:8px 0;border-top:.5px solid var(--line);font-size:14px}.signal-n{color:var(--text-3);font-size:12px;padding-top:2px}.signal-type{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--hover);height:fit-content;text-align:center}.signal-type.good{background:var(--success-bg);color:var(--success)}.signal-type.bad{background:var(--danger-bg);color:var(--danger)}.signal-title{font-weight:600}.signal-text{color:var(--text-2);margin-top:2px}.signal-q{font-size:12px;margin-top:2px}.evo-summary{margin:10px 0;padding:10px 12px;border-radius:8px;background:var(--accent-bg);color:var(--text)}.proposal{border:.5px solid var(--line-2);border-radius:10px;padding:12px 14px;margin-top:12px}.proposal.stale{opacity:.6}.proposal-head{display:flex;gap:10px;align-items:center;cursor:pointer}.proposal-head input{width:auto}.proposal-reason{margin:6px 0 2px}.proposal-ev{font-size:12px;margin-bottom:6px}.diff pre{white-space:pre-wrap;margin:6px 0 0;padding:8px 10px;border-radius:6px;font:13px/1.6 ui-monospace,Menlo,monospace}.diff-old{background:var(--danger-bg);color:var(--text-2);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--danger) 50%,transparent)}.diff-new{background:var(--success-bg);color:var(--text)}.versions-list{list-style:none;padding:0;margin:8px 0 0}.versions-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-top:.5px solid var(--line);font-size:14px}.evo-log{margin-top:12px;max-height:400px;overflow-y:auto}.diff-ctx{background:var(--hover);color:var(--text-2)}.qtitle-wrap{flex:1;min-width:0}.qmeta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:6px;font-size:14px}.qmeta-item{white-space:nowrap}.side-meta{display:block;font-size:11.5px;color:var(--text-3);font-weight:400;margin-top:2px}.meta-row{margin-top:12px}.evo-tabs{margin:4px 0 12px}.evo-tabs button{padding:5px 16px;font-size:14px}.evo-running{margin:0 0 12px}.drop-area{margin-top:12px;padding:22px;text-align:center;border:1.5px dashed var(--line-2);border-radius:10px;color:var(--text-2);cursor:pointer}.drop-area:hover,.drop-area.dragging{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.materials{list-style:none;padding:0;margin:12px 0 0}.materials li{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 6px;border-top:.5px solid var(--line)}.materials li.on{background:color-mix(in srgb,var(--accent) 6%,transparent)}.materials input[type=checkbox]{width:auto}.material-name{font-weight:600}.material-note{margin-top:4px;font-size:13px;padding:4px 8px}.segmented button.on.good{color:var(--success)}.segmented button.on.bad{color:var(--danger)}.instruct-input{min-height:120px;margin-top:10px;font-size:15px}.example-chips{margin-top:10px;align-items:center}.files-tab{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px}.file-list{list-style:none;padding:0 10px 0 0;margin:0;border-right:.5px solid var(--line)}.file-list button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;border:none;background:none;padding:6px 8px;border-radius:6px;font-size:13px}.file-list button.on{background:var(--accent-bg);color:var(--accent)}.file-view{min-width:0}.file-search{width:200px;padding:4px 8px}.file-read{margin-top:10px;max-height:70vh;overflow-y:auto;padding-right:6px}.file-hits{white-space:pre-wrap;font-size:13px;line-height:1.7}.file-edit{margin-top:10px;width:100%;min-height:70vh;font:13px/1.65 ui-monospace,Menlo,monospace}.md-code{white-space:pre-wrap;background:var(--hover);border-radius:6px;padding:8px 10px;font:13px/1.6 ui-monospace,Menlo,monospace;margin:6px 0}.card-title{font-size:19px;line-height:1.35;font-family:var(--serif)}.fblock{margin-top:14px;padding-top:10px;border-top:.5px solid var(--line)}.fblock-title{font-size:13px;font-weight:700;color:var(--qc, var(--accent));margin-bottom:6px;letter-spacing:.02em}.kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;margin:5px 0}.kv-k{font-size:12.5px;color:var(--text-3);padding-top:2px}.kv.en .kv-v{font-family:var(--serif)}.kv.strong .kv-v{font-weight:600}.keyframe{margin:8px 0;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--qc, var(--brand)) 12%,transparent);font-weight:500}.keyframe span{display:block;font-size:11.5px;font-weight:400;color:var(--text-3);margin-bottom:2px}.keyframe.compact{font-size:14px}.fpara{margin:0}.expect{margin:0 0 6px;font-weight:600;font-size:16px}.sub-title{font-size:12.5px;font-weight:600;color:var(--text-2);margin:10px 0 4px}.muted-note{color:var(--text-2);font-size:14px;margin:6px 0 0}.en-mix{font-family:var(--serif)}.pay-table{width:100%;border-collapse:collapse;background:var(--warning-bg);border-radius:8px;overflow:hidden;font-size:14.5px}.pay-table th{width:112px;white-space:nowrap;text-align:left;font-weight:500;color:var(--warning);padding:6px 10px;vertical-align:top}.pay-table td{padding:6px 10px 6px 0}.pay-table tr+tr th,.pay-table tr+tr td{border-top:.5px solid color-mix(in srgb,var(--warning) 25%,transparent)}.pay-table td.en{font-family:var(--serif);font-weight:600}.fmore{margin-top:8px}.skill-status{font-size:11.5px;color:var(--text-3);padding:2px 8px 8px;display:flex;align-items:center;gap:6px;line-height:1.4}.dot-live{width:7px;height:7px;border-radius:50%;background:var(--success);flex-shrink:0}.dot-live.bad{background:var(--danger)}.skill-stamp{font-size:11.5px;color:var(--text-3);margin-top:8px}.refine{padding:4px 24px 40px}.refine-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin:4px 0 12px}.refine-title{display:flex;gap:12px;align-items:flex-start}.refine-title .back{margin-top:4px}.refine-q{font-size:13px;font-weight:700;color:var(--qc)}.refine-head h1{font-size:22px;font-family:var(--serif)}.refine-body{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}.refine-main{min-width:0}.refine-article{font-family:var(--serif);font-size:18px;line-height:1.85;max-width:720px;margin:0 auto}.refine-article p{margin:0 0 1em}.refine-article p.sep{text-align:center;color:var(--text-3)}.refine-article mark{color:inherit;border-radius:3px;padding:1px 0;cursor:pointer}.refine-article mark.active{outline:2px solid var(--accent);outline-offset:1px}.m-core{background:color-mix(in srgb,#2f9e44 22%,transparent)}.m-pay{background:color-mix(in srgb,#f2b705 35%,transparent)}.m-key{background:color-mix(in srgb,#ae3ec9 20%,transparent)}.m-hook{background:color-mix(in srgb,#1c7ed6 20%,transparent)}.m-twist{background:color-mix(in srgb,#d6336c 16%,transparent)}mark.m-issue,.m-issue{background:color-mix(in srgb,#e03131 10%,transparent);text-decoration:underline wavy #e03131;text-underline-offset:4px}.legend-dot.m-issue{text-decoration:none}.paywall-line{margin:4px 0 22px;text-align:center;font:600 13px/1 var(--sans, sans-serif);color:var(--warning);border-top:2px dashed var(--warning);padding-top:8px}.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--text-2);margin:0 auto 14px;max-width:720px}.legend span{display:inline-flex;align-items:center;gap:5px}.legend-dot{width:12px;height:12px;border-radius:3px;display:inline-block;flex-shrink:0}.refine-edit{width:100%;min-height:75vh;font:15px/1.75 var(--serif)}.refine-side{position:sticky;top:70px;max-height:calc(100vh - 90px);overflow-y:auto;padding-right:4px}.refine-tabs{margin-bottom:10px}.struct h3{font-size:13.5px;margin:14px 0 4px}.struct ul,.issues ul{list-style:none;padding:0;margin:0}.struct-item,.issue{border:.5px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--panel)}.struct-item.active,.issue.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}.struct-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.struct-note{font-size:13.5px;color:var(--text-2);margin-top:4px}.quote-link{display:block;text-align:left;border:none;background:none;padding:4px 0 0;font:italic 13px/1.5 var(--serif);color:var(--accent)}.quote-link.gone{color:var(--text-3);font-style:normal;font-family:inherit}.badge.ok{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--warning-bg);color:var(--warning)}.sev{font-size:11.5px;padding:1px 8px;border-radius:999px}.sev-high{background:var(--danger-bg);color:var(--danger)}.sev-medium{background:var(--warning-bg);color:var(--warning)}.sev-low{background:var(--hover);color:var(--text-2)}.issue-type{font-size:12.5px;font-weight:600}.issue-problem{margin-top:6px;font-weight:500}.issue.fixed,.issue.ignored{opacity:.65}.fix-box{margin-top:8px}.fix-note{font-size:13.5px;background:var(--accent-bg);border-radius:6px;padding:6px 8px}.rewrite-box{border:1.5px solid var(--accent);border-radius:10px;padding:10px 12px;margin-bottom:12px;background:var(--panel)}.rewrite-box textarea{min-height:70px;margin:8px 0}.sel-quote{margin:6px 0;padding-left:10px;border-left:2px solid var(--accent);font:italic 13.5px/1.6 var(--serif);color:var(--text-2)}.versions-box{margin-top:14px}.issue.sev-high,.issue.sev-medium,.issue.sev-low{background:var(--panel);color:var(--text);border-radius:0 10px 10px 0}.issue.sev-high{border-left:4px solid var(--danger)}.issue.sev-medium{border-left:4px solid var(--warning)}.issue.sev-low{border-left:4px solid var(--line-2)}.m-core{background:color-mix(in srgb,#2f9e44 34%,transparent)}.m-pay{background:color-mix(in srgb,#f2b705 45%,transparent)}.m-key{background:color-mix(in srgb,#ae3ec9 32%,transparent)}.m-hook{background:color-mix(in srgb,#1c7ed6 32%,transparent)}.m-twist{background:color-mix(in srgb,#d6336c 28%,transparent)}mark.m-issue,.m-issue{background:color-mix(in srgb,#e03131 18%,transparent)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:min(380px,100%);background:var(--panel);border:.5px solid var(--line);border-radius:14px;padding:28px}.login-card h1{font-size:22px;margin-bottom:6px}.login-btn{width:100%;margin-top:18px;padding:8px}.evo-intro{margin:4px 0 2px;color:var(--text-2);max-width:720px}.admin-tag{font-size:10.5px;color:var(--warning);border:.5px solid var(--warning);border-radius:999px;padding:0 6px}.me-row{display:flex;align-items:center;gap:10px;padding:8px 8px 2px;font-size:13px;border-top:.5px solid var(--line);margin-top:6px}.me-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-switch{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px;color:var(--text-2)}.view-switch select{padding:2px 6px;font-size:12.5px}.viewing-banner{margin-top:0}.users-page{max-width:900px;margin:0 auto;padding:8px 28px 60px}.users-page h1{font-size:24px;font-weight:800;margin:6px 0 4px}.users-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}.users-table th{text-align:left;font-weight:500;color:var(--text-3);font-size:12.5px;padding:6px 8px;border-bottom:.5px solid var(--line)}.users-table td{padding:8px;border-bottom:.5px solid var(--line);vertical-align:middle}.users-table select{width:auto;padding:3px 6px}.users-table tr.disabled td{opacity:.55}.new-user{display:grid;grid-template-columns:1fr 1fr 120px auto;gap:8px;align-items:end}.files-tab{grid-template-columns:260px minmax(0,1fr)}.file-list button{white-space:normal;word-break:break-all;line-height:1.45;align-items:flex-start}.file-list button .muted-text{white-space:nowrap;flex-shrink:0}.users-table td:nth-child(3){white-space:nowrap}.prod{display:flex;gap:0;height:100%;min-height:0}.prod-list{width:280px;flex-shrink:0;border-right:.5px solid var(--line);padding:8px 12px 24px 0;overflow-y:auto}.prod-list-head{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.prod-list-head h1{font-size:22px;margin:0}.prod-main{flex:1;min-width:0;overflow-y:auto;padding:8px 4px 40px 24px}.prod-detail{max-width:920px;display:flex;flex-direction:column;gap:12px}.prod-detail h2{font-size:22px;margin:0}.prod-detail h3{font-size:16px;margin:0 0 8px}.prod-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.prod-brief{display:flex;flex-direction:column;gap:6px}.prod-brief-row{display:flex;gap:12px;flex-wrap:wrap}.prod-brief-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-2);flex:1;min-width:160px}.prod-brief textarea{min-height:64px}.prod-source-input{min-height:220px;font-family:var(--serif)}.prod-source{max-height:360px;overflow:auto;white-space:pre-wrap;background:var(--hover);padding:12px;border-radius:var(--radius);font-family:var(--serif);font-size:14px}.prod-plan{font-size:15px;line-height:1.6}.prod-plan-edit{width:100%;min-height:420px;font-family:ui-monospace,Menlo,monospace;font-size:13px}.prod-live{max-height:320px;overflow:auto;margin-top:10px;padding:10px 12px;background:var(--hover);border-radius:var(--radius);font-size:13px}.prod-files{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.prod-files li{display:flex;align-items:center;gap:12px}.prod-file-name{flex:1;min-width:0;overflow-wrap:anywhere}.slot-tabs{margin-bottom:14px}.submit-row{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.submit-chip{font-size:12px;padding:3px 9px;border-radius:999px}.seed .prod-list{width:320px}.seed-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px}.seed-tabs button{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border:.5px solid var(--line);background:transparent;border-radius:6px;font-size:13px}.seed-tabs button.on{background:var(--accent-bg);color:var(--accent);border-color:transparent}.seed-count{font-size:11px;color:var(--text-3)}.seed-item{flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px}.seed-id{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:600}.seed-item-meta{font-size:11px;color:var(--text-3)}.seed-badges{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;background:var(--hover)}.row.wrap{flex-wrap:wrap}a.button{display:inline-block;padding:5px 12px;border:.5px solid var(--line-2);border-radius:7px;color:inherit;text-decoration:none;font-size:13px}a.button:hover{background:var(--hover)}.seed-box{border:.5px solid var(--line-2);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.seed-box h3,.seed-box p{margin:0}.seed-table{width:100%;border-collapse:collapse;font-size:13px}.seed-table th,.seed-table td{text-align:left;padding:6px 8px;border-bottom:.5px solid var(--line);vertical-align:top}.seed-table th{color:var(--text-3);font-weight:500;position:sticky;top:0;background:var(--bg)}.seed-table tr.muted-text td{opacity:.6}.seed-hits{font-size:11px;max-width:160px}.seed-thumb{width:64px;height:48px;object-fit:cover;border-radius:4px;border:.5px solid var(--line);cursor:zoom-in;margin:0 4px 4px 0}.seed-gallery{display:flex;flex-wrap:wrap}.seed-big{max-width:92vw;max-height:90vh;border-radius:8px}.seed-history{list-style:none;padding:0;margin:0;font-size:13px;display:flex;flex-direction:column;gap:4px}.seed-intro{line-height:1.8}.prod-detail.loop{max-width:1200px;overflow-y:auto}.loop-section{display:grid;gap:10px;margin:18px 0 26px}.loop-section h2{display:flex;align-items:center;gap:8px;margin:0}.loop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.loop-grid>div{border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:grid;gap:2px}.loop-grid small,.loop-field small{color:var(--text-3)}.loop-sheets{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px}.loop-table{width:100%;border-collapse:collapse;font-size:13px}.loop-table th,.loop-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.loop-table th{color:var(--text-3);font-weight:500;white-space:nowrap}.loop-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.loop-table .nowrap{white-space:nowrap}.loop-root{cursor:pointer}.loop-root:hover{background:var(--accent-bg)}.loop-ver td{font-size:12.5px}.loop-table .pill{margin-right:4px}.loop-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.loop-card{border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:4px;align-content:start;cursor:pointer;font-size:13px}.loop-card.on{border-color:var(--accent);background:var(--accent-bg)}.loop-card .pill{justify-self:start}.loop-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.loop-field{display:grid;gap:4px}.shell{display:flex;flex-direction:column;height:100%}.shell>.app{flex:1;min-height:0}.app.no-side .main{padding:0}.topnav{display:flex;align-items:center;gap:28px;padding:0 24px;height:56px;border-bottom:.5px solid var(--line);background:var(--panel);flex-shrink:0;-webkit-app-region:drag}.topnav button,.topnav select,.topnav .topnav-pop{-webkit-app-region:no-drag}.topnav-brand{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.topnav-tabs{display:flex;gap:4px;height:100%}.topnav-tabs button{border:none;background:none;border-radius:0;padding:0 14px;font-size:15px;color:var(--text-2);height:100%;border-bottom:2px solid transparent}.topnav-tabs button:hover{color:var(--text);background:none}.topnav-tabs button.on{color:var(--text);font-weight:600;border-bottom-color:var(--text)}.topnav-note{display:block;margin-top:2px;font-size:.88em;font-weight:400;opacity:.72}.topnav-right{margin-left:auto;display:flex;align-items:center;gap:14px}.line-switch{display:inline-flex;border:.5px solid var(--line-2);border-radius:8px;overflow:hidden}.line-switch button{border:none;border-radius:0;background:none;padding:5px 12px;font-size:13px;color:var(--text-2)}.line-switch button+button{border-left:.5px solid var(--line-2)}.line-switch button.on{background:var(--text);color:var(--bg)}.topnav-menu{position:relative}.topnav-me{border:none;background:none;font-size:14px;color:var(--text-2);display:inline-flex;gap:6px;align-items:center}.topnav-pop{position:absolute;right:0;top:40px;z-index:50;background:var(--panel);border:.5px solid var(--line-2);border-radius:10px;padding:6px;min-width:200px;display:grid;box-shadow:0 8px 24px #0000001f}.topnav-pop button{border:none;background:none;text-align:left;padding:8px 10px;border-radius:6px;font-size:14px;display:flex;justify-content:space-between}.topnav-pop button:hover{background:var(--hover)}.pop-node{padding:6px 10px}.page{max-width:1280px;margin:0 auto;padding:28px 32px 64px;display:grid;gap:28px;align-content:start;font-size:15px}.page h1{font-family:var(--serif);font-size:28px;font-weight:600;margin:0 0 4px;line-height:1.3}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.section-title{font-size:13px;font-weight:500;color:var(--text-3);margin:0 0 10px;letter-spacing:.04em}.empty-line{color:var(--text-3);margin:0;padding:18px;border:1px dashed var(--line-2);border-radius:10px;text-align:center}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--text-3)}.tag{display:inline-block;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--hover);color:var(--text-2);white-space:nowrap}.tag.tone-success{background:var(--success-bg);color:var(--success)}.tag.tone-accent{background:var(--accent-bg);color:var(--accent)}.tag.tone-danger{background:var(--danger-bg);color:var(--danger)}.chips{display:inline-flex;flex-wrap:wrap;gap:6px}.chips button{border-radius:999px;padding:5px 14px;font-size:13px}.chips button.on{background:var(--text);color:var(--bg);border-color:transparent}.make-switch{padding:14px 24px 0}.todo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.todo{display:grid;gap:4px;text-align:left;padding:16px 18px;border-radius:12px;border:none;font-size:14px}.todo b{font-size:20px;font-weight:600}.todo.tone-accent{background:var(--accent-bg);color:var(--accent)}.todo.tone-warning{background:var(--warning-bg);color:var(--warning)}.todo.tone-danger{background:var(--danger-bg);color:var(--danger)}.todo:hover{filter:brightness(.97)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.kpi{background:var(--panel);border:.5px solid var(--line);border-radius:12px;padding:14px 18px;display:grid;gap:2px}.kpi small{color:var(--text-3);font-size:13px}.kpi b{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}.lanes{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px;overflow-x:auto}.lane{background:var(--hover);border-radius:12px;padding:10px;display:grid;gap:8px;align-content:start;min-width:0}.lane-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;font-size:14px}.lane-head .count{font-size:13px;color:var(--text-3)}.lane-empty{margin:0;padding:12px 6px;font-size:13px;color:var(--text-3)}.mini{display:grid;gap:6px;text-align:left;padding:10px 12px;background:var(--panel);border:.5px solid var(--line);border-radius:10px;font-size:14px}.mini:hover{border-color:var(--text-3)}.mini-title{font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mini-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mini-num{font-size:13px;color:var(--text-2);font-variant-numeric:tabular-nums}.shelf-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.shelf-filters input{flex:1 1 240px;max-width:360px}.shelf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.book-card{display:grid;gap:8px;text-align:left;padding:16px 18px;background:var(--panel);border:.5px solid var(--line);border-radius:14px;align-content:start}.book-card:hover{border-color:var(--text-3)}.book-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.book-title{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.35}.book-sub{font-size:13px;color:var(--text-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px 0;border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}.book-stats span{display:grid}.book-stats small{font-size:12px;color:var(--text-3)}.book-stats b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.book-foot{display:flex;flex-wrap:wrap;gap:6px}.page.book{gap:18px}.book-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.book-kicker{margin:0 0 6px;font-size:13px;color:var(--text-3)}.callout{display:grid;gap:10px;padding:14px 16px;border-radius:12px;background:var(--accent-bg)}.tabs{display:flex;gap:22px;border-bottom:.5px solid var(--line)}.tabs button{border:none;background:none;border-radius:0;padding:10px 0;font-size:15px;color:var(--text-2);border-bottom:2px solid transparent}.tabs button.on{color:var(--text);font-weight:600;border-bottom-color:var(--text)}.tree{display:grid;border:.5px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.tree-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:.5px solid var(--line);flex-wrap:wrap}.tree-row:last-child{border-bottom:none}.tree-row.here{background:var(--accent-bg)}.tree-main{display:grid;gap:2px;text-align:left;border:none;background:none;padding:0;flex:1 1 320px;min-width:0}.tree-title{font-weight:500;font-size:15px}.tree-tags{display:flex;flex-wrap:wrap;gap:6px}.tree-num{font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-2);min-width:150px;text-align:right}.reader{white-space:pre-wrap;font-family:var(--serif);font-size:16px;line-height:1.85;max-width:72ch;margin-top:16px;padding:28px 32px;background:var(--panel);border:.5px solid var(--line);border-radius:12px}.tests{display:grid;gap:18px}.test-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.data-table{width:100%;border-collapse:collapse;font-size:14px;background:var(--panel);border-radius:10px;overflow:hidden}.data-table th,.data-table td{padding:8px 12px;border-bottom:.5px solid var(--line);text-align:left}.data-table th{font-weight:500;color:var(--text-3);font-size:13px}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:900px){.topnav{gap:12px;padding:0 12px;overflow-x:auto}.page{padding:20px 16px 48px}.lanes{grid-template-columns:repeat(4,minmax(220px,1fr))}}.page>.link{justify-self:start;font-size:14px}.shelf-filters select{width:auto}.prod-detail.loop{margin:0 auto;padding:28px 32px 64px;font-size:15px}.prod-detail.loop h1{font-family:var(--serif);font-size:28px}.lib-update{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.lib-update .kpi span{font-size:13px}.lib-status .tag{font-size:14px}.lib-log{white-space:pre-wrap;font-size:12px;background:var(--panel);border:.5px solid var(--line);border-radius:10px;padding:12px;max-height:320px;overflow:auto;margin:0}.reports{display:grid;gap:8px}.report{background:var(--panel);border:.5px solid var(--line);border-radius:10px;padding:10px 14px}.report summary{cursor:pointer;font-size:14px}.report p{margin:6px 0 0;font-size:13px}.fw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.fw-cell{position:relative;display:grid;gap:4px;text-align:left;padding:12px 14px;background:var(--panel);border:.5px solid var(--line);border-radius:12px;overflow:hidden}.fw-cell span{font-size:13px;color:var(--text-2)}.fw-cell b{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.fw-cell .up,.map-row .up{color:var(--success);font-size:13px;font-weight:500}.map-row .down{color:var(--danger)}.fw-cell.on{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.fw-cell .bar,.map-main .bar{display:block;height:4px;border-radius:2px;background:var(--accent);opacity:.55}button.fw-cell:hover{border-color:var(--text-3)}.lib-table td{vertical-align:top}.lib-story{max-width:380px;font-size:13px;color:var(--text-2)}.adapt{display:grid;gap:4px;justify-items:start;border:none;background:none;padding:0;text-align:left}.pager{justify-content:center;margin-top:12px;align-items:center}.map-rows{display:grid;gap:10px}.map-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 18px;background:var(--panel);border:.5px solid var(--line);border-radius:12px}.map-rank{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--text-3);text-align:center}.map-main{display:grid;gap:6px;min-width:0}.map-main b{font-size:16px}.map-side{display:grid;grid-template-columns:repeat(4,76px);gap:8px;text-align:right}.map-side span{display:grid}.map-side small{font-size:12px;color:var(--text-3)}.map-side b{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}a.button{display:inline-flex;align-items:center;padding:6px 14px;border-radius:8px;border:.5px solid var(--line-2);text-decoration:none;color:var(--text);font-size:14px}a.button.primary{background:var(--text);color:var(--bg);border-color:transparent}@media(max-width:900px){.map-row{grid-template-columns:28px minmax(0,1fr)}.map-side{grid-column:1 / -1;grid-template-columns:repeat(4,1fr);text-align:left}}.ov-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi.big b{font-size:34px}.kpi.big span{font-size:13px}.ov-funnel{display:grid;grid-template-columns:repeat(9,minmax(110px,1fr));gap:0;overflow-x:auto;border:.5px solid var(--line);border-radius:12px;background:var(--panel)}.ov-step{display:grid;gap:4px;padding:14px;border-right:.5px solid var(--line);position:relative}.ov-step:last-child{border-right:none}.ov-step small{font-size:13px;color:var(--text-3);white-space:nowrap}.ov-step b{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.ov-step .unit{font-size:12px;font-weight:400;color:var(--text-3);margin-left:3px}.ov-rate{font-size:12px;color:var(--accent);min-height:16px}.ov-line{cursor:pointer}.ov-line:hover td{background:var(--hover)}.ov-links{display:flex;gap:10px}.subnav{display:flex;align-items:center;gap:6px;padding:10px 32px;border-bottom:.5px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:4}.subnav b{font-family:var(--serif);font-size:16px;margin-right:14px}.subnav button{border:none;background:none;padding:6px 12px;border-radius:999px;font-size:14px;color:var(--text-2)}.subnav button.on{background:var(--text);color:var(--bg)}.line-page{min-height:100%}.pool-card{display:grid;gap:6px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);margin-bottom:20px}.pool-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:baseline;font-size:14px}.pool-row small{color:var(--text-3)}.pool-row:first-child{grid-template-columns:72px auto 1fr}.principle-page{overflow:auto;height:100%}.principle-page iframe{display:block;width:100%;border:0;background:transparent}.fwmap{margin-bottom:24px;padding:16px;background:var(--panel);border:.5px solid var(--line);border-radius:12px}.fwmap-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.fwmap-head .section-title{margin:0 0 4px}.fwmap-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 10px}.fwmap-top b{color:var(--accent);font-size:15px}.fwmap-chart svg{width:100%;max-width:760px;height:auto;display:block}.fwmap-chart .grid{stroke:var(--line)}.fwmap-chart .breakeven{stroke:var(--success);stroke-dasharray:4 4}.fwmap-chart .axis{fill:var(--text-3);font-size:11px}.fwmap-chart .dot circle{fill:var(--text-3);opacity:.3}.fwmap-chart .dot .label{fill:var(--text-2);font-size:12px}.fwmap-chart .dot.hot circle{fill:var(--accent);opacity:.9}.fwmap-chart .dot.hot .label{fill:var(--text);font-weight:600;font-size:13px}.fwmap-chart .rank{fill:#fff;font-size:12px;font-weight:700}.fwmap-tiles{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.fwmap-tiles.lose{margin-top:10px}.fwmap-tile{display:grid;gap:2px;padding:8px 12px;border-radius:10px;border:.5px solid var(--line);background:var(--bg);font-size:13px}.fwmap-tile.hot{background:var(--accent-bg);border-color:var(--accent);padding:12px 16px;min-width:160px}.fwmap-tile.hot b{color:var(--accent);font-size:15px}.fwmap-tile.hot small{color:var(--text-2)}.fwmap-tile.cold{color:var(--text-3)}.fwmap-tile small{color:var(--text-3);font-size:12px}.fwmap-no{font-size:12px;color:var(--text-3)}.fwmap-tile.hot .fwmap-no{color:var(--accent);font-weight:700}.fwmap-guess{margin:0 0 10px;font-size:13px}.fwmap-bar{display:grid;gap:4px}.fwmap-bar i{display:block;height:6px;border-radius:3px;background:var(--text-3);opacity:.4}.fwmap-bar.hot i{background:var(--accent);opacity:.8}.fwmap-bar.hot span{font-weight:600;color:var(--accent)}.summap .fwmap-top{gap:6px 18px}.summap .fwmap-top>span{display:inline-flex;gap:6px;align-items:baseline}.summap-wrap{overflow-x:auto}.summap-table{width:100%;border-collapse:collapse;font-size:13px}.summap-table th,.summap-table td{padding:7px 10px;border-bottom:.5px solid var(--line);text-align:center;white-space:nowrap}.summap-table th:first-child,.summap-table td:first-child{text-align:left}.summap-table th{font-weight:600;color:var(--text-2)}.summap-table th small{display:block;font-weight:400;color:var(--text-3);font-size:11px}.summap-table th.num,.summap-table td.num{text-align:right}.summap-table tbody tr{cursor:pointer}.summap-table tbody tr:hover{background:var(--hover)}.summap-table tbody tr.on{box-shadow:inset 3px 0 0 var(--accent)}.sm-cell{color:var(--text-3);font-variant-numeric:tabular-nums}.sm-cell.hot{background:var(--accent-bg);color:var(--accent);font-weight:700;font-size:15px}.sm-cell.lose{color:var(--danger)}.sm-res{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end}.sm-bar{display:inline-block;width:60px;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.sm-bar i{display:block;height:100%;background:var(--text-3)}.summap-table tbody tr.nolink{cursor:default}.fwmap-def{margin:0 0 8px;font-size:13px;color:var(--text-2)}.sm-off{margin-left:6px;font-size:11px;color:var(--warning);background:var(--warning-bg)}.core-frame{margin:4px 0 20px;padding:16px 18px;border-radius:12px;background:var(--accent-bg);border:.5px solid var(--accent)}.core-frame.empty{background:var(--panel);border-color:var(--line)}.core-frame-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.core-frame-head small{color:var(--text-2);font-size:12px}.core-frame-head b{font-size:22px;color:var(--accent)}.core-frame.empty .core-frame-head b,.core-frame.empty>b{color:var(--text-3)}.core-frame-chain{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.core-frame-chain li{position:relative;display:grid;gap:4px;padding:10px 12px;background:var(--panel);border-radius:10px;font-size:14px}.core-frame-chain li small{color:var(--text-3);font-size:12px}.core-frame-chain li+li:before{content:"→";position:absolute;left:-9px;top:50%;transform:translate(-50%,-50%);color:var(--accent);font-weight:700}.core-frame-line{margin:10px 0 0;font-size:13px;color:var(--text-2)}@media(max-width:720px){.core-frame-chain{grid-template-columns:1fr}.core-frame-chain li+li:before{content:"↓";left:50%;top:-9px}}.lib-views{display:flex;gap:6px;margin:0 0 18px;border-bottom:.5px solid var(--line)}.lib-views button{border:0;background:transparent;padding:8px 14px;border-bottom:2px solid transparent;border-radius:0;color:var(--text-2);font-size:14px}.lib-views button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.script-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin:16px 0 24px}.script-group{padding:12px 14px;background:var(--panel);border:.5px solid var(--line);border-radius:12px}.script-group h3{margin:0 0 8px;font-size:14px}.script-group tr.clickable{cursor:pointer}.script-group tr.clickable:hover{background:var(--hover)}.script-group tr.on{box-shadow:inset 3px 0 0 var(--accent)}.script-group td:first-child{position:relative}.sg-name{position:relative;z-index:1}.sg-bar{position:absolute;left:0;bottom:3px;height:3px;border-radius:2px;background:var(--accent);opacity:.35}.spend-wrap{overflow-x:auto}.spend-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.spend-table th.sortable:hover{color:var(--text)}.spend-table td.good{color:var(--success);font-weight:600}.spend-sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;margin-top:2px}.script-chain{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:6px 0 4px;font-size:12px}.script-chain span{display:grid;gap:2px;padding:6px 8px;background:var(--accent-bg);border-radius:8px;color:var(--text)}.script-chain small{color:var(--text-3);font-size:11px}.script-tags{display:grid;gap:4px;margin-top:6px;font-size:12px}.script-tags .row{flex-wrap:wrap;gap:4px}.script-tags .chip{display:inline-flex;gap:4px;align-items:baseline;padding:1px 8px;border-radius:999px;background:var(--accent-bg);color:var(--text)}.script-tags .chip.soft{background:var(--panel);border:.5px solid var(--line)}.script-tags .chip.warn{background:transparent;border:.5px solid var(--warning);color:var(--warning)}.script-tags .chip small,.script-kf small{color:var(--text-3);font-size:11px}.script-kf{display:grid;gap:1px;padding:4px 8px;border-left:2px solid var(--accent, var(--line));color:var(--text-2, var(--text))}.bubbles{position:relative;background:var(--panel);border:.5px solid var(--line);border-radius:12px;padding:8px;margin-bottom:16px}.bubbles svg{width:100%;height:auto;display:block;overflow:visible}.bubbles .grid{stroke:var(--line);stroke-width:1}.bubbles .ref{stroke:var(--text-3);stroke-width:1;stroke-dasharray:4 4}.bubbles .tick{fill:var(--text-3);font-size:11px;font-variant-numeric:tabular-nums}.bubbles .axis{fill:var(--text-2);font-size:12px}.bubble{cursor:pointer;transition:transform .6s ease}.bubble .hit{fill:transparent}.bubble .dot{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:2;transition:r .6s ease}.bubble.other .dot{fill:var(--text-3);stroke:var(--text-3);fill-opacity:.14}.bubble:hover .dot,.bubble.on .dot{fill-opacity:.4}.bubble .grow{fill:none;stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;transition:r .6s ease}.bubble .lbl{fill:var(--text);font-size:12px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px}.bubble .val{fill:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums}.bubble-tip{position:absolute;transform:translate(-50%,calc(-100% - 14px));background:var(--panel);border:.5px solid var(--line-2);border-radius:8px;padding:8px 12px;display:grid;gap:2px;font-size:12px;box-shadow:0 4px 16px #0000001f;pointer-events:none;white-space:nowrap;z-index:3}.table-scroll{overflow-x:auto}.test-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.data-table tr.clickable{cursor:pointer}.data-table tr.clickable.on td{background:var(--accent-bg)}
