html,body,#root{height:100%;margin:0}:root{--bg:#11151b;--panel:#161b23;--line:#262f3b;--text:#e4eaf1;--muted:#7d8ea3;--accent:#4c8bf5;--gold:#ffd21f;--sidebar-w:200px;--project-row:52px;--project-gap:2px;--board-size:clamp(300px, 50vh, 560px);--top-h:calc(var(--board-size) + 38px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button{font:inherit;color:var(--text);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;padding:4px 9px}button:hover{border-color:#3a4757}button.icon{color:var(--muted);border:none;border-radius:4px;width:20px;height:20px;padding:0;line-height:1}button.icon:hover{color:var(--text);background:#263041}button.link{color:var(--muted);text-align:left;border:none;padding:0}button.link:hover{color:var(--text)}input,textarea{font:inherit;color:var(--text);border:1px solid var(--line);background:#0d1117;border-radius:6px;width:100%;padding:5px 8px}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--accent);outline:none}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100dvh;display:grid;overflow:hidden}.mobile-bar,.scrim{display:none}.main{grid-template-rows:auto minmax(0,1fr);gap:14px;min-width:0;min-height:0;padding:14px 0 0 14px;display:grid}.top{margin-left:calc(-1 * (var(--sidebar-w) + 14px));height:var(--top-h);pointer-events:none;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;min-width:0;display:grid}.top>*{pointer-events:auto}.board{grid-column:2}.ad-left{margin-left:calc(var(--sidebar-w) + 14px);grid-column:1}.rail{flex-direction:column;grid-column:3;gap:12px;min-height:0;display:flex}.sidebar{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex;overflow:hidden}.sidebar-head{justify-content:space-between;align-items:center;padding:14px 12px 10px;display:flex}.sidebar-head h1{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:12px;font-weight:600}.project-list{max-height:calc(3 * var(--project-row) + 2 * var(--project-gap));gap:var(--project-gap);flex-direction:column;flex:none;padding:0 8px;display:flex;overflow-y:auto}.project{height:var(--project-row);cursor:pointer;border-left:2px solid #0000;border-radius:7px;flex:none;padding:6px 9px;position:relative;overflow:hidden}.project input{padding:1px 6px;font-size:13px}.project:hover{background:#1c232e}.project.active{border-left-color:var(--accent);background:#1c2534}.project-name{text-overflow:ellipsis;white-space:nowrap;padding-right:40px;font-weight:500;overflow:hidden}.project-meta{color:var(--muted);margin-top:1px;font-size:11px}.project-tools{gap:2px;display:none;position:absolute;top:6px;right:6px}.project:hover .project-tools{display:flex}.sidebar-foot{border-top:1px solid var(--line);flex-direction:column;gap:5px;padding:12px;font-size:12px;display:flex}.status{color:var(--gold);font-size:11px}.board{flex-direction:column;align-items:center;gap:10px;min-height:0;display:flex}.board-wrap{width:var(--board-size);position:relative}.board-nav{gap:4px;display:flex}.board-nav button{min-width:34px;color:var(--muted)}.board-nav button:hover{color:var(--text)}.promotion-overlay{background:#0a0e1499;border-radius:6px;place-items:center;display:grid;position:absolute;inset:0}.promotion-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;gap:6px;padding:8px 10px;display:flex}.promotion-card button{padding:3px 7px;font-size:22px;line-height:1}.graph{background:var(--panel);border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;min-width:0;min-height:0;display:flex}.graph-scroll{flex:1;padding:10px 12px;overflow:auto}.graph-canvas{position:relative}.graph-edges{pointer-events:none;position:absolute;inset:0}.graph-node{align-items:center;display:flex;position:absolute}.graph-move{border:1px solid var(--line);background:var(--panel);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;text-align:left;border-radius:6px;width:100%;height:100%;padding:0 6px;font-size:12.5px;overflow:hidden}.graph-node.root .graph-move{color:var(--muted);border-style:dashed;font-size:11px}.graph-node.active .graph-move{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.graph-no{color:var(--muted);margin-right:1px}.graph-node.active .graph-no{color:#ffffffb3}.graph-dot{background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-3px}.graph-delete{border:1px solid var(--line);width:16px;height:16px;color:var(--muted);background:#2a3341;border-radius:50%;padding:0;font-size:12px;line-height:1;display:none;position:absolute;top:-7px;right:-7px}.graph-node:hover .graph-delete{display:block}.graph-delete:hover{color:#fff;background:#a33;border-color:#a33}.note{background:var(--panel);border:1px solid var(--line);border-right:none;border-radius:10px 0 0 10px;flex-direction:column;flex:1 1 0;gap:6px;width:100%;min-height:120px;padding:10px;display:flex}.note-head{justify-content:space-between;align-items:baseline;display:flex}.note-move{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.note textarea{resize:none;flex:1;min-height:0;line-height:1.45}.note-bar{justify-content:flex-end;align-items:center;gap:12px;min-height:22px;display:flex}.note-bar .hint{margin-right:auto}.hint{color:var(--muted);font-size:11px}.ad-slot{min-width:0;min-height:0}.rail .ad-slot{flex:0 42%}.ad{border:1px dashed var(--line);background:#131820;border-radius:8px;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.ad-label{letter-spacing:.08em;text-transform:uppercase;color:#4a5768;text-align:center;font-size:10px;line-height:1.6}.rail .ad{border-right:none;border-radius:8px 0 0 8px}.ad-side{flex:1 1 0;margin:10px 8px}@media (width<=720px){.app{grid-template-rows:auto auto;grid-template-columns:1fr}.mobile-bar{z-index:40;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.mobile-bar .icon{width:34px;height:34px;font-size:18px}.mobile-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scrim{z-index:55;background:#06090d99;display:block;position:fixed;inset:0}.sidebar{z-index:60;width:268px;transition:transform .18s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.ad-side{display:none}.main{gap:12px;padding:12px}.top{padding-right:0}.board,.rail{width:100%}.board-wrap{width:min(100%,70vh)}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}@media (hover:none){.project-tools{display:none}.project.active .project-tools{gap:4px;display:flex}.project-tools .icon{width:28px;height:28px;font-size:15px}.project.active .project-name{padding-right:100px}.graph-delete{display:none}.graph-node.active .graph-delete{width:22px;height:22px;color:var(--text);background:#33404f;font-size:15px;display:block;top:-10px;right:-10px}.board-nav button{min-width:46px;padding:8px 12px}.sidebar-foot{gap:10px;font-size:13px}}.modal-backdrop{z-index:50;background:#080b10b3;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;width:min(620px,92vw);padding:14px;display:flex}.modal-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}@media (width<=1040px),(height<=560px){.app{height:auto;min-height:100dvh;overflow:visible}.main{grid-template-rows:auto auto}.graph{border-bottom:1px solid var(--line);border-radius:10px;min-height:280px}}@media (width<=1040px){.top{grid-template-columns:1fr;justify-items:center;height:auto;margin-left:0;padding-right:14px}.board,.rail{grid-column:1}.ad-left{display:none}.rail{justify-self:stretch;width:auto}.note{flex:none;order:-1}.note textarea{min-height:90px}.rail .ad-slot{flex:none;height:220px}.note,.rail .ad{border-right:1px solid var(--line);border-radius:10px}.board-wrap{width:min(100%,46vh)}}@media (height<=480px) and (width>=640px){.top{grid-template-columns:auto minmax(220px,1fr);justify-items:stretch}.board{grid-column:1}.rail{grid-column:2}.board-wrap{width:min(100%,100dvh - 86px)}.rail .ad-slot,.ad-side{display:none}.graph{min-height:240px}}
