:root{--bg: oklch(92.5% .012 248);--surface: #ffffff;--surface-2: oklch(97% .005 248);--surface-3: oklch(94.5% .009 248);--border: oklch(91% .008 248);--border-mid: oklch(86% .01 248);--text: oklch(17% .018 252);--text-2: oklch(42% .015 252);--text-3: oklch(60% .01 252);--accent: oklch(52% .13 168);--accent-2: oklch(72% .1 168);--accent-bg: oklch(95% .04 168);--accent-bg-2: oklch(90% .06 168);--danger: oklch(50% .19 25);--danger-bg: oklch(96% .04 25);--warn: oklch(52% .16 72);--warn-bg: oklch(96% .05 72);--info: oklch(50% .16 240);--info-bg: oklch(94% .05 240);--shadow-sm: 0 1px 3px oklch(18% .02 252 / .07), 0 1px 2px oklch(18% .02 252 / .04);--shadow-md: 0 4px 14px oklch(18% .02 252 / .09), 0 1px 4px oklch(18% .02 252 / .04);--shadow-lg: 0 12px 36px oklch(18% .02 252 / .12), 0 4px 10px oklch(18% .02 252 / .05);--shadow-drag: 0 18px 48px oklch(18% .02 252 / .18), 0 6px 16px oklch(18% .02 252 / .1);--r-xs: 5px;--r-sm: 8px;--r: 11px;--r-lg: 15px;--nav-h: 54px;--panel-w: 288px;color:var(--text);font-family:DM Sans,Noto Sans TC,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--bg: oklch(14% .016 252);--surface: oklch(20% .016 252);--surface-2: oklch(24% .014 252);--surface-3: oklch(28% .013 252);--border: oklch(30% .014 252);--border-mid: oklch(38% .014 252);--text: oklch(94% .008 252);--text-2: oklch(72% .01 252);--text-3: oklch(52% .01 252);--accent: oklch(70% .13 168);--accent-2: oklch(55% .1 168);--accent-bg: oklch(22% .06 168);--accent-bg-2: oklch(28% .08 168);--danger: oklch(68% .17 25);--danger-bg: oklch(22% .06 25);--warn: oklch(72% .14 72);--warn-bg: oklch(22% .06 72);--info: oklch(68% .12 240);--info-bg: oklch(22% .06 240);--shadow-sm: 0 1px 3px #0008, 0 1px 2px #0004;--shadow-md: 0 4px 14px #000c, 0 1px 4px #0006;--shadow-lg: 0 12px 36px #0014, 0 4px 10px #0008;--shadow-drag: 0 18px 48px #001c, 0 6px 16px #000e}html{color-scheme:light}html[data-theme=dark]{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}a{color:inherit;text-decoration:none}button,a{min-height:36px}#root{min-height:100vh}.skip-link{position:absolute;left:16px;top:16px;transform:translateY(-180%);padding:8px 14px;border-radius:999px;background:var(--text);color:var(--surface);z-index:10;font-size:13px;font-weight:600}.skip-link:focus{transform:translateY(0)}.app-shell{display:flex;flex-direction:column;min-height:100vh}.hero{position:sticky;top:0;height:var(--nav-h);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:0;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.hero-brand{display:flex;align-items:center;gap:8px;margin-right:28px}.hero-brand h1{font-size:14px;font-weight:700;letter-spacing:-.2px;margin:0;line-height:1}.hero-brand-mark{width:26px;height:26px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-left:auto}.hero-nav{display:flex;align-items:center;gap:1px;flex:1}.nav-divider{width:1px;height:20px;background:var(--border);margin:0 4px}.nav-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-bg-2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--accent)}.nav-pill{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-weight:500;font-size:13px;border:1px solid transparent;transition:background-color .13s,color .13s,border-color .13s;min-height:34px}.nav-button{border:0;font:inherit;cursor:pointer}.nav-pill:hover,.nav-pill:focus-visible{background:var(--surface-3);color:var(--text)}.nav-pill-active{background:var(--accent-bg);color:var(--accent);font-weight:600}.nav-pill-muted{background:var(--surface-3);color:var(--text-2)}.theme-toggle{min-width:72px;font-size:12.5px}.page-shell{flex:1}.board-grid{display:grid;grid-template-columns:1fr 1fr 1fr var(--panel-w);gap:14px;padding:16px 20px 24px;align-items:start}.lane{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);min-height:200px;display:flex;flex-direction:column;transition:border-color .15s,box-shadow .15s}.lane-over{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-bg)}.lane-head{padding:13px 14px 11px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border)}.lane-head h2{font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:var(--text-2);margin:0;flex:1}.lane-head span{font-size:11px;font-weight:700;background:var(--border);color:var(--text-3);padding:2px 7px;border-radius:999px}.lane-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.lane-list{padding:10px;display:flex;flex-direction:column;gap:7px;list-style:none;margin:0;min-height:48px}.lane-list-item{margin:0;padding:0}.empty{display:flex;align-items:center;justify-content:center;padding:28px 16px;color:var(--text-3);font-size:12px;border:1.5px dashed var(--border);border-radius:var(--r-sm);margin:10px}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:12px 13px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;display:grid;gap:9px;transition:box-shadow .15s,border-color .15s,opacity .15s;will-change:transform}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-mid)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg),var(--shadow-sm)}.card-dragging{cursor:grabbing;opacity:.28;box-shadow:none}.card-overlay{cursor:grabbing;border-color:var(--accent-2);box-shadow:var(--shadow-drag);transform:rotate(1.5deg)}.card-pending{opacity:.7;cursor:progress}.card-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.card-row strong{font-size:13px;font-weight:600;color:var(--text);line-height:1.4;overflow-wrap:anywhere;min-width:0}.card-meta-row{align-items:center}.card-note{margin:0;font-size:12px;color:var(--text-2);line-height:1.45;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.priority{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 5px;border-radius:4px;font-size:10.5px;font-weight:700;letter-spacing:.1px}.priority:before{content:"";display:block;width:5px;height:5px;border-radius:50%;flex-shrink:0}.priority-medium{background:var(--info-bg);color:var(--info)}.priority-medium:before{background:var(--info)}.priority-high{background:var(--warn-bg);color:var(--warn)}.priority-high:before{background:var(--warn)}.priority-critical{background:var(--danger-bg);color:var(--danger)}.priority-critical:before{background:var(--danger)}.meta{margin:0;color:var(--text-3);font-size:11.5px;font-weight:500}.meta.overdue{color:var(--danger)}.board-side-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;position:sticky;top:calc(var(--nav-h) + 16px);max-height:calc(100vh - var(--nav-h) - 32px);align-content:start;min-width:0}.panel-tabs{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0}.panel-tab{flex:1;padding:9px 6px;font-size:11px;font-weight:700;text-align:center;color:var(--text-3);letter-spacing:.3px;cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:color .13s,background .13s;text-transform:uppercase;font:inherit}.panel-tab:hover{color:var(--text-2);background:var(--surface-3)}.panel-tab-active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.panel-body{padding:16px 15px;overflow-y:auto;flex:1}.panel,.lane{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);min-width:0}.panel{display:grid;gap:12px;padding:18px}.panel-secondary{background:var(--surface-2)}.panel h2{margin:0;font-size:13px;font-weight:700}.panel-status{border-color:#5eb9994d;background:var(--accent-bg)}.panel-error{border-color:#ef66614d;background:var(--danger-bg);color:var(--danger)}.panel-placeholder{min-height:120px;align-content:center;text-align:center;color:var(--text-3)}.form-field{display:block;font-size:10.5px;font-weight:700;color:var(--text-3);letter-spacing:.4px;text-transform:uppercase;margin-bottom:5px}.text-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font:inherit;font-size:13px;transition:border-color .13s,box-shadow .13s}.text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg);background:var(--surface)}.text-input[aria-invalid=true]{border-color:var(--danger)}.text-input::placeholder{color:var(--text-3)}.text-area{resize:vertical;min-height:72px}.form-error{margin:0;color:var(--danger);font-size:12px;font-weight:500}.form-status{margin:0;color:var(--accent);font-size:12px;font-weight:500}.board-form{display:grid;gap:12px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.auth-submit{width:100%;padding:9px 14px;border-radius:var(--r-sm);background:var(--accent);color:#fff;font:inherit;font-size:13px;font-weight:600;border:none;cursor:pointer;transition:filter .13s}.auth-submit:hover{filter:brightness(1.08)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.action-button{padding:7px 12px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;text-align:left;transition:all .13s}.action-button:hover{background:var(--surface-3);border-color:var(--border-mid)}.action-button-secondary{background:var(--surface-3)}.action-button:disabled{opacity:.6;cursor:not-allowed}.archive-list{display:grid;gap:8px}.archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border)}.archive-actions{display:grid;gap:6px}.archive-item-pending{opacity:.7}.board-feedback{grid-column:1 / -1}.panel-status{padding:10px 16px}.page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:20px;max-width:880px;margin:0 auto}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat-card{padding:12px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);text-align:center}.stat-card span{display:block;color:var(--text-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.stat-card strong{display:block;font-size:24px;font-weight:700}.checklist{margin:0;padding:0;list-style:none;display:grid;gap:5px}.checklist li{font-size:12.5px;color:var(--text-2);display:flex;align-items:center;gap:6px}.checklist li:before{content:"✓";color:var(--accent);font-weight:800}.checkbox-row{display:flex;align-items:center;gap:10px;font-weight:600}.panel-wide{grid-column:1 / -1}.auth-layout{min-height:calc(100vh - var(--nav-h));display:flex;align-items:center;justify-content:center;padding:20px}.auth-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:36px;width:360px;box-shadow:var(--shadow-lg)}kbd{padding:1px 6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--border);font:inherit;font-size:11px;font-weight:600;color:var(--text-3)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:99px}@media(max-width:1100px){.board-grid{grid-template-columns:repeat(2,1fr)}.board-side-panel{grid-column:1 / -1;position:static;max-height:none}}@media(max-width:820px){.board-grid,.page-grid,.settings-grid,.stats-grid,.field-grid{grid-template-columns:1fr}.panel-wide{grid-column:auto}.hero{padding:0 14px}}
