:root{--bg-gradient:linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 45%, #eef2ff 100%);--glass-base:#ffffffc7;--glass-elevated:#fffffff0;--glass-border:#ffffffe0;--glass-strong:#ffffffd9;--sky:#0284c7;--sky-deep:#0369a1;--mint:#0891b2;--ice:#38bdf8;--ice-soft:#bae6fd;--amber:#b45309;--amber-bg:#fef3c7d9;--amber-border:#f59e0b66;--rose:#be123c;--rose-bg:#ffe4e6d9;--rose-border:#e11d4866;--text-main:#0f172a;--text-muted:#64748b;--text-faint:#94a3b8;--line:#cde8f6;--radius:16px;--radius-lg:24px;--shadow:0 16px 40px -12px #bae6fd59, 0 2px 8px -2px #0f172a0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-gradient);color:var(--text-main);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.55}a{color:var(--sky);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;background:var(--glass-strong);color:#334155;border:1px solid #e2e8f0d9;border-radius:12px;min-height:44px;padding:.6rem .95rem;transition:all .2s cubic-bezier(.16,1,.3,1)}button:hover:not(:disabled){color:var(--sky);background:#fff;border-color:#38bdf880}button:disabled{opacity:.55;cursor:not-allowed}button.primary{color:#fff;background:linear-gradient(135deg,#38bdf8 0%,#0284c7 100%);border-color:#0000;font-weight:600;box-shadow:0 8px 22px -4px #0284c761}button.primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#0ea5e9 0%,#0369a1 100%);transform:translateY(-1.5px)}button.danger{border-color:var(--rose-border);color:var(--rose);background:var(--rose-bg)}button.danger:hover:not(:disabled){color:var(--rose);background:#fff}button.small{min-height:34px;padding:.35rem .65rem;font-size:.85rem}button.ghost{color:var(--text-muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){color:var(--sky);background:#ffffffa6}input,textarea,select{font:inherit;width:100%;color:var(--text-main);border:1px solid var(--line);background:#ffffffe6;border-radius:12px;min-height:44px;padding:.6rem .75rem}textarea{resize:vertical;min-height:90px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:12px}label{color:var(--text-muted);margin-bottom:.3rem;font-size:.82rem;display:block}.field{margin-bottom:.9rem}.error-text{color:var(--rose);margin-top:.3rem;font-size:.85rem}.muted{color:var(--text-muted);font-size:.85rem}.small-text{color:var(--text-faint);font-size:.78rem}.notice{border:1px solid var(--amber-border);background:var(--amber-bg);color:var(--amber);border-radius:12px;padding:.65rem .85rem;font-size:.88rem}.notice.info{color:var(--sky-deep);background:#e0f2fed9;border-color:#38bdf866}.notice.danger{border-color:var(--rose-border);background:var(--rose-bg);color:var(--rose)}.notice.warn{border-color:var(--amber-border);background:var(--amber-bg);color:var(--amber)}.app{grid-template-columns:288px minmax(0,1fr);min-height:100vh;display:grid;position:relative}.app:before,.app:after{content:"";pointer-events:none;z-index:0;border-radius:9999px;position:fixed}.app:before{filter:blur(120px);background:#a5f3fc73;width:520px;height:520px;top:-160px;left:-120px}.app:after{filter:blur(120px);background:#bfdbfe73;width:480px;height:480px;bottom:-140px;right:-100px}.sidebar{z-index:1;-webkit-backdrop-filter:blur(28px);background:#ffffff73;border-right:1px solid #fffc;flex-direction:column;gap:1.25rem;padding:1.5rem 1.25rem;display:flex;position:relative;overflow-y:auto}.sidebar .brand{align-items:center;gap:.7rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#38bdf8,#0891b2,#6366f1);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.brand-text{flex-direction:column;line-height:1.25;display:flex}.brand-text strong{font-size:.98rem}.brand-text span{color:var(--sky-deep);letter-spacing:.04em;font-size:.66rem;font-weight:600}.space-switch{background:#ffffffb3;border:1px solid #ffffffe6;border-radius:14px;gap:.25rem;padding:.25rem;display:flex}.space-switch button{color:var(--text-muted);background:0 0;border:none;border-radius:12px;flex:1;min-height:38px;padding:.5rem .4rem;font-size:.8rem}.space-switch button.active{color:var(--sky-deep);background:#fff;border:1px solid #38bdf859;font-weight:700;box-shadow:0 6px 16px -4px #bae6fd99}.nav-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.14em;padding:0 .75rem;font-size:.62rem;font-weight:700}.nav{flex-direction:column;gap:.3rem;display:flex}.nav a{color:#475569;border:1px solid #0000;border-radius:14px;align-items:center;gap:.65rem;padding:.65rem .75rem;font-size:.86rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.nav a .nav-icon{text-align:center;width:1.2rem;font-size:1rem}.nav a .nav-sub{color:var(--text-faint);font-size:.66rem;display:block}.nav a:hover{color:var(--sky);background:#ffffffa6;border-color:#fffc;text-decoration:none;transform:translate(3px)}.nav a.active{color:var(--sky-deep);background:#fff;border:1px solid #38bdf859;font-weight:700;box-shadow:0 8px 20px -4px #bae6fd99}.sidebar-foot{flex-direction:column;gap:.5rem;margin-top:auto;display:flex}.sidebar-foot .identity{color:var(--text-muted);background:#ffffffb3;border:1px solid #ffffffe6;border-radius:12px;padding:.5rem .75rem;font-size:.78rem}.sidebar-foot .control-chip{width:100%;color:var(--text-muted);background:#ffffffb3;border-color:#ffffffe6;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.76rem;display:flex}.dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.dot.sky{background:var(--ice)}.dot.amber{background:#f59e0b}.dot.rose{background:#e11d48}.main{z-index:1;width:100%;min-width:0;max-width:1400px;padding:1.75rem 2rem 3rem;position:relative}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-head h2{color:var(--text-main);margin:0;font-size:1.2rem}.card{background:var(--glass-base);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.card h4{margin:0 0 .6rem;font-size:.98rem}.glass-panel{background:var(--glass-base);-webkit-backdrop-filter:blur(28px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.grid{gap:1rem;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.badge{border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;background:#fffc;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge.ok,.badge.accent{color:var(--sky-deep);background:#e0f2fed9;border-color:#38bdf866}.badge.warn{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-border)}.badge.danger{background:var(--rose-bg);color:var(--rose);border-color:var(--rose-border)}pre{border:1px solid var(--line);color:var(--text-main);background:#ffffffeb;border-radius:12px;padding:.7rem;font-size:.8rem;overflow:auto}code{font-family:ui-monospace,Menlo,Consolas,monospace}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row.spread{justify-content:space-between}.field-stack{flex-direction:column;gap:.5rem;display:flex}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem}th{color:var(--text-muted);font-weight:600}.workbench-grid{grid-template-columns:260px minmax(0,1fr) 380px;align-items:start;gap:1rem;display:grid}.wb-col{flex-direction:column;gap:1rem;min-width:0;display:flex}.wb-tree .file-tree,.wb-editor .editor-pane,.wb-aux .card{margin-bottom:0}.workspace-list{flex-direction:column;gap:.4rem;margin-top:.6rem;display:flex}.workspace-chip{text-align:left;border:1px solid var(--line);background:#ffffffb3;align-items:center;gap:.6rem;min-height:44px;padding:.55rem .7rem;display:flex}.workspace-chip.active{color:var(--sky-deep);background:#fff;border-color:#38bdf88c;box-shadow:0 6px 16px -4px #bae6fd99}.workspace-chip strong{flex:1}.file-tree .tree,.file-tree ul.tree{margin:0;padding:0;list-style:none}.file-tree .tree-row{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;align-items:center;gap:.4rem;min-height:32px;padding:.3rem .45rem;font-size:.86rem;display:flex;overflow:hidden}.file-tree .tree-row:hover{background:#e0f2feb3}.file-tree .tree-row.selected{background:#fff;box-shadow:inset 0 0 0 1px #38bdf880}.file-tree .twisty{width:1ch;color:var(--text-faint)}.file-tree .name{text-overflow:ellipsis;overflow:hidden}.editor-pane .code-area{resize:vertical;tab-size:4;white-space:pre;width:100%;min-height:360px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45;overflow:auto}.terminal-pane .terminal-output{color:#bae6fd;white-space:pre-wrap;word-break:break-word;background:#0b1524;border:1px solid #1e3a5f;border-radius:12px;height:280px;margin:.5rem 0;padding:.7rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;overflow:auto}.terminal-input-row{gap:.5rem;display:flex}.terminal-input-row input{flex:1}.git-pane .git-list{max-height:240px;margin:.6rem 0;padding:0;list-style:none;overflow:auto}.git-pane .git-row{border-radius:8px;align-items:center;gap:.5rem;min-height:34px;padding:.3rem .35rem;font-size:.82rem;display:flex}.git-pane .git-row.selected{background:#fff;box-shadow:inset 0 0 0 1px #38bdf866}.git-pane .git-state{color:var(--amber);min-width:9ch;font-family:ui-monospace,monospace;font-size:.72rem}.git-pane .git-path{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.diff-box{border:1px solid var(--line);border-radius:12px;margin-top:.6rem;padding:.55rem}.diff-box .diff-content{white-space:pre;background:#ffffffe6;border:none;max-height:280px;padding:.45rem;font-size:.76rem}.wb-layout{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.wb-layout-dragging{-webkit-user-select:none;user-select:none}.wb-layout-dragging.wb-layout{cursor:col-resize}.wb-main{align-items:stretch;min-height:400px;display:flex}.wb-zone-left{flex-direction:column;gap:1rem;min-width:180px;min-height:0;display:flex}.wb-zone-right{flex-direction:column;flex:1;min-width:220px;min-height:0;display:flex}.wb-split-handle{cursor:col-resize;border:1px solid var(--ice-soft);background:#38bdf82e;border-radius:6px;flex:0 0 10px;margin:0 .35rem}.wb-split-handle:hover,.wb-split-handle:active{background:#38bdf873;border-color:#38bdf899}.wb-terminal-resize{cursor:row-resize;border:1px solid var(--ice-soft);background:#38bdf82e;border-radius:6px;height:10px}.wb-terminal-resize:hover,.wb-terminal-resize:active{background:#38bdf873;border-color:#38bdf899}.wb-terminal-dock{border:1px solid var(--glass-border);background:#ffffff8c;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.wb-terminal-dock.collapsed{background:#ffffffbf}.wb-dock-bar{border-bottom:1px solid var(--ice-soft);background:#e0f2fe73;align-items:center;gap:.55rem;padding:.45rem .75rem;display:flex}.wb-terminal-dock.collapsed .wb-dock-bar{border-bottom:none}.wb-dock-bar .dock-title{font-size:.9rem}.wb-dock-bar .dock-spacer{flex:1}.wb-terminal-body{min-height:0;padding:.7rem;overflow:auto}.wb-terminal-body .terminal-pane{flex-direction:column;height:100%;display:flex}.wb-terminal-body .terminal-pane .terminal-output{flex:1;height:auto;min-height:0}.preview-pane{flex-direction:column;flex:1;min-height:320px;display:flex}.preview-pane .preview-body{border:1px dashed var(--ice-soft);background:#e0f2fe4d;border-radius:12px;flex:1;margin-top:.6rem;padding:.8rem}.team-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.9rem;display:flex}.team-toolbar label{flex:1;min-width:165px;margin-bottom:0}.team-hint{border:1px solid var(--ice-soft);color:var(--sky-deep);background:#e0f2fe8c;border-radius:12px;margin:.6rem 0;padding:.65rem .9rem;font-size:.82rem}.team-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;display:grid}.team-map{border:1px solid var(--glass-border);background:#ffffff73;border-radius:20px;padding:1.4rem;position:relative}.team-canvas{cursor:grab;touch-action:none;background:radial-gradient(circle at 25% 12%,#bae6fd66,#0000 55%),radial-gradient(circle at 82% 88%,#e0f2fe80,#0000 50%),repeating-linear-gradient(0deg,#0000 0 39px,#cde8f652 39px 40px),repeating-linear-gradient(90deg,#0000 0 39px,#cde8f652 39px 40px),#ffffff59;border-radius:14px;height:600px;position:relative;overflow:hidden}.team-canvas.panning{cursor:grabbing}.team-canvas-inner{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.team-canvas .team-node{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;margin:0;position:absolute}.team-canvas .team-node:active{cursor:grabbing}.team-canvas .team-node.coordinator{max-width:none}.team-canvas .team-verifier{text-align:center}.canvas-controls{border:1px solid var(--glass-border);background:var(--glass-strong);box-shadow:var(--shadow);z-index:2;color:var(--text-muted);border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}.canvas-controls button{border:1px solid var(--ice-soft);min-width:30px;color:var(--sky-deep);cursor:pointer;background:#fff;border-radius:9px;padding:4px 9px;font-size:13px}.canvas-controls button:hover{background:var(--ice-soft)}.canvas-controls .canvas-hint{margin-left:6px;font-size:11px}.status-legend{color:#475569;background:#ffffff80;border:1px solid #d8edf7;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.status-legend strong{color:var(--text-main);margin-right:4px}.status-legend span{white-space:nowrap;background:#f8fafc;border-radius:20px;padding:5px 8px}.legend-pending,.legend-paused{color:#64748b}.legend-running{color:#0369a1}.legend-complete{color:#1d4ed8}.legend-waiting{color:#92400e}.legend-verifying{color:#075985}.legend-rework{color:#be123c}.legend-failed{color:#b91c1c}.legend-blocked{color:#9a3412}.legend-unknown{color:#6d28d9}.team-node{text-align:left;cursor:pointer;background:#fffc;border:1px solid #cbe9f7;border-radius:18px;width:100%;padding:1rem 1.1rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:block;box-shadow:0 8px 26px #bae6fd40}button.team-node:hover{transform:translateY(-1.5px);box-shadow:0 12px 30px #bae6fd73}.team-node.selected{border-color:var(--sky);background:#fff;box-shadow:0 10px 28px -4px #0284c747}.team-node .node-role{margin:.15rem 0 .3rem;font-size:.98rem;font-weight:700}.team-node .node-line{color:var(--text-muted);margin:.1rem 0;font-size:.78rem}.team-node .node-line strong{color:var(--sky-deep);font-weight:600}.team-node .node-head{color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:.68rem;display:flex}.team-node.coordinator{max-width:320px;margin:0 auto}.team-node.blocked{border-color:var(--rose-border);background:var(--rose-bg)}.team-node.paused{border-color:var(--amber-border);background:var(--amber-bg)}.team-flow{text-align:center;color:var(--sky);padding:.7rem;font-size:.76rem}.team-members{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;display:grid}.team-verifier{border:1px solid var(--line);background:#ffffffe6;border-radius:14px;padding:.9rem 1rem;font-size:.85rem;font-weight:600}.team-verifier span{float:none;color:var(--text-muted);margin-top:.3rem;font-size:.78rem;font-weight:400;display:block}.team-inspector{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border-radius:20px;padding:1.25rem}.team-inspector>*{margin-bottom:.85rem}.team-inspector h3{margin:.1rem 0 .3rem;font-size:1rem}.team-inspector details{color:var(--text-muted);border-top:1px solid var(--line);padding-top:.85rem;font-size:.82rem}.team-inspector summary{cursor:pointer;min-height:30px;color:var(--text-main);font-weight:600}.team-inspector details p{margin:.3rem 0}.kv{justify-content:space-between;gap:.6rem;padding:.22rem 0;font-size:.8rem;display:flex}.kv span:first-child{color:var(--text-muted);flex-shrink:0}.kv span:last-child{text-align:right;word-break:break-word}.blocker-list{margin:.4rem 0;padding:0;list-style:none}.blocker-list li{background:var(--rose-bg);color:var(--rose);border:1px solid var(--rose-border);border-radius:10px;margin-bottom:.3rem;padding:.4rem .55rem;font-size:.8rem}.warning-list li{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-border)}.event-log{max-height:260px;margin:.5rem 0 0;padding:0;list-style:none;overflow:auto}.event-log li{border-bottom:1px solid #cde8f699;align-items:baseline;gap:.6rem;padding:.3rem 0;font-size:.78rem;display:flex}.event-log .seq{color:var(--text-faint);flex-shrink:0;font-family:ui-monospace,monospace}.event-log .etype{color:var(--sky-deep);flex-shrink:0;font-weight:600}.chat-scroll{flex-direction:column;gap:.75rem;display:flex}.bubble{background:#fff;border-radius:14px;max-width:78%;padding:.65rem .9rem}.bubble.user{color:#fff;background:linear-gradient(135deg,#38bdf8,#0284c7);align-self:flex-end}.bubble.assistant{background:#ffffffe6;align-self:flex-start}.bubble .meta{opacity:.75;margin-top:.3rem;font-size:.7rem}.chat-composer{gap:.5rem;margin-top:1rem;display:flex}.chat-composer textarea{resize:vertical;min-height:52px}.canvas-layout{border:1px solid var(--line);border-radius:var(--radius);background:#fff9;flex-direction:column;align-items:center;padding:1.25rem;display:flex}.canvas-user{border:1px solid var(--ice);border-radius:var(--radius);text-align:center;background:#fff;padding:.55rem .9rem}.canvas-line{background:var(--line);width:2px;height:1.4rem}.canvas-node{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:.3rem;min-width:11rem;padding:.75rem 1rem;display:flex}.canvas-node small{color:var(--text-muted)}.canvas-center{border-color:var(--sky);background:#e0f2feb3}.canvas-workers{flex-wrap:wrap;justify-content:center;gap:1rem;width:100%;display:flex}.canvas-task{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.canvas-events{padding-left:1.4rem}.canvas-events li{margin-bottom:.4rem}.canvas-events time{color:var(--text-muted)}.page-container{padding:0}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.subtext{color:var(--text-muted);margin:.3rem 0 0;font-size:.84rem}.banner{border-radius:12px;margin-bottom:.9rem;padding:.7rem .9rem;font-size:.86rem}.banner-error{background:var(--rose-bg);color:var(--rose);border:1px solid var(--rose-border)}.btn{border:1px solid var(--line);color:#334155;cursor:pointer;min-height:44px;font:inherit;background:#fff;border-radius:12px;padding:.55rem .9rem}.btn-primary{color:#fff;background:linear-gradient(135deg,#38bdf8,#0284c7);border-color:#0000}.btn-secondary{background:#ffffffd9}.btn-sm{min-height:34px;padding:.35rem .65rem;font-size:.82rem}.form-group{margin-bottom:.7rem}.form-inline{flex-direction:column;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.tabs-container{flex-wrap:wrap;gap:.5rem;display:flex}.tab-btn{align-items:center;gap:.5rem;display:flex}.tab-btn.active{color:var(--sky-deep);background:#fff;border-color:#38bdf88c}@media (width<=1100px){.team-grid{grid-template-columns:1fr}.workbench-grid{grid-template-columns:240px minmax(0,1fr)}.wb-aux{grid-column:1/-1}.wb-main{flex-direction:column}.wb-zone-left{width:100%!important}.wb-split-handle{display:none}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #fffc;border-right:none;max-height:none}.nav{flex-flow:wrap}.nav a{flex:46%}.grid.cols-2,.grid.cols-3,.grid-2,.workbench-grid,.team-members{grid-template-columns:1fr}.main{padding:1rem}.bubble{max-width:92%}.team-toolbar label{flex:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#bae6fdcc;border-radius:4px}::-webkit-scrollbar-track{background:0 0}.binary-placeholder{background:#e0f2fe8c;border:1px dashed #38bdf880;border-radius:8px;align-items:flex-start;gap:.75rem;margin:.4rem 0;padding:.9rem;display:flex}.binary-placeholder .binary-icon{letter-spacing:.08em;color:#0369a1;background:#e0f2fe;border:1px solid #38bdf899;border-radius:6px;flex:none;padding:.35rem .5rem;font-size:.7rem;font-weight:700}.doc-tree-pane{margin-top:1rem}.doc-tree{max-height:22rem;overflow:auto}.doc-tree .tree-row{cursor:pointer;align-items:baseline;gap:.4rem;display:flex}.doc-tree-preview{border-top:1px solid #94a3b859;margin-top:.6rem;padding-top:.6rem}.doc-tree-content{color:#e2e8f0;white-space:pre-wrap;word-break:break-word;background:#0f172a;border-radius:8px;max-height:16rem;padding:.75rem;font-size:.8rem;overflow:auto}.commit-graph-pane{margin-top:1rem}.commit-graph-controls{align-items:center;gap:.5rem;margin:.6rem 0}.commit-graph-controls input{flex:0 22rem}.commit-graph-body{border:1px solid #94a3b840;border-radius:8px;max-height:26rem;position:relative;overflow:auto}.commit-graph-lanes{pointer-events:none;position:absolute;top:0;left:0}.commit-graph-rows{margin:0;padding-right:.5rem;list-style:none}.commit-node{cursor:pointer;border-bottom:1px dashed #94a3b82e;align-items:center;gap:.6rem;padding-right:.4rem;display:flex}.commit-node:hover{background:#38bdf814}.commit-node.selected{background:#38bdf829}.commit-node.second{background:#a78bfa24}.commit-node-sha{color:#0369a1;flex:none;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.commit-node-msg{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.commit-node-meta{flex:none;font-size:.75rem}.commit-detail{border-top:1px solid #94a3b859;margin-top:.6rem;padding-top:.6rem}.commit-detail-msg{margin:.2rem 0;font-size:.85rem}.commit-diff{border-top:1px solid #94a3b859;max-height:24rem;margin-top:.6rem;padding-top:.6rem;overflow:auto}.commit-diff-file{margin-bottom:.7rem}.commit-diff-file .diff-file-header{justify-content:space-between;gap:.5rem;margin-bottom:.2rem;font-size:.8rem;display:flex}.commit-diff-file .diff-file-path{text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.commit-diff-file .diff-hunk{margin:.3rem 0}.commit-diff-file .diff-hunk-header{color:#64748b;background:#94a3b81f;border-radius:4px;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.commit-diff-file .diff-lines{color:#e2e8f0;background:#0f172a;border-radius:6px;padding:.4rem 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;overflow-x:auto}.commit-diff-file .diff-row{white-space:pre;gap:.4rem;padding:0 .5rem;display:flex}.commit-diff-file .diff-add,.commit-diff-file .diff-row.diff-add{background:#22c55e29}.commit-diff-file .diff-del,.commit-diff-file .diff-row.diff-del{background:#ef444424}.commit-diff-file .diff-sign{flex:0 0 1ch}.commit-diff-file .diff-text{word-break:break-all;white-space:pre-wrap}.outline-panel{flex-direction:column;gap:.45rem;display:flex}.outline-panel>strong{font-size:.9rem}.outline-list{border:1px solid #94a3b859;border-radius:8px;max-height:14rem;margin:0;padding:0;list-style:none;overflow:auto}.outline-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:6px;padding:.28rem .5rem;font-size:.82rem;display:block}.outline-item:hover{background:#38bdf824}.outline-hash{font-weight:600}.outline-search{box-sizing:border-box;width:100%;color:inherit;background:0 0;border:1px solid #94a3b873;border-radius:8px;padding:.35rem .5rem;font-size:.82rem}.outline-hits{flex-direction:column;gap:.25rem;display:flex}.outline-hit-list{border:1px solid #94a3b859;border-radius:8px;max-height:12rem;margin:0;padding:0;list-style:none;overflow:auto}.outline-hit{text-align:left;cursor:pointer;width:100%;color:inherit;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;padding:.28rem .5rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem;display:block;overflow:hidden}.outline-hit:hover{background:#38bdf824}.hit-line{margin-right:.35rem}.outline-hit mark{color:#0f172a;background:#fde68a;border-radius:3px;padding:0 2px}.code-area.code-flash{animation:1.2s ease-out outline-flash}@keyframes outline-flash{0%{box-shadow:0 0 0 3px #38bdf88c}to{box-shadow:0 0 0 3px #38bdf800}}.diff-view{margin-top:1rem}.diff-toolbar{max-width:34rem}.diff-summary{margin-top:.6rem}.diff-file{border:1px solid #94a3b866;border-radius:8px;margin-top:.6rem;overflow:hidden}.diff-file-header{background:#94a3b824;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.45rem .7rem;font-size:.82rem;display:flex}.diff-file-path{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.diff-stat-add{color:#15803d;font-weight:600}.diff-stat-del{color:#b91c1c;font-weight:600}.diff-binary-note{padding:.4rem .7rem}.diff-hunk-header{color:#92400e;white-space:pre-wrap;word-break:break-all;background:#fef3c7;padding:.2rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.diff-lines{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem;line-height:1.5;overflow-x:auto}.diff-row{white-space:pre-wrap;word-break:break-all;align-items:baseline;display:flex}.diff-ln{text-align:right;color:#64748b;-webkit-user-select:none;user-select:none;flex:0 0 2.6rem;padding-right:.4rem}.diff-sign{-webkit-user-select:none;user-select:none;flex:0 0 1rem}.diff-text{flex:auto}.diff-context{color:#334155;background:0 0}.diff-add{color:#14532d;background:#e6ffec}.diff-del{color:#7f1d1d;background:#ffebe9}.diff-mod{box-shadow:inset 3px 0 #f59e0b}.diff-meta{color:#64748b;background:#94a3b81f}.backup-panel .stash-list{flex-direction:column;gap:.4rem;display:flex}.backup-panel .stash-row{background:#94a3b80f;border:1px solid #94a3b840;border-radius:6px;padding:.45rem .6rem}.backup-panel .stash-preview{white-space:pre-wrap;word-break:break-all;background:#0f172a0f;border-radius:4px;max-height:12rem;margin:.4rem 0 0;padding:.5rem .6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;overflow:auto}.backup-panel .linkish{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.backup-panel button.danger.armed{color:#fff;background:#b91c1c}.hash-verify{border:1px solid #0000;border-radius:6px;margin-top:.5rem;padding:.5rem .7rem}.hash-verify.ok{color:#14532d;background:#e6ffec;border-color:#15803d}.hash-verify.bad{color:#7f1d1d;background:#ffebe9;border-color:#b91c1c}.hash-verify code{word-break:break-all}.confirm-overlay{z-index:60;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box{width:calc(100vw - 2rem);max-width:34rem}.grid.cols-2.chat-layout{grid-template-columns:260px minmax(0,1fr)}.grid.cols-2.chat-layout.qnav-open{grid-template-columns:260px minmax(0,1fr) 240px}.qnav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f0f9ff8c;border:1px solid #cbe9f7;border-radius:16px;flex-direction:column;gap:.4rem;max-height:70vh;padding:.8rem;display:flex;overflow:auto}.qnav-item{text-align:left;cursor:pointer;font:inherit;color:inherit;background:#ffffff80;border:1px solid #0000;border-radius:10px;flex-direction:column;gap:.15rem;padding:.45rem .6rem;display:flex}.qnav-item:hover{background:#bae6fd73}.qnav-item.in-view{border-color:#22b8e6}.qnav-item .qnav-summary{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.qnav-item .qnav-time{color:#64748b;font-size:.7rem}.qnav-item .qnav-inview-tag{color:#0369a1;border:1px solid #7dd3fc;border-radius:999px;align-self:flex-start;padding:0 .4rem;font-size:.65rem}@keyframes msgFlash{0%{box-shadow:0 0 0 4px #22b8e6d9}to{box-shadow:0 0 0 4px #22b8e600}}.bubble.msg-flash{animation:2s forwards msgFlash}@media (width<=900px){.grid.cols-2.chat-layout,.grid.cols-2.chat-layout.qnav-open{grid-template-columns:1fr}.qnav{max-height:40vh}}.wb-dispatch-overlay{z-index:70;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wb-dispatch{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd9;border:1px solid #cbe9f7;border-radius:20px;width:calc(100vw - 2rem);max-width:36rem;max-height:86vh;overflow:auto;box-shadow:0 18px 48px #0284c72e}.wb-dispatch code.wb-dispatch-snippet{white-space:pre-wrap;word-break:break-word;display:block}@media (prefers-reduced-motion:reduce){.bubble.msg-flash{outline:2px solid #22b8e6;animation:none}}.preview-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(160deg,#e0f7ff8c,#ffffffa6);border:1px solid #7dd3fc73;border-radius:14px;flex-direction:column;flex:1;gap:.4rem;min-height:300px;padding:.7rem .8rem;display:flex}.preview-panel .preview-body{flex-direction:column;flex:1;gap:.3rem;min-height:180px;display:flex;overflow:auto}.preview-panel .preview-html-frame{background:#fff;border:1px solid #7dd3fc80;border-radius:10px;flex:1;width:100%;min-height:220px}.preview-panel select{flex:1;min-width:0;max-width:60%}.preview-panel .badge{white-space:nowrap}.preview-source-process .preview-html-frame{margin-top:.3rem}@media (width<=760px){.preview-panel{min-height:240px}.preview-panel .preview-html-frame{min-height:180px}.preview-panel select{max-width:100%}}.cabin-root{--cabin-pixel-font:ui-monospace, "Cascadia Mono", Consolas, "Courier New", "Microsoft YaHei", monospace;z-index:40;background:linear-gradient(#9bd7ff 0%,#dff6ff 58%,#7cc47f 58.2%,#5da562 100%);position:fixed;inset:0;overflow:hidden}.cabin-canvas-host{width:100%;height:100%;display:block;position:absolute;inset:0}.cabin-canvas{width:100%;height:100%;image-rendering:pixelated;display:block;position:absolute;inset:0}.cabin-fallback{border:2px solid var(--ice-soft,#bae6fd);color:#075985;font-family:var(--cabin-pixel-font);background:#f0f9ffe6;border-radius:0;padding:.8rem 1.2rem;font-size:.85rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:4px 4px #023e6140}.cabin-back{z-index:3;color:#075985;font-family:var(--cabin-pixel-font);cursor:pointer;background:#f0f9ffc7;border:2px solid #7dd3fca6;border-radius:0;padding:.35rem .8rem;font-size:.8rem;font-weight:600;position:absolute;top:14px;left:14px;box-shadow:3px 3px #023e6138}.cabin-back:hover{background:#e0f2fef2}.cabin-toolbar{z-index:2;width:min(1040px,100vw - 170px);font-family:var(--cabin-pixel-font);background:#f0f9ffc7;border:2px solid #7dd3fc8c;border-radius:0;padding:.55rem .9rem .6rem;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:4px 4px #023e6138}.cabin-toolbar-title{color:#075985;align-items:center;gap:.5rem;display:flex}.cabin-vr-badge{color:#475569;white-space:nowrap;background:#ffffffb3;border:1px solid #94a3b8;border-radius:0;padding:.05rem .45rem;font-size:.68rem}.cabin-toolbar-body{flex-wrap:wrap;gap:.9rem;margin-top:.45rem;display:flex}.cabin-group{border:1px solid #94a3b873;border-radius:0;min-width:0;margin:0;padding:.25rem .6rem .45rem}.cabin-group legend{color:#0369a1;padding:0 .3rem;font-size:.72rem;font-weight:700}.cabin-chip-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.cabin-chip{color:#075985;cursor:pointer;background:#fffc;border:1px solid #bae6fd;border-radius:0;padding:.18rem .6rem;font-size:.78rem}.cabin-chip.active{color:#fff;background:linear-gradient(#38bdf8,#0ea5e9);border-color:#0284c7;font-weight:700;box-shadow:2px 2px #023e614d}.cabin-swatch{cursor:pointer;border:2px solid #fff;border-radius:0;width:22px;height:22px;padding:0;box-shadow:0 0 0 1.5px #0284c799}.cabin-swatch.active{box-shadow:0 0 0 3px #0ea5e9}.cabin-select,.cabin-input{color:#075985;font-size:.78rem;font-family:var(--cabin-pixel-font);background:#ffffffd9;border:1px solid #bae6fd;border-radius:0;padding:.2rem .45rem}.cabin-input{width:9.5rem}.cabin-note{color:#475569;margin-top:.45rem;font-size:.72rem}.cabin-source-badge{color:#0369a1;white-space:nowrap;background:#e0f2fed9;border:1px solid #7dd3fc;border-radius:999px;padding:.05rem .45rem;font-size:.68rem}.cabin-page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.cabin-entry-btn{color:#075985;font-family:var(--cabin-pixel-font,ui-monospace, Consolas, monospace);cursor:pointer;background:linear-gradient(#e0f2fee6,#bae6fde6);border:2px solid #7dd3fcbf;border-radius:0;align-items:center;gap:.4rem;padding:.45rem 1rem;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:3px 3px #023e6133}.cabin-entry-btn:hover{background:linear-gradient(#e0f2fe,#7dd3fc)}@media (width<=760px){.cabin-toolbar{width:calc(100vw - 28px);top:52px}.cabin-back{top:10px}}.kb-dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);cursor:pointer;text-align:center;background:linear-gradient(#ffffffb8,#e0f2fe8c);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;margin:.75rem 0;padding:1.6rem 1rem;transition:border-color .12s,background .12s;display:flex}.kb-dropzone:hover,.kb-dropzone:focus-visible{border-color:var(--sky);background:linear-gradient(#ffffffe6,#bae6fda6);outline:none}.kb-dropzone.dragging{border-color:var(--ice);background:linear-gradient(#e0f2fee6,#7dd3fc8c)}.kb-dropzone .muted{font-size:.85rem}.kb-log{color:var(--text-muted);margin:.5rem 0 1rem;padding-left:1.2rem;font-size:.88rem}.kb-log li{margin:.15rem 0}.kb-results{flex-direction:column;gap:.75rem;margin:.75rem 0 1.25rem;display:flex}.kb-hit p{white-space:pre-wrap;margin:.4rem 0;line-height:1.6}.kb-hit mark{color:var(--sky-deep);background:#bae6fde6;border-radius:4px;padding:0 .15rem;font-weight:600}.kb-sources{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;margin:.75rem 0 1rem;display:grid}.kb-source-card{flex-direction:column;gap:.35rem;display:flex}.kb-source-card p{margin:.2rem 0}.kb-source-card input{flex:8rem;min-width:0}.badge.warn{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-border)}.badge.danger{color:var(--rose);background:var(--rose-bg);border-color:var(--rose-border)}.cabin-canvas-interior{image-rendering:pixelated}.cabin-enter-indoor{border:1px solid var(--sky-border,#bae6fd8c);color:var(--sky-deep,#0b2b3a);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e7490b8;border-radius:999px;padding:.6rem 1.4rem;font-weight:700;position:absolute;bottom:2.2rem;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #082f4959}.cabin-enter-indoor:hover{background:#38bdf8d9}.cabin-indoor-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#082f498c;border:1px solid #bae6fd47;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.5rem .7rem;display:flex;position:absolute;top:1rem;right:1rem}.cabin-save-state{color:#e0f2fe;max-width:22rem;font-size:.78rem;line-height:1.4}.cabin-save-state.error{color:#fecdd3}.cabin-load-error{color:#ffe4e6;background:#9f123947;border:1px solid #fda4af73;border-radius:10px;margin:.5rem 0 0;padding:.5rem .7rem;font-size:.82rem}.cabin-decorate{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#e0f2fe;background:#082f4980;border:1px solid #bae6fd42;border-radius:16px;margin-top:.8rem;padding:.85rem 1rem 1rem}.cabin-decorate-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.cabin-decorate-level,.cabin-decorate-count{background:#38bdf833;border:1px solid #bae6fd4d;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}.cabin-decorate-tabs{gap:.4rem;margin-bottom:.5rem;display:flex}.cabin-snap-toggle{cursor:pointer;align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.cabin-furniture-bar{scroll-snap-type:x proximity;gap:.5rem;padding:.4rem .2rem .6rem;display:flex;overflow-x:auto}.cabin-furniture-chip{scroll-snap-align:start;color:#e0f2fe;cursor:pointer;text-align:center;background:#0e74908c;border:1px solid #bae6fd59;border-radius:12px;flex-direction:column;flex:none;gap:.15rem;min-width:4.4rem;padding:.5rem .6rem;display:flex}.cabin-furniture-chip:hover:not(:disabled){background:#38bdf899}.cabin-furniture-chip.locked{opacity:.45;cursor:not-allowed;border-style:dashed}.cabin-furniture-name{font-size:.86rem;font-weight:600}.cabin-furniture-meta{opacity:.85;font-size:.7rem}.cabin-selection{background:#0284c73d;border:1px solid #bae6fd4d;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.5rem .6rem;display:flex}.cabin-selection.empty{color:#bae6fd;background:0 0;border-style:dashed;font-size:.82rem}.cabin-selection-name{margin-right:.3rem;font-weight:700}.cabin-decorate-note{color:#bae6fd;opacity:.9;margin:.6rem 0 0;font-size:.76rem;line-height:1.5}.cabin-btn{color:#e0f2fe;cursor:pointer;background:#0e749099;border:1px solid #bae6fd66;border-radius:10px;padding:.35rem .75rem;font-size:.8rem}.cabin-btn:hover:not(:disabled){background:#38bdf8a6}.cabin-btn:disabled{opacity:.5;cursor:not-allowed}.cabin-btn.primary{color:#04283d;background:#38bdf8d9;font-weight:700}.cabin-btn.ghost{background:0 0}.cabin-btn.danger{background:#be185d99;border-color:#fda4af80}.cabin-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.model-access .fallback-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.model-access .fallback-row select,.model-access .fallback-row input{flex:180px;min-width:0}.model-access .fallback-row button{flex:none}.model-access textarea{white-space:pre;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem}.fy-flow{flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin-top:.75rem;display:flex}.fy-flow-center{flex:780px;min-width:0}.fy-flow-side{flex:320px;min-width:280px;max-width:460px}.fy-flow-palette{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff8c;border:1px solid #38bdf847;border-radius:.6rem;flex-direction:column;flex:0 0 208px;gap:.4rem;padding:.6rem;display:flex}.fy-flow-palette.is-drop{border-color:#38bdf8bf}.fy-flow-palette-title{font-size:.85rem}.fy-flow-palette-note{margin:0;font-size:.72rem;line-height:1.45}.fy-flow-palette-item{text-align:left;color:var(--sky-deep,#0b3a5d);cursor:grab;background:#ffffffbf;border:1px solid #38bdf84d;border-left-width:5px;border-radius:.45rem;flex-direction:column;gap:.15rem;min-height:44px;padding:.45rem .55rem;display:flex}.fy-flow-palette-item:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.fy-flow-palette-item.type-input{border-left-color:#38bdf8}.fy-flow-palette-item.type-transform{border-left-color:#7dd3fc}.fy-flow-palette-item.type-output{border-left-color:#a5b4fc}.fy-flow-palette-label{font-size:.8rem;font-weight:600}.fy-flow-palette-hint{opacity:.72;font-size:.68rem}.fy-flow-canvas{touch-action:none;background:linear-gradient(#ffffff80,#ffffff80),repeating-linear-gradient(0deg,#0000,#0000 23px,#38bdf824 23px 24px),repeating-linear-gradient(90deg,#0000,#0000 23px,#38bdf824 23px 24px);border:1px solid #38bdf84d;border-radius:.6rem;position:relative;overflow:hidden}.fy-flow-edges{color:#38bdf8;pointer-events:none;position:absolute;inset:0}.fy-flow-edge{stroke:currentColor;stroke-width:2px;fill:none}.fy-flow-empty{color:#64748b;text-align:center;place-items:center;padding:1rem;font-size:.85rem;display:grid;position:absolute;inset:0}.fy-flow-node{cursor:grab;-webkit-user-select:none;user-select:none;background:#ffffffe0;border:1px solid #38bdf873;border-radius:.45rem;flex-direction:column;padding-bottom:.2rem;display:flex;position:absolute;box-shadow:0 1px 4px #0b3a5d29}.fy-flow-node.is-selected{outline-offset:1px;outline:2px solid #38bdf8}.fy-flow-node.type-input{border-top:3px solid #38bdf8}.fy-flow-node.type-transform{border-top:3px solid #7dd3fc}.fy-flow-node.type-output{border-top:3px solid #a5b4fc}.fy-flow-node-head{color:#0b3a5d;justify-content:space-between;align-items:center;gap:.25rem;padding:.2rem .35rem;font-size:.72rem;font-weight:600;display:flex}.fy-flow-node-id{opacity:.7;padding:0 .35rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.68rem}.fy-flow-del{cursor:pointer;color:#b91c1c;background:0 0;border:none;min-width:24px;padding:.15rem .25rem;font-size:.9rem;line-height:1}.fy-flow-port{cursor:crosshair;background:#ffffffe6;border:1px solid #38bdf8;border-radius:50%;width:14px;height:14px;padding:0;position:absolute;top:50%;transform:translateY(-50%)}.fy-flow-port.in{left:-7px}.fy-flow-port.out{right:-7px}.fy-flow-port.is-armed{background:#f59e0b;border-color:#b45309}.fy-flow-toolbar{margin-top:.4rem;font-size:.74rem}.fy-flow-fields{flex-direction:column;gap:.45rem;margin-top:.5rem;display:flex}.fy-flow-field{flex-direction:column;gap:.2rem;font-size:.78rem;display:flex}.fy-flow-field input,.fy-flow-field select,.fy-flow-field textarea{background:#ffffffe6;border:1px solid #38bdf866;border-radius:.35rem;min-height:32px;padding:.25rem .4rem;font-size:.78rem}.fy-flow-prop-type{margin:.2rem 0 0;font-size:.74rem}.fy-flow-code{color:#dbeafe;resize:vertical;background:#0b1a26eb;border:1px solid #38bdf84d;border-radius:.4rem;width:100%;padding:.4rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.4}.fy-flow-code-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.fy-flow-load{flex-direction:column;align-items:flex-start;gap:.3rem;margin-top:.45rem;display:flex}.fy-flow-exported{margin-top:.45rem;font-size:.75rem}.fy-flow-exported summary{cursor:pointer}.fy-flow-error{color:#7f1d1d;background:#fdbaba59;border:1px solid #e15a5a8c;border-radius:.45rem;flex-direction:column;gap:.15rem;margin-bottom:.5rem;padding:.45rem .6rem;font-size:.78rem;display:flex}.fy-flow-error code{opacity:.85;font-size:.72rem}.fy-flow-error-hint{opacity:.9;font-size:.72rem}.fy-flow-notice{color:#0b3a5d;background:#bae6fd66;border:1px solid #38bdf873;border-radius:.4rem;margin-top:.45rem;padding:.35rem .55rem;font-size:.75rem}.fy-flow-generate{margin-top:.75rem}.fy-flow-generate-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.fy-flow-generate-actions{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.4rem;display:flex}.fy-flow-badge{color:#0b3a5d;background:#bae6fd73;border:1px solid #38bdf880;border-radius:999px;padding:.1rem .45rem;font-size:.7rem}.fy-flow-badge.is-warn{color:#7c2d12;background:#fed7aa80;border-color:#f59e0b99}@media (width<=720px){.fy-flow-palette{flex:100%}.fy-flow-side{flex:100%;max-width:none}.fy-flow-center{flex:100%;overflow-x:auto}}.avatar-workshop{flex-direction:column;gap:1rem;display:flex}.avatar-grid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.15fr) minmax(280px,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1200px){.avatar-grid{grid-template-columns:1fr}}.avatar-panel{flex-direction:column;gap:.7rem;display:flex}.avatar-panel h3{letter-spacing:.01em;margin:0;font-size:.95rem}.avatar-hint{margin:0;font-size:.8rem;line-height:1.5}.avatar-field{grid-template-columns:9.5rem 1fr;align-items:center;gap:.4rem .6rem;display:grid}.avatar-check{align-items:center;gap:.45rem;font-size:.85rem;font-weight:600;display:flex}.avatar-input{border:1px solid var(--line);background:var(--glass-base);width:100%;font:inherit;color:var(--text-main);border-radius:10px;padding:.42rem .55rem;font-size:.85rem}.avatar-input:disabled{opacity:.5;cursor:not-allowed}.avatar-field-hint{color:var(--text-faint);grid-column:2;font-size:.72rem}.avatar-two-col{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.avatar-checkline{align-items:center;gap:.45rem;font-size:.85rem;display:flex}.avatar-tuning{grid-template-columns:4.5rem 1fr}.avatar-actions{flex-wrap:wrap;gap:.5rem}.avatar-stage{border-radius:var(--radius);border:1px solid var(--line);background:repeating-conic-gradient(#cad8e659 0% 25%,#fff9 0% 50%) 0 0/16px 16px;justify-content:center;align-items:center;padding:1rem;display:flex}.avatar-preview{image-rendering:pixelated;filter:drop-shadow(0 8px 18px #0369a138)}.avatar-anim-switch{flex-wrap:wrap;gap:.35rem}.avatar-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem;margin:0;font-size:.8rem;display:grid}.avatar-meta>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:.5rem;padding-bottom:.25rem;display:flex}.avatar-meta dt{color:var(--text-muted);margin:0}.avatar-meta dd{margin:0;font-weight:600}.avatar-labels{font-size:.8rem}.avatar-labels ul{color:var(--text-muted);flex-direction:column;gap:.2rem;margin:.4rem 0 0;padding-left:1.1rem;display:flex}.avatar-error-code{opacity:.85;margin-left:.35rem;font-size:.78rem}.avatar-badge-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .6rem;font-size:.8rem;display:grid}.avatar-share-card{width:100%;max-width:320px;height:auto;image-rendering:pixelated;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px}.avatar-foot{font-size:.85rem}.avatar-foot a{margin-left:.35rem}.avatar-entry-card{text-align:left;cursor:pointer;font:inherit;flex-direction:column;gap:.35rem;width:100%;display:flex}.avatar-entry-card span{font-size:.85rem;line-height:1.55}.w2-toggle{z-index:30;position:absolute;top:1rem;left:1rem}.w2-toggle.open{color:var(--sky-deep);background:#38bdf8e6}.w2-overlay{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#082f498c,#0e74906b);padding:4.2rem 1rem 5rem;position:absolute;inset:0;overflow-y:auto}.w2-root{max-width:68rem;color:var(--text-main);flex-direction:column;gap:.85rem;margin:0 auto;display:flex}.w2-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.w2-tab{border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--sky-deep);cursor:pointer;border-radius:999px;padding:.42rem .95rem;font-weight:600}.w2-tab.active{color:#062a3d;border-color:var(--ice);background:#38bdf8e0}.w2-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.w2-col{flex-direction:column;gap:.85rem;display:flex}@media (width<=860px){.w2-grid{grid-template-columns:minmax(0,1fr)}}.w2-panel{border:1px solid var(--glass-border);background:var(--glass-elevated);border-radius:1rem;padding:.85rem 1rem 1rem;box-shadow:0 10px 28px #082f4938}.w2-panel-head{justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.6rem;display:flex}.w2-panel-title{color:var(--sky-deep);margin:0;font-size:1rem;font-weight:700}.w2-panel-meta{color:var(--text-muted);font-size:.78rem}.w2-block{margin-top:.8rem}.w2-block-title{color:var(--sky-deep);margin:0 0 .45rem;font-size:.86rem}.w2-chip{border:1px solid var(--line);color:var(--sky-deep);background:#bae6fd8c;border-radius:999px;padding:.1rem .5rem;font-size:.72rem}.w2-chip.warn{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-border)}.w2-chip.ok{color:var(--sky-deep);border-color:var(--ice);background:#7dd3fc73}.w2-status{border:1px solid var(--glass-border);background:var(--glass-strong);border-radius:.9rem;flex-wrap:wrap;gap:.5rem;padding:.6rem .8rem;display:flex}.w2-stat{flex-direction:column;min-width:7.5rem;display:flex}.w2-stat-label{color:var(--text-muted);font-size:.72rem}.w2-stat-value{color:var(--sky-deep);font-weight:700}.w2-spot-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.w2-spot{border:1px solid var(--line);background:#f0f9ffdb;border-radius:.8rem;flex-direction:column;gap:.35rem;padding:.6rem .7rem;display:flex}.w2-spot.cooling{opacity:.72}.w2-spot-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.w2-spot-label{font-weight:700}.w2-spot-yield{color:var(--text-muted);flex-wrap:wrap;gap:.45rem;font-size:.76rem;display:flex}.w2-spot-intimacy{color:var(--rose)}.w2-spot-foot{justify-content:space-between;align-items:center;font-size:.72rem;display:flex}.w2-cooldown{color:var(--amber);font-weight:600}.w2-cooldown.ready{color:var(--sky-deep)}.w2-spot-count{color:var(--text-faint)}.w2-spot-actions{flex-wrap:wrap;gap:.35rem;display:flex}.w2-btn{border:1px solid var(--line);color:var(--sky-deep);cursor:pointer;background:#ffffffe6;border-radius:999px;padding:.35rem .8rem;font-size:.82rem;font-weight:600}.w2-btn.primary{border-color:var(--ice);color:#062a3d;background:#38bdf8d9}.w2-btn.ghost{background:0 0}.w2-btn.tiny{padding:.1rem .45rem;font-size:.72rem}.w2-btn:disabled{cursor:not-allowed;opacity:.5}.w2-bar{border:1px solid var(--line);background:#ffffffd1;border-radius:999px;height:1.05rem;position:relative;overflow:hidden}.w2-bar-fill{background:linear-gradient(90deg,#38bdf8bf,#0e7490bf);height:100%}.w2-bar-text{color:var(--text-main);justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex;position:absolute;inset:0}.w2-step-list,.w2-quest-list,.w2-cost-list,.w2-mat-grid,.w2-unlock-list,.w2-craft-list,.w2-pref-list{margin:0;padding:0;list-style:none}.w2-step-list{flex-direction:column;gap:.3rem;display:flex}.w2-step,.w2-quest,.w2-craft,.w2-unlock{border:1px solid var(--line);background:#f0f9ffcc;border-radius:.75rem;flex-direction:column;gap:.35rem;margin-bottom:.45rem;padding:.55rem .7rem;display:flex}.w2-step.done{opacity:.78}.w2-step.current{border-color:var(--ice);box-shadow:0 0 0 2px #38bdf82e}.w2-step-top,.w2-quest-top,.w2-craft-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.w2-step-title,.w2-quest-title,.w2-craft-name{font-weight:700}.w2-step-reward,.w2-quest-reward{color:var(--sky-deep);font-size:.76rem}.w2-step-desc{color:var(--text-muted);margin:0;font-size:.8rem}.w2-wish-text{color:var(--text-main);margin:0 0 .35rem;font-style:italic}.w2-mat-group{margin-bottom:.6rem}.w2-mat-group-title{color:var(--sky-deep);margin:0 0 .3rem;font-size:.8rem}.w2-mat-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.35rem;display:grid}.w2-mat{border:1px solid var(--line);background:#ffffffd9;border-radius:.6rem;justify-content:space-between;align-items:baseline;gap:.4rem;padding:.32rem .55rem;font-size:.8rem;display:flex}.w2-mat.capped{border-color:var(--amber-border);background:var(--amber-bg)}.w2-mat-qty{color:var(--sky-deep);font-weight:700}.w2-cost-list{flex-wrap:wrap;gap:.3rem;display:flex}.w2-cost{border:1px solid var(--line);background:#ffffffd9;border-radius:999px;padding:.12rem .45rem;font-size:.74rem}.w2-cost.ok{border-color:var(--ice);background:#7dd3fc59}.w2-cost.lack{color:var(--amber);background:var(--amber-bg);border-color:var(--amber-border)}.w2-craft-lock{color:var(--amber);margin:0;font-size:.76rem}.w2-unlock.ok{border-color:var(--ice)}.w2-unlock.locked{border-color:var(--rose-border);background:var(--rose-bg)}.w2-unlock-name{font-weight:700}.w2-unlock-state{color:var(--text-muted);font-size:.78rem}.w2-unlock-state.ok{color:var(--sky-deep)}.w2-care-actions{flex-wrap:wrap;gap:.4rem;display:flex}.w2-pref-list{color:var(--text-muted);flex-direction:column;gap:.25rem;margin-top:.5rem;font-size:.8rem;display:flex}.w2-event-card{border:1px solid var(--ice);background:#e0f2fef2;border-radius:.9rem;padding:.7rem .9rem;box-shadow:0 8px 22px #082f4940}.w2-event-card.nothing{border-color:var(--line);background:#f8fafcf2}.w2-event-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.w2-event-title{color:var(--sky-deep);font-weight:700}.w2-event-text{color:var(--text-main);margin:.35rem 0}.w2-event-reward{color:var(--sky-deep);margin:0;font-weight:700}.w2-event-reward.none{color:var(--text-muted);font-weight:500}.w2-event-feedback{color:var(--text-muted);margin:.3rem 0 0;font-size:.8rem}.w2-companion,.w2-offline{border:1px solid var(--glass-border);background:var(--glass-strong);border-radius:.9rem;align-items:flex-start;gap:.6rem;padding:.6rem .85rem;display:flex}.w2-companion-text,.w2-offline-text{color:var(--text-main);margin:0;font-weight:600}.w2-companion-away,.w2-offline-cap{color:var(--text-muted);font-size:.78rem;font-weight:500}.w2-companion-trinkets,.w2-companion-progress,.w2-offline-spots{color:var(--text-muted);margin:.2rem 0 0;font-size:.78rem}.w2-companion-emoji,.w2-offline-icon{font-size:1.2rem;line-height:1.2}.w2-error{border:1px solid var(--rose-border);background:var(--rose-bg);color:var(--rose);border-radius:.7rem;margin:0;padding:.55rem .85rem;font-size:.84rem;font-weight:600}.w2-note,.w2-loading,.w2-empty{border:1px dashed var(--line);color:var(--text-muted);background:#ffffffb8;border-radius:.7rem;margin:0;padding:.5rem .8rem;font-size:.82rem}.bus-panel{border:1px solid var(--glass-border);border-radius:var(--radius);background:var(--glass-base);flex-direction:column;gap:.6rem;margin:.4rem 0 0;padding:.7rem .8rem .8rem;display:flex;box-shadow:0 8px 22px -14px #38bdf873}.bus-head{align-items:center;gap:.4rem;font-size:.76rem;display:flex}.bus-room{overflow-wrap:anywhere;color:var(--text-muted);font-size:.72rem}.bus-edges{border:1px dashed var(--line);background:#e0f2fe8c;border-radius:.7rem;padding:.45rem .6rem;font-size:.76rem}.bus-edges ul{flex-wrap:wrap;gap:.35rem .6rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.bus-edges li{align-items:center;gap:.3rem;display:inline-flex}.bus-edge{color:var(--sky-deep);font-weight:600}.bus-log{flex-direction:column;gap:.4rem;max-height:20rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bus-msg{border:1px solid var(--line);background:var(--glass-elevated);border-radius:.75rem;padding:.5rem .65rem}.bus-msg-head{flex-wrap:wrap;align-items:baseline;gap:.35rem;font-size:.74rem;display:flex}.bus-who{color:var(--text-main);font-weight:700}.bus-kind,.bus-seq{color:var(--text-faint)}.bus-mention{color:var(--sky-deep);font-weight:600}.bus-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.84rem;line-height:1.5}.bus-refs{color:var(--text-muted);margin:.25rem 0 0;font-size:.72rem}.bus-msg-handoff{border-color:var(--ice-soft);background:#bae6fd6b}.bus-msg-system{border-color:var(--amber-border);background:var(--amber-bg)}.bus-msg-system .bus-who{color:var(--amber)}.bus-compose{border-top:1px dashed var(--line);flex-direction:column;gap:.4rem;padding-top:.5rem;font-size:.78rem;display:flex}.bus-compose-row{flex-wrap:wrap;align-items:flex-end;gap:.45rem;display:flex}.bus-compose-row label,.bus-compose>label{color:var(--text-muted);flex-direction:column;gap:.2rem;display:flex}.bus-context{flex-direction:column;gap:.25rem;margin:.3rem 0 0;padding:0;list-style:none;display:flex}.bus-context li{justify-content:space-between;align-items:center;gap:.4rem;font-size:.76rem;display:flex}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.7rem;margin-top:.5rem;display:grid}.asset-section{flex-direction:column;gap:.35rem;margin-top:1.1rem;display:flex}.asset-card{flex-direction:column;gap:.35rem;padding:.7rem;display:flex}.asset-card-media{background:#8cb4dc14;border:1px solid #96bee638;border-radius:10px;justify-content:center;align-items:center;min-height:96px;display:flex;overflow:hidden}.asset-thumb{max-width:100%;max-height:140px;image-rendering:pixelated;object-fit:contain}.asset-thumb-fallback,.asset-doc{color:var(--text-muted,#9fb2c8);padding:.8rem;font-size:.78rem}.asset-wave{align-items:flex-end;gap:3px;height:56px;display:flex}.asset-wave-bar{background:linear-gradient(180deg, var(--ice,#9fd8ff), var(--sky,#4aa3e0));border-radius:2px;width:5px}.asset-wave-bar:first-child{height:34%}.asset-wave-bar:nth-child(2){height:68%}.asset-wave-bar:nth-child(3){height:46%}.asset-wave-bar:nth-child(4){height:88%}.asset-wave-bar:nth-child(5){height:58%}.asset-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.asset-meta,.asset-hint{color:var(--text-muted,#9fb2c8);font-size:.72rem}.asset-card-actions{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}.asset-btn{color:inherit;cursor:pointer;background:#78aadc1f;border:1px solid #96bee659;border-radius:8px;padding:.28rem .5rem;font-size:.74rem}.asset-btn:hover:not(:disabled){background:#78aadc3d}.asset-btn:disabled{opacity:.5;cursor:not-allowed}.asset-btn.active{border-color:var(--ice,#9fd8ff);background:#9fd8ff38}.asset-btn.primary{border-color:var(--sky,#4aa3e0);background:#4aa3e03d}.asset-btn.danger{border-color:var(--rose,#e58aa8);background:#e58aa829}.asset-dropzone{border:1px dashed #96bee673;flex-direction:column;gap:.35rem;margin-top:.8rem;display:flex}.asset-dropzone.over{border-color:var(--ice,#9fd8ff);background:#9fd8ff1a}.asset-generate{flex-direction:column;gap:.7rem;margin-top:.8rem;display:flex}.asset-group{border:1px solid #96bee638;border-radius:10px;flex-direction:column;gap:.45rem;display:flex}.asset-inline{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.asset-input{min-width:0;color:inherit;background:#1422348c;border:1px solid #96bee64d;border-radius:8px;flex:220px;padding:.35rem .5rem}.asset-input-narrow{flex:0 130px}.asset-select{color:inherit;background:#1422348c;border:1px solid #96bee64d;border-radius:8px;padding:.35rem .4rem}.cabin-wallart{z-index:3;pointer-events:none;position:absolute;top:8%;left:6%}.cabin-wallart-frame{background:linear-gradient(#f0e9d6eb,#d6c48adb);border:3px solid #d6c48ad9;border-radius:4px;padding:6px;box-shadow:0 4px 14px #060c1673}.cabin-wallart-frame img{object-fit:cover;width:132px;height:132px;image-rendering:pixelated;display:block}.asset-bgm-card,.asset-wall-card{flex-direction:column;gap:.35rem;margin-top:.7rem;display:flex}.hub-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.hub-filters{flex-wrap:wrap;gap:.35rem;margin-bottom:.7rem;display:flex}.hub-filter{border:1px solid var(--line);background:var(--glass-base);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.25rem .8rem;font-size:.85rem}.hub-filter.active{color:var(--sky-deep);border-color:var(--sky);background:#e0f2fee6;font-weight:600}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.8rem;display:grid}.hub-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-base);box-shadow:var(--shadow);flex-direction:column;gap:.5rem;padding:.85rem .95rem;display:flex}.hub-card-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hub-card-title{flex:auto;min-width:0}.hub-card-title h3{margin:0;font-size:1rem}.hub-card-icon{font-size:1.4rem;line-height:1}.hub-card-desc{color:var(--text-muted);margin:0;font-size:.88rem}.hub-card-actions{flex-wrap:wrap;gap:.4rem;display:flex}.hub-state{border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.1rem .55rem;font-size:.75rem}.hub-state-ok{color:var(--sky-deep);border-color:var(--sky);background:#e0f2fee6}.hub-state-fail{color:var(--rose);border-color:var(--rose-border);background:var(--rose-bg)}.hub-state-warn{color:var(--amber);border-color:var(--amber-border);background:var(--amber-bg)}.hub-state-idle{color:var(--text-muted);background:#e2e8f0b3}.hub-health{border:1px solid var(--line);color:var(--text-muted);white-space:nowrap;background:#e2e8f0b3;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .55rem;font-size:.78rem;display:inline-flex}.hub-health-ok{color:var(--sky-deep);border-color:var(--sky);background:#e0f2fee6}.hub-health-fail{color:var(--rose);border-color:var(--rose-border);background:var(--rose-bg)}.hub-health-unknown{color:var(--text-faint)}.hub-health-pending{color:var(--amber);border-color:var(--amber-border);background:var(--amber-bg)}.hub-health-detail{color:var(--rose);background:var(--rose-bg);border:1px solid var(--rose-border);word-break:break-word;border-radius:10px;margin:0;padding:.35rem .5rem;font-size:.82rem}.hub-tags{flex-wrap:wrap;gap:.3rem;margin:0;display:flex}.hub-tag{border:1px solid var(--line);color:var(--text-muted);background:#ffffffb3;border-radius:999px;padding:.08rem .5rem;font-size:.74rem}.hub-tag-more{color:var(--sky-deep);border-color:var(--sky)}.hub-presets{margin-top:1.4rem}.hub-preset-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem;display:grid}.hub-preset{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-base);flex-direction:column;gap:.35rem;padding:.7rem .8rem;font-size:.86rem;display:flex}.hub-preset p{margin:0}.hub-preset-head{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.hub-preset-skeleton{color:var(--amber);border:1px solid var(--amber-border);background:var(--amber-bg);border-radius:999px;padding:.05rem .5rem;font-size:.72rem}.hub-preset-note{color:var(--text-muted);border-left:3px solid var(--line);padding-left:.45rem;font-size:.8rem}.hub-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-elevated);flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.hub-form h3{margin:0}.hub-form-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.hub-form-row>input{flex:140px;min-width:0}.hub-form-row>label,.hub-form label{flex-direction:column;gap:.2rem;font-size:.82rem;display:flex}.hub-form input,.hub-form select,.hub-form textarea{border:1px solid var(--line);color:inherit;font:inherit;background:#ffffffd9;border-radius:8px;padding:.35rem .45rem}.hub-form textarea{font-family:ui-monospace,Consolas,monospace;font-size:.82rem}.hub-form fieldset{border:1px dashed var(--line);border-radius:12px;flex-direction:column;gap:.45rem;padding:.6rem .7rem;display:flex}.hub-form legend{color:var(--text-muted);padding:0 .3rem;font-size:.8rem}.hub-inline{align-items:center;gap:.25rem;flex-direction:row!important}.hub-form-actions{flex-wrap:wrap;gap:.4rem;display:flex}.hub-capabilities{margin-top:1.4rem}.hub-table{border-collapse:collapse;width:100%;font-size:.86rem}.hub-table th,.hub-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.4rem .5rem}.hub-table th{color:var(--text-muted);font-weight:600}.hub-route{margin-top:1.4rem}.hub-route-list{flex-direction:column;gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex}.hub-route-list>li{border:1px solid var(--line);background:var(--glass-base);border-radius:12px;padding:.55rem .7rem}.hub-route-list p{margin:.2rem 0}.hub-route-head{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.hub-score{color:var(--sky-deep);border:1px solid var(--sky);background:#e0f2fee6;border-radius:999px;padding:.05rem .5rem;font-size:.76rem}.hub-reasons{color:var(--text-muted);margin:.2rem 0 0;padding-left:1.1rem;font-size:.8rem}.hub-invoke-result{border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-elevated);margin-top:1rem;padding:.7rem .9rem}.hub-invoke-result h3{margin:0 0 .3rem}.hub-invoke-result pre{white-space:pre-wrap;word-break:break-word;background:#0f172a0f;border-radius:10px;max-height:260px;padding:.5rem .6rem;font-size:.8rem;overflow:auto}.hub-manifest{margin-top:.8rem}.hub-footnote{margin-top:1.2rem;font-size:.8rem}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--size-sidebar:288px;--size-sidebar-narrow:232px;--size-touch:44px;--hud-top:14px;--hud-safe-right:1rem;--z-hud:40}@media (width<=1100px){.app{grid-template-columns:var(--size-sidebar-narrow) minmax(0, 1fr)}.sidebar{padding:1.25rem .9rem}}.main>*,.main .card,.main .glass-panel,.main .row,.main .grid,.main [class*=grid]>*{min-width:0}.w2-toggle{left:5.25rem}@media (width<=760px){.w2-toggle{top:3.4rem;left:1rem}}.cabin-toolbar{width:min(1040px,100vw - 240px);max-height:min(38vh,220px);overflow-y:auto}.cabin-indoor-bar{top:var(--hud-top);max-height:min(38vh,220px);overflow-y:auto}@media (width>=1025px) and (width<=1400px){.avatar-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}}@media (width<=1024px){.avatar-grid{grid-template-columns:minmax(0,1fr)}}.avatar-field{grid-template-columns:max-content minmax(0,1fr)}.avatar-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.avatar-grid>*,.avatar-panel{min-width:0}.avatar-field-hint{grid-column:2}.cabin-input{flex:8rem;width:auto;min-width:0;max-width:100%}.app:before{max-width:60vmin}.app:after{max-width:56vmin}html,body{overflow-x:clip}.cabin-canvas{image-rendering:pixelated}.cabin-hud{top:var(--hud-top);left:var(--hud-top);right:var(--hud-safe-right);z-index:var(--z-hud);align-items:flex-start;gap:var(--space-3);pointer-events:none;flex-wrap:wrap;max-height:min(40vh,240px);display:flex;position:absolute;overflow-y:auto}.cabin-hud>*{pointer-events:auto}@media (width<=760px){.cabin-hud{flex-direction:column;align-items:stretch}}.cabin-shell{width:100%;height:calc(100vh - 6rem);min-height:420px;position:relative;overflow:hidden}.cabin-shell[data-mode=embedded]>.cabin-root{z-index:1;position:absolute;inset:0}.cabin-shell[data-mode=fullscreen]{z-index:60;background:#0b1030;height:auto;min-height:0;position:fixed;inset:0}.cabin-shell[data-mode=fullscreen]>.cabin-root{position:absolute;inset:0}.cabin-shell-toggle{z-index:70;color:#e0f2fe;font-family:var(--cabin-pixel-font,ui-monospace, monospace);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#082f49b8;border:1px solid #bae6fd8c;border-radius:999px;padding:.4rem .9rem;font-size:.75rem;font-weight:700;position:absolute;bottom:1rem;right:1rem}.cabin-shell-toggle:hover{background:#0e7490d9}@media (width<=760px){.cabin-shell{height:calc(100vh - 4rem);min-height:320px}}.fy-ir-diagnostics{font-size:12px;line-height:1.5}.fy-ir-diagnostics .fy-ir-list{margin:6px 0 0;padding-left:18px}.fy-ir-diagnostics .fy-ir-item{word-break:break-all;margin:2px 0}.fy-ir-diagnostics.fy-ir-invalid{background:#fdf1f0;border:1px solid #c0392b;border-radius:6px;padding:6px 8px}.fy-ir-diagnostics .fy-ir-message{color:#8a2b20}.fy-ir-dot{color:#fff;cursor:help;background:#c0392b;border-radius:10px;padding:3px 6px;font-size:10px;line-height:1;position:absolute;top:-8px;right:-8px}.fy-flow-field.fy-field-invalid>input,.fy-flow-field.fy-field-invalid>select,.fy-flow-field.fy-field-invalid>textarea{border-color:#c0392b;box-shadow:0 0 0 1px #c0392b}.fy-field-error-text{color:#c0392b;margin-top:2px;font-size:12px;display:block}.cabin-hud-root{pointer-events:none;z-index:40;font-family:var(--cabin-pixel-font,"Press Start 2P", monospace, monospace);color:#3b2314;position:absolute;inset:0;overflow:hidden}.cabin-hud-root *{box-sizing:border-box}.pixel-top-bar{pointer-events:auto;-webkit-user-select:none;user-select:none;background:#fbf5e5;border-bottom:2px solid #5a3825;justify-content:space-between;align-items:center;height:32px;padding:0 12px;display:flex;position:absolute;top:0;left:0;right:0;box-shadow:0 2px #2a180d66}.pixel-top-left{align-items:center;gap:10px;display:flex}.pixel-back-btn{height:22px;padding:2px 8px;font-size:11px}.pixel-time-weather{color:#4a2e1b;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.pixel-top-center{color:#8b5a2b;background:#f4ebd0;border:1px solid #c9b08d;border-radius:4px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;font-weight:700;display:flex}.pixel-top-right{align-items:center;gap:12px;display:flex}.pixel-settings-btn{height:22px;padding:2px 8px;font-size:11px}.pixel-minimap{cursor:pointer;background:#7ca982;border:3px solid #5a3825;border-radius:50%;flex-shrink:0;width:64px;height:64px;margin-top:18px;transition:transform .15s;position:relative;overflow:hidden;box-shadow:0 3px 6px #00000073}.pixel-minimap:hover{transform:scale(1.06)}.minimap-inner{background:radial-gradient(circle,#8bc34a 20%,#689f38 60%,#4b7826 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.minimap-house-marker{filter:drop-shadow(0 1px 1px #00000080);font-size:14px;position:absolute;top:14px;left:22px}.minimap-player-dot{background:#ffeb3b;border:1px solid #b71c1c;border-radius:50%;width:6px;height:6px;animation:1.2s infinite pulse-dot;box-shadow:0 0 4px #ff0}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.4)}}.minimap-grid-ring{pointer-events:none;border:1px dashed #fff6;border-radius:50%;position:absolute;inset:4px}.pixel-bottom-bar{pointer-events:auto;-webkit-user-select:none;user-select:none;background:#fbf5e5;border:2px solid #5a3825;border-radius:20px;justify-content:center;align-items:center;gap:10px;height:40px;padding:0 12px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%);box-shadow:0 4px 8px #2a180d73}.pixel-circle-btn{cursor:pointer;background:#eaddc5;border:2px solid #6b432a;border-radius:50%;outline:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:transform .1s,background .15s,border-color .15s;display:flex;box-shadow:0 2px #3e2714}.pixel-circle-btn:hover{background:#f5eccd;border-color:#8c5836;transform:translateY(-2px)}.pixel-circle-btn:active{transform:translateY(1px);box-shadow:0 1px #3e2714}.pixel-circle-btn.active{background:#ffe082;border-color:#d97706;box-shadow:0 0 0 2px #f59e0b,0 2px #3e2714}.pixel-btn{color:#3b2314;cursor:pointer;background:#d4a373;border:2px solid #5a3825;border-radius:4px;font-family:inherit;font-size:12px;font-weight:700;transition:background .15s,transform .1s;box-shadow:0 2px #2a180d}.pixel-btn:hover{background:#e6b88a}.pixel-btn:active{transform:translateY(1px);box-shadow:0 1px #2a180d}.pixel-btn.primary{color:#1a3810;background:#85c276;border-color:#3a6b2c}.pixel-btn.primary:hover{background:#9bd68d}.pixel-btn.small{padding:2px 6px;font-size:10px}.pixel-btn.active{color:#fff;background:#f59e0b;border-color:#b45309}.pixel-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;z-index:50;background:#0f172aa6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pixel-modal{color:#3e2714;width:min(92vw,480px);max-height:80vh;font-family:var(--cabin-pixel-font,"Press Start 2P", monospace, monospace);background:#fbf5e5;border:4px solid #5d3a1a;border-radius:4px;flex-direction:column;font-size:14px;animation:.15s modal-pop;display:flex;overflow:hidden;box-shadow:0 8px #2a180dd9}@keyframes modal-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.pixel-modal-header{color:#fbf5e5;background:#5d3a1a;border-bottom:2px solid #3e2714;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.pixel-modal-title{letter-spacing:.5px;margin:0;font-size:14px;font-weight:700}.pixel-modal-close{color:#fff;cursor:pointer;background:#c0392b;border:2px solid #78281f;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:700;box-shadow:0 2px #4a1813}.pixel-modal-close:hover{background:#e74c3c}.pixel-modal-body{flex-direction:column;gap:12px;padding:16px;display:flex;overflow-y:auto}.pixel-modal-subtitle{color:#6d4c41;margin:0 0 8px;font-size:12px}.pixel-grid-items{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pixel-item-slot{text-align:center;color:#3e2714;background:#ebdcc2;border:2px solid #8d6e63;border-radius:4px;padding:10px 4px;font-size:12px;font-weight:700;box-shadow:inset 0 2px #0000001a}.pixel-item-slot.empty{background:#e0d1b6;border-style:dashed}.pixel-recipe-list{flex-direction:column;gap:8px;display:flex}.pixel-recipe-card{background:#ebdcc2;border:2px solid #8d6e63;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.pixel-quest-list,.pixel-npc-list{flex-direction:column;gap:8px;display:flex}.pixel-quest-item,.pixel-npc-card{background:#ebdcc2;border:2px solid #8d6e63;border-radius:4px;padding:8px 12px;font-size:12px}.pixel-quest-item p{color:#6d4c41;margin:4px 0 0;font-size:11px}.pixel-map-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pixel-setting-row{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.pixel-btn-group{gap:4px;display:flex}@media (width<=1024px){.pixel-modal{width:min(94vw,440px)}}@media (width<=768px){.pixel-top-bar{padding:0 8px}.pixel-time-weather .time-text{font-size:11px}.pixel-bottom-bar{gap:6px;padding:0 8px;bottom:4px}.pixel-circle-btn{width:30px;height:30px;font-size:14px}.pixel-minimap{width:52px;height:52px;margin-top:14px}.pixel-map-buttons{grid-template-columns:repeat(2,1fr)}}.fy-plugin-toolbar{gap:8px;margin:8px 0 12px;display:flex}.fy-plugin-toolbar input{flex:240px}.fy-plugin-list{flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.fy-plugin-item{padding:10px 12px}.fy-plugin-scan{color:#556;margin-top:4px;font-size:12px}.fy-plugin-caps ul{margin:4px 0 8px;padding-left:20px;font-size:13px}.fy-plugin-pager{align-items:center;gap:12px;margin-top:12px;display:flex}.fy-plugin-detail{border-left:4px solid #3a5f8a;margin-top:14px;padding:10px 12px}.fy-plugin-grant{margin:8px 0;font-size:13px;display:block}.fy-plugin-grant input{width:100%;margin-top:4px;display:block}.fy-plugin-risk-low{color:#2f6f4f;background:#e5f3e8}.fy-plugin-risk-medium{color:#9a6b1f;background:#fdf3e0}.fy-plugin-risk-high{color:#c0392b;background:#fde3e0;border:1px solid #c0392b}.p10-scroll-x{min-width:0;overflow-x:auto}.main pre{max-width:100%;overflow-x:auto}@media (width<=1280px){.wb-zone-left{min-width:150px}.fy-flow-side{max-width:400px}}@media (width<=1024px){.wb-main{flex-wrap:wrap}.wb-zone-left{flex:100%}.wb-zone-right{min-width:0}.wb-split-handle{display:none}.fy-flow-side{flex:100%;min-width:0;max-width:none}}@media (width<=768px){.page-head{flex-wrap:wrap;gap:.5rem}.grid.cols-2{grid-template-columns:minmax(0,1fr)}.fy-flow,.fy-plugin-toolbar{flex-direction:column}.fy-plugin-pager{flex-wrap:wrap}.fy-plugin-detail{border-left-width:3px}.preview-body{max-height:60vh;overflow:auto}}@media (width<=480px){.kb-sources{grid-template-columns:minmax(0,1fr)}}
