:root{--paper: #f6f4ef;--card: #ffffff;--surface-2: #efece5;--surface-3: #e7e3d9;--canvas: #fbfaf7;--dot: #e2ddd0;--input-bg: #ffffff;--ink: #1b1916;--ink-soft: #6f6a60;--ink-faint: #a49d90;--line: #e6e2d8;--line-strong: #d3cdc0;--sun: #d93a20;--sun-deep: #b62a12;--sun-bright: #f2553a;--sun-soft: rgba(217, 58, 32, .09);--sun-ring: rgba(217, 58, 32, .32);--sun-ring-soft: rgba(217, 58, 32, .14);--sun-glow: rgba(217, 58, 32, .22);--info: #3765d8;--info-soft: rgba(55, 101, 216, .1);--ok: #1d8a56;--ok-soft: rgba(29, 138, 86, .11);--warn: #a97a12;--warn-soft: rgba(169, 122, 18, .12);--danger: #c0392b;--danger-soft: rgba(192, 57, 43, .1);--todo: #8a8478;--todo-soft: rgba(138, 132, 120, .13);--wash-a: rgba(217, 58, 32, .05);--wash-b: rgba(169, 122, 18, .05);--shadow-1: 0 1px 2px rgba(38, 30, 18, .05), 0 1px 1px rgba(38, 30, 18, .03);--shadow-2: 0 2px 4px rgba(38, 30, 18, .05), 0 8px 22px rgba(38, 30, 18, .09);--shadow-3: 0 4px 10px rgba(38, 30, 18, .08), 0 24px 60px rgba(38, 30, 18, .18);--shadow-drawer: -16px 0 44px rgba(38, 30, 18, .08);--av-s: 46%;--av-l: 87%;--av-ts: 52%;--av-tl: 31%;--tile-s: 58%;--tile-l1: 56%;--tile-l2: 43%;--lbl-s: 55%;--lbl-l: 92%;--lbl-ts: 55%;--lbl-tl: 32%;--edge: #c8c2b3;--edge-soft: #d8d3c6;--wf-todo-fill: #f0efeb;--wf-todo-stroke: #d6d2c7;--wf-todo-text: #5c574c;--wf-prog-fill: #e9effc;--wf-prog-stroke: #c2d1f3;--wf-prog-text: #3060d0;--wf-done-fill: #e4f3ea;--wf-done-stroke: #bcdccb;--wf-done-text: #1d8a56;--r-s: 8px;--r-m: 12px;--r-l: 16px;--r-xl: 20px;--ease: cubic-bezier(.32, .72, 0, 1);font-family:-apple-system,SF Pro Text,Inter,Segoe UI,system-ui,sans-serif;font-feature-settings:"cv05","ss01";color:var(--ink);color-scheme:light}:root[data-theme=dark]{--paper: #131210;--card: #1d1b17;--surface-2: #232019;--surface-3: #2b2820;--canvas: #181613;--dot: #2b2820;--input-bg: #232019;--ink: #ece8df;--ink-soft: #a29b8c;--ink-faint: #6e6859;--line: #2d2a23;--line-strong: #3d392f;--sun: #ff5f41;--sun-deep: #e04326;--sun-bright: #ff7d5f;--sun-soft: rgba(255, 95, 65, .13);--sun-ring: rgba(255, 95, 65, .4);--sun-ring-soft: rgba(255, 95, 65, .18);--sun-glow: rgba(255, 95, 65, .22);--info: #7fa2f2;--info-soft: rgba(127, 162, 242, .14);--ok: #4cc487;--ok-soft: rgba(76, 196, 135, .13);--warn: #d9a441;--warn-soft: rgba(217, 164, 65, .14);--danger: #e46a5c;--danger-soft: rgba(228, 106, 92, .13);--todo: #9a937f;--todo-soft: rgba(154, 147, 127, .15);--wash-a: rgba(255, 95, 65, .06);--wash-b: rgba(127, 162, 242, .05);--shadow-1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-2: 0 2px 4px rgba(0, 0, 0, .35), 0 10px 26px rgba(0, 0, 0, .42);--shadow-3: 0 4px 12px rgba(0, 0, 0, .42), 0 28px 70px rgba(0, 0, 0, .6);--shadow-drawer: -16px 0 44px rgba(0, 0, 0, .45);--av-s: 34%;--av-l: 25%;--av-ts: 62%;--av-tl: 78%;--tile-s: 46%;--tile-l1: 44%;--tile-l2: 32%;--lbl-s: 34%;--lbl-l: 23%;--lbl-ts: 60%;--lbl-tl: 76%;--edge: #494438;--edge-soft: #3b372d;--wf-todo-fill: #26231d;--wf-todo-stroke: #3d392f;--wf-todo-text: #b5aea0;--wf-prog-fill: #1d2634;--wf-prog-stroke: #33466e;--wf-prog-text: #93b1f4;--wf-done-fill: #1b2c22;--wf-done-stroke: #2d5940;--wf-done-text: #64d09c;color-scheme:dark}*{box-sizing:border-box;margin:0;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}html,body{height:100%}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 700px at 88% -12%,var(--wash-a),transparent 60%),radial-gradient(900px 640px at -8% 108%,var(--wash-b),transparent 55%)}button{font:inherit;cursor:pointer;color:inherit}::selection{background:var(--sun-ring-soft)}:focus-visible{outline:2px solid var(--sun-ring);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.4;transform:translate(36px)}to{opacity:1;transform:none}}@keyframes toast-rise{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}@keyframes breathe{0%,to{box-shadow:0 0 0 3px #27ae6029}50%{box-shadow:0 0 0 6px #27ae600f}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:250px;flex-shrink:0;padding:16px 12px 12px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);display:flex;flex-direction:column;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;margin:4px 6px 18px}.brand-mark{display:inline-flex;color:var(--ink);filter:drop-shadow(0 1px 1px rgba(0,0,0,.06))}.brand img{width:30px;height:30px}.brand-word{font-weight:700;font-size:17.5px;letter-spacing:.05em}.brand-kanji{margin-left:auto;font-size:11px;color:var(--ink-faint);letter-spacing:.14em}.side-flex{flex:1}.side-section{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:10.5px;text-transform:uppercase;letter-spacing:.11em;font-weight:650;color:var(--ink-faint);margin:10px 6px 6px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:7px;background:none;color:var(--ink-soft);transition:background .14s var(--ease),color .14s var(--ease),transform .14s var(--ease)}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn:active{transform:scale(.94)}.project-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px}.space-row{width:100%;display:flex;align-items:center;gap:9px;padding:6px 8px;border:1px solid transparent;background:none;border-radius:10px;font-size:13.5px;color:var(--ink);text-align:left;transition:background .14s var(--ease),border-color .14s var(--ease)}.space-row:hover{background:var(--surface-2)}.space-row.active{background:var(--card);border-color:var(--line);box-shadow:var(--shadow-1);font-weight:600}.space-tile{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:750;letter-spacing:.02em;color:#fffffff0;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff24,0 1px 2px #00000024;text-shadow:0 1px 1px rgba(0,0,0,.14)}.space-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-key{font-family:ui-monospace,SF Mono,monospace;font-size:10.5px;color:var(--ink-faint);letter-spacing:.02em}.space-row.active .space-key{color:var(--sun)}.side-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border:0;background:none;border-radius:10px;font-size:13.5px;color:var(--ink-soft);text-align:left;transition:background .14s var(--ease),color .14s var(--ease)}.side-item:hover{background:var(--surface-2);color:var(--ink)}.side-item svg{flex-shrink:0;opacity:.8}.project{width:100%;text-align:left;padding:7px 10px;border:0;background:none;border-radius:9px;font-size:13.5px;color:var(--ink);display:flex;gap:7px;align-items:baseline;transition:background .14s var(--ease)}.project:hover{background:var(--surface-2)}.project.active{background:var(--surface-2);font-weight:600;box-shadow:inset 2px 0 0 var(--sun)}.new-project{display:flex;flex-direction:column;gap:6px;margin:4px 2px 6px}.new-project input{padding:7px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:13px;background:var(--input-bg);color:var(--ink)}.new-project input:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.me-row{display:flex;align-items:center;gap:8px;padding:10px 6px 2px;border-top:1px solid var(--line);margin-top:6px}.me-name{font-size:13px;font-weight:550;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-width:0;padding:0 28px 28px;display:flex;flex-direction:column;overflow-y:auto}.topbar{display:flex;align-items:center;gap:16px;padding:15px 0 13px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}.title-block{display:flex;align-items:center;gap:10px;min-width:0}.topbar h1{font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-chip{font-family:ui-monospace,SF Mono,monospace;font-size:11px;font-weight:600;color:var(--sun);background:var(--sun-soft);border:1px solid var(--sun-ring-soft);border-radius:6px;padding:2px 7px;letter-spacing:.03em}.seg{display:inline-flex;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:3px}.seg-btn{border:0;background:none;padding:5px 13px;border-radius:8px;font-size:13px;font-weight:550;color:var(--ink-soft);transition:color .14s var(--ease),background .14s var(--ease),box-shadow .14s var(--ease);white-space:nowrap}.seg-btn:hover:not(.active):not(.disabled){color:var(--ink)}.seg-btn.active{background:var(--card);color:var(--ink);font-weight:650;box-shadow:var(--shadow-1)}.seg-btn.disabled{opacity:.38;cursor:not-allowed}.search{flex:1;min-width:180px;max-width:400px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:var(--input-bg);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.search:focus-within{border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.search input{border:0;outline:0;flex:1;font:inherit;font-size:13.5px;background:none;color:var(--ink);min-width:0}.search input::placeholder{color:var(--ink-faint)}.search svg{flex-shrink:0;color:var(--ink-faint)}.kbd{font-family:ui-monospace,SF Mono,monospace;font-size:10.5px;color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 6px;line-height:17px;flex-shrink:0}.spacer{flex:1}.filters{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.chip-dot{width:7px;height:7px;border-radius:99px;display:inline-block}.chip-dot.cat-todo{background:var(--todo)}.chip-dot.cat-in_progress{background:var(--info)}.chip-dot.cat-done{background:var(--ok)}.board{display:flex;gap:14px;align-items:flex-start}.column{flex:1;min-width:0;background:color-mix(in srgb,var(--surface-2) 72%,transparent);border:1px solid var(--line);border-radius:var(--r-l);padding:10px;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),background .14s var(--ease)}.column.drag-over{border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft);background:color-mix(in srgb,var(--sun-soft) 50%,var(--surface-2))}.column-header{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);padding:4px 6px 12px}.column-header .dot{width:8px;height:8px;border-radius:99px}.dot.cat-todo{background:var(--todo);box-shadow:0 0 0 3px var(--todo-soft)}.dot.cat-in_progress{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}.dot.cat-done{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.column-header .count{margin-left:auto;border-radius:99px;padding:1px 8px;font-size:11px;font-variant-numeric:tabular-nums;background:var(--surface-3);color:var(--ink-soft)}.count.cat-todo{background:var(--todo-soft);color:var(--todo)}.count.cat-in_progress{background:var(--info-soft);color:var(--info)}.count.cat-done{background:var(--ok-soft);color:var(--ok)}.cards{display:flex;flex-direction:column;gap:8px;min-height:34px}.card{display:flex;flex-direction:column;gap:8px;text-align:left;cursor:grab;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 13px;font:inherit;color:var(--ink);box-shadow:var(--shadow-1);transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease);animation:fade-up .24s var(--ease) both}.card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-2)}.card:active{cursor:grabbing}.card.ghosting{opacity:.45;border-style:dashed}.card-summary{font-size:13.5px;line-height:1.4;font-weight:500}.card-chips{display:flex;flex-wrap:wrap;gap:5px}.field-chip{font-size:11px;padding:2.5px 8px;border-radius:6px;background:var(--surface-2);color:var(--ink-soft);border:1px solid transparent}.card-meta{display:flex;align-items:center;gap:8px;font-size:12px}.card-meta time{margin-left:auto;color:var(--ink-faint);font-size:11px;font-variant-numeric:tabular-nums}.issue-key{font-family:ui-monospace,SF Mono,monospace;font-size:11.5px;font-weight:550;color:var(--ink-soft);letter-spacing:.02em;flex-shrink:0}.card .issue-key{color:var(--sun)}.issue-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-1)}.issue-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);font-weight:650;padding:10px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 55%,var(--card))}.issue-table td{padding:11px 14px;border-bottom:1px solid var(--line);font-size:13.5px}.issue-table tr:last-child td{border-bottom:0}.issue-table tbody tr{cursor:pointer;transition:background .12s var(--ease)}.issue-table tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.issue-table .quiet{white-space:nowrap}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:550;padding:2.5px 10px;border-radius:99px;white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor}.status.cat-todo{background:var(--todo-soft);color:var(--todo)}.status.cat-in_progress{background:var(--info-soft);color:var(--info)}.status.cat-done{background:var(--ok-soft);color:var(--ok)}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:15;width:min(460px,92vw);border-left:1px solid var(--line);background:var(--card);padding:0 22px 22px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;box-shadow:var(--shadow-drawer);animation:drawer-in .26s var(--ease)}.drawer-header{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--card) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin:0 -22px;padding:16px 22px 12px;border-bottom:1px solid var(--line)}.dialog .drawer-header{position:static;margin:0;padding:0;border-bottom:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.drawer-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--ink-soft)}.link-add{display:flex;align-items:center;gap:6px;margin:2px 0 6px}.link-add select,.link-add input{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--input-bg);color:var(--ink)}.link-add input{width:90px;text-transform:uppercase}.links{list-style:none;padding:0;display:flex;flex-direction:column;gap:2px}.link-row{display:flex;align-items:center;gap:8px;font-size:13px}.link-phrase{flex-shrink:0;min-width:92px;color:var(--ink-soft)}.link-target{display:flex;align-items:baseline;gap:7px;min-width:0;flex:1;border:0;background:none;padding:4px 6px;text-align:left;font:inherit;font-size:13px;color:var(--ink);border-radius:7px;transition:background .12s var(--ease)}.link-target:hover{background:var(--surface-2)}.link-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-row .status{flex-shrink:0}.transition-bar{display:flex;flex-wrap:wrap;gap:6px}.form-render{display:flex;flex-direction:column;gap:12px}.form-section{display:flex;flex-direction:column;gap:8px}.form-grid{display:flex;flex-wrap:wrap;gap:10px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field.full{width:100%}.form-field.half{width:calc(50% - 5px)}.form-label{font-size:12px;font-weight:550;color:var(--ink-soft)}.form-label em{color:var(--sun);font-style:normal}.form-field input,.form-field textarea,.form-field select{padding:8px 11px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:13.5px;background:var(--input-bg);color:var(--ink);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.form-field input:disabled,.form-field textarea:disabled{background:var(--surface-2);color:var(--ink-soft)}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--ink-faint)}.form-help{font-size:11px;color:var(--ink-faint)}.history{list-style:none;padding:0 0 0 14px;display:flex;flex-direction:column;gap:12px;font-size:12px;border-left:2px solid var(--line)}.history li{position:relative;padding-left:12px}.history li:before{content:"";position:absolute;left:-19px;top:4px;width:8px;height:8px;border-radius:99px;background:var(--line-strong);border:2px solid var(--card)}.history li:first-child:before{background:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.history-item{color:var(--ink);margin-top:2px}.overlay{position:fixed;inset:0;background:#100d0970;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);display:flex;align-items:flex-start;justify-content:center;padding-top:9vh;z-index:20;animation:fade-in .16s ease-out}.dialog{background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;width:500px;max-width:92vw;max-height:78vh;overflow-y:auto;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-3);animation:pop-in .24s var(--ease)}.choice-list{display:flex;flex-direction:column;gap:8px}button.primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(135deg,var(--sun-bright),var(--sun-deep));color:#fff;border:0;border-radius:10px;padding:8px 15px;font-size:13.5px;font-weight:650;letter-spacing:.01em;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #00000024,0 4px 14px var(--sun-glow);transition:transform .14s var(--ease),box-shadow .14s var(--ease),filter .14s var(--ease)}button.primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04);box-shadow:inset 0 1px #ffffff2e,0 2px 4px #00000024,0 8px 22px var(--sun-glow)}button.primary:active:not(:disabled){transform:none;filter:brightness(.97)}button.primary:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:none;border:0;color:var(--ink-soft);border-radius:8px;padding:6px 8px;text-align:left;transition:background .14s var(--ease),color .14s var(--ease)}button.ghost:hover{color:var(--ink);background:var(--surface-2)}.chip{font:inherit;font-size:12.5px;font-weight:550;padding:5px 12px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;gap:6px;transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease),transform .14s var(--ease),box-shadow .14s var(--ease)}.chip:hover:not(:disabled):not(.on){border-color:var(--line-strong);box-shadow:var(--shadow-1)}.chip:active:not(:disabled){transform:scale(.97)}.chip:disabled{opacity:.4;cursor:not-allowed}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:var(--shadow-1)}.row{display:flex;gap:6px}.row.end{justify-content:flex-end;display:flex;gap:6px}.quiet{color:var(--ink-soft);font-size:12px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;animation:fade-up .3s var(--ease)}.empty-mark{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--ink)}.empty-mark .brand-word{font-size:26px;letter-spacing:.08em}.firstrun{display:flex;flex-direction:column;align-items:center;gap:10px;width:420px;max-width:92vw;text-align:center}.firstrun h2{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-top:8px}.firstrun-form{display:flex;flex-direction:column;gap:12px;width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:20px;margin-top:10px;text-align:left;box-shadow:var(--shadow-2)}.firstrun-alt{display:flex;flex-direction:column;gap:4px;margin-top:16px}.firstrun-alt .quiet{font-size:12px}.firstrun-alt code{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 5px;font-size:11px}.firstrun-alt a{color:var(--info)}.issues-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:34px 0;animation:fade-up .3s var(--ease)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:11px;font-size:13px;font-weight:500;z-index:40;box-shadow:var(--shadow-3);animation:toast-rise .26s var(--ease);max-width:min(560px,90vw)}:root[data-theme=dark] .toast{background:var(--surface-3);color:var(--ink);border:1px solid var(--line-strong)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--paper);position:relative;overflow:hidden}.login-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}.login-glow.one{width:520px;height:520px;top:-180px;right:-120px;background:radial-gradient(circle,var(--sun-soft),transparent 65%)}.login-glow.two{width:480px;height:480px;bottom:-200px;left:-140px;background:radial-gradient(circle,var(--info-soft),transparent 65%)}.login-card{width:380px;max-width:90vw;background:color-mix(in srgb,var(--card) 82%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:var(--r-xl);padding:34px 30px 26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-3);text-align:center;animation:pop-in .32s var(--ease);position:relative}.login-lockup{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px;color:var(--ink)}.login-lockup .brand-word{font-size:27px;letter-spacing:.1em}.login-card .form-field{text-align:left}.login-error{color:var(--sun);font-size:13px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;font-weight:650;flex-shrink:0;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px #00000012}:root[data-theme=dark] .avatar{box-shadow:inset 0 0 0 1px #ffffff17}.avatar.empty{background:var(--surface-2);color:var(--ink-faint);border:1px dashed var(--line-strong);box-shadow:none}.prio{font-weight:750;font-size:14px;line-height:1}.label-chip{border:1px solid transparent}.due-chip{background:var(--warn-soft);color:var(--warn)}.comments{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px}.comment{display:flex;gap:9px;font-size:13px}.comment>div{background:var(--surface-2);border-radius:4px 12px 12px;padding:8px 12px 9px;min-width:0;flex:1}.comment-head{font-size:12px}.comment-head .quiet{font-size:11px}.comment-body{white-space:pre-wrap;margin-top:3px;line-height:1.45}.comment-box textarea{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:13px;resize:vertical;background:var(--input-bg);color:var(--ink);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.comment-box textarea:focus{outline:none;border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.people-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px}.person{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:6px 8px;border-radius:10px;transition:background .12s var(--ease)}.person:hover{background:var(--surface-2)}.person-name{flex:1}.search-error{font-size:12.5px;color:var(--sun);background:var(--sun-soft);border:1px solid var(--sun-ring-soft);border-radius:9px;padding:8px 12px;margin:-6px 0 12px}.search-error a{color:inherit}.attachments{list-style:none;padding:0;display:flex;flex-direction:column;gap:5px}.attachment{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:13px;transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}.attachment:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.attachment a{color:var(--ink);text-decoration:none;font-weight:550}.attachment a:hover{text-decoration:underline}.att-size{color:var(--ink-faint);font-size:12px;font-variant-numeric:tabular-nums}.att-wait{color:var(--info);font-size:12px}.att-rejected{color:var(--sun);font-size:12px}.att-row-end{margin-left:auto;display:flex;gap:6px;align-items:center}.backlog{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.lane{border:1px solid var(--line);border-radius:var(--r-l);background:var(--card);padding:13px 15px;box-shadow:var(--shadow-1);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.lane.over{border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.lane-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.lane-head h2{font-size:14px;font-weight:700;letter-spacing:.01em}.lane-goal{font-size:12.5px;color:var(--ink-soft);margin:-4px 0 8px}.sprint-state{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:2px 8px;border-radius:999px}.st-future{background:var(--surface-2);color:var(--ink-soft)}.st-active{background:var(--ok-soft);color:var(--ok)}.st-closed{background:var(--surface-3);color:var(--ink-faint)}.lane-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:3px}.rank-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;font-size:13.5px;cursor:pointer;border:1px solid transparent;transition:background .12s var(--ease)}.rank-row:hover{background:var(--surface-2)}.rank-row.dragging{opacity:.4}.grip{color:var(--ink-faint);cursor:grab;font-size:12px}.rank-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-empty{font-size:12.5px;padding:10px 9px}.new-sprint{display:flex;gap:8px;align-items:center}.new-sprint input{padding:7px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;background:var(--input-bg);color:var(--ink)}.sso-button{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;background:var(--card);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.sso-button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.crumbs{font-size:12.5px;margin:2px 0 4px}.crumb{background:none;border:none;padding:0;font:inherit;cursor:pointer;color:var(--ink-soft);font-weight:600}.crumb:hover{text-decoration:underline;color:var(--ink)}.dialog-wide{width:min(880px,94vw);max-height:86vh;overflow-y:auto}.tabs-row{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.event-catalog{list-style:none;padding:0;display:flex;flex-direction:column;gap:7px;font-size:13px}.event-name{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:1px 6px;font-size:12px;font-family:ui-monospace,SF Mono,monospace}.hook-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.hook-row{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap}.hook-row-wrap{display:flex;flex-direction:column;gap:4px}.hook-dot{width:8px;height:8px;border-radius:999px;background:var(--line-strong);flex-shrink:0}.hook-dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.hook-name{font-weight:600}.hook-url{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.hook-actions{margin-left:auto;display:flex;gap:2px}.delivery-table{width:100%;border-collapse:collapse;font-size:12.5px;margin:4px 0 8px}.delivery-table th{text-align:left;color:var(--ink-faint);font-weight:550;padding:3px 8px}.delivery-table td{padding:4px 8px;border-top:1px solid var(--line)}.dlv{padding:1px 8px;border-radius:999px;font-size:11.5px;font-weight:550}.dlv-delivered{background:var(--ok-soft);color:var(--ok)}.dlv-pending{background:var(--surface-2);color:var(--ink-soft)}.dlv-failed{background:var(--danger-soft);color:var(--danger)}.dlv-skipped{background:var(--surface-3);color:var(--ink-faint)}.event-picks{display:flex;flex-wrap:wrap;gap:8px}.event-pick{display:flex;align-items:center;gap:4px;font-size:12.5px}.app-catalog{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.app-card{border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px;background:var(--card);transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.app-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-1)}.app-card-head{display:flex;align-items:baseline;gap:7px}.app-desc{margin:5px 0 9px;font-size:13px;color:var(--ink-soft)}.app-hint{font-size:11.5px;max-width:460px}.health{padding:1px 9px;border-radius:999px;font-size:11.5px;font-weight:550;flex-shrink:0}.health-ok{background:var(--ok-soft);color:var(--ok)}.health-idle{background:var(--surface-2);color:var(--ink-soft)}.health-failing{background:var(--danger-soft);color:var(--danger)}.health-down{background:var(--danger-soft);color:var(--danger);font-weight:650}.secret-banner{border:1px solid var(--ok);background:var(--ok-soft);border-radius:var(--r-m);padding:10px 13px;font-size:13px;margin-bottom:10px}.secret-value{display:block;font-family:ui-monospace,monospace;font-size:13px;margin:6px 0;-webkit-user-select:all;user-select:all}.flow-view{display:flex;flex-direction:column;gap:12px;min-height:0}.flow-canvas{overflow:auto;border:1px solid var(--line);border-radius:var(--r-l);background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.2px);background-size:22px 22px;padding:18px;box-shadow:inset 0 1px 3px #00000008}.flow-node{cursor:pointer;outline:none}.flow-node .flow-node-box{fill:var(--card);stroke:var(--line-strong);transition:stroke .14s var(--ease),filter .14s var(--ease);filter:drop-shadow(0 1px 2px rgba(25,20,12,.08))}.flow-node:hover .flow-node-box,.flow-node:focus .flow-node-box{stroke:var(--sun);filter:drop-shadow(0 4px 10px rgba(25,20,12,.14))}.wf-graph{overflow-x:auto;padding:2px 0 4px}.wf-graph svg{display:block}.wf-global{display:flex;flex-direction:column;gap:3px;margin-top:6px;font-size:12px;color:var(--ink-soft)}.wf-browser{display:flex;gap:18px;align-items:flex-start}.wf-side{width:210px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.wf-main{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--r-l);background-color:var(--canvas);background-image:radial-gradient(circle,var(--dot) 1px,transparent 1.2px);background-size:22px 22px;padding:15px 17px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px 3px #00000008}.wf-meta{display:flex;align-items:center;gap:12px;font-size:13px;flex-wrap:wrap}.wf-meta select{padding:4px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--input-bg);color:var(--ink)}.app-icon{font-size:18px;line-height:1;flex-shrink:0}.yaml-block{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:12.5px;overflow-x:auto;white-space:pre;font-family:ui-monospace,monospace}.app-build-hint{margin-top:10px;font-size:12.5px}.run-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0;background:var(--warn)}.run-dot.running{background:#27ae60;animation:breathe 2.4s ease-in-out infinite}.run-dot.down{background:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.run-dot.paused{background:var(--line-strong)}.define-card{margin-bottom:12px;background:var(--surface-2)}.docs-block{max-height:62vh;overflow-y:auto;white-space:pre-wrap;font-size:13px;font-family:ui-monospace,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:12px 14px}.migrate-intro p,.migrate-report>p,.migrate-run p{font-size:14px;line-height:1.5;margin-bottom:10px}.migrate-counts{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}.migrate-users{list-style:none;padding:0;margin:0 0 10px}.migrate-user{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 2px;border-bottom:1px solid var(--line);font-size:14px}.migrate-user:last-child{border-bottom:0}.migrate-user-id{display:flex;flex-direction:column;gap:1px;min-width:0}.migrate-user-id .quiet{font-size:12px}.migrate-user select{max-width:46%;padding:5px 9px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;background:var(--input-bg);color:var(--ink)}.migrate-unmapped{list-style:none;padding:4px 0 8px;margin:0;font-size:13px;max-height:34vh;overflow-y:auto}.migrate-unmapped>li{margin-bottom:8px}.migrate-unmapped ul{list-style:none;padding-left:14px}.migrate-runs{list-style:none;padding:0;margin:0}.migrate-run-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}.migrate-state-completed{background:var(--ok-soft);color:var(--ok)}.migrate-state-failed{background:var(--sun-soft);color:var(--sun)}.migrate-state-running{background:var(--info-soft);color:var(--info)}.migrate-error{color:var(--sun)}.migrate-ok{color:var(--ok)}:root[data-bg=plain]{--wash-a: transparent;--wash-b: transparent}:root[data-bg=sun]{--wash-a: color-mix(in srgb, var(--sun) 11%, transparent);--wash-b: color-mix(in srgb, var(--warn) 8%, transparent)}:root[data-bg=moss]{--wash-a: color-mix(in srgb, var(--ok) 10%, transparent);--wash-b: color-mix(in srgb, var(--info) 6%, transparent)}:root[data-bg=indigo]{--wash-a: color-mix(in srgb, var(--info) 11%, transparent);--wash-b: color-mix(in srgb, var(--sun) 6%, transparent)}.swatches{display:flex;gap:12px;flex-wrap:wrap}.swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:5px}.swatch{width:46px;height:46px;border-radius:13px;border:2px solid var(--line);cursor:pointer;padding:0;transition:border-color .14s var(--ease),box-shadow .14s var(--ease),transform .14s var(--ease)}.swatch:hover{transform:translateY(-1px);border-color:var(--line-strong)}.swatch.on{border-color:var(--sun);box-shadow:0 0 0 3px var(--sun-ring-soft)}.swatch[data-bg-preview=warm]{background:linear-gradient(135deg,color-mix(in srgb,var(--sun) 12%,var(--paper)),color-mix(in srgb,var(--warn) 10%,var(--paper)))}.swatch[data-bg-preview=plain]{background:var(--paper)}.swatch[data-bg-preview=sun]{background:linear-gradient(135deg,color-mix(in srgb,var(--sun) 24%,var(--paper)),var(--paper))}.swatch[data-bg-preview=moss]{background:linear-gradient(135deg,color-mix(in srgb,var(--ok) 22%,var(--paper)),var(--paper))}.swatch[data-bg-preview=indigo]{background:linear-gradient(135deg,color-mix(in srgb,var(--info) 22%,var(--paper)),var(--paper))}.spinner{display:inline-block;width:12px;height:12px;border-radius:50%;border:2px solid var(--line-strong);border-top-color:var(--sun);animation:spin .8s linear infinite;vertical-align:-1px;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.yaml-editor{width:100%;font-family:ui-monospace,monospace;font-size:12.5px;background:var(--input-bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;resize:vertical;white-space:pre}
