.shell{grid-template-rows:auto minmax(0, 1fr) var(--statusbar-h);height:100%;background:var(--bg);height:100dvh;display:grid}.skip-link{left:var(--sp-3);z-index:2000;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);font-weight:600;text-decoration:none;position:fixed;top:-60px}.skip-link:focus-visible{top:var(--sp-3)}.shell-body{grid-template-columns:324px minmax(0,1fr) 312px;min-height:0;display:grid}@media (min-width:900px){.shell-compact .shell-body{grid-template-columns:320px minmax(0,1fr)}}.dock,.inspector{background:var(--surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.dock{border-right:1px solid var(--border)}.inspector{border-left:1px solid var(--border);overflow-y:auto}.dock>.tabs{flex:1}.dock .tab-list{padding:var(--sp-1) var(--sp-1) 0;gap:0;overflow:hidden}.dock .tab{border-radius:var(--radius) var(--radius) 0 0;flex-direction:column;flex:1 1 0;justify-content:center;gap:3px;min-width:0;height:auto;min-height:48px;padding:6px 4px 7px;font-size:11px;font-weight:560}.dock .tab span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.dock .tab[aria-selected=true]{color:var(--accent);background:0 0}.dock .tab[aria-selected=true] span{color:var(--text)}.topbar{align-items:center;gap:var(--sp-3);min-height:var(--topbar-h);padding:var(--sp-2) var(--sp-3);background:var(--surface);border-bottom:1px solid var(--border);z-index:5;display:flex;position:relative}.topbar-brand{align-items:center;gap:var(--sp-2);flex:1 1 0;min-width:0;display:flex}.brand-btn{align-items:center;gap:var(--sp-2);height:36px;padding:0 var(--sp-2) 0 4px;border-radius:var(--radius);color:var(--text);cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:1px solid #0000;flex:none;display:inline-flex}.brand-btn:hover,.brand-btn[aria-expanded=true]{background:var(--surface-2);border-color:var(--border)}.brand-btn:focus-visible{box-shadow:var(--focus)}.brand-chevron{color:var(--text-faint);transition:transform var(--dur) var(--ease)}.brand-btn[aria-expanded=true] .brand-chevron{transform:rotate(180deg)}.brand-name{letter-spacing:-.015em;white-space:nowrap;font-size:14px;font-weight:680}.logo-mark{border-radius:6px;flex:none}.tenant-logo{object-fit:contain;max-width:140px;height:26px}.topbar-sep{background:var(--border);flex:none;width:1px;height:20px}.project-name{width:100%;min-width:60px;max-width:260px;height:32px;padding:0 var(--sp-2);border-radius:var(--radius);color:var(--text);text-overflow:ellipsis;background:0 0;border:1px solid #0000;font-weight:540}.project-name:hover{border-color:var(--border)}.project-name:focus-visible{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-soft)}.topbar-center{align-items:center;gap:var(--sp-3);flex:none;display:flex}.topbar-group{gap:2px;display:flex}.topbar-end{justify-content:flex-end;align-items:center;gap:var(--sp-2);flex:1 1 0;min-width:0;display:flex}.topbar-end [data-tip]:after{left:auto;right:0;transform:translateY(-2px)}.topbar-end [data-tip]:hover:after,.topbar-end [data-tip]:focus-visible:after{transform:none}.topbar-settings-inline{align-items:center;gap:var(--sp-2);display:flex}.topbar-settings-pop{display:none}.prefs-pop{gap:var(--sp-3);padding:var(--sp-2);min-width:220px;display:grid}.prefs-row{justify-content:space-between;align-items:center;gap:var(--sp-4);font-size:var(--fs-sm);color:var(--text-muted);display:flex}.topbar .segmented button{gap:6px}.cmdk-btn{align-items:center;gap:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);height:32px;color:var(--text-muted);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);padding:0 6px 0 10px;display:inline-flex}.cmdk-btn:hover{color:var(--text);border-color:var(--border-strong)}.cmdk-btn:focus-visible{box-shadow:var(--focus)}.cmdk-btn .kbd{height:20px;font-size:10.5px}@media (max-width:1279px){.topbar-settings-inline{display:none}.topbar-settings-pop{display:block}.cmdk-label{display:none}}@media (max-width:1099px){.topbar .seg-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.brand-name{display:none}}.viewport{background:var(--bg);min-width:0;min-height:0;display:grid;position:relative}.viewport-split{grid-template-columns:minmax(0, var(--split-a,1fr)) 6px minmax(0, var(--split-b,1fr))}.viewport-split.viewport-vertical{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, var(--split-a,1fr)) 6px minmax(0, var(--split-b,1fr))}.view-pane{background:var(--bg);min-width:0;min-height:0;position:relative;overflow:hidden}.view-pane canvas{touch-action:none;display:block}.view-loading{gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.split-divider{background:var(--border);cursor:col-resize;touch-action:none;transition:background var(--dur) var(--ease);position:relative}.split-divider:after{content:"";background:var(--border-strong);width:4px;height:36px;transition:background var(--dur) var(--ease);border-radius:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.split-divider:hover,.split-divider:focus-visible{background:color-mix(in srgb, var(--accent) 35%, var(--border))}.split-divider:hover:after,.split-divider:focus-visible:after{background:var(--accent)}.split-divider:focus-visible{box-shadow:none;border-radius:0}.viewport-vertical .split-divider{cursor:row-resize}.viewport-vertical .split-divider:after{width:36px;height:4px}.canvas-empty{left:0;right:0;top:var(--sp-4);padding:0 var(--sp-4);pointer-events:none;z-index:2;justify-content:center;display:flex;position:absolute}.canvas-empty-card{align-items:center;gap:var(--sp-3);max-width:560px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-2);pointer-events:auto;animation:pop-in .24s var(--ease);flex-wrap:wrap;display:flex}.canvas-empty-card>div:nth-child(2){flex:220px}.canvas-empty-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}.canvas-empty-title{margin:0;font-weight:620}.canvas-empty-text{color:var(--text-muted);font-size:var(--fs-sm);margin:2px 0 0}.page-loading{place-items:center;height:100dvh;display:grid}.statusbar{align-items:center;gap:var(--sp-3);padding:0 var(--sp-2);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted);min-width:0;display:flex}.status-issues,.status-price{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;height:24px;padding:0 6px;display:inline-flex}.status-issues:hover,.status-price:hover{background:var(--surface-2)}.status-price{gap:var(--sp-2);color:var(--text);font-weight:600}.status-alert{align-items:center;gap:var(--sp-2);flex:0 auto;min-width:0;display:flex}.status-alert-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);overflow:hidden}.status-retry{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);height:22px;color:var(--text);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;flex:none;padding:0 8px;font-weight:600}.status-retry:hover{background:var(--surface-3)}.status-end{align-items:center;gap:var(--sp-3);margin-left:auto;display:flex}.status-grid{align-items:center;gap:6px;display:flex}.status-grid .select{height:24px;min-height:24px;font-size:var(--fs-sm);padding-left:var(--sp-2)}.status-grid .select-wrap{width:96px}.statusbar .toggle{min-height:0}.credit{color:var(--text-faint);text-decoration:none}.credit:hover{color:var(--accent)}.issues-pop{width:400px;padding:var(--sp-1)}.issue-groups{gap:var(--sp-1);display:grid}.issue-group-title{padding:var(--sp-2) var(--sp-2) var(--sp-1);font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);margin:0;font-weight:650}.issue-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.issue{align-items:flex-start;gap:var(--sp-1);border-radius:var(--radius-sm);display:flex}.issue:hover{background:var(--surface-2)}.issue-main{align-items:flex-start;gap:var(--sp-2);min-width:0;padding:var(--sp-2);border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;font-size:12.5px;line-height:1.4;display:flex}.issue-main:disabled{cursor:default}.issue-icon{flex:none;margin-top:1px;display:grid}.issue-error .issue-icon{color:var(--danger)}.issue-warning .issue-icon{color:var(--warning)}.issue-info .issue-icon{color:var(--info)}.issue-fix{border:1px solid var(--border);background:var(--surface);height:24px;color:var(--accent);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:4px;margin:6px 6px 0 0;padding:0 8px;font-weight:600;display:inline-flex}.issue-fix:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.issue-empty{align-items:center;gap:var(--sp-2);margin:var(--sp-2);color:var(--text-muted);display:flex}.issue-empty svg{color:var(--ok)}.shell-embed .topbar{min-height:46px;padding:6px 10px}@media (max-width:899px){.topbar{padding:6px 10px;padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;row-gap:6px}.topbar-brand{flex:auto;order:1}.topbar-end{flex:none;order:2}.topbar-center{flex:100%;order:3;justify-content:space-between}.topbar-sep{display:none}.project-name{max-width:none}.cmdk-btn{display:none}.shell-body{--sheet-h:50%;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--sheet-h)}.shell-body.sheet-peek{--sheet-h:112px}.shell-body.sheet-full{--sheet-h:calc(100% - 56px)}.dock{border-right:0;border-top:1px solid var(--border);z-index:3;border-radius:16px 16px 0 0;grid-row:2;position:relative;box-shadow:0 -10px 30px #00000038}.viewport{grid-row:1}.sheet-handle{cursor:grab;touch-action:none;background:0 0;border:0;flex:none;place-items:center;width:100%;height:24px;padding:0;display:grid}.sheet-handle>span{background:var(--border-strong);width:40px;height:5px;transition:background var(--dur) var(--ease);border-radius:5px}.sheet-handle:hover>span,.sheet-handle:focus-visible>span{background:var(--accent)}.sheet-handle:focus-visible{box-shadow:none}.sheet-handle:active{cursor:grabbing}.dock .tab-list{padding-top:0}.status-grid>span,.credit,.status-price .muted{display:none}.issues-pop{width:calc(100vw - 16px)}.canvas-empty{top:var(--sp-2)}.canvas-empty-card{padding:var(--sp-3)}}@media (max-width:899px) and (prefers-reduced-motion:no-preference){.shell-body{transition:grid-template-rows .22s var(--ease)}.shell-body[data-dragging]{transition:none}}.legal-row{white-space:nowrap;align-items:center;gap:2px;min-width:0;display:flex}.legal-row a,.legal-row button{border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;background:0 0;border:0;padding:2px 5px;font-size:11px;text-decoration:none}.legal-row a:hover,.legal-row button:hover{color:var(--text);background:var(--surface-2)}@media (max-width:1399px){.status-legal .legal-transparency,.status-legal .legal-terms,.status-legal .legal-accessibility{display:none}}@media (max-width:1099px){.status-legal .legal-powered{display:none}}.page-notice{min-height:100dvh;padding:var(--sp-6) var(--sp-4);background:var(--bg);place-items:center;display:grid;overflow-y:auto}.license-card{justify-items:center;gap:var(--sp-3);text-align:center;max-width:440px;display:grid}.license-tenant{margin:var(--sp-2) 0 0;color:var(--text-muted);font-weight:600}.license-title{font-size:var(--fs-xl);letter-spacing:-.02em;margin:0;font-weight:680;line-height:1.25}.license-text{margin:0 0 var(--sp-2);color:var(--text-muted);line-height:1.6}.page-notice a.btn{text-decoration:none}
