:root{--canvas:#F7FAFE;--surface:#FFFFFF;--surface-2:#F2F7FD;--ink:#0B1B33;--ink-2:#33455F;--muted:#6B7E99;--line:#DFE8F4;--line-2:#EDF3FB;--blue:#1D6FE8;--blue-deep:#1554B8;--blue-soft:#E7F0FE;--blue-tint:#F4F8FF;--green:#0E9F79;--amber:#C8801F;--red:#D4453F;--r:10px;--r-lg:14px;--shadow:0 1px 2px rgba(11,27,51,.05), 0 8px 24px -12px rgba(11,27,51,.12);--display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--body:"Inter",ui-sans-serif,system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--canvas);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.15}h1{font-size:26px}h2{font-size:19px}h3{font-size:15px}a{color:var(--blue);text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.side{background:var(--surface);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:20px;position:sticky;top:0;height:100vh}.brandmark{display:flex;align-items:center;gap:9px;padding:2px 6px 0}.brandmark .glyph{width:26px;height:26px;border-radius:7px;background:linear-gradient(150deg,var(--blue),#5CA0FF);display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:700;font-size:14px}.brandmark b{font-family:var(--display);font-size:16px;letter-spacing:-.03em}.nav{display:flex;flex-direction:column;gap:1px}.nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:8px;color:var(--ink-2);font-weight:500;font-size:13.5px}.nav a:hover{background:var(--surface-2)}.nav a.on{background:var(--blue-soft);color:var(--blue-deep);font-weight:600}.nav .sec{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:14px 10px 5px;font-weight:600}.side .foot{margin-top:auto;border-top:1px solid var(--line-2);padding-top:12px;font-size:12px;color:var(--muted)}.main{padding:26px 32px 64px;max-width:1180px}.head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;flex-wrap:wrap}.head p{color:var(--muted);margin-top:5px;max-width:62ch}.switch{width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.card+.card{margin-top:14px}.card h3{margin-bottom:3px}.card .sub{color:var(--muted);font-size:12.5px;margin-bottom:14px}.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}@media (max-width:900px){.g2,.g3,.g4,.shell{grid-template-columns:1fr}.side{position:static;height:auto}.main{padding:20px 18px 48px}}.ctx{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}.ctx-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.ctx-score{font-family:var(--mono);font-size:30px;font-weight:500;letter-spacing:-.03em}.ctx-score span{font-size:14px;color:var(--muted)}.ctx-bar{display:flex;gap:3px;height:36px;margin-bottom:12px}.seg{flex:1;border-radius:5px;background:var(--line-2);position:relative;overflow:hidden;transition:background .35s}.seg.fill{background:var(--blue)}.seg.part{background:linear-gradient(90deg,var(--blue) var(--p,50%),var(--line-2) var(--p,50%))}.ctx-key{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.ctx-key i{font-style:normal;display:inline-flex;align-items:center;gap:5px}.ctx-key i:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--line-2)}.ctx-key i.on:before{background:var(--blue)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 15px}.stat .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.stat .v{font-family:var(--mono);font-size:22px;font-weight:500;margin-top:6px;letter-spacing:-.02em}.stat .d{font-size:12px;color:var(--muted);margin-top:2px}label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:5px}.field{margin-bottom:14px}input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13.5px}textarea{min-height:82px;resize:vertical;line-height:1.6}input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--blue-soft)}.hint{font-size:11.5px;color:var(--muted);margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:8px;padding:9px 15px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover:not(:disabled){background:var(--blue-deep);border-color:var(--blue-deep)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:var(--surface);color:var(--ink-2);border-color:var(--line)}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.btn.sm{padding:6px 11px;font-size:12.5px}.btn.danger{background:var(--surface);color:var(--red);border-color:#f3d3d2}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.chip.ok{background:#e6f6f1;color:#077054;border-color:#c3e9de}.chip.warn{background:#fdf3e2;color:#96601a;border-color:#f3e0be}.chip.err{background:#fcebea;color:#9e2e2a;border-color:#f3d3d2}.chip.blue{background:var(--blue-soft);color:var(--blue-deep);border-color:#c9defc}.concept{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.concept+.concept{margin-top:11px}.concept-h{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;cursor:pointer}.concept-h:hover{background:var(--blue-tint)}.concept-n{font-family:var(--mono);font-size:12px;color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:3px 7px;flex-shrink:0;font-weight:500}.concept-t{flex:1;min-width:0}.concept-t b{font-family:var(--display);font-size:14.5px;font-weight:600;display:block}.concept-t .hook{color:var(--ink-2);font-size:13px;margin-top:3px}.concept-b{border-top:1px solid var(--line-2);padding:16px;background:var(--blue-tint);display:grid;gap:16px}.blk h4{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;margin-bottom:6px}.blk p,.blk li{font-size:13px;color:var(--ink-2)}.blk ol,.blk ul{padding-left:18px;display:grid;gap:4px}.blk .copybox{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px}.blk .copybox+.copybox{margin-top:6px}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 520px at 50% -10%,#E7F0FE 0%,var(--canvas) 60%)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.auth-card .brandmark{margin-bottom:18px;padding:0}.auth-card h1{font-size:21px;margin-bottom:5px}.auth-card .lead{color:var(--muted);margin-bottom:20px;font-size:13.5px}.auth-alt{text-align:center;margin-top:16px;font-size:13px;color:var(--muted)}.linkbtn{background:none;border:none;color:var(--blue);font-weight:600;cursor:pointer;padding:0}.msg{border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.msg.err{background:#fcebea;color:#9e2e2a;border:1px solid #F3D3D2}.msg.ok{background:#e6f6f1;color:#077054;border:1px solid #C3E9DE}.msg.info{background:var(--blue-soft);color:var(--blue-deep);border:1px solid #C9DEFC}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 10px 8px;font-weight:600}td{padding:10px;border-top:1px solid var(--line-2);vertical-align:middle}.empty{text-align:center;padding:44px 20px;color:var(--muted)}.empty b{display:block;font-family:var(--display);color:var(--ink);font-size:15px;margin-bottom:5px}.mono{font-family:var(--mono);font-size:12.5px}.spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}.spin.dark{border-color:var(--line);border-top-color:var(--blue)}@keyframes sp{to{transform:rotate(360deg)}}.tile{aspect-ratio:1;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);overflow:hidden;position:relative}.tile img{width:100%;height:100%;object-fit:cover;display:block}.tile .ph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:12px}.acc-card{padding:0;overflow:hidden}.acc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.acc-head h3{margin:0}.acc{border-bottom:1px solid var(--line-2)}.acc:last-of-type{border-bottom:none}.acc-t{width:100%;display:flex;align-items:center;gap:11px;padding:13px 18px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.acc-t:hover{background:var(--blue-tint)}.caret{width:0;height:0;flex-shrink:0;border-left:5px solid var(--muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .18s;transform-origin:25% 50%}.caret.on{transform:rotate(90deg)}.acc-label{font-weight:600;font-size:13.5px;flex-shrink:0}.acc-prev{flex:1;min-width:0;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dot{width:8px;height:8px;border-radius:50%;background:var(--line);flex-shrink:0}.dot.on{background:var(--green)}.acc-b{padding:4px 18px 18px;background:var(--blue-tint);border-top:1px solid var(--line-2)}.acc-b .field:first-child{padding-top:14px}.acc-foot{padding:14px 18px;border-top:1px solid var(--line-2)}.media{aspect-ratio:9/16;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);overflow:hidden;position:relative}.media video,.media img{width:100%;height:100%;object-fit:cover;display:block}.media .ph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-size:12px;text-align:center;padding:12px}.board{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:14px;align-items:start}@media (max-width:1000px){.board{grid-template-columns:1fr}}.col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:10px;min-height:120px}.col-h{display:flex;justify-content:space-between;align-items:center;font-family:var(--display);font-weight:600;font-size:12.5px;padding:2px 4px 10px}.col-empty{color:var(--muted);font-size:12px;text-align:center;padding:16px 8px}.task{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px 11px;margin-bottom:8px}.task b{font-size:12.5px;display:block;line-height:1.35}.task-n{color:var(--muted);font-size:11.5px;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tabs button{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);padding:13px 26px;border-radius:11px;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:9px}.tabs button:hover{background:var(--surface-2);border-color:var(--muted)}.tabs button.on{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 10px -3px #1d6fe88c}.tabs button.on:hover{background:var(--blue-deep);border-color:var(--blue-deep)}.tabs button .cnt{font-family:var(--mono);font-size:12px;font-weight:500;background:var(--surface-2);color:var(--muted);border-radius:20px;padding:2px 9px}.tabs button.on .cnt{background:#ffffff38;color:#fff}.colstack{display:flex;flex-direction:column;gap:14px;height:100%}.colstack>.card{margin-top:0}.colstack>.card:last-child{flex:1}.steps{display:flex;gap:0;margin:4px 0 18px;align-items:center}.step{flex:1;display:flex;flex-direction:column;gap:7px;position:relative}.step .bar{height:4px;border-radius:2px;background:var(--line-2)}.step.on .bar{background:var(--blue)}.step.now .bar{background:linear-gradient(90deg,var(--blue) 50%,var(--line-2) 50%);background-size:200% 100%;animation:slide 1.4s linear infinite}@keyframes slide{0%{background-position:100% 0}to{background-position:0 0}}.step .lb{font-size:11px;font-weight:600;color:var(--muted);padding-right:10px}.step.on .lb,.step.now .lb{color:var(--ink)}.drop{border:2px dashed var(--line);border-radius:var(--r-lg);background:var(--blue-tint);padding:26px 20px;text-align:center;cursor:pointer;transition:all .15s}.drop:hover,.drop.over{border-color:var(--blue);background:var(--blue-soft)}.drop b{display:block;font-family:var(--display);font-size:14px;margin-bottom:4px}.drop span{font-size:12.5px;color:var(--muted)}.clip{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px 11px;margin-top:7px;font-size:12.5px}.clip .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clip .sz{color:var(--muted);font-size:11.5px;font-family:var(--mono)}.beat{display:flex;gap:9px;padding:8px 0;border-bottom:1px solid var(--line-2);font-size:13px;color:var(--ink-2)}.beat:last-child{border-bottom:none}.beat .n{font-family:var(--mono);font-size:11px;color:var(--blue);background:var(--blue-soft);border-radius:5px;padding:2px 6px;height:fit-content;flex-shrink:0}.studio{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:start}@media (max-width:980px){.studio{grid-template-columns:1fr}}.pickgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pick{aspect-ratio:1;border-radius:9px;border:2px solid var(--line);overflow:hidden;cursor:pointer;position:relative}.pick img{width:100%;height:100%;object-fit:cover;display:block}.pick.on{border-color:var(--blue)}.pick.on:after{content:"✓";position:absolute;top:4px;right:5px;background:var(--blue);color:#fff;width:18px;height:18px;border-radius:50%;font-size:11px;display:grid;place-items:center;font-weight:700}.adrow{border-bottom:1px solid var(--line-2)}.adrow:last-of-type{border-bottom:none}.adhead{width:100%;display:flex;align-items:center;gap:12px;padding:14px 18px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.adhead:hover{background:var(--blue-tint)}.adhead .idx{font-family:var(--mono);font-size:12px;color:var(--blue);background:var(--blue-soft);border-radius:6px;padding:3px 8px;flex-shrink:0;font-weight:500}.adhead .ttl{flex:1;min-width:0}.adhead .ttl b{display:block;font-family:var(--display);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adhead .ttl span{font-size:12.5px;color:var(--muted)}.adbody{padding:16px 18px;background:var(--blue-tint);border-top:1px solid var(--line-2)}.copyfield{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:11px 13px;font-size:13px;cursor:pointer;transition:border-color .12s;position:relative}.copyfield:hover{border-color:var(--blue)}.copyfield .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:600;margin-bottom:5px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:var(--r);overflow:hidden;margin-top:14px}@media (max-width:820px){.summary{grid-template-columns:repeat(2,1fr)}}.summary>div{background:var(--surface);padding:14px 16px}.summary .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.summary .v{font-family:var(--display);font-size:20px;font-weight:600;margin-top:4px;letter-spacing:-.02em}.check{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line-2);cursor:pointer;align-items:flex-start}.check:last-child{border-bottom:none}.check .box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);flex-shrink:0;margin-top:1px;display:grid;place-items:center;transition:all .14s;background:var(--surface)}.check:hover .box{border-color:var(--blue)}.check.on .box{background:var(--blue);border-color:var(--blue)}.check.on .box:after{content:"✓";color:#fff;font-size:12px;font-weight:700;line-height:1}.check .txt{font-size:13px;color:var(--ink-2);line-height:1.5;transition:all .14s}.check.on .txt{color:var(--muted);text-decoration:line-through}.check .tag{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:4px;padding:2px 6px;margin-left:6px;text-decoration:none;display:inline-block}.tree{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.tnode{border-bottom:1px solid var(--line-2)}.tnode:last-child{border-bottom:none}.trow{display:flex;align-items:center;gap:10px;padding:12px 14px;transition:background .12s}.trow:hover{background:var(--blue-tint)}.trow.sel{background:var(--blue-soft)}.trow .exp{width:22px;height:22px;border-radius:6px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;flex-shrink:0;font-size:10px;color:var(--muted)}.trow .exp:hover{border-color:var(--blue);color:var(--blue)}.trow .nm{flex:1;min-width:0;cursor:pointer}.trow .nm b{display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trow .nm span{font-size:11.5px;color:var(--muted)}.lvl{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--muted);width:62px;flex-shrink:0}.tkids{padding-left:26px;border-left:2px solid var(--blue-soft);margin-left:22px}.editor{background:var(--blue-tint);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;margin-top:14px}.editor h3{margin-bottom:2px}
