@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}:root{--stage: #ababab;--stage-edge: #949494;--surface: #ffffff;--surface-sunk: #f1f2f4;--surface-rail: #fbfbfc;--line: #dfe1e5;--line-strong: #c6c9cf;--ink: #16181d;--ink-muted: #636875;--ink-faint: #8a8f9a;--accent: #d6006e;--accent-hover: #b80060;--accent-soft: #fde7f1;--danger: #b3261e;--danger-soft: #fdecea;--caution: #8a5a00;--caution-soft: #fff6df;--ok: #1f5f3a;--r-control: 6px;--r-tile: 4px;--r-modal: 12px;--shadow-sheet: 0 2px 6px rgb(0 0 0 / .18), 0 18px 40px rgb(0 0 0 / .26);--shadow-lift: 0 10px 34px rgb(0 0 0 / .16);--rail-w: 60px;--column-w: 384px;--font: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;--step: .16s;--ease: cubic-bezier(.2, 0, 0, 1)}:root[data-chrome=dark]{--stage: #8f8f8f;--stage-edge: #6f6f6f;--surface: #1b1d22;--surface-sunk: #24272e;--surface-rail: #16181d;--line: #31353d;--line-strong: #454a55;--ink: #eef0f4;--ink-muted: #a3a9b6;--ink-faint: #7d8492;--accent: #ff4d9d;--accent-hover: #ff6cae;--accent-soft: #3a1026;--danger: #ff7b72;--danger-soft: #3a1a18;--caution: #e3b341;--caution-soft: #362c14;--ok: #57c98a}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.45;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}.num,input[type=number],.capsule,.meta,.pill{font-variant-numeric:tabular-nums}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{display:flex;height:100%;overflow:hidden}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);background:var(--surface-rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:4px}.rail-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:var(--surface);font-weight:600;font-size:15px;letter-spacing:-.03em;margin-bottom:12px;user-select:none}.rail-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:var(--r-control);background:transparent;color:var(--ink-muted);cursor:pointer;transition:background var(--step) var(--ease),color var(--step) var(--ease)}.rail-btn:hover{background:var(--surface-sunk);color:var(--ink)}.rail-btn[aria-current=true]{color:var(--accent);background:var(--accent-soft)}.rail-btn[aria-current=true]:before{content:"";position:absolute;left:-12px;top:50%;translate:0 -50%;width:3px;height:20px;border-radius:0 2px 2px 0;background:var(--accent)}.rail-btn svg{width:20px;height:20px}.rail-spacer{flex:1}.rail-tip{position:absolute;left:calc(100% + 8px);top:50%;translate:0 -50%;background:var(--ink);color:var(--surface);padding:4px 8px;border-radius:var(--r-control);font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--step) var(--ease);z-index:60}.rail-btn:hover .rail-tip,.rail-btn:focus-visible .rail-tip{opacity:1}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--surface-sunk);color:var(--ink);border:1px solid var(--line-strong);font-weight:600;font-size:12px;cursor:pointer}.avatar:hover{border-color:var(--accent)}.column{width:var(--column-w);flex:0 0 var(--column-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.column-head{padding:14px 18px 12px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:10px}.column-head h1{font-size:15px}.column-head .meta{font-size:12px;color:var(--ink-faint)}.column-body{flex:1;overflow-y:auto;overscroll-behavior:contain}.column-foot{border-top:1px solid var(--line);padding:12px 18px 16px;background:var(--surface)}.section{border-bottom:1px solid var(--line)}.section:last-child{border-bottom:0}.section-head{width:100%;display:flex;align-items:center;gap:8px;padding:13px 18px;background:none;border:0;font:inherit;font-weight:600;font-size:13.5px;color:var(--ink);text-align:left;cursor:pointer}.section-head:hover{background:var(--surface-sunk)}.section-head .chev{margin-left:auto;color:var(--ink-faint);transition:rotate var(--step) var(--ease)}.section-head[aria-expanded=true] .chev{rotate:90deg}.section-head .tag{font-weight:400;font-size:12px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.section-body{padding:2px 18px 18px;display:grid;gap:12px}.stage{flex:1;position:relative;min-width:0;background:var(--stage);display:grid;place-items:center;padding:32px;overflow:hidden}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px var(--stage-edge)}.sheet{max-width:100%;max-height:100%;box-shadow:var(--shadow-sheet);background:var(--surface);display:block}.capsule{position:absolute;bottom:18px;left:50%;translate:-50% 0;display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px;box-shadow:var(--shadow-lift);font-size:12px;z-index:5}.capsule button{border:0;background:none;font:inherit;color:var(--ink-muted);padding:5px 10px;border-radius:999px;cursor:pointer}.capsule button:hover{background:var(--surface-sunk);color:var(--ink)}.capsule .readout{padding:5px 10px;color:var(--ink-muted)}.capsule .sep{width:1px;height:16px;background:var(--line);margin:0 2px}.stage-spinner{position:absolute;top:18px;right:18px;width:18px;height:18px;border-radius:50%;border:2px solid rgb(255 255 255 / .5);border-top-color:var(--surface);animation:spin .7s linear infinite}@keyframes spin{to{rotate:360deg}}label{display:flex;flex-direction:column;gap:5px;font-size:13px}label>span:first-child{color:var(--ink-muted);font-weight:500}.row{display:flex;gap:10px}.row>label{flex:1;min-width:0}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{font:inherit;font-size:13.5px;color:var(--ink);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-control);padding:8px 10px;width:100%;transition:border-color var(--step) var(--ease),background var(--step) var(--ease)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{background:var(--surface);border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:0}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}textarea{resize:vertical;min-height:60px;line-height:1.5}select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input[type=range]{width:100%;accent-color:var(--accent)}.check{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.check input{width:auto;accent-color:var(--accent)}.check>span:first-child{color:var(--ink);font-weight:400}.hint{font-size:12px;color:var(--ink-faint);margin:0}.hint code{background:var(--surface-sunk);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:11.5px}.note{font-size:12px;border-radius:var(--r-control);padding:8px 10px;margin:0}.note.warn{background:var(--caution-soft);color:var(--caution)}.note.error{background:var(--danger-soft);color:var(--danger)}.note.info{background:var(--accent-soft);color:var(--accent-hover)}.btn{font:inherit;font-weight:500;font-size:13.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-control);padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background var(--step) var(--ease),border-color var(--step) var(--ease),color var(--step) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-sunk);border-color:var(--ink-faint)}.btn:active:not(:disabled){scale:.985}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}:root[data-chrome=dark] .btn.primary{color:#1b1d22}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-muted)}.btn.ghost:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.btn.danger{color:var(--danger);border-color:var(--line-strong)}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.tiny{padding:4px 9px;font-size:12px}.btn.block{width:100%;padding:11px 16px;font-size:14px}.btn.file{position:relative;overflow:hidden}.btn.file input{position:absolute;inset:0;opacity:0;cursor:pointer}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-row.split>*{flex:1}.seg{display:inline-flex;flex-direction:row;padding:2px;gap:2px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-control)}.seg button{flex:1;border:0;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--ink-muted);padding:6px 12px;border-radius:4px;cursor:pointer;transition:background var(--step) var(--ease),color var(--step) var(--ease)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true],.seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #00000014}.picker{display:grid;gap:8px}.picker-tools{display:flex;gap:8px;align-items:center}.picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:268px;overflow-y:auto;padding:2px}.tile{position:relative;aspect-ratio:1;border:1px solid var(--line);border-radius:var(--r-tile);background:var(--surface-sunk);padding:6px;cursor:pointer;overflow:hidden;display:grid;place-items:center;transition:border-color var(--step) var(--ease)}.tile.transparent{background-image:repeating-conic-gradient(var(--line) 0 25%,var(--surface) 0 50%);background-size:14px 14px}.tile:hover{border-color:var(--line-strong)}.tile[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tile img{max-width:100%;max-height:100%;object-fit:contain}.tile-name{position:absolute;inset-inline:0;bottom:0;background:color-mix(in srgb,var(--surface) 88%,transparent);font-size:10.5px;padding:2px 4px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-flag{position:absolute;top:3px;inset-inline-start:3px;background:var(--caution-soft);color:var(--caution);font-size:9.5px;padding:1px 4px;border-radius:3px}.tile-del{position:absolute;top:3px;inset-inline-end:3px;width:18px;height:18px;border:0;border-radius:4px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink-muted);cursor:pointer;display:grid;place-items:center;font-size:13px;line-height:1;opacity:0}.tile:hover .tile-del,.tile-del:focus-visible{opacity:1}.tile-del:hover{background:var(--danger);color:#fff}.empty{text-align:center;color:var(--ink-faint);font-size:12.5px;padding:18px 8px}.dropzone{border:1px dashed var(--line-strong);border-radius:var(--r-control);background:var(--surface-sunk);padding:20px;text-align:center;color:var(--ink-muted);transition:border-color var(--step) var(--ease),background var(--step) var(--ease)}.dropzone.drag{border-color:var(--accent);background:var(--accent-soft)}.modal-backdrop{position:fixed;inset:0;z-index:40;background:#0000006b;display:grid;place-items:center;padding:20px;animation:fade var(--step) var(--ease)}.modal{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:var(--surface);color:var(--ink);border-radius:var(--r-modal);box-shadow:var(--shadow-lift);padding:22px;display:grid;gap:14px;animation:rise var(--step) var(--ease)}.modal h2{font-size:16px}.modal h3{font-size:13px;color:var(--ink-muted);margin-top:4px}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;translate:0 8px}}.toast{position:fixed;bottom:22px;left:50%;translate:-50% 0;z-index:50;background:var(--ink);color:var(--surface);padding:10px 16px;border-radius:999px;font-size:13px;box-shadow:var(--shadow-lift);animation:rise var(--step) var(--ease);max-width:min(520px,92vw)}.toast.error{background:var(--danger);color:#fff}.auth{display:grid;grid-template-columns:1.15fr 1fr;height:100%;background:var(--surface)}.auth-scene{position:relative;overflow:hidden;background:#101116;display:grid;place-items:center}.auth-scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.auth-still{position:absolute;inset:0;display:grid;place-items:center}.auth-still img{width:44%;max-width:280px;border-radius:2px;box-shadow:var(--shadow-sheet);rotate:-3deg}.auth-scene-caption{position:absolute;left:44px;bottom:40px;right:44px;color:#fff;z-index:2;pointer-events:none}.auth-scene-caption h2{font-size:26px;line-height:1.2;max-width:14ch}.auth-scene-caption p{margin:10px 0 0;font-size:14px;color:#ffffffb8;max-width:38ch}.auth-panel{display:grid;place-items:center;padding:40px;overflow-y:auto}.auth-form{width:min(380px,100%);display:grid;gap:16px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:6px}.auth-brand .rail-mark{margin:0}.auth-brand b{font-weight:600;letter-spacing:-.02em}.auth-form h1{font-size:22px}.auth-form>p{margin:0;color:var(--ink-muted);font-size:13.5px}.auth-switch{font-size:13px;color:var(--ink-muted);text-align:center}.auth-switch button{background:none;border:0;font:inherit;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.auth-state{display:grid;gap:10px;justify-items:center;text-align:center;padding:26px 20px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-modal)}.auth-state .glyph{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.auth-state h2{font-size:16px}.auth-state p{margin:0;color:var(--ink-muted);font-size:13.5px;max-width:32ch}.splash{height:100%;display:grid;place-items:center;color:var(--ink-faint);font-size:13px;gap:14px}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:500;color:var(--ink-muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:hover td{background:var(--surface-sunk)}.pill{display:inline-block;font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--surface-sunk);color:var(--ink-muted);border:1px solid var(--line)}.pill.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok);border-color:transparent}.pill.warn{background:var(--caution-soft);color:var(--caution);border-color:transparent}.pill.pending{background:var(--accent-soft);color:var(--accent-hover);border-color:transparent}.pill.off{opacity:.7}.panel-page{flex:1;overflow-y:auto;background:var(--surface);padding:28px 32px}.panel-page>header{margin-bottom:18px}.panel-page h1{font-size:19px;margin-bottom:4px}.results{align-self:start;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;width:100%;max-height:100%;overflow-y:auto;padding:4px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);padding:10px;display:grid;gap:8px}.card-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.card-pair figure{margin:0;display:grid;gap:4px;justify-items:center}.card-pair img{max-width:100%;max-height:110px;object-fit:contain}.card-pair figcaption{font-size:10.5px;color:var(--ink-faint)}.card-arrow{color:var(--ink-faint)}.card-name{font-size:12.5px;font-weight:500;word-break:break-all}.card-meta{font-size:11.5px;color:var(--ink-faint)}.progress{height:4px;border-radius:2px;background:var(--surface-sunk);overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width var(--step) var(--ease)}@media(max-width:1040px){.app{flex-wrap:wrap}.column{width:100%;flex:1 1 100%;order:2;max-height:52vh;border-right:0;border-top:1px solid var(--line)}.stage{order:1;flex:1 1 100%;min-height:44vh;padding:18px}.rail{order:0;width:100%;flex:0 0 auto;flex-direction:row;border-right:0;border-bottom:1px solid var(--line);padding:8px 12px}.rail-mark{margin:0 8px 0 0}.rail-btn[aria-current=true]:before{left:50%;top:auto;bottom:-8px;translate:-50% 0;width:20px;height:3px;border-radius:2px 2px 0 0}.rail-tip{display:none}}@media(max-width:860px){.auth{grid-template-columns:1fr;grid-template-rows:190px 1fr}.auth-scene-caption{left:24px;right:24px;bottom:20px}.auth-scene-caption h2{font-size:19px}.auth-scene-caption p{display:none}.auth-panel{padding:26px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.export{display:grid;gap:10px}.notices summary{cursor:pointer;list-style:none}.notices summary::-webkit-details-marker{display:none}.notices summary:before{content:"▸";color:var(--ink-faint);margin-right:6px}.notices[open] summary:before{content:"▾"}.notices[open]{display:grid;gap:8px}.export-buttons{display:flex;flex-wrap:wrap;gap:8px}.export-buttons .btn.primary.big{flex:1 1 100%;padding:11px 16px;font-size:14px}.export-buttons .btn{flex:1}.projects-tools{display:flex;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap}.projects-tools input[type=search]{max-width:280px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:16px}.project{border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden;background:var(--surface);display:flex;flex-direction:column;transition:border-color var(--step) var(--ease)}.project:hover{border-color:var(--line-strong)}.project:focus-within{border-color:var(--accent)}.project-open{border:0;padding:0;margin:0;background:none;cursor:pointer;display:block}.thumb{aspect-ratio:4 / 5;background:var(--stage);display:grid;place-items:center;border-bottom:1px solid var(--line);overflow:hidden}.thumb canvas{max-width:82%;max-height:82%;box-shadow:0 1px 3px #0003,0 6px 16px #00000038;background:#fff}.thumb-note{font-size:11.5px;color:#00000073}.project-body{padding:10px 12px 12px;display:grid;gap:6px}.project-body h2{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-body .btn-row{margin-top:2px}p.warn,p.error,p.info{font-size:12px;border-radius:var(--r-control);padding:8px 10px;margin:0}p.warn{background:var(--caution-soft);color:var(--caution)}p.error{background:var(--danger-soft);color:var(--danger)}p.info{background:var(--accent-soft);color:var(--accent-hover)}.custom-size{display:grid;gap:10px;padding:12px;border:1px dashed var(--line-strong);border-radius:var(--r-control);background:var(--surface-sunk)}.seg.small button{padding:4px 9px;font-size:12px}.color-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.color-row input[type=color]{width:34px;height:30px;padding:2px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface);cursor:pointer}.card-path{font-size:11px;color:var(--ink-faint)}.stage-empty{max-width:44ch;text-align:center;color:var(--surface);text-shadow:0 1px 2px rgb(0 0 0 / .25)}.stage-empty h2{font-size:17px;margin-bottom:8px}.stage-empty p{margin:0;font-size:13.5px;color:#ffffffdb}.drive{display:grid;gap:8px;padding:12px;margin-top:4px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface-sunk)}.drive-title{font-size:12.5px;font-weight:600;color:var(--ink)}.drive-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.drive-row .check{flex:1}.drive-setup{display:grid;gap:8px;margin-top:6px}.drive-setup summary{cursor:pointer}.drive textarea{min-height:56px;font-size:12.5px}.drive ol{margin:0;padding-inline-start:18px;font-size:12px;color:var(--ink-faint)}.drive li{margin-bottom:4px}.template-switch{padding:10px 18px;border-bottom:1px solid var(--line);background:var(--surface-sunk)}.template-switch .seg{width:100%;background:var(--surface)}.invite{margin-bottom:18px;display:grid;gap:12px}.invite-form{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface-sunk)}.invite .note.info input[type=text]{flex:1;font-size:12.5px}.board-page{display:flex;flex-direction:column}.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:12px;flex:1;min-height:0;overflow-x:auto;padding-bottom:8px}.board-column{display:flex;flex-direction:column;min-height:0;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-control);transition:border-color var(--step) var(--ease),background var(--step) var(--ease)}.board-column.over{border-color:var(--accent);background:var(--accent-soft)}.board-head{padding:10px 12px 8px;border-bottom:1px solid var(--line)}.board-head h2{font-size:13px;display:flex;align-items:center;gap:6px}.board-head h2 .num{color:var(--ink-faint);font-weight:400}.board-head .hint{font-size:11.5px;margin-top:2px}.board-cards{flex:1;overflow-y:auto;padding:10px;display:grid;gap:10px;align-content:start}.board-empty{text-align:center;color:var(--ink-faint);font-size:12px;padding:14px 0;margin:0}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden;cursor:grab;transition:border-color var(--step) var(--ease),opacity var(--step) var(--ease)}.task-card:hover{border-color:var(--line-strong)}.task-card.dragging{opacity:.45;cursor:grabbing}.task-card:focus-within{border-color:var(--accent)}.task-open{display:block;width:100%;border:0;padding:0;background:none;text-align:left;cursor:pointer}.task-card .thumb{aspect-ratio:16 / 10;border-radius:0}.task-body{padding:8px 10px;display:grid;gap:3px}.task-body h3{font-size:12.5px;font-weight:600;line-height:1.3}.task-meta{margin:0;font-size:11.5px;color:var(--ink-faint);display:flex;align-items:center;flex-wrap:wrap}.task-next{margin:0 10px 10px;width:calc(100% - 20px)}.task-detail{width:min(760px,100%)}.task-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.task-brief{margin:0;font-size:13.5px;white-space:pre-wrap;color:var(--ink-muted)}.task-section{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.task-section h3{font-size:12.5px;color:var(--ink-muted)}.task-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.task-designs figure{margin:0;border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden}.task-designs figcaption{padding:8px;display:grid;gap:6px;font-size:12px}.task-designs figcaption>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:240px;overflow-y:auto;font-size:12.5px}.activity li{padding-left:10px;border-left:2px solid var(--line);color:var(--ink-muted)}.activity li.comment{border-left-color:var(--accent);color:var(--ink)}.activity time{display:block;font-size:11px;color:var(--ink-faint)}.activity+form input{flex:1}.working-on{padding:10px 18px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--accent-hover);display:grid;gap:8px;font-size:12.5px}.working-on b{color:var(--ink)}.calendar{display:grid;grid-template-columns:1fr 232px;gap:16px;align-items:start}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-control);overflow:hidden}.cal-day-name{background:var(--surface-sunk);padding:7px 8px;font-size:11.5px;font-weight:500;color:var(--ink-muted);text-align:center}.cal-cell{background:var(--surface);min-height:118px;padding:6px;display:grid;gap:6px;align-content:start;transition:background var(--step) var(--ease)}.cal-cell.outside{background:var(--surface-sunk)}.cal-cell.outside .cal-date{opacity:.45}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal-cell.over{background:var(--accent-soft)}.cal-date{font-size:11.5px;color:var(--ink-faint)}.cal-item{border:1px solid var(--line);border-radius:var(--r-tile);overflow:hidden;background:var(--surface);cursor:grab;display:grid;gap:4px}.cal-item:hover{border-color:var(--line-strong)}.cal-item-open{border:0;background:none;padding:0;cursor:pointer;display:grid;gap:2px;text-align:left}.cal-item .thumb{aspect-ratio:16 / 9;border-radius:0}.cal-item-title{font-size:11px;font-weight:500;padding:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-item-meta{display:flex;gap:4px;flex-wrap:wrap;padding:0 5px}.cal-item-meta .pill{font-size:10px;padding:1px 6px}.cal-item .btn-row{padding:0 5px 5px;gap:4px}.cal-item .btn.tiny{font-size:10.5px;padding:3px 6px;flex:1}.cal-unscheduled{border:1px dashed var(--line-strong);border-radius:var(--r-control);padding:12px;display:grid;gap:8px;align-content:start;background:var(--surface-sunk);max-height:70vh;overflow-y:auto}.cal-unscheduled h2{font-size:12.5px;color:var(--ink-muted)}.agenda{display:grid;gap:12px}.agenda-row{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start}.agenda-date{font-size:12px;color:var(--ink-muted);padding-top:6px}.agenda .cal-item{max-width:360px}@media(max-width:1040px){.calendar{grid-template-columns:1fr}.cal-unscheduled{max-height:none}}.export-buttons .btn{min-width:0}.export-buttons .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.working-on span{overflow-wrap:anywhere}@media(max-width:720px){html,body,#app{height:auto;min-height:100%}body{overflow-y:auto}.app{display:flex;flex-direction:column;height:auto;min-height:100%;overflow:visible;padding-bottom:calc(62px + env(safe-area-inset-bottom))}.rail{position:fixed;left:0;right:0;bottom:0;width:auto;flex-direction:row;justify-content:space-around;align-items:center;gap:0;padding:5px 6px calc(5px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:var(--surface);z-index:30}.rail-mark,.rail-spacer,.rail-tip{display:none}.rail-btn{width:48px;height:44px}.rail-btn[aria-current=true]:before{left:50%;top:0;bottom:auto;translate:-50% 0;width:22px;height:3px;border-radius:0 0 2px 2px}.avatar{width:40px;height:40px}.stage{order:1;width:100%;height:48vh;min-height:240px;flex:none;padding:12px;position:sticky;top:0;z-index:10}.column{order:2;width:100%;max-height:none;flex:none;border-right:0;border-top:1px solid var(--line);display:block}.column-body{overflow:visible}.column-foot{position:static}.panel-page{order:1;width:100%;overflow:visible;padding:16px 14px 24px}.btn,.seg button,.section-head,.rail-btn,.capsule button{min-height:44px}.btn.tiny{min-height:36px}.tile-del{opacity:1;width:26px;height:26px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],select,textarea{font-size:16px;min-height:44px}.column-head,.section-body,.column-foot,.template-switch,.working-on{padding-inline:14px}.board{grid-auto-columns:84vw;scroll-snap-type:x mandatory;gap:10px;overflow-x:auto}.board-column{scroll-snap-align:center;max-height:70vh}.task-detail{width:100%;max-height:88vh;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.task-designs{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.agenda-row{grid-template-columns:1fr;gap:4px}.agenda-date{padding-top:0;font-weight:500;color:var(--ink)}.agenda .cal-item{max-width:none}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.projects-tools input[type=search]{max-width:none;flex:1}.modal{padding:18px 16px}.modal-backdrop{padding:10px;align-items:end}.table{display:block;overflow-x:auto;white-space:nowrap}.auth{grid-template-columns:1fr;grid-template-rows:150px 1fr;height:auto;min-height:100%}.toast{bottom:calc(76px + env(safe-area-inset-bottom));width:min(92vw,520px);text-align:center}.capsule{display:none}}@media(display-mode:standalone){body{overscroll-behavior-y:none}}
