:root{--wall: #d6d7da;--wall-2: #c8cace;--board: #ffffff;--frame: #131314;--panel: #ffffff;--panel-2: #f4f5f6;--line: #17171a;--line-soft: #dadade;--border: #d6d7da;--border-strong: #b7b9bd;--ink: #1c2230;--ink-dim: #59606e;--ink-faint: #8b92a0;--slate: #1c1c20;--slate-2: #2d2d33;--accent: #0f9d76;--accent-dim: #0c8467;--accent-soft: rgba(15, 157, 118, .12);--running: #2563eb;--danger: #dc2626;--note-none: #fdf07a;--note-low: #b7f0c2;--note-medium: #ffc879;--note-high: #ff9db0;--note-none-edge: #e8d84f;--note-low-edge: #8fdfa2;--note-medium-edge: #efb15c;--note-high-edge: #f07d95;--radius: 10px;--radius-sm: 7px;--shadow: 0 10px 30px rgba(20, 24, 33, .18);--app-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-unit: 1px;color-scheme:light}:root[data-font=rounded]{--app-font: ui-rounded, "SF Pro Rounded", "Hiragino Maru Gothic ProN", "Quicksand", "Segoe UI", system-ui, sans-serif}:root[data-font=serif]{--app-font: "Iowan Old Style", "Palatino Linotype", Palatino, "Georgia", "Times New Roman", serif}:root[data-font=mono]{--app-font: ui-monospace, "SF Mono", "Cascadia Code", "Segoe UI Mono", Consolas, "Courier New", monospace}:root[data-font=marker]{--app-font: "Bradley Hand", "Segoe Print", "Comic Sans MS", "Chalkboard SE", cursive}:root[data-theme=dark]{--wall: #14151a;--wall-2: #0d0e12;--board: #212228;--frame: #08080a;--panel: #20212a;--panel-2: #2a2b35;--line: #cfd2da;--line-soft: #35363f;--border: #34353f;--border-strong: #474854;--ink: #e7e9ef;--ink-dim: #a4a8b4;--ink-faint: #71757f;--slate: #33343f;--slate-2: #42434f;--accent-soft: rgba(15, 157, 118, .2);color-scheme:dark}:root[data-theme=dark] .board{background-image:linear-gradient(180deg,#ffffff05,#fff0 120px);box-shadow:var(--shadow),0 0 0 1px #000,inset 0 0 0 2px #ffffff0d,inset 0 2px 10px #00000038}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--wall);background-image:radial-gradient(circle at 50% 0%,var(--wall) 0%,var(--wall-2) 100%);color:var(--ink);font-family:var(--app-font);font-size:calc(14 * var(--fs-unit));line-height:1.45;-webkit-font-smoothing:antialiased}button{font:inherit;color:var(--ink);cursor:pointer;border:1px solid var(--border-strong);background:var(--panel);border-radius:var(--radius-sm);padding:6px 12px;transition:background .12s,border-color .12s,box-shadow .12s}button:hover{background:var(--panel-2)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--slate);border-color:var(--slate);color:#fff;font-weight:600}button.primary:hover{background:var(--slate-2)}button.ghost{background:transparent;border-color:transparent;color:var(--ink-dim)}button.ghost:hover{background:var(--panel-2);color:var(--ink)}button.icon{padding:4px 8px;background:transparent;border-color:transparent;color:var(--ink-dim)}button.icon:hover{background:var(--panel-2);color:var(--ink)}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 10px;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--slate);box-shadow:0 0 0 3px #1b213014}label{display:block;font-size:calc(12 * var(--fs-unit));color:var(--ink-dim);margin-bottom:4px}a{color:var(--running)}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:20px;padding:0 20px;height:56px;background:var(--frame);color:#f4f4f5;border-bottom:3px solid #000;box-shadow:0 2px 8px #00000040;flex-shrink:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:calc(16 * var(--fs-unit));letter-spacing:.01em;color:#fff}.brand .logo{font-size:calc(20 * var(--fs-unit))}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-tagline{font-weight:500;font-size:calc(10.5 * var(--fs-unit));letter-spacing:.01em;opacity:.7;margin-top:1px}.brand-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px #ffffff2e,0 2px 6px #00000059}.panda-byline-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px var(--panel),0 2px 8px #1418212e}.panda-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:40px 20px;max-width:420px;margin:24px auto}.panda-empty img{width:128px;height:128px;border-radius:24px;object-fit:cover;box-shadow:var(--shadow)}.panda-empty-title{font-weight:700;font-size:calc(17 * var(--fs-unit));margin-top:4px}.help-doc{font-size:calc(14 * var(--fs-unit));line-height:1.55}.help-intro{display:flex;gap:14px;align-items:center;margin-bottom:6px}.help-intro img{width:72px;height:72px;border-radius:16px;object-fit:cover;flex-shrink:0;box-shadow:var(--shadow)}.help-intro p{margin:0;color:var(--ink-dim)}.help-doc h3{margin:18px 0 6px;font-size:calc(15 * var(--fs-unit));color:var(--ink);border-bottom:1px solid var(--line-soft);padding-bottom:5px}.help-doc ul{margin:6px 0 0;padding-left:20px}.help-doc li{margin-bottom:6px;color:var(--ink-dim)}.help-doc li strong{color:var(--ink);font-weight:600}.help-note{margin-top:18px;padding:12px 14px;background:var(--accent-soft);border-radius:8px;font-size:calc(13 * var(--fs-unit));color:var(--ink-dim)}.help-note strong{color:var(--ink)}.linklike-btn{background:none;border:none;color:var(--accent-dim);font-weight:600;cursor:pointer;padding:0;text-decoration:underline;font:inherit}.tabs{display:flex;gap:2px}.tab{background:transparent;border:none;color:#ffffff9e;padding:8px 15px;border-radius:var(--radius-sm);font-weight:500}.tab:hover{background:#ffffff14;color:#fff}.tab.active{background:#ffffff24;color:#fff}.topbar .spacer{flex:1}.running-pill{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;color:#cfe0ff;background:#2563eb38;border:1px solid rgba(96,145,245,.5);padding:5px 12px;border-radius:20px;font-size:calc(13 * var(--fs-unit))}.running-pill:hover{background:#2563eb57}.running-pill.warn{background:#ea580c33;border-color:#ea580c8c;color:#ffd7b0}.running-pill.warn:hover{background:#ea580c52}.modal table.data tbody tr[style]{transition:background .1s}.modal table.data tbody tr[style]:hover{background:var(--panel-2)}.settings-btn{flex-shrink:0;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.16);border-radius:9px;color:#ffffffb8;font-size:calc(17 * var(--fs-unit));line-height:1;transition:background .12s,color .12s,transform .2s}.settings-btn:hover{background:#ffffff1a;color:#fff}.settings-btn:hover{transform:rotate(45deg)}.settings-btn.active{background:#ffffff29;color:#fff;border-color:#ffffff4d}.settings-btn.auth-signin{width:auto;padding:0 13px;font-size:calc(13 * var(--fs-unit));font-weight:600}.settings-btn.auth-signin:hover{transform:none}.auth-chip{position:relative;flex-shrink:0;cursor:pointer;display:flex}.auth-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 2px #ffffff38}.auth-avatar.fallback{align-items:center;justify-content:center;background:var(--accent-dim);color:#fff;font-size:calc(12 * var(--fs-unit));font-weight:700}.auth-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:210px;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:6px}.auth-menu-id{padding:8px 10px 10px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:2px}.auth-menu-id strong{font-size:calc(13 * var(--fs-unit))}.auth-menu-id span{font-size:calc(12 * var(--fs-unit));color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-menu button{width:100%;text-align:left;background:transparent;border:none;padding:9px 10px;border-radius:7px;margin-top:4px;color:var(--ink);cursor:pointer}.auth-menu button:hover{background:var(--panel-2)}.auth-sync{padding:8px 10px 4px}.sync-dot{font-size:calc(11 * var(--fs-unit));color:var(--ink-dim);display:flex;align-items:center;gap:6px}.sync-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent-dim);flex-shrink:0}.sync-dot.saving:before{background:var(--running)}.sync-dot.error{color:var(--danger)}.sync-dot.error:before{background:var(--danger)}.auth-gbtn{display:flex;justify-content:center;padding:14px 0 6px;min-height:44px}.overlay.center{align-items:center}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);width:100%;max-width:384px;padding:30px 28px 22px;text-align:center;display:flex;flex-direction:column;align-items:center;animation:authPop .2s ease}@keyframes authPop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.auth-card-panda{width:70px;height:70px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--panel),0 4px 14px #14182138;margin-bottom:10px}.auth-card-title{margin:0;font-size:calc(19 * var(--fs-unit));color:var(--ink)}.auth-card-sub{margin:8px 0 18px;font-size:calc(13 * var(--fs-unit));color:var(--ink-dim);line-height:1.5;max-width:300px}.auth-card .auth-gbtn{padding:0}.auth-card-err{color:var(--danger);font-size:calc(12 * var(--fs-unit));margin-top:10px}.auth-card-guest{margin-top:18px;background:transparent;border:none;color:var(--ink-dim);font-weight:600;cursor:pointer;text-decoration:underline;font-size:calc(13 * var(--fs-unit))}.auth-card-guest:hover{color:var(--ink)}.auth-card-note{margin:7px 0 0;font-size:calc(11 * var(--fs-unit));color:var(--ink-faint)}.view{flex:1;overflow:auto}.quick-add{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.topbar .quick-input{flex:1;min-width:60px;font-size:calc(14 * var(--fs-unit));padding:8px 14px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f4f4f5}.topbar .quick-input::placeholder{color:#ffffff73}.topbar .quick-input:focus{background:#ffffff21;border-color:#ffffff52;box-shadow:none}.topbar .quick-pick{width:auto;min-width:108px;max-width:180px;font-size:calc(13 * var(--fs-unit));padding:7px 10px;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f4f4f5}.topbar .quick-pick option{background:var(--panel);color:var(--ink)}.quick-play{flex-shrink:0;width:38px;height:38px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(14 * var(--fs-unit));background:var(--accent-dim);border-color:var(--accent-dim);color:#fff}.quick-play:hover:not(:disabled){background:var(--accent)}.quick-play:disabled{background:#ffffff14;border-color:#ffffff24;color:#fff6;opacity:1}.board-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:14px 22px 0}.board-chip{background:transparent;border:1px solid var(--border-strong);color:var(--ink-dim);padding:6px 14px;border-radius:999px;font-weight:600;font-size:calc(13 * var(--fs-unit))}.board-chip:hover{background:var(--panel);color:var(--ink)}.board-chip.active{background:var(--frame);color:#fff;border-color:var(--frame)}.board-chip.add{border-style:dashed;font-weight:500}.cal{display:flex;flex-direction:column;height:100%;min-height:0}.cal-toolbar{display:flex;align-items:center;gap:10px;padding:14px 20px 10px;flex-wrap:wrap;flex-shrink:0}.tg-head{display:flex;padding:0 18px;flex-shrink:0}.tg-head-gutter{width:56px;flex-shrink:0}.tg-daylabel{flex:1;text-align:center;padding:2px 0 8px;cursor:pointer;border-radius:8px 8px 0 0}.tg-daylabel:hover{background:var(--panel-2)}.tg-daylabel .dow{display:block;font-size:calc(10 * var(--fs-unit));text-transform:uppercase;letter-spacing:.04em;color:var(--ink-faint);font-weight:700}.tg-daylabel .dom{display:block;font-size:calc(16 * var(--fs-unit));font-weight:800;color:var(--ink);line-height:1.15}.tg-daylabel.today .dom{color:#fff;background:var(--accent-dim);width:26px;height:26px;border-radius:50%;margin:1px auto 0;display:flex;align-items:center;justify-content:center;font-size:calc(13 * var(--fs-unit))}.tg-scroll{flex:1;min-height:0;overflow-y:auto;margin:0 18px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.tg{display:flex;position:relative}.tg-gutter{width:56px;flex-shrink:0}.tg-hour{height:var(--hourpx, 48px);position:relative}.tg-hour span{position:absolute;top:-7px;right:8px;font-size:calc(10 * var(--fs-unit));color:var(--ink-faint);font-weight:600}.tg-hour:first-child span{top:2px}.tg-days{flex:1;display:flex}.tg-col{flex:1;position:relative;cursor:pointer;border-left:1px solid var(--line-soft);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hourpx, 48px) - 1px),var(--line-soft) calc(var(--hourpx, 48px) - 1px),var(--line-soft) var(--hourpx, 48px))}.tg-col:hover{background-color:#0f9d7605}.tg-block{position:absolute;border-radius:5px;padding:2px 5px;overflow:hidden;cursor:pointer;background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--ink-faint);box-shadow:0 1px 2px #14182114;display:flex;flex-direction:column;gap:1px}.tg-block:hover{box-shadow:0 3px 10px #1418212e;z-index:6}.tg-block.prio-none{border-left-color:var(--note-none-edge)}.tg-block.prio-low{border-left-color:var(--note-low-edge)}.tg-block.prio-medium{border-left-color:var(--note-medium-edge)}.tg-block.prio-high{border-left-color:var(--note-high-edge)}.tg-block.running{border-left-color:var(--running);background:#2563eb14}.tg-block.done{opacity:.6}.tg-block-title{font-size:calc(11 * var(--fs-unit));font-weight:700;color:var(--ink);line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-block-time{font-size:calc(10 * var(--fs-unit));color:var(--ink-dim);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:3px}.tg-now{position:absolute;left:0;right:0;height:2px;background:var(--running);z-index:8;pointer-events:none}.tg-now-dot{position:absolute;left:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--running)}.track-list{max-height:300px;overflow-y:auto;margin:10px 0 4px;display:flex;flex-direction:column;gap:2px}.track-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-radius:7px;padding:9px 10px;cursor:pointer}.track-item:hover{background:var(--panel-2)}.track-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--note-none-edge)}.track-dot.prio-low{background:var(--note-low-edge)}.track-dot.prio-medium{background:var(--note-medium-edge)}.track-dot.prio-high{background:var(--note-high-edge)}.track-name{flex:1;font-weight:600;font-size:calc(13 * var(--fs-unit));color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-lane{font-size:calc(12 * var(--fs-unit));flex-shrink:0}.cal-hours-toggle{font-size:calc(12 * var(--fs-unit));white-space:nowrap}.cal-month{flex:1;min-height:0;display:flex;flex-direction:column;margin:0 18px 16px}.cal-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-month-head .cal-dow{color:var(--ink-dim);font-weight:600;font-size:calc(11 * var(--fs-unit));text-transform:uppercase;letter-spacing:.04em;padding:4px 8px;text-align:center}.cal-month-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.cal-mcell{background:var(--panel);padding:4px 5px;display:flex;flex-direction:column;gap:3px;overflow:hidden;cursor:pointer}.cal-mcell:hover,.cal-mcell.out{background:var(--panel-2)}.cal-mcell.out .cal-mday{opacity:.5}.cal-mcell.today{box-shadow:inset 0 0 0 2px var(--accent-dim)}.cal-mcell-head{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.cal-mday{font-size:calc(12 * var(--fs-unit));font-weight:700;color:var(--ink-dim);font-variant-numeric:tabular-nums}.cal-mcell.today .cal-mday{color:var(--accent-dim)}.cal-mtotal{font-size:calc(10 * var(--fs-unit));font-weight:700;color:var(--accent-dim);font-variant-numeric:tabular-nums}.cal-mchips{display:flex;flex-direction:column;gap:2px;overflow:hidden}.cal-mchip{display:flex;align-items:center;gap:5px;text-align:left;border:none;background:var(--panel-2);border-left:3px solid var(--ink-faint);border-radius:3px;padding:1px 5px;cursor:pointer;width:100%}.cal-mchip:hover{background:var(--border)}.cal-mchip.prio-none{border-left-color:var(--note-none-edge)}.cal-mchip.prio-low{border-left-color:var(--note-low-edge)}.cal-mchip.prio-medium{border-left-color:var(--note-medium-edge)}.cal-mchip.prio-high{border-left-color:var(--note-high-edge)}.cal-mchip.running{border-left-color:var(--running)}.cal-mchip-title{flex:1;font-size:calc(11 * var(--fs-unit));font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-mchip-ms{font-size:calc(10 * var(--fs-unit));color:var(--ink-dim);font-variant-numeric:tabular-nums;flex-shrink:0}.cal-mmore{font-size:calc(10 * var(--fs-unit));padding-left:4px}:root[data-cal-card=flat] .tg-block:not(.running),:root[data-cal-card=sticky] .tg-block:not(.running),:root[data-cal-card=flat] .cal-mchip:not(.running),:root[data-cal-card=sticky] .cal-mchip:not(.running){border-left-width:0;color:#2a2a22}:root[data-cal-card=flat] .tg-block.prio-none:not(.running),:root[data-cal-card=sticky] .tg-block.prio-none:not(.running),:root[data-cal-card=flat] .cal-mchip.prio-none:not(.running),:root[data-cal-card=sticky] .cal-mchip.prio-none:not(.running){background-color:var(--note-none)}:root[data-cal-card=flat] .tg-block.prio-low:not(.running),:root[data-cal-card=sticky] .tg-block.prio-low:not(.running),:root[data-cal-card=flat] .cal-mchip.prio-low:not(.running),:root[data-cal-card=sticky] .cal-mchip.prio-low:not(.running){background-color:var(--note-low)}:root[data-cal-card=flat] .tg-block.prio-medium:not(.running),:root[data-cal-card=sticky] .tg-block.prio-medium:not(.running),:root[data-cal-card=flat] .cal-mchip.prio-medium:not(.running),:root[data-cal-card=sticky] .cal-mchip.prio-medium:not(.running){background-color:var(--note-medium)}:root[data-cal-card=flat] .tg-block.prio-high:not(.running),:root[data-cal-card=sticky] .tg-block.prio-high:not(.running),:root[data-cal-card=flat] .cal-mchip.prio-high:not(.running),:root[data-cal-card=sticky] .cal-mchip.prio-high:not(.running){background-color:var(--note-high)}:root[data-cal-card=flat] .tg-block:not(.running) .tg-block-title,:root[data-cal-card=sticky] .tg-block:not(.running) .tg-block-title,:root[data-cal-card=flat] .cal-mchip:not(.running) .cal-mchip-title,:root[data-cal-card=sticky] .cal-mchip:not(.running) .cal-mchip-title{color:#2a2a22}:root[data-cal-card=flat] .tg-block:not(.running) .tg-block-time,:root[data-cal-card=sticky] .tg-block:not(.running) .tg-block-time,:root[data-cal-card=flat] .cal-mchip:not(.running) .cal-mchip-ms,:root[data-cal-card=sticky] .cal-mchip:not(.running) .cal-mchip-ms{color:#0000008c}:root[data-cal-card=sticky] .tg-block:not(.running){min-height:42px;border-radius:1px;padding:5px 7px;background-image:linear-gradient(158deg,#ffffff80,#fff0 40%),linear-gradient(0deg,#0000000f,#0000 16%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");box-shadow:0 1px 1px #0000000d,1px 3px 5px #14182121,4px 10px 14px -8px #14182142;transform:rotate(-1deg);transition:transform .12s ease,box-shadow .12s ease}:root[data-cal-card=sticky] .tg-col>.tg-block:nth-child(3n):not(.running){transform:rotate(1.1deg)}:root[data-cal-card=sticky] .tg-col>.tg-block:nth-child(3n+1):not(.running){transform:rotate(-.7deg)}:root[data-cal-card=sticky] .tg-block:not(.running):hover{transform:rotate(0);z-index:7}:root[data-cal-card=sticky] .tg-block:not(.running):after{content:"";position:absolute;right:0;bottom:0;pointer-events:none;width:22px;height:22px;background:url(/sticky-peel.svg) no-repeat right bottom / 22px 22px}@media (max-width: 720px){.tg-scroll,.tg-head{margin-left:8px;margin-right:8px;padding-left:0;padding-right:0}.cal-month{margin-left:8px;margin-right:8px}}.board{--gutter: 210px;--colw: 274px;--addcol: 150px;margin:12px 22px 22px;padding:20px 22px 26px;min-width:min-content;background:var(--board);background-image:linear-gradient(180deg,#00000004,#0000 120px),radial-gradient(circle at 15% 10%,#ffffffe6,#fff0 40%);border:14px solid var(--frame);border-radius:8px;box-shadow:var(--shadow),0 0 0 1px #000,inset 0 0 0 2px #ffffffb3,inset 0 2px 10px #0000000a}.board-head{display:grid;gap:0;margin-bottom:0;position:sticky;top:0;z-index:5;background:var(--board);border-bottom:3px solid var(--line);padding-bottom:0}.col-head{position:relative;display:flex;align-items:center;gap:7px;padding:6px 12px 12px;font-weight:700;font-size:calc(13 * var(--fs-unit));letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-left:2px solid var(--line)}.col-resize{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:6;touch-action:none}.col-resize:after{content:"";position:absolute;top:4px;bottom:6px;left:3px;width:3px;border-radius:2px;background:transparent;transition:background .12s}.col-resize:hover:after{background:var(--accent-dim)}.board-head>.lane-gutter{border-left:none}.board-title{display:flex;align-items:center;font-weight:800;font-size:calc(17 * var(--fs-unit));letter-spacing:-.01em;color:var(--ink);background:transparent;border:none;padding-bottom:12px}.col-head .count{color:var(--ink-faint);font-weight:600;letter-spacing:0}.col-head .flag{font-size:calc(10 * var(--fs-unit));padding:1px 6px;border-radius:10px;font-weight:700;letter-spacing:.04em}.col-head .flag.active{background:#2563eb24;color:var(--running)}.col-head .flag.done{background:var(--accent-soft);color:var(--accent-dim)}.col-head .wip{letter-spacing:0;font-weight:600;color:var(--ink-faint)}.col-head .wip.over{color:var(--danger)}.addcol-head{display:flex;align-items:flex-start;padding:14px 8px 10px}.lane-row{display:grid;gap:0;border-bottom:2px solid var(--line)}.lane-row:last-child{border-bottom:none}.lane-row.collapsed{background:#00000004}.lane-row.sized .cell{overflow:auto;min-height:0;padding-top:16px}.lane-row.sized .lane-gutter{display:flex;flex-direction:column;height:100%;overflow:hidden}.lane-row.sized .lane-name{flex-shrink:0}.lane-row.sized .lane-meta{flex:1 1 auto;min-height:0;overflow-y:auto;margin-bottom:2px}.lane-row.sized .lane-actions{flex-shrink:0}.lane-gutter{position:relative;padding:14px 14px 24px 2px;align-self:stretch;position:sticky;left:0;z-index:2;background:var(--board)}.lane-name .collapse-toggle{padding:0 4px 0 0;font-size:calc(12 * var(--fs-unit));color:var(--ink-dim)}.lane-resize{position:absolute;left:6px;right:6px;bottom:2px;height:16px;cursor:row-resize;z-index:7;touch-action:none;display:flex;align-items:center;justify-content:center}.lane-resize:after{content:"";width:44px;height:4px;border-radius:2px;background:var(--border-strong);transition:background .12s,width .12s}.lane-resize:hover:after{background:var(--accent-dim);width:60px}.board-head .lane-gutter{padding-bottom:10px}.lane-name{font-weight:700;font-size:calc(15 * var(--fs-unit));color:var(--ink);display:flex;align-items:center;gap:6px}.lane-meta{font-size:calc(12 * var(--fs-unit));color:var(--ink-dim);margin-top:5px;display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start;align-content:flex-start}.lane-badge{align-self:flex-start}.lane-badge{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:calc(11 * var(--fs-unit));color:var(--ink-dim)}.lane-badge.type{background:var(--accent-soft);color:var(--accent-dim);border-color:transparent;font-weight:600}.lane-badge.billable{color:#b26b00;background:#fff3dc;border-color:transparent}.cell{border-left:2px solid var(--line);padding:14px 12px;min-height:110px;display:flex;flex-direction:column;gap:14px;transition:background .12s}.cell.drop-over{background:#0f9d7617;box-shadow:inset 0 0 0 2px var(--accent-dim)}.card{position:relative;background-color:var(--note-none);background-image:linear-gradient(180deg,#ffffff61 0,#fff0 22px),linear-gradient(158deg,#ffffff73,#fff0 42%),linear-gradient(0deg,#00000017,#0000 20%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");color:#2a2a22;border:none;border-radius:1px 1px 2px 2px;padding:13px 13px 16px;cursor:grab;box-shadow:0 1px 2px #1418211a,0 8px 14px -7px #14182138,inset 0 -16px 14px -16px #0000000f;transform:rotate(-1.4deg);transition:transform .12s ease,box-shadow .12s ease}.cell>div:nth-child(3n) .card{transform:rotate(1.5deg)}.cell>div:nth-child(3n+1) .card{transform:rotate(-1.6deg)}.cell>div:nth-child(3n+2) .card{transform:rotate(.7deg)}.card:after{content:"";position:absolute;right:0;bottom:0;pointer-events:none;width:34px;height:34px;background:url(/sticky-peel.svg) no-repeat right bottom / 34px 34px}.card:hover{transform:rotate(0) scale(1.035);box-shadow:2px 6px 10px #1418212e,6px 16px 22px -8px #14182152;z-index:3}.card.dragging{opacity:.5}.card.prio-none{background-color:var(--note-none)}.card.prio-low{background-color:var(--note-low)}.card.prio-medium{background-color:var(--note-medium)}.card.prio-high{background-color:var(--note-high)}:root[data-card=flat] .card{background-image:none;border-radius:8px;box-shadow:0 1px 2px #1418211a,0 3px 8px #1418211a;transform:none!important}:root[data-card=flat] .card:before,:root[data-card=flat] .card:after{display:none}:root[data-card=flat] .card:hover{transform:translateY(-2px)!important;box-shadow:0 5px 14px #1418212e}:root[data-card=clean] .card{background-image:none!important;background-color:var(--panel)!important;color:var(--ink);border-left:4px solid var(--note-none);border-radius:8px;box-shadow:0 1px 3px #14182121;transform:none!important}:root[data-card=clean] .card.prio-low{border-left-color:var(--note-low)}:root[data-card=clean] .card.prio-medium{border-left-color:var(--note-medium)}:root[data-card=clean] .card.prio-high{border-left-color:var(--note-high)}:root[data-card=clean] .card:before,:root[data-card=clean] .card:after{display:none}:root[data-card=clean] .card:hover{transform:translateY(-2px)!important;box-shadow:0 5px 14px #1418212e}:root[data-card=clean] .card .title{color:var(--ink)}:root[data-card=clean] .card .card-notes{color:var(--ink-dim)}:root[data-card=clean] .card .timer{color:var(--ink-dim)}:root[data-card=clean] .card .card-foot .icon{color:var(--ink-dim)}:root[data-card=clean] .card .due{color:var(--ink-faint)}.card .title{font-weight:600;word-break:break-word;color:#23241c}.card.prio-low .title{color:#17301d}.card.prio-medium .title{color:#3a2410}.card.prio-high .title{color:#3a121f}.card .card-notes{color:#28281eb8;font-size:calc(12 * var(--fs-unit));margin-top:4px;white-space:pre-wrap}.card .card-foot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:calc(12 * var(--fs-unit))}.card .card-foot .icon{color:#28281e99}.card .card-foot .icon:hover{background:#00000014;color:#2a2a22}.card .timer{display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;color:#28281ea8;font-weight:600}.card .timer.on{color:var(--running)}.card .timer.warn{color:#c2410c;font-weight:700}.card .due{color:#28281e8c;margin-left:auto}.card .due.overdue{color:var(--danger);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}.dot.pulse{background:var(--running);animation:pulse 1.3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.add-card{border:1px dashed var(--border-strong);background:transparent;color:var(--ink-dim);width:100%;text-align:left;padding:8px 11px;border-radius:var(--radius-sm);transform:none}.add-card:hover{color:var(--ink);border-color:var(--accent-dim);background:var(--panel)}.done-daygroup{margin-bottom:6px}.day-label{font-size:calc(11 * var(--fs-unit));color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin:2px 0 8px}.cell.completed{max-height:520px;overflow-y:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14182180;display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;z-index:50;overflow:auto;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:520px;padding:22px;display:flex;flex-direction:column;max-height:calc(100vh - 120px)}.modal h2{margin:0 0 16px;font-size:calc(17 * var(--fs-unit));flex-shrink:0}.modal-body{overflow-y:auto;min-height:0;margin:0 -22px -22px;padding:0 22px 22px}.modal .row{margin-bottom:13px}.modal .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:20px}.modal .actions .spacer{flex:1}.field-inline{display:flex;gap:8px}.field-inline>*{flex:1}.prio-picker{display:flex;gap:6px}.prio-swatch{flex:1;height:34px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:calc(11 * var(--fs-unit));font-weight:600;color:#3a2f18;box-shadow:inset 0 -2px #00000014}.prio-swatch.sel{border-color:var(--slate)}.panel{padding:24px;max-width:1120px;margin:0 auto}.panel h1{font-size:calc(23 * var(--fs-unit));margin:0 0 4px;letter-spacing:-.01em}.panel .sub{color:var(--ink-dim);margin:0 0 22px}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:20px}.controls .fld{min-width:130px}.controls .fld.grow{flex:1}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 17px;box-shadow:0 1px 3px #1418210d}.stat .k{font-size:calc(12 * var(--fs-unit));color:var(--ink-dim)}.stat .v{font-size:calc(25 * var(--fs-unit));font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:17px 19px;margin-bottom:18px;box-shadow:0 1px 3px #1418210d}.section h3{margin:0 0 12px;font-size:calc(15 * var(--fs-unit))}table.data{width:100%;border-collapse:collapse;font-size:calc(13 * var(--fs-unit))}table.data th{text-align:left;color:var(--ink-dim);font-weight:600;padding:7px 8px;border-bottom:1px solid var(--line-soft)}table.data td{padding:7px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}table.data tr:last-child td{border-bottom:none}table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}.bar-track{background:var(--panel-2);border-radius:4px;height:8px;overflow:hidden;min-width:60px;border:1px solid var(--line-soft)}.bar-fill{background:var(--accent-dim);height:100%}.tagchip{display:inline-block;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:1px 8px;font-size:calc(11 * var(--fs-unit));margin:2px 2px 0 0}.empty{color:var(--ink-faint);padding:26px;text-align:center}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.appearance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;align-items:start}.segmented{display:inline-flex;flex-wrap:wrap;gap:6px}.segmented button{white-space:nowrap}.list-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line-soft)}.entries-scroll{max-height:240px;overflow-y:auto;padding-right:4px}.list-item:last-child{border-bottom:none}.list-item .grow{flex:1}.muted{color:var(--ink-faint)}.hint{font-size:calc(12 * var(--fs-unit));color:var(--ink-faint);margin-top:4px}.hint.accent{color:var(--accent-dim);font-weight:600}.pill-toggle{display:inline-flex;align-items:center;gap:6px}.recap-quarter{border-left:3px solid var(--accent-dim);padding-left:14px;margin-bottom:8px}.accent{color:var(--accent-dim);font-weight:600}.period-stepper{display:flex;align-items:center;gap:2px;height:35px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--panel);padding:0 4px}.period-stepper .icon{color:var(--ink-dim);padding:5px 7px}.period-stepper .icon:hover:not(:disabled){background:var(--panel-2);color:var(--ink)}.period-stepper .icon:disabled{opacity:.3}.period-label{min-width:120px;text-align:center;font-weight:600;font-size:calc(13 * var(--fs-unit));font-variant-numeric:tabular-nums;padding:0 4px}.period-now{color:var(--accent-dim)!important}.stat.clickable{text-align:left;cursor:pointer;font:inherit;color:inherit;width:100%;transition:border-color .12s,box-shadow .12s,transform .12s}.stat.clickable:hover{border-color:var(--accent-dim);box-shadow:0 4px 14px #1418211a;transform:translateY(-1px);background:var(--panel)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.dash-card{text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:15px 16px;box-shadow:0 1px 3px #1418210d;display:flex;flex-direction:column;gap:10px;transition:border-color .12s,box-shadow .12s,transform .12s}.dash-card:hover{border-color:var(--accent-dim);box-shadow:0 6px 18px #1418211f;transform:translateY(-2px);background:var(--panel)}.dash-card-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;font-size:calc(14 * var(--fs-unit))}.dash-card-foot{font-size:calc(12 * var(--fs-unit));color:var(--ink-dim);display:flex;justify-content:space-between;align-items:center}.mini-bars{display:flex;flex-direction:column;gap:6px;min-height:96px;justify-content:center}.mini-row{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:8px;font-size:calc(12 * var(--fs-unit))}.mini-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim)}.mini-track{background:var(--panel-2);border-radius:4px;height:9px;overflow:hidden}.mini-fill{height:100%;border-radius:4px;min-width:2px}.mini-val{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.mini-donut{display:flex;align-items:center;gap:10px;min-height:104px}.donut-wrap{position:relative;flex-shrink:0;width:104px;height:104px}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:calc(13 * var(--fs-unit));font-variant-numeric:tabular-nums;color:var(--ink);pointer-events:none}.donut-legend{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.legend-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:7px;font-size:calc(12 * var(--fs-unit))}.legend-dot{width:9px;height:9px;border-radius:2px;flex-shrink:0}.legend-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim)}.legend-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}.prod-head{font-weight:700;font-size:calc(13 * var(--fs-unit));text-transform:uppercase;letter-spacing:.05em;color:var(--ink-dim);margin:2px 0 10px}.prod-head .muted{font-weight:500;text-transform:none;letter-spacing:0;margin-left:6px}.stat .v .delta{font-size:calc(12 * var(--fs-unit));font-weight:700;margin-left:8px;letter-spacing:0;vertical-align:middle}.delta.up{color:var(--accent-dim)}.delta.down{color:var(--danger)}.delta.flat{color:var(--ink-faint)}.stat-hint{font-size:calc(11 * var(--fs-unit));color:var(--ink-faint);margin-top:6px}.stat-hint.warn{color:#b45309;font-weight:600}:root[data-theme=dark] .stat-hint.warn{color:#fbbf24}table.data tr.row-warn td{background:#dc26260f}.report-guide{border-color:var(--accent-dim)}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.guide-group{font-weight:700;font-size:calc(12 * var(--fs-unit));text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dim);margin-bottom:8px}.guide-col dl{margin:0}.guide-col dt{font-weight:600;font-size:calc(13 * var(--fs-unit));color:var(--ink);margin-top:8px}.guide-col dt:first-child{margin-top:0}.guide-col dd{margin:2px 0 0;font-size:calc(12 * var(--fs-unit));color:var(--ink-dim);line-height:1.45}.detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}.detail-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.detail-group-head h3{margin:0}.status-pill{font-size:calc(11 * var(--fs-unit));padding:2px 8px;border-radius:20px;white-space:nowrap;font-weight:600}.status-pill.done{background:var(--accent-soft);color:var(--accent-dim)}.status-pill.wip{background:#2563eb1f;color:var(--running)}table.data tbody tr[style*=cursor]:hover{background:var(--panel-2)}.linklike{color:var(--accent-dim);font-weight:600}table.data tbody tr:hover .linklike{text-decoration:underline}.section.draft{border-color:var(--accent-dim);box-shadow:0 2px 12px #0f9d761f}.section.draft h2{font-size:calc(17 * var(--fs-unit))}.draft-body{display:flex;flex-direction:column;gap:18px}.draft-section h3{margin:0 0 6px;font-size:calc(15 * var(--fs-unit));color:var(--ink);border-bottom:2px solid var(--line-soft);padding-bottom:6px}.draft-subhead{font-size:calc(11 * var(--fs-unit));text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dim);font-weight:700;margin:10px 0 2px}.draft-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0 4px;border-top:1px solid var(--line-soft);margin-top:4px}.draft-opt-label{font-weight:600;font-size:calc(13 * var(--fs-unit));color:var(--ink)}.draft-options .segmented button{padding:4px 14px}.draft-body ul{margin:4px 0 0;padding-left:20px}.draft-body li{margin-bottom:7px;line-height:1.5}.draft-body li::marker{color:var(--accent-dim)}.view{-webkit-overflow-scrolling:touch}@media (max-width: 900px){.board{--gutter: 156px;--colw: 244px;--addcol: 132px;margin:14px;padding:16px 16px 20px;border-width:11px}.panel{padding:18px}.col-head{padding:6px 9px 11px;font-size:calc(12 * var(--fs-unit))}.cell{padding:12px 9px}}@media (max-width: 560px){.topbar{gap:8px;padding:0 12px;height:52px}.brand .logo{font-size:calc(22 * var(--fs-unit))}.brand-text{display:none}.tabs{gap:0}.tab{padding:8px 11px;font-size:calc(13 * var(--fs-unit))}.running-pill{padding:4px 9px;font-size:calc(12 * var(--fs-unit))}.board{--gutter: 104px;--colw: 250px;--addcol: 112px;margin:8px;padding:12px 10px 16px;border-width:8px;border-radius:6px}.board-head{border-bottom-width:3px}.col-head{padding:5px 8px 9px;font-size:calc(11 * var(--fs-unit));letter-spacing:.04em;gap:5px}.lane-gutter{padding:10px 8px 10px 2px}.lane-name{font-size:calc(13 * var(--fs-unit))}.cell{padding:12px 10px;min-height:92px;gap:12px}.card{padding:12px 12px 14px}.panel{padding:14px}.panel h1{font-size:calc(20 * var(--fs-unit))}.section{padding:14px;overflow-x:auto}.stat .v{font-size:calc(21 * var(--fs-unit))}.controls{gap:8px}.controls .fld{min-width:0;flex:1 1 44%}.overlay{padding:24px 10px}.modal{padding:18px}.modal .field-inline{flex-direction:column}.modal .field-inline>*{width:100%}}@media (min-width: 1500px){.panel{max-width:1240px}}@media (max-width: 860px){.topbar{flex-wrap:wrap;height:auto;min-height:54px;padding-top:8px;padding-bottom:10px;row-gap:8px}.quick-add{order:10;flex:1 1 100%}.topbar .quick-pick{flex:1 1 auto;max-width:none}}
