:root{--bg:#f4f3ef;--bg2:#fff;--panel:#fff;--panel2:#f0efea;--ink:#1c1c1e;--ink2:#6f6e68;--line:#e3e1da;--line2:#cfcdc4;--accent:#f08a3c;--accent-ink:#1a1a1a;--soft:#fbe9dc;--t0:#3f7fc0;--t1:#2f8f5c;--t2:#b58a1c;--t3:#8b5fa8;--ok:#2f8f5c;--danger:#d24a3a;--shadow:0 1px 2px rgba(0,0,0,.08),0 6px 18px rgba(0,0,0,.08);--r:10px;color-scheme:light}:root[data-theme=dark]{--bg:#17171a;--bg2:#1f1f23;--panel:#26262b;--panel2:#2e2e34;--ink:#eceae4;--ink2:#9b998f;--line:#35353c;--line2:#46464e;--soft:#3a2a1c;--t0:#6fa3d9;--t1:#5dbb86;--t2:#e0b84f;--t3:#b98ac8;--ok:#5dbb86;--danger:#e0604f;--shadow:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.35);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Public Sans,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}h1,h2,h3{font-family:Bricolage Grotesque,Public Sans,system-ui,sans-serif;margin:0;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:6px 12px;font-weight:500;color:var(--ink)}.btn:hover{border-color:var(--ink2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.small{padding:3px 8px;font-size:12px}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink2)}.btn.ghost:hover{color:var(--ink)}.btn.danger{color:var(--danger)}input.field,select.field,textarea.field{background:var(--bg2);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;width:100%}input.field:focus,textarea.field:focus{border-color:var(--accent);outline:none}.app{height:100%;display:grid;grid-template-rows:auto auto 1fr}.top{display:flex;gap:14px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg2)}.top h1{font-size:18px;font-weight:700}.top h1 span{color:var(--ink2);font-weight:500}.top .grow{flex:1 1}.top .status{font-size:12px;color:var(--ink2)}.steps{gap:6px;overflow-x:auto;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--bg2)}.step,.steps{display:flex;align-items:center}.step{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:4px 10px 4px 12px;gap:8px;font-size:12px;white-space:nowrap;color:var(--ink)}.step .n{font-family:Bricolage Grotesque,sans-serif;font-weight:700;color:var(--ink2)}.step .min{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink2);min-width:3em;text-align:right}.step.live{border-color:var(--accent);background:var(--soft)}.step.live .min{color:var(--accent);font-weight:600}.step.done .min{color:var(--ok)}.steps .total{margin-left:auto;font-size:12px;color:var(--ink2);white-space:nowrap}.body{display:grid;grid-template-columns:300px 1fr;min-height:0}@media (max-width:900px){.body{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.rail{border-right:1px solid var(--line);background:var(--bg2);overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px}.panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin-bottom:8px;display:flex;align-items:center;gap:8px}.panel h3 .count{font-weight:500;text-transform:none;letter-spacing:0}.panel h3 .right{margin-left:auto}.ctx{display:grid;grid-gap:8px;gap:8px}.ctx label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-bottom:2px}.ctx textarea.field{resize:vertical;min-height:34px}.list{flex-direction:column;gap:4px}.li,.list{display:flex}.li{gap:6px;align-items:flex-start;padding:6px 8px;border-radius:6px;background:var(--bg2);border:1px solid transparent}.li:hover{border-color:var(--line2)}.li .t{flex:1 1;white-space:pre-wrap;word-break:break-word;outline:none}.li .x{opacity:0;background:none;border:0;color:var(--ink2);padding:0 2px;line-height:1}.li .x:focus,.li:hover .x{opacity:1}.li .x:hover{color:var(--danger)}.addrow{display:flex;gap:6px;margin-top:6px}.addrow input{flex:1 1;min-width:0}.canvasWrap{position:relative;overflow:hidden;background:var(--bg);cursor:-webkit-grab;cursor:grab}.canvasWrap.panning{cursor:-webkit-grabbing;cursor:grabbing}.canvas{top:0;transform-origin:0 0;will-change:transform}.canvas,.lane{position:absolute;left:0}.lane{border-top:2px solid var(--tc);background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 7%,transparent),transparent 140px)}.lane .laneHead{position:-webkit-sticky;position:sticky;display:flex;align-items:baseline;gap:10px;padding:10px 16px}.lane h2{font-size:16px;font-weight:700}.lane h2 em{font-style:normal;color:var(--tc);margin-right:8px}.lane .sub{color:var(--ink2);font-size:12px}.lane .laneTools{margin-left:auto;display:flex;gap:6px}.lane .drop{position:absolute;left:16px;top:52px;width:200px;height:112px;border:1.5px dashed var(--line2);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink2);font-size:12px;text-align:center;padding:8px;cursor:pointer}.lane .drop.over,.lane .drop:focus,.lane .drop:hover{border-color:var(--accent);color:var(--accent);background:var(--soft);outline:none}.lane .drop b{font-weight:600}.card{position:absolute;width:308px;background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.card.dragging{cursor:-webkit-grabbing;cursor:grabbing;box-shadow:0 12px 32px rgba(0,0,0,.6);z-index:100;opacity:.95}.card .img{min-height:120px;background:#0d0d0f;display:flex;align-items:center;justify-content:center;color:#666;font-size:12px;overflow:hidden}.card .img img{width:100%;height:auto;max-height:250px;object-fit:contain;display:block;pointer-events:none}.card .bodyc{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px;cursor:text}.card .title{font-weight:600;line-height:1.3;white-space:pre-wrap;word-break:break-word;outline:none;min-height:18px}.card .meta{font-size:12px;color:var(--ink2);display:flex;gap:8px;flex-wrap:wrap}.card .meta .views{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);outline:none;min-width:2em}.card .meta .ch{outline:none;min-width:3em}.card .note{font-size:12px;color:var(--ink2);white-space:pre-wrap;word-break:break-word;outline:none;min-height:16px}.card [contenteditable]:empty:before{content:attr(data-ph);color:var(--ink2);opacity:.55}.card [contenteditable]:focus{background:var(--panel2);border-radius:3px}.card .x{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:11px;height:22px;min-width:22px;padding:0 6px;font-size:13px;opacity:0}.card .x:focus,.card:hover .x{opacity:1}.card .x.sure{background:var(--danger);opacity:1;font-size:11px}.section{position:absolute;left:16px;width:2568px}.section h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink2);margin-bottom:8px;display:flex;gap:8px;align-items:center}.ideas{display:grid;grid-template-columns:repeat(4,minmax(240px,1fr));grid-gap:12px;gap:12px}.idea{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.idea.empty{border-style:dashed;background:transparent}.idea .slot{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:8px 12px 0}.idea .mock{aspect-ratio:16/9;background:#0d0d0f;position:relative;margin:8px 12px 0;border-radius:6px;overflow:hidden}.idea .mock img{width:100%;height:100%;object-fit:contain;display:block}.idea .mock .mdrop{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;font-size:12px;cursor:pointer;text-align:center}.idea .mock .mdrop:focus,.idea .mock .mdrop:hover{background:rgba(240,138,60,.18);color:#fff;outline:none}.idea .fields{padding:10px 12px 12px;display:grid;grid-gap:6px;gap:6px}.idea .fields label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.idea .fields .f{white-space:pre-wrap;word-break:break-word;min-height:20px;outline:none}.idea .fields .f.big{font-family:Bricolage Grotesque,sans-serif;font-size:17px;font-weight:700;line-height:1.25}.idea .fields .f:focus{background:var(--panel2);border-radius:3px}.idea .fields .f:empty:before{content:attr(data-ph);color:var(--ink2);opacity:.55}.idea .foot{display:flex;gap:6px;padding:0 12px 12px;flex-wrap:wrap}.section .bankHead{margin-top:32px}.bankGrid{display:flex;flex-wrap:wrap;gap:12px}.bankGrid .idea{width:260px}.emptyNote{color:var(--ink2);font-size:13px}.zoomBar{position:absolute;right:14px;bottom:14px;display:flex;gap:4px;background:var(--panel);border:1px solid var(--line2);border-radius:999px;padding:4px}.zoomBar button{background:none;border:0;color:var(--ink);padding:4px 10px;border-radius:999px}.zoomBar button:hover{background:var(--panel2)}.zoomBar span{padding:4px 6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink2);font-size:12px}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:13px;box-shadow:var(--shadow);z-index:500}.center{min-height:100%;display:grid;place-items:center;padding:24px}.loginBox{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;grid-gap:12px;gap:12px}.loginBox h1{font-size:22px}.home{padding:24px;max-width:980px;margin:0 auto;display:grid;grid-gap:18px;gap:18px}.home h1{font-size:26px}.boardGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:12px;gap:12px}.boardCard{display:block;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.boardCard:hover{border-color:var(--accent)}.boardCard .client{font-family:Bricolage Grotesque,sans-serif;font-weight:700;font-size:18px}.boardCard .month{color:var(--ink2);font-size:12px}dialog{border:1px solid var(--line2);border-radius:12px;background:var(--panel);color:var(--ink);padding:18px;max-width:420px;width:calc(100% - 32px);box-shadow:var(--shadow)}dialog::-webkit-backdrop{background:rgba(0,0,0,.5)}dialog::backdrop{background:rgba(0,0,0,.5)}dialog h2{font-size:18px;margin-bottom:10px}dialog .row{display:grid;grid-gap:4px;gap:4px;margin-bottom:10px}dialog .acts{display:flex;gap:8px;justify-content:flex-end}.help{font-size:12px;color:var(--ink2)}.ro .editonly{display:none!important}.ro .card{cursor:default}.shareBanner{background:var(--soft);color:var(--ink);padding:8px 14px;font-size:13px}.filterBar,.shareBanner{border-bottom:1px solid var(--line)}.filterBar{display:flex;gap:6px;align-items:center;padding:6px 14px;background:var(--bg2);flex-wrap:wrap}.filterBar .field{width:auto;padding:4px 8px;font-size:12px}.filterBar input.field{width:200px}.card .img{position:relative}.card .badge{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.72);color:#fff;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;pointer-events:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card .badge.bank{border:1px solid var(--accent);color:#ffd7b8}.card .badge.yt{left:auto;right:6px;pointer-events:auto;text-decoration:none;opacity:0}.card:hover .badge.yt{opacity:1}.ctx .row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.home.wide{max-width:1200px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters .field{width:auto}.bankList{display:grid;grid-gap:10px;gap:10px}.bankRow{display:grid;grid-template-columns:200px 1fr;grid-gap:12px;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px}.bankRow .thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block}.bankRow .t{font-weight:600;line-height:1.3}.bankRow .score{color:var(--accent);margin-right:4px}.bankRow .edit{display:grid;grid-template-columns:auto 1fr auto 2fr auto;grid-gap:6px;gap:6px;align-items:center;margin-top:6px}.bankRow .edit label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}.bankRow .edit .field{padding:4px 8px;font-size:12px}.chip{display:inline-block;font-size:11px;background:var(--bg2);border:1px solid var(--line2);border-radius:999px;padding:1px 7px;margin:2px 4px 0 0;color:var(--ink2)}.chip.tier1{border-color:var(--t1);color:var(--t1)}.chip.tier2{border-color:var(--t2);color:var(--t2)}.chip.tier3{border-color:var(--t3);color:var(--t3)}.saveBox{max-width:460px}.saveBox .acts{display:flex;gap:8px}.saveBox .okLine{background:color-mix(in srgb,var(--ok) 18%,transparent);border:1px solid var(--ok);border-radius:8px;padding:8px 10px}.saveBox .noLine{background:color-mix(in srgb,var(--danger) 18%,transparent);border:1px solid var(--danger);border-radius:8px;padding:8px 10px}.saveBox code{font-size:11px;background:var(--bg2);padding:2px 4px;border-radius:4px;word-break:break-all}.saveBox details summary{cursor:pointer}.boardCard .meta{color:var(--ink2);font-size:12px;display:flex;gap:8px}.card .bankMeta{padding:6px 8px 7px;display:grid;grid-gap:2px;gap:2px}.card .bankMeta .bt{font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .bankMeta .bw{font-size:11px;color:var(--ink2);line-height:1.25}.card .badge.bank{color:#fff}.themeBtn{font-size:12px}.idea .inspo{margin:8px 12px 0;border:1.5px dashed var(--line2);border-radius:6px;padding:6px;outline:none}.idea .inspo.over,.idea .inspo:focus{border-color:var(--accent);background:var(--soft)}.ro .idea .inspo{border-style:solid;border-color:var(--line)}.idea .inspoHead{display:flex;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);margin-bottom:4px}.idea .inspoHead .pick{margin-left:auto;cursor:pointer;color:var(--accent);text-transform:none;letter-spacing:0;font-size:12px;font-weight:600}.idea .inspoGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.idea .ins{position:relative;background:#0d0d0f;border-radius:4px;overflow:hidden}.idea .ins img{width:100%;height:auto;display:block}.idea .ins .x{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.65);color:#fff;border:0;border-radius:10px;width:20px;height:20px;font-size:13px;line-height:1;opacity:0}.idea .ins:hover .x{opacity:1}.idea .inspoEmpty{font-size:12px;color:var(--ink2);padding:10px 4px;text-align:center}.scratch{position:absolute;left:16px;border:2px dashed var(--line2);border-radius:12px;background:color-mix(in srgb,var(--panel) 55%,transparent);outline:none}.scratch.active,.scratch.over{border-color:var(--accent)}.scratch.over{background:var(--soft)}.scratchHead{display:flex;align-items:baseline;gap:10px;padding:10px 16px}.scratchHead h2{font-size:16px;font-weight:700}.scratchHead .sub{color:var(--ink2);font-size:12px}.scratchHead .grow{flex:1 1}.scratchEmpty{position:absolute;left:0;right:0;top:45%;text-align:center;color:var(--ink2);font-size:14px;pointer-events:none}.scrap{position:absolute;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--shadow);border-radius:8px}.scrap.dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:50;opacity:.95}.scrap.pic{width:340px;background:#0d0d0f;overflow:hidden}.scrap.pic img{width:100%;height:auto;max-height:320px;object-fit:contain;display:block;pointer-events:none}.scrap.note{width:280px;background:#fff;color:#1c1c1e;border:1px solid #e3e1da}.scrap .grip{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9b998f;padding:4px 10px 0}.scrap .txt{padding:4px 10px 10px;min-height:60px;white-space:pre-wrap;word-break:break-word;outline:none;cursor:text;font-size:15px;line-height:1.4}.scrap .txt:empty:before{content:attr(data-ph);color:#9b998f}.scrap .x{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:11px;width:22px;height:22px;font-size:13px;line-height:1;opacity:0}.scrap:hover .x{opacity:1}.idea .yt{margin:10px 12px 0;background:#0f0f0f;border-radius:12px;padding:10px 10px 14px}.idea .ytThumb{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#272727;outline:none}.idea .ytThumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.idea .ytThumb.over,.idea .ytThumb:focus{box-shadow:0 0 0 3px var(--accent)}.idea .ytThumb.empty{border:2px dashed #555;display:flex;align-items:center;justify-content:center}.idea .ytEmpty{color:#aaa;font-size:13px;text-align:center;padding:0 16px}.idea .ytPick{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.8);color:#fff;font-size:12px;font-weight:600;padding:3px 9px;border-radius:6px;cursor:pointer;opacity:0;transition:opacity .15s}.idea .ytThumb.empty .ytPick,.idea .ytThumb:focus .ytPick,.idea .ytThumb:hover .ytPick{opacity:1}.idea .ytInfo{display:flex;gap:10px;margin-top:12px}.idea .ytAvatar{flex:0 0 36px;height:36px;border-radius:50%;background:#3a3a3a;color:#f1f1f1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.idea .ytText{min-width:0;flex:1 1}.idea .ytTitle{color:#f1f1f1;font-family:Roboto,Helvetica Neue,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.3;white-space:pre-wrap;word-break:break-word;outline:none;min-height:24px;cursor:text}.idea .ytTitle:focus{background:#222;border-radius:4px}.idea .ytTitle:empty:before{content:attr(data-ph);color:#777}.idea .ytMeta{color:#aaa;font-size:13px;margin-top:4px}