: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;--fs-1: 12px;--fs-2: 13px;--fs-3: 15px;--fs-4: 17px;--fs-5: 21px;--fs-6: 26px;--fs-7: 32px;--lh-tight: 1.25;--lh-snug: 1.35;--lh-body: 1.5;--fw-med: 550;--fw-semi: 650;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--h-sm: 30px;--h-md: 36px;--h-lg: 40px;--h-icon: 32px;--ring: 0 0 0 3px var(--sun-ring-soft);--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:var(--sp-4) var(--sp-3) var(--sp-3);border-right:1px solid var(--line);background:color-mix(in srgb,var(--card) 88%,transparent);display:flex;flex-direction:column;gap:var(--sp-1);overflow-y:auto}.brand{display:flex;align-items:center;gap:var(--sp-3);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:var(--fs-4);letter-spacing:.05em}.brand-kanji{margin-left:auto;font-size:var(--fs-1);color:var(--ink-faint);letter-spacing:.14em}.side-flex{flex:1}.side-section{display:flex;flex-direction:column;gap:var(--sp-1);margin-bottom:10px}.section-label{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-1);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:var(--sp-1)}.space-row{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-2);border:1px solid transparent;background:none;border-radius:10px;font-size:var(--fs-3);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:var(--fs-1);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:var(--fs-1);color:var(--ink-faint);letter-spacing:.02em}.space-row.active .space-key{color:var(--sun)}.side-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border:0;background:none;border-radius:10px;font-size:var(--fs-3);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:var(--sp-2) var(--sp-3);border:0;background:none;border-radius:9px;font-size:var(--fs-3);color:var(--ink);display:flex;gap:var(--sp-2);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:var(--sp-2);margin:4px 2px 6px}.new-project input{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:9px;font:inherit;font-size:var(--fs-2);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:var(--sp-2);padding:var(--sp-3) var(--sp-2) var(--sp-1);border-top:1px solid var(--line);margin-top:6px}.me-name{font-size:var(--fs-2);font-weight:550;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;min-width:0;padding:0 var(--sp-6) var(--sp-6);display:flex;flex-direction:column;overflow-y:auto}.topbar{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0 var(--sp-4);border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}.title-block{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.topbar h1{font-size:var(--fs-5);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:var(--fs-1);font-weight:600;color:var(--sun);background:var(--sun-soft);border:1px solid var(--sun-ring-soft);border-radius:6px;padding:var(--sp-1) var(--sp-2);letter-spacing:.03em}.seg{display:inline-flex;gap:var(--sp-1);background:var(--surface-2);border:1px solid var(--line);border-radius:11px;padding:var(--sp-1)}.seg-btn{border:0;background:none;padding:var(--sp-2) var(--sp-4);border-radius:8px;font-size:var(--fs-2);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:var(--sp-2);border:1px solid var(--line);border-radius:10px;padding:var(--sp-2) var(--sp-3);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:var(--fs-3);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:var(--fs-1);color:var(--ink-faint);background:var(--surface-2);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 var(--sp-2);line-height:17px;flex-shrink:0}.spacer{flex:1}.filters{display:flex;gap:var(--sp-2);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:var(--sp-4);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:var(--sp-3);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:var(--sp-2);font-size:var(--fs-1);font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);padding:var(--sp-1) var(--sp-2) var(--sp-3)}.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:var(--sp-1) var(--sp-2);font-size:var(--fs-1);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:var(--sp-2);min-height:34px}.card{display:flex;flex-direction:column;gap:var(--sp-2);text-align:left;cursor:grab;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);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:var(--fs-3);line-height:1.4;font-weight:500}.card-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.field-chip{font-size:var(--fs-1);padding:var(--sp-1) var(--sp-2);border-radius:6px;background:var(--surface-2);color:var(--ink-soft);border:1px solid transparent}.card-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-1)}.card-meta time{margin-left:auto;color:var(--ink-faint);font-size:var(--fs-1);font-variant-numeric:tabular-nums}.issue-key{font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-1);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:var(--fs-1);text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);font-weight:650;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-2) 55%,var(--card))}.issue-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-3)}.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:var(--sp-2);font-size:var(--fs-1);font-weight:550;padding:var(--sp-1) var(--sp-3);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 var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);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:var(--sp-3);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:var(--sp-4) var(--sp-5) var(--sp-3);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:var(--sp-3);font-size:var(--fs-1);color:var(--ink-soft)}.link-add{display:flex;align-items:center;gap:var(--sp-2);margin:2px 0 6px}.link-add select,.link-add input{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:var(--fs-2);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:var(--sp-1)}.link-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2)}.link-phrase{flex-shrink:0;min-width:92px;color:var(--ink-soft)}.link-target{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0;flex:1;border:0;background:none;padding:var(--sp-1) var(--sp-2);text-align:left;font:inherit;font-size:var(--fs-2);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:var(--sp-2)}.req-chip-count{margin-left:6px;padding:0 var(--sp-2);border-radius:999px;font-size:var(--fs-1);font-weight:650;background:var(--warn-soft);color:var(--warn)}.req-panel{display:flex;flex-direction:column;gap:var(--sp-1)}.req-panel h4{margin:0 0 2px;font-size:var(--fs-1);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.req-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2);min-height:24px}.req-glyph{width:16px;text-align:center;font-weight:700}.req-met .req-glyph{color:var(--ok)}.req-unmet .req-glyph{color:var(--ink-soft)}.req-waived .req-glyph{color:var(--warn)}.req-waived .req-name{text-decoration:line-through;text-decoration-color:var(--warn);text-decoration-thickness:1px}.req-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-evidence{font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-1)}.req-task{font-size:var(--fs-1);padding:var(--sp-1) var(--sp-2)}.req-waiver{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-1)}.linkish{border:none;background:none;padding:0;font:inherit;font-size:var(--fs-1);color:var(--info);cursor:pointer}.linkish:hover{text-decoration:underline}.req-ahead{display:flex;flex-direction:column;gap:var(--sp-1);padding-top:var(--sp-1);border-top:1px dashed var(--line);font-size:var(--fs-1)}.req-waive-form{display:flex;gap:var(--sp-2);align-items:center}.req-waive-form input{flex:1;min-width:0}.req-editor{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-m);background:var(--card)}.req-editor-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.req-edit-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-s);background:var(--canvas)}.req-edit-row .row{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.req-key{width:150px;font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-1)}.req-label{flex:1;min-width:120px}.req-expr{flex:1;min-width:200px;font-family:ui-monospace,SF Mono,monospace;font-size:var(--fs-1)}.req-errors{margin:0;padding-left:var(--sp-5);font-size:var(--fs-1);color:var(--danger)}.form-render{display:flex;flex-direction:column;gap:var(--sp-3)}.form-section{display:flex;flex-direction:column;gap:var(--sp-2)}.form-grid{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.form-field{display:flex;flex-direction:column;gap:var(--sp-1)}.form-field.full{width:100%}.form-field.half{width:calc(50% - 5px)}.form-label{font-size:var(--fs-1);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:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:9px;font:inherit;font-size:var(--fs-3);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:var(--fs-1);color:var(--ink-faint)}.history{list-style:none;padding:0 0 0 var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--fs-1);border-left:2px solid var(--line)}.history li{position:relative;padding-left:var(--sp-3)}.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:var(--sp-5);width:500px;max-width:92vw;max-height:78vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4);box-shadow:var(--shadow-3);animation:pop-in .24s var(--ease)}.choice-list{display:flex;flex-direction:column;gap:var(--sp-2)}button.primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:linear-gradient(135deg,var(--sun-bright),var(--sun-deep));color:#fff;border:0;border-radius:10px;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-3);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:var(--sp-2) var(--sp-2);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:var(--fs-2);font-weight:550;padding:var(--sp-2) var(--sp-3);border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;gap:var(--sp-2);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:var(--sp-2)}.row.end{justify-content:flex-end;display:flex;gap:var(--sp-2)}.quiet{color:var(--ink-soft);font-size:var(--fs-1)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);animation:fade-up .3s var(--ease)}.empty-mark{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);color:var(--ink)}.empty-mark .brand-word{font-size:var(--fs-6);letter-spacing:.08em}.firstrun{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);width:420px;max-width:92vw;text-align:center}.firstrun h2{font-size:var(--fs-5);font-weight:700;letter-spacing:-.01em;margin-top:8px}.firstrun-form{display:flex;flex-direction:column;gap:var(--sp-3);width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:var(--sp-5);margin-top:10px;text-align:left;box-shadow:var(--shadow-2)}.firstrun-alt{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:16px}.firstrun-alt .quiet{font-size:var(--fs-1)}.firstrun-alt code{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-1)}.firstrun-alt a{color:var(--info)}.issues-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-7) 0;animation:fade-up .3s var(--ease)}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:var(--sp-3) var(--sp-5);border-radius:11px;font-size:var(--fs-2);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:var(--sp-7) var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4);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:var(--sp-3);margin-bottom:8px;color:var(--ink)}.login-lockup .brand-word{font-size:var(--fs-6);letter-spacing:.1em}.login-card .form-field{text-align:left}.login-error{color:var(--sun);font-size:var(--fs-2)}.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:var(--fs-3);line-height:1}.label-chip{border:1px solid transparent}.due-chip{background:var(--warn-soft);color:var(--warn)}.worklogs{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.worklog{display:flex;gap:var(--sp-3);font-size:var(--fs-2);align-items:flex-start}.worklog-main{flex:1;min-width:0}.worklog-note{color:var(--ink-soft);margin-top:2px;white-space:pre-wrap}.worklog-actions{display:flex;gap:var(--sp-1);opacity:0;transition:opacity .14s var(--ease)}.worklog:hover .worklog-actions{opacity:1}.worklog-form{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:10px}.worklog-form input{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:var(--fs-2);background:var(--input-bg);color:var(--ink)}.worklog-form .worklog-duration{width:110px}.timesheet-controls{margin-bottom:14px;flex-wrap:wrap}.timesheet-controls select,.timesheet-controls input{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:var(--fs-2);background:var(--input-bg);color:var(--ink)}.timesheet-total{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:14px;font-size:var(--fs-3)}.timesheet-days{display:flex;flex-direction:column;gap:var(--sp-3)}.timesheet-day{border:1px solid var(--line);border-radius:10px;padding:var(--sp-3) var(--sp-3)}.timesheet-day-head{display:flex;justify-content:space-between;font-size:var(--fs-2);margin-bottom:6px;color:var(--ink-soft)}.timesheet-entry{display:flex;gap:var(--sp-3);align-items:baseline;font-size:var(--fs-2);padding:var(--sp-1) 0}.timesheet-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft)}.comments{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.comment{display:flex;gap:var(--sp-3);font-size:var(--fs-2)}.comment>div{background:var(--surface-2);border-radius:4px 12px 12px;padding:var(--sp-2) var(--sp-3) var(--sp-3);min-width:0;flex:1}.comment-head,.comment-head .quiet{font-size:var(--fs-1)}.comment-body{white-space:pre-wrap;margin-top:3px;line-height:1.45}.comment-box textarea{width:100%;padding:var(--sp-3) var(--sp-3);border:1px solid var(--line);border-radius:10px;font:inherit;font-size:var(--fs-2);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:var(--sp-1)}.person{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-3);padding:var(--sp-2) var(--sp-2);border-radius:10px;transition:background .12s var(--ease)}.person:hover{background:var(--surface-2)}.person-name{flex:1}.search-error{font-size:var(--fs-2);color:var(--sun);background:var(--sun-soft);border:1px solid var(--sun-ring-soft);border-radius:9px;padding:var(--sp-2) var(--sp-3);margin:-6px 0 12px}.search-error a{color:inherit}.attachments{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.attachment{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:9px;background:var(--card);font-size:var(--fs-2);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:var(--fs-1);font-variant-numeric:tabular-nums}.att-wait{color:var(--info);font-size:var(--fs-1)}.att-rejected{color:var(--sun);font-size:var(--fs-1)}.att-row-end{margin-left:auto;display:flex;gap:var(--sp-2);align-items:center}.backlog{display:flex;flex-direction:column;gap:var(--sp-4);padding-bottom:var(--sp-5)}.lane{border:1px solid var(--line);border-radius:var(--r-l);background:var(--card);padding:var(--sp-4) var(--sp-4);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:var(--sp-3);margin-bottom:8px}.lane-head h2{font-size:var(--fs-3);font-weight:700;letter-spacing:.01em}.lane-goal{font-size:var(--fs-2);color:var(--ink-soft);margin:-4px 0 8px}.sprint-state{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:var(--sp-1) var(--sp-2);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:var(--sp-1)}.rank-row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:9px;font-size:var(--fs-3);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:var(--fs-1)}.rank-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lane-empty{font-size:var(--fs-2);padding:var(--sp-3) var(--sp-3)}.new-sprint{display:flex;gap:var(--sp-2);align-items:center}.new-sprint input{padding:var(--sp-2) var(--sp-3);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:var(--sp-3);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:var(--fs-2);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(1120px,95vw);max-height:88vh;overflow-y:auto}.tabs-row{display:flex;gap:var(--sp-1);margin-bottom:10px;flex-wrap:wrap}.event-catalog{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-2);font-size:var(--fs-2)}.event-name{background:var(--surface-2);border:1px solid var(--line);border-radius:6px;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-1);font-family:ui-monospace,SF Mono,monospace}.hook-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:10px}.hook-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2);flex-wrap:wrap}.hook-row-wrap{display:flex;flex-direction:column;gap:var(--sp-1)}.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:var(--sp-1)}.delivery-table{width:100%;border-collapse:collapse;font-size:var(--fs-2);margin:4px 0 8px}.delivery-table th{text-align:left;color:var(--ink-faint);font-weight:550;padding:var(--sp-1) var(--sp-2)}.delivery-table td{padding:var(--sp-1) var(--sp-2);border-top:1px solid var(--line)}.dlv{padding:var(--sp-1) var(--sp-2);border-radius:999px;font-size:var(--fs-1);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:var(--sp-2)}.event-pick{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-2)}.app-catalog{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.app-card{border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);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:var(--sp-2)}.app-desc{margin:5px 0 9px;font-size:var(--fs-2);color:var(--ink-soft)}.app-hint{font-size:var(--fs-1);max-width:460px}.health{padding:var(--sp-1) var(--sp-3);border-radius:999px;font-size:var(--fs-1);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:var(--sp-3) var(--sp-4);font-size:var(--fs-2);margin-bottom:10px}.secret-value{display:block;font-family:ui-monospace,monospace;font-size:var(--fs-2);margin:6px 0;-webkit-user-select:all;user-select:all}.instance-list{list-style:none;margin:6px 0 0;padding:0 0 0 var(--sp-3);border-left:2px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-2)}.instance-list .instance{display:flex;flex-direction:column;gap:var(--sp-1)}.flow-view{display:flex;flex-direction:column;gap:var(--sp-3);min-height:0}.flow-split{display:flex;gap:var(--sp-4);align-items:stretch;min-height:0}.flow-rail{width:272px;flex:none;display:flex;flex-direction:column;gap:var(--sp-2)}.flow-rail-head{display:flex;align-items:baseline;gap:var(--sp-2);padding:0 var(--sp-1)}.flow-rail-title{font-size:var(--fs-4);font-weight:var(--fw-semi);letter-spacing:-.005em}.flow-rail-list{display:flex;flex-direction:column;gap:var(--sp-1);overflow-y:auto}.flow-prow{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);border:1px solid transparent;border-radius:var(--r-m);background:none;text-align:left;color:var(--ink);position:relative;transition:background .14s var(--ease),border-color .14s var(--ease)}.flow-prow:hover{background:var(--surface-2)}.flow-prow.on{background:var(--card);border-color:var(--line);box-shadow:var(--shadow-1)}.flow-prow.on:before{content:"";position:absolute;left:0;top:var(--sp-3);bottom:var(--sp-3);width:3px;border-radius:0 3px 3px 0;background:var(--sun)}.flow-prow-top{display:flex;align-items:center;gap:var(--sp-2)}.flow-prow-n{margin-left:auto}.flow-prow-sum{font-size:var(--fs-3);line-height:var(--lh-snug);font-weight:500}.flow-bar{display:flex;height:5px;border-radius:99px;overflow:hidden;background:var(--surface-3)}.flow-bar.tall{height:6px}.flow-bar i{display:block;height:100%}.flow-canvas{flex:1;min-width:0;position:relative;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:var(--sp-5);box-shadow:inset 0 1px 3px #00000008}.flow-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5)}.flow-crumb{display:inline-flex;align-items:center;gap:var(--sp-2);max-width:34ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--sp-1) var(--sp-3);border-radius:99px;border:1px solid var(--line);background:var(--card);font-size:var(--fs-2);color:var(--ink-soft)}.flow-crumb:hover{border-color:var(--line-strong);color:var(--ink)}.flow-crumb.here{border-color:var(--ink);color:var(--ink);font-weight:var(--fw-semi)}.flow-parent{max-width:560px;margin:0 auto;background:var(--card);border:2px solid var(--ink);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.flow-parent-tag{font-size:var(--fs-1);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.flow-parent-head{display:flex;align-items:center;gap:var(--sp-3)}.flow-parent-sum{font-size:var(--fs-5);font-weight:600;line-height:var(--lh-tight);margin:0}.flow-parent-facts{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2)}.flow-dot{color:var(--line-strong)}.flow-stem{width:2px;height:var(--sp-5);background:var(--line-strong);margin:0 auto}.flow-hrail{height:2px;background:var(--line-strong);margin:0 auto;border-radius:2px}.flow-kids{display:grid;gap:var(--sp-4);margin-top:var(--sp-4)}.flow-canvas.size-s .flow-kids{grid-template-columns:repeat(4,minmax(0,1fr))}.flow-canvas.size-m .flow-kids{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-canvas.size-l .flow-kids{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-canvas.size-s .flow-hrail{width:75%}.flow-canvas.size-m .flow-hrail{width:66.6%}.flow-canvas.size-l .flow-hrail{width:50%}.flow-kid{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-1);text-align:left;color:var(--ink);transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease)}.flow-kid:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-2)}.flow-kid-bar{width:4px;align-self:stretch;flex:none}.flow-kid-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1);padding-left:var(--sp-3)}.flow-kid-top{display:flex;align-items:center;gap:var(--sp-2)}.flow-kid-n{font-size:var(--fs-1);color:var(--ink-soft);background:var(--surface-2);border-radius:99px;padding:0 var(--sp-2)}.flow-kid-sum{font-size:var(--fs-3);line-height:var(--lh-snug);font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.flow-canvas.size-s .flow-kid-sum{font-size:var(--fs-2)}.flow-canvas.size-l .flow-kid-sum{font-size:var(--fs-4)}.flow-kid-av{width:26px;height:26px;border-radius:99px;flex:none;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-1);font-weight:var(--fw-bold)}.flow-kid.more{flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);padding:var(--sp-4);text-align:center;cursor:default;border-style:dashed;border-color:var(--sun-ring);background:var(--sun-soft);box-shadow:none}.flow-kid.more:hover{transform:none;box-shadow:none;border-color:var(--sun-ring)}.flow-more-n{font-size:var(--fs-3);font-weight:var(--fw-semi);color:var(--sun)}.flow-more-hint{font-size:var(--fs-2);color:var(--ink-soft)}.flow-kids{padding-bottom:var(--sp-5)}.flow-ctrls{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;margin-top:var(--sp-4);padding-top:var(--sp-4);background:linear-gradient(to top,var(--canvas) 65%,transparent)}.flow-grp{display:flex;align-items:center;gap:var(--sp-1);background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--sp-1);box-shadow:var(--shadow-2)}.flow-lbl{font-size:var(--fs-1);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:0 var(--sp-2)}.flow-szb{width:32px;height:32px;border:0;border-radius:var(--r-s);background:none;font-size:var(--fs-2);font-weight:var(--fw-semi);color:var(--ink-soft)}.flow-szb:hover{background:var(--surface-2);color:var(--ink)}.flow-szb.on{background:var(--ink);color:var(--paper)}@media(max-width:900px){.flow-split{flex-direction:column}.flow-rail{width:auto}}.wf-graph{overflow-x:auto;padding:var(--sp-1) 0 var(--sp-1)}.wf-graph svg{display:block}.wf-global{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:6px;font-size:var(--fs-1);color:var(--ink-soft)}.wf-browser{display:flex;gap:var(--sp-5);align-items:flex-start}.wf-side{width:210px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--sp-1)}.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:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3);box-shadow:inset 0 1px 3px #00000008}.wf-meta{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-2);flex-wrap:wrap}.wf-meta select{padding:var(--sp-1) var(--sp-3);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:var(--fs-2);background:var(--input-bg);color:var(--ink)}.app-icon{font-size:var(--fs-4);line-height:1;flex-shrink:0}.yaml-block{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:var(--sp-3) var(--sp-3);font-size:var(--fs-2);overflow-x:auto;white-space:pre;font-family:ui-monospace,monospace}.code-block{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:var(--sp-3) var(--sp-3);font-size:var(--fs-2);white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,monospace;margin:0 0 10px}.app-build-hint{margin-top:10px;font-size:var(--fs-2)}.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:var(--fs-2);font-family:ui-monospace,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:var(--sp-3) var(--sp-4)}.migrate-intro p,.migrate-report>p,.migrate-run p{font-size:var(--fs-3);line-height:1.5;margin-bottom:10px}.migrate-counts{display:flex;flex-wrap:wrap;gap:var(--sp-2);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:var(--sp-3);padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--line);font-size:var(--fs-3)}.migrate-user:last-child{border-bottom:0}.migrate-user-id{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.migrate-user-id .quiet{font-size:var(--fs-1)}.migrate-user select{max-width:46%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:8px;font:inherit;font-size:var(--fs-2);background:var(--input-bg);color:var(--ink)}.migrate-unmapped{list-style:none;padding:var(--sp-1) 0 var(--sp-2);margin:0;font-size:var(--fs-2);max-height:34vh;overflow-y:auto}.migrate-unmapped>li{margin-bottom:8px}.migrate-unmapped ul{list-style:none;padding-left:var(--sp-4)}.migrate-runs{list-style:none;padding:0;margin:0}.migrate-run-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--fs-2)}.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:var(--sp-3);flex-wrap:wrap}.swatch-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}.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:var(--fs-2);background:var(--input-bg);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:var(--sp-3) var(--sp-3);resize:vertical;white-space:pre}.space-li{position:relative}.space-li .space-del{position:absolute;right:6px;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .14s var(--ease)}.space-li:hover .space-del{opacity:1}.space-del:hover{color:var(--danger);background:var(--danger-soft)}.danger{background:var(--danger);color:#fff;border:none;border-radius:8px;padding:var(--sp-2) var(--sp-4);font-weight:600;cursor:pointer}.danger:hover{filter:brightness(1.08)}.danger:disabled{opacity:.45;cursor:not-allowed}.danger-panel{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--danger-soft);border:1px solid var(--danger);border-radius:8px;padding:var(--sp-3) var(--sp-3);margin:8px 0;font-size:var(--fs-3)}.danger-panel .row{gap:var(--sp-2);align-items:center}.danger-panel input{flex:1;min-width:0;font-family:ui-monospace,monospace}.icon-btn.danger-hover:hover{color:var(--danger);background:var(--danger-soft)}.comment{position:relative}.comment-actions{opacity:0;transition:opacity .14s var(--ease);position:absolute;right:0;top:2px}.comment:hover .comment-actions{opacity:1}.comment-actions .icon-btn:hover{color:var(--danger);background:var(--danger-soft)}.ctx-menu{position:fixed;z-index:200;min-width:160px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:var(--sp-1);box-shadow:0 8px 28px #0000002e;display:flex;flex-direction:column}.ctx-item{text-align:left;background:none;border:none;cursor:pointer;color:var(--ink);font-size:var(--fs-3);padding:var(--sp-2) var(--sp-3);border-radius:7px}.ctx-item:hover{background:var(--surface-2)}.ctx-item.danger-item{color:var(--danger)}.ctx-item.danger-item:hover{background:var(--danger-soft)}.chips-input{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.chips-input .chip{cursor:default}.chips-input select{max-width:160px}.chip-x{font:inherit;border:none;background:none;color:var(--ink-soft);cursor:pointer;padding:0 0 0 var(--sp-1);line-height:1}.chip-x:hover{color:var(--danger)}.version-flag{font-size:var(--fs-1);font-weight:550;padding:var(--sp-1) var(--sp-2);border-radius:99px;border:1px solid var(--line);color:var(--ink-soft)}.version-flag.released{color:var(--ok);border-color:var(--ok)}.record-add{display:flex;align-items:center;gap:var(--sp-2);margin:2px 0 6px;flex-wrap:wrap}.record-add select,.record-add input{font:inherit;font-size:var(--fs-2);padding:var(--sp-1) var(--sp-2);border:1px solid var(--rule, #d0d0d0);border-radius:4px;background:transparent;color:inherit}.record-add input{min-width:120px;flex:1}.records{list-style:none;margin:2px 0 8px;padding:0}.record-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1) 0;min-width:0}.record-kind{flex:none;font-size:var(--fs-1);min-width:76px}.record-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit}a.record-title{text-decoration:none}a.record-title:hover{text-decoration:underline}.record-status{flex:none;font-size:var(--fs-1);padding:var(--sp-1) var(--sp-2);border-radius:100px;border:1px solid currentColor;opacity:.85}.rs-merged,.rs-success{color:var(--ok, #2e7d32)}.rs-failure,.rs-closed,.rs-rolled_back{color:var(--danger, #b3261e)}.record-ns{flex:none;font-size:var(--fs-1)}.bell-btn{position:relative}.bell-badge{position:absolute;top:-3px;right:-4px;background:var(--danger, #d33);color:#fff;border-radius:8px;font-size:var(--fs-1);line-height:1;padding:var(--sp-1) var(--sp-1);min-width:14px;text-align:center}.notif-dialog{width:min(460px,92vw);max-height:70vh;overflow-y:auto}.notif-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}.notif-row{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-2);border:0;background:transparent;border-radius:8px;cursor:pointer;text-align:left;color:inherit;font:inherit}.notif-row:hover{background:var(--hover, rgba(127,127,127,.12))}.notif-row.unread{background:var(--accent-soft, rgba(80,120,255,.1))}.notif-text{display:flex;flex-direction:column;gap:var(--sp-1);flex:1;min-width:0}.notif-summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-when{flex-shrink:0;font-size:var(--fs-1)}.access-dialog{width:min(680px,94vw);max-height:80vh;overflow-y:auto}.access-tab{display:flex;flex-direction:column;gap:var(--sp-2)}.access-row{align-items:center;gap:var(--sp-2)}.access-members{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-1) 0 var(--sp-2) var(--sp-7);align-items:center}.access-grants{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:6px}.grants-table{border-collapse:collapse}.grants-table td{padding:var(--sp-1) var(--sp-1)}.level-block{border:1px solid var(--border, rgba(127,127,127,.25));border-radius:10px;padding:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2)}.admin-chip{margin-left:6px;font-size:var(--fs-1)}.dialog.wide{width:min(1120px,95vw)}.connector-split{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:var(--sp-4);align-items:start;min-height:0}.connector-detail{display:flex;flex-direction:column;gap:var(--sp-3);min-width:0}.connector-detail .row{flex-wrap:wrap;gap:var(--sp-2);align-items:baseline}textarea.def-editor,.def-editor>textarea{width:100%;box-sizing:border-box;font-family:ui-monospace,monospace;font-size:var(--fs-2);line-height:1.5;padding:var(--sp-3) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);color:var(--ink);resize:vertical}.def-editor>textarea{min-height:320px}div.def-editor{display:flex;flex-direction:column;gap:var(--sp-3);width:100%;min-width:0}div.def-editor>label{display:flex;flex-direction:column;gap:var(--sp-1)}div.def-editor>label>input,div.def-editor>label>select{width:100%;box-sizing:border-box}.app-card.card-split{display:grid;grid-template-columns:1fr auto;gap:var(--sp-4);align-items:start}.card-actions{display:flex;flex-direction:column;gap:var(--sp-2);align-items:stretch;min-width:120px}.card-facts{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;font-size:var(--fs-1);color:var(--ink-soft);margin-top:7px}.card-facts .event-name{font-size:var(--fs-1)}.card-facts strong{color:var(--ink);font-weight:550}.app-card.card-split>*:not(:first-child):not(.card-actions){grid-column:1 / -1}.setup-step label{display:flex;flex-direction:column;gap:var(--sp-1);margin:8px 0;max-width:520px}.setup-step label>span{font-size:var(--fs-1);color:var(--ink-soft)}.setup-step label>input{width:100%;box-sizing:border-box}.setup-step .row{margin-top:10px}.setup-step textarea{width:100%;box-sizing:border-box;font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-1)}.setup-step select{max-width:220px}.lib-scope{display:flex;align-items:center;gap:var(--sp-2);margin:4px 0 12px;font-size:var(--fs-1);color:var(--ink-soft)}.lib-scope select{flex:1;max-width:320px}.card-facts code{margin-right:6px}.chip.ok{background:var(--ok-bg, #e7f5ec);color:var(--ok-ink, #1a7f43)}.tab-end{margin-left:auto}.tab.danger{color:var(--danger, #b3261e)}.tab.danger:hover{background:var(--danger-bg, #fdecea)}.confirm-strip{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin:10px 0;padding:var(--sp-3) var(--sp-3);border-radius:8px;background:var(--danger-bg, #fdecea);font-size:var(--fs-2)}.confirm-strip>span{flex:1;min-width:260px}button.danger{background:var(--danger, #b3261e);color:#fff;border:none;padding:var(--sp-2) var(--sp-4);border-radius:6px;cursor:pointer;font-weight:600}button.danger:disabled{opacity:.6;cursor:default}.connector-split.lib-mode{grid-template-columns:1fr}.connector-split.lib-mode .connector-detail{display:none}.connector-split.lib-mode .app-catalog{max-width:none}.connector-split.lib-mode .app-card{display:grid;grid-template-columns:1fr auto;align-items:start;column-gap:var(--sp-4)}.connector-split.lib-mode .app-card>.app-card-head{grid-column:1}.connector-split.lib-mode .app-card>.card-actions{grid-column:2;grid-row:1 / span 3}.connector-split.lib-mode .app-card>.app-desc,.connector-split.lib-mode .app-card>.card-facts{grid-column:1}.connector-split.lib-mode .app-card>.setup-step{grid-column:1 / -1}@media(max-width:720px){.app-card.card-split{grid-template-columns:1fr}.card-actions{flex-direction:row}}.detail-list{list-style:none;padding:var(--sp-2) var(--sp-3);margin:0;border:1px solid var(--danger);background:var(--danger-soft);border-radius:var(--r-m);font-size:var(--fs-2);display:flex;flex-direction:column;gap:var(--sp-1)}.vocab{border-top:1px solid var(--line);padding-top:var(--sp-3)}.person.active{background:var(--surface-2)}.person-block{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-m)}.person-block .row{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.person-block .code-block{margin:0}.dlv-accepted{background:var(--ok-soft);color:var(--ok)}.dlv-refused{background:var(--danger-soft);color:var(--danger)}.dlv-ignored{background:var(--surface-3);color:var(--ink-faint)}.tabs-row .tab{border:1px solid transparent;background:none;color:var(--ink-soft);border-radius:var(--r-s);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-2);font-weight:550}.tabs-row .tab:hover{color:var(--ink);background:var(--surface-2)}.tabs-row .tab.active{color:var(--ink);background:var(--surface-2);border-color:var(--line)}.copy-line{display:flex;align-items:center;gap:var(--sp-2);margin:6px 0;flex-wrap:wrap}.copy-line .secret-value{flex:1;margin:0;min-width:220px;overflow-wrap:anywhere}.setup-facts{margin-top:8px;padding-top:var(--sp-2);border-top:1px solid var(--line)}.setup-list{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1) var(--sp-3);margin:5px 0 6px}.setup-list dt{color:var(--ink-faint);font-size:var(--fs-1)}.setup-list dd{margin:0}.setup-step{border:1px solid var(--line-strong);border-radius:var(--r-m);padding:var(--sp-3) var(--sp-4);margin-bottom:10px;background:var(--surface-2)}.setup-step .row{gap:var(--sp-2);margin-top:8px;flex-wrap:wrap}.rule-list{list-style:none;padding:0;margin:8px 0 4px;font-size:var(--fs-2)}.rule-list li{padding:var(--sp-1) 0}.connector-secondary{margin-top:14px;padding-top:var(--sp-3);border-top:1px solid var(--line);gap:var(--sp-3)}.option-checks{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding:var(--sp-1) 0}.option-check{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2)}.option-check input{margin:0}.appdoc{display:flex;flex-direction:column;gap:var(--sp-4)}.appdoc-lede{margin:0;font-size:var(--fs-3);line-height:1.55;color:var(--ink);max-width:76ch}.appdoc-summary{margin:0;padding:var(--sp-3) var(--sp-4);border-left:2px solid var(--sun);background:var(--sun-soft);border-radius:0 6px 6px 0;font-size:var(--fs-3);line-height:1.5;color:var(--ink);max-width:76ch}.appdoc-flow{border:1px solid var(--line);border-radius:9px;background:var(--canvas);padding:var(--sp-4) var(--sp-4);overflow-x:auto}.appdoc-flow svg{display:block;min-width:760px}.ad-lane{fill:var(--ink-faint);font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-1);letter-spacing:.09em}.ad-node{fill:var(--card);stroke:var(--line-strong);stroke-width:1}.ad-trigger{fill:var(--info-soft);stroke:var(--info)}.ad-app{fill:var(--card);stroke:var(--ink);stroke-width:1.5}.ad-does{fill:var(--ok-soft);stroke:var(--ok)}.ad-may{fill:var(--warn-soft);stroke:var(--warn);stroke-dasharray:5 3}.ad-conn{fill:var(--surface-2);stroke:var(--line-strong);stroke-dasharray:5 3}.ad-title{fill:var(--ink);font-size:var(--fs-2);font-weight:550}.ad-sub{fill:var(--ink-soft);font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-1)}.ad-step-n{fill:var(--ink-faint);font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-1)}.ad-step{fill:var(--ink);font-family:var(--mono, ui-monospace, monospace);font-size:var(--fs-1)}.ad-edge{stroke:var(--line-strong);stroke-width:1.2;fill:none}.ad-edge-out{stroke-dasharray:4 3}.ad-arrow{fill:var(--line-strong)}.ad-wall{stroke:var(--ink-faint);stroke-width:1;stroke-dasharray:6 4}.appdoc-grid{display:grid;gap:var(--sp-5) var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}.appdoc-grid h4{margin:0 0 7px;font-size:var(--fs-1);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.appdoc-grid section+section{margin-top:0}.appdoc-grid h4~h4{margin-top:14px}.appdoc-note{font-size:var(--fs-1);line-height:1.5;margin:0 0 8px}.appdoc-list,.appdoc-steps{margin:0;padding-left:0;list-style:none}.appdoc-steps{counter-reset:adstep}.appdoc-list>li,.appdoc-steps>li{padding:var(--sp-2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-2);line-height:1.45}.appdoc-list>li:last-child,.appdoc-steps>li:last-child{border-bottom:none}.appdoc-list code,.appdoc-steps code{font-size:var(--fs-1);color:var(--ink-soft);background:var(--surface-2);padding:var(--sp-1) var(--sp-2);border-radius:4px}.appdoc-kind{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.06em;color:var(--sun);font-weight:600;margin-left:4px}.appdoc-req{font-size:var(--fs-1);text-transform:uppercase;letter-spacing:.05em;color:var(--warn);margin-left:6px;font-weight:600}.def-editor>textarea{min-height:60vh;line-height:1.55;tab-size:2}.app-state{margin-left:auto;display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-1);letter-spacing:.03em;font-weight:600;padding:var(--sp-1) var(--sp-2);border-radius:100px;white-space:nowrap}.app-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.app-state-ok{color:var(--ok);background:var(--ok-soft)}.app-state-bad{color:var(--danger);background:var(--danger-soft)}.app-state-warn{color:var(--warn);background:var(--warn-soft)}.app-state-todo{color:var(--todo);background:var(--todo-soft)}.code-tab{display:flex;flex-direction:column;gap:var(--sp-4)}.code-step-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:6px;font-size:var(--fs-2)}.code-step-head .quiet{font-size:var(--fs-1)}.code-pane{display:flex;border:1px solid var(--line-strong);border-radius:8px;background:var(--card);overflow:hidden;max-height:62vh}.code-gutter,.code-hl,.code-edit{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:var(--fs-2);line-height:1.65;tab-size:2}.code-gutter{display:flex;flex-direction:column;flex:none;overflow:hidden;padding:var(--sp-3) var(--sp-2) var(--sp-3) var(--sp-3);text-align:right;background:var(--surface-2);color:var(--ink-faint);border-right:1px solid var(--line);-webkit-user-select:none;user-select:none}.code-scroll{position:relative;flex:1;min-width:0}.code-hl,.code-edit{margin:0;padding:var(--sp-3) var(--sp-4);border:0;width:100%;height:100%;white-space:pre;overflow:auto;box-sizing:border-box}.code-hl{position:absolute;inset:0;pointer-events:none;color:var(--ink)}.code-edit{position:relative;background:transparent;color:transparent;caret-color:var(--sun);resize:vertical;min-height:320px;display:block}.code-edit:focus{outline:none}.code-pane:focus-within{border-color:var(--sun-ring);box-shadow:0 0 0 3px var(--sun-ring-soft)}.code-edit::selection{background:var(--sun-ring-soft);color:transparent}.tk-comment{color:var(--ink-faint);font-style:italic}.tk-str{color:var(--ok)}.tk-regex{color:var(--warn)}.tk-num{color:var(--info)}.tk-kw{color:var(--sun);font-weight:550}.tk-sdk{color:var(--info);font-weight:600}.tk-name,.tk-punct,.tk-ws{color:var(--ink)}.setup-panel{border:1px solid var(--line-strong);border-radius:9px;background:var(--card);overflow:hidden;margin-bottom:4px}.setup-head{padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border-bottom:1px solid var(--line);font-size:var(--fs-2)}.setup-ready{color:var(--ok)}.setup-line{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-2)}.setup-line:last-child{border-bottom:none}.setup-line.done{opacity:.62}.setup-body{flex:1;min-width:0}.setup-line .quiet{font-size:var(--fs-1);line-height:1.45;margin-top:2px}.setup-mark{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-1);font-weight:700;margin-top:1px}.setup-mark.ok{background:var(--ok-soft);color:var(--ok)}.setup-mark.todo{background:var(--surface-3);color:var(--ink-soft)}.setup-form{margin-top:10px;display:flex;flex-direction:column;gap:var(--sp-3);max-width:460px}.setup-form label{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-1)}.setup-form label>span{color:var(--ink-soft)}.setup-form input{width:100%;box-sizing:border-box}.setup-note{font-size:var(--fs-1);line-height:1.5;margin:0}.connector-split.guide-mode{grid-template-columns:1fr}.connector-split.guide-mode .app-catalog{display:none}.guide{max-width:74ch;padding:var(--sp-1) var(--sp-1) var(--sp-7)}.guide p{font-size:var(--fs-3);line-height:1.65;color:var(--ink);margin:0 0 1em}.guide code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-1);background:var(--surface-2);padding:var(--sp-1) var(--sp-2);border-radius:4px;color:var(--ink)}.guide a{color:var(--info)}.guide .guide-h1{font-size:var(--fs-5);line-height:1.25;margin:0 0 18px;letter-spacing:-.01em}.guide .guide-h2{font-size:var(--fs-4);margin:34px 0 12px;padding-top:var(--sp-4);border-top:1px solid var(--line);letter-spacing:-.005em}.guide .guide-h3{font-size:var(--fs-3);margin:22px 0 8px;color:var(--ink)}.guide .guide-list{margin:0 0 1em;padding-left:var(--sp-5)}.guide .guide-list li{font-size:var(--fs-3);line-height:1.6;margin-bottom:5px}.guide pre.code-block{font-size:var(--fs-1);line-height:1.6;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:var(--sp-3) var(--sp-4);overflow-x:auto;margin:0 0 1.2em}.guide-fig{margin:6px 0 26px;padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:9px;background:var(--canvas);overflow-x:auto;width:min(96ch,100%)}.guide-fig svg{display:block;width:100%;min-width:560px;height:auto}.appdoc-authored{margin:0 0 4px}.appdoc-frame{width:100%;height:420px;border:1px solid var(--line-strong);border-radius:9px;background:var(--card);display:block;resize:vertical}.appdoc-authored figcaption{font-size:var(--fs-1);color:var(--ink-soft);margin-top:6px;line-height:1.5}.panel{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.panel:last-child{margin-bottom:0}.panel-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.panel-title{font-size:var(--fs-4);font-weight:var(--fw-semi);letter-spacing:-.005em}.panel-sub{font-size:var(--fs-2);color:var(--ink-soft)}.panel-head .spacer{flex:1}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.toolbar .spacer{flex:1}.data-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)}.data-table th{text-align:left;font-size:var(--fs-1);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:var(--sp-3) var(--sp-4);white-space:nowrap;background:color-mix(in srgb,var(--surface-2) 60%,var(--card));border-bottom:1px solid var(--line)}.data-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);font-size:var(--fs-3);vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.data-table .num,.data-table .r{text-align:right}.data-table .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2);color:var(--ink-soft)}.data-table .actions{text-align:right;white-space:nowrap}.data-table .actions>*+*{margin-left:var(--sp-1)}.table-wrap{overflow-x:auto}.cell-name{display:flex;align-items:center;gap:var(--sp-3);min-width:0}.cell-name .nm{font-weight:600}.cell-name .sub{font-family:var(--mono);font-size:var(--fs-1);color:var(--ink-faint)}.cell-stack{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.cell-trunc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34ch;display:block}.deflist{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-2) var(--sp-4)}.deflist dt{font-size:var(--fs-1);font-weight:var(--fw-semi);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);line-height:var(--lh-body)}.deflist dd{margin:0;font-size:var(--fs-3)}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-6);border:1px dashed var(--line-strong);border-radius:var(--r-l);background:var(--paper-2, var(--surface-2))}.empty-title{font-size:var(--fs-4);font-weight:var(--fw-semi)}.empty-body{font-size:var(--fs-3);color:var(--ink-soft);max-width:62ch;line-height:var(--lh-body)}.dot-on,.dot-off{width:8px;height:8px;border-radius:99px;flex:none;display:inline-block}.dot-on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot-off{background:var(--line-strong)}.data-table .event-name{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.data-table td{overflow:hidden}
