:root{--ink: #0c2530;--ink-deep: #081c25;--panel: #11313f;--panel-up: #16404f;--line: rgba(248, 244, 238, .12);--ivory: #f8f4ee;--muted: rgba(248, 244, 238, .55);--faint: rgba(248, 244, 238, .32);--teal: #1aa7a0;--orange: #c44e2a;--euca: #8faf82;--honey: #d9a441;--slate: #7c93a3;--ff: "Space Grotesk", system-ui, sans-serif;--mono: "Space Mono", monospace;--r-sm: 6px;--r-md: 10px;--r-lg: 14px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--ff);background:var(--ink);color:var(--ivory);line-height:1.5;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:216px 1fr;height:100%}@media (max-width: 760px){.shell{grid-template-columns:1fr}.rail{display:none}}.rail{background:var(--ink-deep);border-right:1px solid var(--line);padding:1.1rem .85rem;display:flex;flex-direction:column;gap:.2rem}.rail-brand{font-family:var(--mono);font-weight:700;font-size:.95rem;letter-spacing:.18em;color:var(--teal);padding:.25rem .6rem 1rem}.rail-label{font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);padding:.9rem .6rem .35rem}.rail-item{display:flex;align-items:center;gap:.6rem;width:100%;text-align:left;background:none;border:none;color:var(--muted);font-size:.88rem;font-weight:500;padding:.5rem .6rem;border-radius:var(--r-sm);transition:background .12s,color .12s}.rail-item:hover{color:var(--ivory);background:#f8f4ee0d}.rail-item.active{color:var(--ivory);background:var(--panel);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.rail-count{margin-left:auto;font-family:var(--mono);font-size:.7rem;color:var(--faint)}.main{display:flex;flex-direction:column;min-width:0;height:100%}.topbar{display:flex;align-items:center;gap:1rem;padding:.8rem 1.4rem;border-bottom:1px solid var(--line)}.topbar h1{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.topbar .crumb{color:var(--faint);font-weight:400}.kbd-hint{margin-left:auto;display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:var(--r-md);padding:.4rem .8rem;font-size:.8rem;color:var(--faint);background:none}.kbd-hint kbd{font-family:var(--mono);font-size:.68rem;border:1px solid var(--line);border-radius:4px;padding:.05rem .35rem;color:var(--muted)}.view-toggle{display:flex;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.view-toggle button{background:none;border:none;color:var(--muted);font-size:.78rem;font-weight:600;padding:.4rem .85rem}.view-toggle button.on{background:var(--teal);color:var(--ink-deep)}.content{flex:1;overflow:auto;padding:1.4rem}.ticker{display:flex;gap:0;overflow-x:auto;background:var(--ink-deep);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:1.4rem;scrollbar-width:none}.ticker::-webkit-scrollbar{display:none}.tick{flex:1 0 auto;min-width:168px;padding:.9rem 1.1rem;border-right:1px solid var(--line)}.tick:last-child{border-right:none}.tick .t-label{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:.3rem;white-space:nowrap}.tick .t-days{font-family:var(--mono);font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--ivory)}.tick .t-days small{font-size:.7rem;font-weight:400;color:var(--muted);margin-left:.3rem}.tick .t-date{font-family:var(--mono);font-size:.68rem;color:var(--muted);margin-top:.3rem;white-space:nowrap}.tick.hot .t-days{color:var(--orange)}.tick.warm .t-days{color:var(--honey)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem}.dcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.05rem 1.15rem;text-align:left;color:inherit;transition:border-color .12s,transform .12s}.dcard:hover{border-color:var(--teal);transform:translateY(-1px)}.dcard-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem}.dcard-head h3{font-size:.95rem;font-weight:700}.dcard-stats{display:flex;gap:1.1rem}.dstat .n{font-family:var(--mono);font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums}.dstat .l{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}.dstat.alert .n{color:var(--orange)}.dcard-next{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.dcard-next b{color:var(--ivory);font-weight:500}.board{display:grid;grid-template-columns:repeat(4,minmax(225px,1fr));gap:.9rem;align-items:start;min-width:920px}.board-wrap{overflow-x:auto}.col{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:.75rem;display:flex;flex-direction:column;gap:.55rem;min-height:200px;transition:border-color .12s,background .12s}.col.drop{border-color:var(--teal);background:var(--panel-up)}.col-head{display:flex;align-items:baseline;gap:.5rem;padding:.15rem .3rem .4rem}.col-head h4{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.col-head .n{font-family:var(--mono);font-size:.72rem;color:var(--faint)}.tcard{background:var(--ink);border:1px solid var(--line);border-radius:var(--r-md);padding:.7rem .8rem;cursor:grab;transition:border-color .12s;border-left:3px solid var(--card-accent, var(--line))}.tcard:hover{border-color:var(--teal);border-left-color:var(--card-accent, var(--teal))}.tcard.dragging{opacity:.45}.tcard h5{font-size:.86rem;font-weight:500;line-height:1.35}.tcard.done h5{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--euca)}.tcard-meta{display:flex;align-items:center;gap:.5rem;margin-top:.45rem;flex-wrap:wrap}.chip{font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:.12rem .45rem;border-radius:5px}.chip.p0{background:#c44e2a2e;color:#e8907a}.chip.p1{background:#d9a44129;color:var(--honey)}.chip.p2{background:#f8f4ee14;color:var(--muted)}.chip.domain{background:#1aa7a024;color:var(--teal)}.due{font-family:var(--mono);font-size:.66rem;color:var(--muted)}.due.over{color:var(--orange);font-weight:700}.tcard-actions{margin-top:.45rem;display:none;gap:.4rem}.tcard:hover .tcard-actions{display:flex}.mini{background:none;border:1px solid var(--line);color:var(--muted);font-size:.66rem;font-weight:600;padding:.18rem .5rem;border-radius:5px}.mini:hover{color:var(--ivory);border-color:var(--teal)}.list{width:100%;border-collapse:collapse;font-size:.86rem}.list th{text-align:left;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:.5rem .6rem;border-bottom:1px solid var(--line)}.list td{padding:.55rem .6rem;border-bottom:1px solid var(--line)}.list tr:hover td{background:#f8f4ee08}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#081c25b3;display:grid;place-items:start center;padding-top:16vh;z-index:50}.qadd{width:min(620px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 60px #00000080;overflow:hidden}.qadd input{width:100%;background:none;border:none;color:var(--ivory);font-size:1rem;padding:1rem 1.2rem;outline:none}.qadd input::placeholder{color:var(--faint)}.qadd-help{padding:.6rem 1.2rem .8rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.68rem;color:var(--faint);display:flex;gap:1.2rem;flex-wrap:wrap}.qadd-preview{padding:0 1.2rem .8rem;display:flex;gap:.5rem;flex-wrap:wrap}.empty{color:var(--faint);font-size:.82rem;padding:.8rem .4rem;text-align:center}.banner{background:#c44e2a1f;border:1px solid rgba(196,78,42,.4);color:#e8907a;border-radius:var(--r-md);padding:.7rem 1rem;font-size:.84rem;margin-bottom:1rem}.spin{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:rot .8s linear infinite;margin:2rem auto}@keyframes rot{to{transform:rotate(360deg)}}.saving{position:fixed;bottom:1rem;right:1rem;z-index:60;font-family:var(--mono);font-size:.7rem;color:var(--muted);background:var(--ink-deep);border:1px solid var(--line);border-radius:var(--r-md);padding:.4rem .8rem}
