:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7fb;--surface:#fff;--surface-alt:#f1f3f9;--canvas:#e9ecf4;--text:#212334;--muted:#5f6679;--border:#d9deea;--control-border:#858897;--accent:#5540ce;--accent-soft:#eeebfb;--accent-text:#fff;--danger:#a92738;--focus:#4930b9;--shadow:0 24px 80px #24213824;--radius:10px;font-synthesis:none;font-family:Inter,Pretendard Variable,Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:400;line-height:1.5}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11131b;--surface:#1a1d28;--surface-alt:#242837;--canvas:#131620;--text:#f0f1f7;--muted:#b5bbca;--border:#3c4357;--control-border:#748096;--accent:#b2a1ff;--accent-soft:#302a49;--accent-text:#171020;--danger:#ff9bac;--focus:#c2b3ff;--shadow:0 12px 40px #0006}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}button,a{touch-action:manipulation}a{color:var(--accent)}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.045em;font-weight:650}h2{letter-spacing:-.025em;font-size:18px;font-weight:650}h3{font-size:14px;font-weight:650}p{overflow-wrap:anywhere}img{max-width:100%}.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}.skip-link{z-index:2000;background:var(--surface);border:2px solid var(--focus);border-radius:6px;padding:10px 16px;position:fixed;top:10px;left:10px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}#alerts{z-index:1800;background:var(--surface);max-width:min(700px,90vw);box-shadow:var(--shadow);border:1px solid var(--danger);pointer-events:none;border-radius:10px;padding:14px 20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#alerts:empty{display:none}#alerts:not(.visible){visibility:hidden}.boot-screen,.boot-error{text-align:center;place-content:center;gap:16px;min-height:100dvh;padding:32px;display:grid}.boot-screen img{width:52px;margin:auto}.button,.icon-button,.text-button,.view-button,.tool-button,.mode-button,.panel-tab,.account-button{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 14px;font-weight:550;text-decoration:none;transition:border-color .12s;display:inline-flex}.button:hover:not(:disabled),.icon-button:hover:not(:disabled),.view-button:hover,.tool-button:hover,.mode-button:hover,.account-button:hover{background:var(--surface-alt);border-color:var(--muted)}.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.primary:hover:not(:disabled){background:var(--accent);filter:brightness(.94);border-color:var(--accent)}.compact{min-height:36px;padding:6px 11px;font-size:13px}.large{min-height:48px;padding:12px 22px}.danger{color:var(--danger)}.text-button{background:0 0;border-color:#0000;min-height:36px;padding:6px 9px;font-size:13px}.text-button:hover{background:var(--surface-alt)}.subtle{color:var(--muted);font-size:12px;line-height:1.6}.header-spacer{flex:1;min-width:0}.brand-button{letter-spacing:-.025em;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:40px;padding:4px 8px;font-size:17px;font-weight:750;display:flex}.brand-mark{object-fit:contain;flex:0 0 40px;width:40px;height:40px}.brand-wordmark{white-space:nowrap;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.1;display:flex}.brand-name{letter-spacing:-.035em;font-size:20px;font-weight:700}.brand-descriptor{letter-spacing:.055em;font-size:10.5px;font-weight:600}.portal-header{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;padding:14px 4vw;display:flex}.theme-select{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-width:135px;min-height:36px;padding:6px 8px;font-size:12px}.portal-account-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.account-button{text-overflow:ellipsis;max-width:180px;min-height:36px;font-size:13px;overflow:hidden}.portal{flex-direction:column;min-height:100dvh;display:flex}.portal-main{flex:1;width:min(1280px,92vw);margin:0 auto;padding:28px 0 48px}.welcome{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);align-items:center;gap:28px;margin-bottom:28px;padding:28px;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 24px #24213805}.welcome-content{z-index:1;min-width:0;position:relative}.welcome-art{background:#171832;border-radius:12px;width:100%;min-width:0;height:208px;overflow:hidden}.welcome-art img{object-fit:cover;object-position:75% center;width:100%;height:100%}.eyebrow{color:var(--accent);letter-spacing:.14em;margin-bottom:16px;font-size:11px;font-weight:650;display:inline-block}.welcome h1{word-break:keep-all;margin-bottom:12px;font-size:clamp(26px,2.5vw,36px);line-height:1.3}.welcome-copy{color:var(--muted);word-break:keep-all;max-width:520px;font-size:15px;line-height:1.7}.create-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.projects-toolbar{align-items:center;gap:14px;min-width:0;margin:12px 0 16px;display:flex}.projects-heading{min-width:0}.projects-toolbar h2{margin-bottom:3px}.workspace-select{width:auto;min-width:160px;max-width:min(300px,100%)}.workspace-context{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.workspace-context-info{gap:5px;min-width:0;display:grid}.workspace-context-info h3{overflow-wrap:anywhere;font-size:16px}.workspace-context-info .eyebrow{margin-bottom:0;font-size:10px}.project-controls{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;margin:0 0 16px;display:flex}.project-search-field{flex:240px;min-width:min(180px,100%);max-width:400px}.project-search{background:var(--surface);min-height:40px}.project-result-status{font-variant-numeric:tabular-nums;margin-left:auto}.project-view-switch{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;gap:3px;padding:3px;display:flex}.project-view-button{min-height:32px;color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;padding:5px 10px;font-size:12px}.project-view-button[aria-pressed=true]{color:var(--text);border-color:var(--border);background:var(--surface);font-weight:600}.project-view-button:hover{color:var(--text)}.dialog.workspace-dialog{width:min(760px,100vw - 32px)}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.workspace-card{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;gap:20px;min-width:0;padding:18px;display:grid}.workspace-card.selected{border-color:var(--accent);background:var(--accent-soft)}.workspace-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.workspace-card-heading h3{overflow-wrap:anywhere}.workspace-manager-summary{font-size:16px;font-weight:600}.dialog.admin-console-dialog{width:min(1040px,100vw - 32px)}.admin-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:5px;padding-bottom:12px;display:flex}.admin-tab{min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 14px}.admin-tab[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:600}.admin-console-status{min-height:18px;font-size:12px}.admin-panel{align-content:start;gap:18px;min-width:0;min-height:300px;display:grid}.admin-panel>.button{justify-self:start}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.admin-metric{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;gap:10px;padding:20px;display:grid}.admin-metric-value{letter-spacing:-.035em;font-size:32px;font-weight:650}.admin-readonly-info{border:1px solid var(--border);background:var(--surface-alt);border-radius:10px;gap:8px;padding:18px;display:grid}.admin-search{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-search>.input{flex:1;width:100%;min-width:min(240px,100%)}.admin-list{gap:0;min-width:0;display:grid}.admin-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px 0;display:flex}.admin-row:first-child{padding-top:0}.admin-row-info{flex:1;gap:4px;min-width:min(200px,100%);display:grid}.admin-row-info h3,.admin-id{overflow-wrap:anywhere}.admin-id{font-size:11px}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.admin-pagination>p{margin-right:auto}.project-grid{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px;display:grid}.project-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;transition:border-color .12s;overflow:hidden}.project-card:hover,.project-card:focus-within{border-color:var(--accent)}.project-open{text-align:left;background:0 0;border:0;width:100%;min-width:0;padding:0;display:block}.project-open:focus-visible{outline-offset:-4px;border-radius:10px}.project-preview{background:var(--surface-alt);background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:16px 16px;place-items:center;height:128px;display:grid;position:relative;overflow:hidden}.preview-symbol{color:var(--accent);font-size:60px;font-weight:300;line-height:1}.preview-label{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:3px 7px;font-size:10px;font-weight:600;position:absolute;top:10px;left:12px}.preview-count{color:var(--muted);background:var(--surface);border-radius:4px;padding:3px 7px;font-size:11px;position:absolute;bottom:10px;right:12px}.project-info{gap:5px;min-width:0;padding:14px 16px 10px;display:grid}.project-info h3{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.project-location{color:var(--accent);margin-top:2px;font-size:11px}.project-card-actions{justify-content:space-between;padding:0 9px 7px;display:flex}.project-list{grid-template-columns:minmax(0,1fr);gap:8px}.project-list .project-card{align-items:center;display:flex}.project-list .project-open{flex:1;align-items:center;gap:16px;padding:10px;display:flex}.project-list .project-preview{border-radius:7px;flex:0 0 80px;width:80px;height:72px}.project-list .preview-symbol{font-size:34px}.project-list .preview-label,.project-list .preview-count{display:none}.project-list .project-info{flex:1;gap:3px;padding:0}.project-list .project-card-actions{flex-shrink:0;gap:4px;padding:0 12px 0 0}.empty-project-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.empty-projects{border:1px dashed var(--border);text-align:center;background:var(--surface);border-radius:16px;grid-column:1/-1;place-items:center;gap:8px;padding:38px 24px;display:grid}.empty-art{color:var(--accent);margin-bottom:8px;font-size:38px;line-height:1.2}.portal-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:24px 4vw;display:flex}.legal-page{gap:22px;width:min(820px,90vw);margin:40px auto;line-height:1.9;display:grid}.legal-page h1{font-size:32px}.legal-page>.button{justify-self:start}.inline-notice{border:1px solid var(--border);border-left:3px solid var(--danger);background:var(--surface);border-radius:6px;margin:10px 0;padding:12px 14px;font-size:13px}.studio{background:var(--surface);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.studio-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;min-height:58px;padding:7px 12px;display:flex}.studio-header .brand-mark{flex-basis:32px;width:32px;height:32px}.studio-header .brand-name{font-size:17px}.studio-header .brand-descriptor{font-size:9px}.studio-header .brand-button{color:var(--accent);gap:7px;padding-left:0;font-size:18px}.header-divider{background:var(--border);width:1px;height:22px;margin:0 2px}.project-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:5px;max-width:220px;min-height:36px;padding:5px 8px;font-weight:600;overflow:hidden}.save-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:160px;font-size:11px;overflow:hidden}.save-status:before{content:"";vertical-align:1px;background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status-error{color:var(--danger)}.mode-switch{background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;gap:3px;padding:3px;display:flex}.mode-button{background:0 0;border-color:#0000;min-height:30px;padding:4px 13px;font-size:12px}.mode-button.active{background:var(--surface);color:var(--accent);border-color:var(--border)}.studio-header .icon-button{min-height:34px;padding:5px 9px;font-size:12px}.studio-body{grid-template-columns:var(--layers-width,236px) minmax(0, 1fr) var(--properties-width,300px);flex:1;min-height:0;display:grid}.layers-panel{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.panel-heading{align-items:center;gap:8px;min-height:50px;padding:12px;display:flex}.panel-heading .subtle{font-variant-numeric:tabular-nums;background:var(--surface-alt);border-radius:4px;padding:1px 5px}.layers-panel .layer-search{width:calc(100% - 24px);min-height:34px;margin:0 12px 10px;font-size:12px}.panel-heading h2{font-size:13px}.panel-heading .button{margin-left:auto}.object-list{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:2px 6px 8px;overflow:auto}.empty-layers{gap:7px;padding:22px 12px;display:grid}.empty-layers>p:first-child{font-size:13px;font-weight:550}.object-row{border:1px solid #0000;border-radius:6px;align-items:center;gap:2px;min-height:44px;margin-bottom:4px;display:flex}.object-row:not(.selected):hover{background:var(--surface-alt)}.object-row.selected{background:var(--accent-soft);border-color:var(--accent)}.object-select{text-align:left;background:0 0;border:0;border-radius:4px;flex:1;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:0 5px;min-width:0;min-height:38px;padding:6px;display:grid}.object-symbol{color:var(--accent);grid-row:1/3;font-size:17px}.object-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;overflow:hidden}.object-kind{color:var(--muted);font-size:10px}.layer-toggle{min-width:36px;min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:4px;font-size:10px}.layer-toggle:hover{background:var(--surface-alt)}.layers-footer{border-top:1px solid var(--border);padding:12px}.workspace-center{background:var(--canvas);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.tool-row{background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:thin;flex-shrink:0;align-items:center;gap:4px;min-height:46px;padding:6px 10px;display:flex;overflow-x:auto}.tool-row>*,.view-row>*{flex-shrink:0}.tool-group{flex-shrink:0;align-items:center;gap:3px;display:flex}.tool-divider{background:var(--border);flex-shrink:0;width:1px;height:22px;margin:0 5px}.tool-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:15px;line-height:1;display:inline-flex}.layer-search{width:calc(100% - 24px);margin:0 12px 12px}.toolbar-spacer{flex:8px;min-width:8px}.tool-row>.subtle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tool-button{background:0 0;border-color:#0000;min-height:34px;padding:6px 10px;font-size:12px}.tool-button.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.viewport-host{flex:1;min-height:180px;position:relative;overflow:hidden}.viewport-feedback{border:1px solid var(--border);background:var(--surface);max-width:calc(100% - 32px);color:var(--muted);z-index:5;pointer-events:auto;overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:10px;padding:7px 12px;font-size:12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #0000000c}.viewport-feedback[data-state=error]{border-color:var(--danger);color:var(--danger);pointer-events:auto}.viewport-empty{z-index:3;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;display:flex;position:absolute;inset:0}.viewport-empty>h2,.viewport-empty>h3,.viewport-empty>p,.viewport-empty>.subtle{max-width:360px}.viewport-empty>h2,.viewport-empty>h3{font-size:18px}.viewport-empty .button{pointer-events:auto;margin-top:4px}.selection-toolbar{z-index:4;border:1px solid var(--border);background:var(--surface);border-radius:9px;align-items:center;gap:5px;max-width:calc(100% - 24px);padding:5px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 3px 16px #00000012}.selection-toolbar>.subtle{text-overflow:ellipsis;white-space:nowrap;max-width:180px;padding:0 6px;overflow:hidden}.selection-toolbar .button{min-height:32px;padding:5px 8px;font-size:11px}.vector-viewport,.solid-viewport{position:absolute;inset:0}.vector-canvas,.solid-canvas{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.grid-dot{fill:var(--border)}.artboard{fill:var(--surface);stroke:var(--border);stroke-width:.5px}.selection-outline{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.drawing-preview{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke;pointer-events:none}.view-row{border-top:1px solid var(--border);background:var(--surface);scrollbar-width:thin;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:3px;min-height:42px;padding:5px 8px;display:flex;overflow-x:auto}.view-button{background:0 0;border-color:#0000;min-height:30px;padding:4px 7px;font-size:11px}.properties-panel{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.panel-resizer{z-index:20;cursor:col-resize;touch-action:none;background:0 0;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0}.panel-resizer[data-side=left]{right:-4px}.panel-resizer[data-side=right]{left:-4px}.panel-resizer:after{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:3px}.panel-resizer:hover:after,.panel-resizer:focus-visible:after{background:var(--accent)}.panel-resizer:focus-visible{outline-offset:-2px}.studio[data-panels=hidden] .studio-body{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid}.studio[data-panels=hidden] .layers-panel,.studio[data-panels=hidden] .properties-panel{display:none}.studio[data-panels=hidden] .workspace-center{grid-area:1/1}.panel-tabs{border-bottom:1px solid var(--border);align-items:center;gap:4px;min-height:46px;padding:6px 8px;display:flex}.panel-tab{background:0 0;border-color:#0000;flex:1;min-height:36px;font-size:12px}.panel-tab.active{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.inspector-content{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:0 12px 16px;overflow:auto}.property-section{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:14px 0;display:flex}.property-section>h3{width:100%;color:var(--text);margin-bottom:2px;font-size:12px;font-weight:650}.inspector-content .input{font-variant-numeric:tabular-nums;min-height:36px;font-size:12px}.inspector-content .button{font-size:11px}.property-section>.subtle,.property-section>.field{width:100%}.property-section:last-child{border-bottom:0}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-label{color:var(--muted);font-size:11px;font-weight:550}.input{border:1px solid var(--control-border);width:100%;min-width:0;min-height:38px;color:var(--text);background:var(--surface);border-radius:6px;padding:7px 9px}.input:hover{border-color:var(--muted)}textarea.input{resize:vertical;line-height:1.65}.input[aria-invalid=true]{border-color:var(--danger)}.input-row{align-items:center;min-width:0;display:flex;position:relative}.input-row .input{padding-right:30px}.input-unit{color:var(--muted);pointer-events:none;font-size:10px;position:absolute;right:9px}.field-error{color:var(--danger);font-size:11px}.field-error:empty{display:none}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.field-grid:has(>.field:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid .input{padding-left:6px;font-size:12px}.field-grid .input-row .input{padding-right:24px}.field-grid .input-unit{font-size:9px;right:6px}.studio-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:14px;min-height:32px;padding:3px 12px;display:flex}.studio-footer>.subtle:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.studio-footer .save-status{margin-left:auto}.studio-footer>.text-button{min-height:26px;margin-left:auto;padding:3px 7px;font-size:11px}.studio-footer>.subtle:first-child{color:var(--text)}.context-menu{z-index:1500;border:1px solid var(--border);background:var(--surface);min-width:235px;max-height:min(600px,90vh);box-shadow:var(--shadow);border-radius:9px;padding:5px;position:fixed;overflow:auto}.command-search{width:100%;margin-bottom:14px}.command-list{gap:5px;max-height:min(440px,60dvh);padding:4px;display:grid;overflow:auto}.command-list .button{text-align:left;white-space:normal;justify-content:space-between;gap:12px;width:100%}.command-list .button:hover,.command-list .button:focus-visible{background:var(--accent-soft)}.menu-item{text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:22px;width:100%;min-height:36px;padding:7px 10px;font-size:12px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus{background:var(--accent-soft)}kbd{color:var(--muted);font-family:inherit;font-size:10px}.menu-divider{background:var(--border);height:1px;margin:5px}.dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;width:min(620px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:auto}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e10185c}.dialog-header{border-bottom:1px solid var(--border);z-index:2;background:var(--surface);justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex;position:sticky;top:0}.dialog-header h2{overflow-wrap:anywhere;word-break:keep-all;min-width:0;font-size:18px;line-height:1.45}.dialog-header>.icon-button{flex-shrink:0;min-height:36px;padding:6px 10px;font-size:12px}.dialog-body,.dialog>.field,.dialog>p{flex-direction:column;gap:14px;min-width:0;padding:22px 24px;display:flex}.dialog-actions{border-top:1px solid var(--border);z-index:2;background:var(--surface);justify-content:flex-end;gap:9px;padding:16px 24px;display:flex;position:sticky;bottom:0}.dialog-actions:empty{display:none}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.code-input,.code-preview,.checksum{font-family:ui-monospace,Cascadia Code,monospace;font-size:11px;line-height:1.65}.code-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-alt);border-radius:5px;max-height:230px;padding:10px;overflow:auto}.version-row,.member-row,.audit-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.member-row>.field{min-width:100px}.member-row>.field label{display:none}.download-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.download-dialog{width:min(760px,100vw - 32px)}.download-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;min-width:0;padding:18px;display:flex}.download-row h3{font-size:15px}.download-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.download-architecture{background:var(--surface-alt);border:1px solid var(--border);color:var(--muted);border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:11px}.download-link{white-space:normal;text-align:center;overflow-wrap:anywhere;width:100%;min-width:0;min-height:42px;padding:9px 10px;font-size:13px}.download-filename{color:var(--muted);overflow-wrap:anywhere;font-size:10px;line-height:1.5}.download-pending{background:var(--surface-alt)}.download-pending>.button{margin-top:auto}.checksum{overflow-wrap:anywhere;margin-top:7px;font-size:10px;display:block}.download-row summary{cursor:pointer;color:var(--muted);padding:4px 0;font-size:11px}.provider-list{gap:10px;display:grid}.provider-card{border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:18px;display:grid}.provider-card h3{flex:1;grid-area:1/1;min-width:0}.provider-card>p{grid-area:2/1/auto/-1}.provider-card .status-badge,.provider-card>.button{grid-row:1}.provider-card .status-badge{grid-column:2}.provider-card>.button{grid-column:3}.status-badge{border:1px solid var(--border);background:var(--surface-alt);color:var(--muted);border-radius:4px;padding:3px 6px;font-size:10px}.status-badge.ready{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.connection-status{color:var(--accent);min-height:24px;font-size:13px}.connector-setup{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;min-width:0;padding:18px}.connector-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.connector-heading h3{margin:0;font-size:14px;line-height:1.5}.connector-actions{margin-top:12px}.connector-actions>.primary{min-width:104px}.connector-help{margin-top:14px}.connector-help>summary{cursor:pointer;color:var(--muted);padding:4px 0;font-size:12px;line-height:1.7}.connector-help>p{margin:10px 0}.connector-help>.button{margin-top:3px}.ai-first-run{overflow-wrap:anywhere;scrollbar-gutter:stable;border-radius:10px;flex:0 auto;min-height:120px;max-height:min(340px,48%);padding:12px;overflow:auto}.ai-first-run .connector-heading{gap:6px;margin-bottom:7px}.ai-first-run .connector-heading h3{font-size:12px}.ai-first-run .status-badge{white-space:nowrap;font-size:10px}.ai-first-run>p,.ai-first-run .connector-file>p{margin:8px 0;font-size:11px;line-height:1.6}.ai-first-run .input{width:100%;min-width:0;min-height:36px;font-size:12px}.connector-file{min-width:0}.connector-file>.download-link{width:100%;min-width:0;min-height:36px;margin-top:4px}.connector-first-run-actions{gap:6px;margin-top:10px}.connector-first-run-actions>.button,.connector-first-run-actions>.text-button{min-height:34px;font-size:11px}.connector-first-run-status{color:var(--accent)}.connection-status[data-state=error]{color:var(--danger)}.download-tabs{border:1px solid var(--border);background:var(--surface-alt);border-radius:11px;gap:6px;padding:5px;display:flex}.download-tab{min-width:0;min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:1;padding:8px 12px;font-size:13px;font-weight:600}.download-tab[aria-selected=true]{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000000a}.download-panel,.connector-downloads{flex-direction:column;gap:14px;min-width:0;display:flex}.download-panel>p,.connector-downloads>p{font-size:13px;line-height:1.7}@media (max-width:440px){.connector-setup{padding:14px}.download-tab{padding:8px 5px;font-size:12px}}.ai-panel{flex:1;min-height:0;overflow:hidden}.ai-content{flex-direction:column;gap:10px;height:100%;min-height:0;padding:14px;display:flex}.ai-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;display:flex}.ai-heading h2{font-size:13px}.ai-heading .text-button{font-size:11px}.ai-heading-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.ai-heading-actions .text-button{min-height:28px;padding:4px 5px}.chat-phase{color:var(--muted);white-space:nowrap;font-size:10px;line-height:1.4}.ai-content>.input{flex-shrink:0}.ai-content>.subtle{flex-shrink:0;font-size:11px}.ai-settings-body{gap:22px;display:grid}.setting-heading{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.setting-heading>.button{min-height:32px;padding:5px 9px;font-size:11px}.ai-setting-field,.ai-custom-model{gap:8px;min-width:0;display:grid}.ai-settings-body .input{min-height:44px;font-size:13px}.ai-settings-body .field-label{color:var(--text);font-size:12px;font-weight:600}.catalog-status,.ai-settings-hint{font-size:11px;line-height:1.6}.catalog-error{color:var(--danger)}.effort-options{flex-wrap:wrap;gap:6px;display:flex}.effort-option{flex:1 0 64px;min-width:0;position:relative}.effort-option>input{opacity:0;width:1px;height:1px;position:absolute}.effort-option>span{border:1px solid var(--control-border);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:42px;padding:8px 10px;font-size:12px;display:flex}.effort-option>input:checked+span{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:650}.effort-option>input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.effort-option>input:disabled+span{cursor:default;color:var(--muted);background:var(--surface-alt);border-color:var(--border);box-shadow:none}.ai-advanced{border-top:1px solid var(--border);min-width:0;padding-top:14px}.ai-advanced>summary{cursor:pointer;color:var(--muted);padding:5px 0;font-size:12px}.ai-advanced>p,.ai-advanced>.ai-setting-field,.ai-advanced>.button{margin-top:10px}.settings-connection{background:var(--surface-alt);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.chat-composer{border:1px solid var(--border);background:var(--surface-alt);border-radius:16px;flex-shrink:0;padding:10px}.composer-model-controls{border-top:1px solid var(--border);grid-template-columns:78px minmax(0,1fr) 28px;align-items:center;gap:6px;min-width:0;padding:7px 0;display:grid}.composer-select{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;max-width:100%;min-height:32px;color:var(--text);text-overflow:ellipsis;border-radius:7px;padding:4px 5px;font-size:11px}.composer-select:disabled{opacity:.65}.composer-effort-field{min-width:0;color:var(--muted);grid-column:1/-1;align-items:center;gap:7px;font-size:11px;display:flex}.composer-effort-field .composer-select{width:auto;min-width:88px;margin-right:auto}.composer-keyboard-hint{color:var(--muted);margin-left:auto;font-size:10px}.composer-catalog-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:10px;line-height:1.5}.chat-usage{font-size:10px;line-height:1.5}.chat-usage:empty{display:none}.auth-options{gap:12px;display:grid}.auth-provider.kakao{color:#191919;background:#fee500;border-color:#fee500}.auth-provider{justify-content:center;align-items:center;gap:10px;display:flex}.auth-provider.google{color:#1f1f1f;background:#fff;border-color:#747775}.provider-logo{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.provider-logo>img{object-fit:contain;width:100%;height:100%}.provider-logo .logo-dark,:root[data-theme=dark] .provider-logo .logo-light{display:none}:root[data-theme=dark] .provider-logo .logo-dark{display:block}.model-choice .provider-logo{width:16px;height:16px}.chat-author,.provider-card h3{align-items:center;gap:7px;display:inline-flex}.chat-author .provider-logo{width:14px;height:14px}.auth-provider .provider-logo{width:24px;height:24px}.chat-composer:focus-within{border-color:var(--focus)}.chat-composer .chat-input{resize:none;width:100%;box-shadow:none;background:0 0;border:0;padding:7px 5px;font-size:13px}.chat-composer .chat-controls{gap:4px}.composer-attach,.model-choice{color:var(--muted);background:0 0;border:0;border-radius:12px;min-height:36px}.model-details{border-radius:7px;justify-content:center;width:28px;min-height:32px;padding:0;font-size:18px}.composer-attach{flex-shrink:0;width:32px;padding:0;font-size:28px;font-weight:300}.composer-attach:hover,.model-choice:hover{color:var(--text);background:var(--surface)}.model-choice{flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;padding:4px;font-size:11px;display:flex}.model-choice-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-choice-effort{color:var(--accent);flex-shrink:0}.model-choice-chevron{flex-shrink:0}.chat-composer .chat-controls>.primary,.chat-composer .chat-controls>.composer-stop{background:var(--text);width:36px;height:36px;min-height:36px;color:var(--surface-alt);border:0;border-radius:50%;flex-shrink:0;padding:0;font-size:24px}.chat-composer .chat-controls>.composer-stop{font-size:16px}.chat-messages{overscroll-behavior:contain;overflow-wrap:anywhere;flex-direction:column;flex:1;gap:18px;min-height:0;padding:8px 0;display:flex;overflow:auto}.chat-welcome{background:var(--surface-alt);border-radius:12px;gap:8px;padding:22px 12px;display:grid}.chat-welcome>p:first-child{font-size:15px;font-weight:600}.chat-message{flex-direction:column;align-items:flex-start;gap:7px;min-width:0;padding:6px 2px;font-size:13px;display:flex}.chat-message.user{background:var(--surface-alt);border:1px solid var(--border);border-radius:12px;margin-left:20px;padding:10px 12px}.chat-author{color:var(--muted);font-size:10px;font-weight:650}.chat-text{white-space:pre-wrap;width:100%;min-width:0;line-height:1.75}.chat-text>p{margin:0 0 10px}.chat-text>p:last-child{margin-bottom:0}.chat-working .chat-text{color:var(--muted);font-size:12px}.proposal-status{color:var(--muted);margin:3px 0;font-size:11px}.chat-message[data-state=applied] .proposal-status,.chat-message[data-state=undone] .proposal-status{color:var(--accent)}.proposal-actions{gap:6px;width:100%}.proposal-actions>.button,.chat-message>.button{min-height:34px;font-size:11px}.chat-input{flex-shrink:0;min-height:72px;max-height:160px}.chat-controls{flex-shrink:0;align-items:center;gap:7px;display:flex}.ai-usage-body{gap:14px;display:grid}.ai-usage-body h3,.ai-usage-body p{margin:0}.ai-usage-dialog{width:min(560px,100vw - 28px)}.provider-usage{gap:14px;min-width:0;display:grid}.usage-plan{font-size:12px;font-weight:600}.usage-limit-list{gap:10px;display:grid}.usage-window{border:1px solid var(--border);background:var(--surface-alt);border-radius:10px;padding:12px}.usage-window-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px;margin-bottom:8px;display:flex}.usage-window-heading h4,.usage-window-heading strong{margin:0;font-size:12px}.usage-window progress{width:100%;height:8px;accent-color:var(--accent);margin:8px 0;display:block}.usage-window .subtle,.usage-checked-at{font-size:11px;line-height:1.6}.usage-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.usage-summary>div{border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px 12px}.usage-summary dt{color:var(--muted);font-size:11px}.usage-summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:5px 0 0;font-size:17px}.usage-daily{font-size:12px}.usage-daily summary{cursor:pointer;min-height:32px;color:var(--muted)}.usage-daily table{border-collapse:collapse;width:100%;font-size:12px}.usage-daily th,.usage-daily td{border-bottom:1px solid var(--border);text-align:left;padding:7px 0}.usage-daily th:last-child,.usage-daily td:last-child{text-align:right;font-variant-numeric:tabular-nums}.cli-signals{margin-top:12px;font-size:12px}.cli-signals summary{cursor:pointer;color:var(--muted)}.cli-signal-list{gap:12px;margin:10px 0 0;padding-left:18px;display:grid}.cli-signal-heading{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.cli-signal-heading strong{overflow-wrap:anywhere;font-weight:500}.cli-signal-metrics{gap:4px;margin:6px 0 0;display:grid}.cli-signal-metrics>div{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.cli-signal-metrics dt{color:var(--muted)}.cli-signal-metrics dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.chat-controls>.primary{margin-left:auto}.chat-controls .button{min-height:36px;padding:6px 10px;font-size:12px}.chat-attachments{flex-shrink:0;gap:4px;max-height:160px;display:grid;overflow:auto}.attachment{align-items:center;gap:7px;min-width:0;font-size:11px;display:flex}.attachment img{object-fit:cover;border-radius:3px;width:28px;height:28px}.attachment>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.attachment .text-button{min-height:28px;font-size:10px}.command-preview{width:100%;font-size:11px}.command-preview summary{cursor:pointer;min-height:30px;color:var(--accent);align-items:center;display:flex}.assumptions{color:var(--muted);margin:0;padding-left:18px;font-size:11px}.readonly .project-title{cursor:default}@media (min-width:1600px){.studio-body{grid-template-columns:var(--layers-width,236px) minmax(0, 1fr) var(--properties-width,300px)}.portal-main{padding-top:32px}}@media (max-width:1200px){.studio-header{gap:5px}.studio-header>.save-status{max-width:130px}.studio-header .compact{padding:6px 8px;font-size:11px}.studio-header>.icon-button{padding:5px 6px;font-size:11px}.project-title{max-width:170px}.studio-body{grid-template-columns:var(--layers-width,210px) minmax(0, 1fr) var(--properties-width,280px)}.view-row{max-height:100px;overflow:auto}.studio-header .theme-select{max-width:100px;font-size:11px}}@media (max-width:900px){.welcome{grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:20px;padding:24px}.welcome-art{height:180px}.studio-header{scrollbar-width:thin;overflow-x:auto}.studio-header>.header-spacer{display:none}.studio-header>*{flex-shrink:0}.studio-header>.save-status{max-width:180px}.studio-body{grid-template-columns:minmax(0,1fr) 260px}.panel-resizer,.layers-panel{display:none}.panels-expanded .studio-body{grid-template-rows:minmax(280px,1fr) 140px;grid-template-columns:minmax(0,1fr) 260px;overflow-y:auto}.panels-expanded .layers-panel{border-top:1px solid var(--border);grid-area:2/1/auto/-1;display:flex}.panels-expanded .workspace-center{grid-area:1/1}.panels-expanded .properties-panel{grid-area:1/2}.panels-expanded .layers-panel .panel-heading{padding:8px 12px}.panels-expanded .layers-footer,.studio-footer>.subtle:nth-child(2){display:none}.portal-header{gap:7px;padding:12px 3vw}.portal-header>.brand-button{font-size:15px}.portal-header .compact{padding:6px 8px;font-size:11px}.portal-main{padding:24px 0 36px}.projects-toolbar{flex-wrap:wrap}.projects-toolbar>.header-spacer{display:none}.projects-toolbar>div:first-child{flex:1;min-width:220px}.studio-header>.project-title{max-width:160px}}@media (max-width:620px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metric{padding:14px}.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-tab{text-align:center;padding:8px}.portal-account-actions{flex:0 100%;width:100%;margin-left:auto}.portal-header{flex-wrap:wrap}.portal-header>.brand-button{flex:1}.portal-header>.header-spacer{display:none}.portal-header .theme-select{max-width:110px}.portal-main{width:90vw}.welcome{border-radius:16px;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:28px;padding:20px}.welcome-art{display:none}.welcome-copy{font-size:14px}.create-actions .large{flex:calc(50% - 5px);min-height:42px;padding:10px 13px;font-size:12px}.create-actions .large:last-child{flex-basis:100%}.project-controls{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.project-search-field{grid-column:1/-1;min-width:0;max-width:none}.project-result-status{margin-left:0;font-size:11px}.project-view-button{min-height:36px;padding:5px 8px;font-size:11px}.project-list .project-open{gap:10px}.project-list .project-preview{flex-basis:48px;width:48px;height:56px}.project-list .project-info h3{font-size:13px}.project-list .project-updated{font-size:10px}.project-list .project-card-actions{flex-direction:column;gap:0;padding-right:6px}.project-list .project-card-actions .text-button{min-height:32px;padding:4px 6px;font-size:11px}.workspace-context{padding:14px}.workspace-context-info{width:100%}.studio-body{display:flex}.workspace-center{flex:1}.properties-panel{display:none}.panels-expanded .studio-body{grid-template-rows:minmax(260px,1fr) 140px minmax(300px,.85fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden auto}.panels-expanded:has(.ai-panel:not([hidden])) .studio-body{grid-template-rows:minmax(260px,1fr) 140px minmax(600px,1.3fr)}.panels-expanded .properties-panel{border-left:0;border-top:1px solid var(--border);grid-area:3/1;display:flex}.studio-header>.brand-button{font-size:15px}.project-title{max-width:140px}.studio-footer{gap:5px}.studio-footer>.subtle{font-size:10px}.studio-footer>.subtle:first-child{flex:1}.studio-footer .save-status{max-width:120px;font-size:10px}.viewport-empty{padding:20px}.viewport-empty>h3{font-size:16px}.selection-toolbar>.subtle{max-width:100px;font-size:10px}.view-row{max-height:115px}.download-list{grid-template-columns:minmax(0,1fr)}.provider-card{grid-template-columns:minmax(0,1fr) auto}.provider-card .status-badge{grid-column:2}.provider-card>.button{grid-area:3/1/auto/-1}.ai-settings-body{gap:18px}.settings-connection{flex-wrap:wrap}.dialog-header{padding:16px}.dialog-body,.dialog>.field,.dialog>p{padding:18px 16px}.dialog-actions{padding:14px 16px}.dialog-header h2{font-size:16px}.portal-footer{gap:5px}.welcome h1{font-size:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media (max-height:700px){.chat-attachments{max-height:64px}.chat-input{min-height:70px;max-height:90px}.ai-content{gap:6px}.chat-welcome{padding:10px 4px}}@media (max-height:420px){.ai-panel{overflow:auto}.ai-content{height:auto;min-height:350px}.studio-body{overflow:auto}}
