:root{--bg: #070707;--panel: #111111;--panel-2: #181818;--panel-3: #0c0c0c;--line: #2a2a2a;--line-bright: #4a4a4a;--text: #f5f5f5;--muted: #9a9a9a;--soft: #d0d0d0;--blue: #ffffff;--green: #d8d8d8;--amber: #c4c4c4;--canvas: #050505;--shadow: 0 16px 40px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:13px}*{scrollbar-width:thin;scrollbar-color:#5a5a5a #111111}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#111;border-radius:999px}*::-webkit-scrollbar-thumb{min-height:42px;border:2px solid #111111;border-radius:999px;background:#5a5a5a}*::-webkit-scrollbar-thumb:hover{background:#7a7a7a}*::-webkit-scrollbar-corner{background:#111}button,input,select,textarea{font:inherit}button{border:1px solid var(--line-bright);border-radius:6px;background:#161616;color:var(--text);min-height:32px;padding:6px 10px;cursor:pointer}button:hover{border-color:#f5f5f5;background:#242424}button:disabled{cursor:not-allowed;opacity:.58}button.primary{border-color:#f5f5f5;background:#f5f5f5;color:#050505;font-weight:800}button.primary:hover{background:#fff;color:#000}button.good{border-color:#d8d8d8;background:#242424}button.warn{border-color:#a0a0a0;background:#202020}button.ghost{background:transparent}input,select,textarea{width:100%;border:1px solid #303030;border-radius:6px;background:#0b0b0b;color:var(--text);min-height:32px;padding:6px 8px;outline:none}input:focus,select:focus,textarea:focus{border-color:#f5f5f5;box-shadow:0 0 0 2px #ffffff24}textarea{resize:vertical;min-height:88px;line-height:1.45}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.app{display:flex;flex-direction:column;height:100%;min-height:0}.app.figma-mode,.app.auth-mode{display:block;width:100%;height:100%}.topbar{flex:0 0 52px;display:flex;align-items:center;gap:14px;padding:0 16px;border-bottom:1px solid #242424;background:#0b0b0b;box-shadow:var(--shadow);z-index:2}.brand{display:grid;grid-template-columns:auto minmax(170px,240px);gap:12px;align-items:center;min-width:360px}.brand strong{color:#f5f5f5;font-size:15px;line-height:1.15;white-space:nowrap}.brand select{min-height:30px}.brand button{min-height:30px;white-space:nowrap}.stage-tabs{display:flex;align-self:stretch;min-width:0;overflow-x:auto}.stage-tabs button{min-width:112px;min-height:52px;border:0;border-left:1px solid rgba(43,55,71,.75);border-radius:0;background:transparent;color:var(--muted);font-weight:800}.stage-tabs button:hover{background:#191919}.stage-tabs button.active{background:#242424;color:#fff}.top-actions{margin-left:auto;display:flex;justify-content:flex-end;gap:8px;align-items:center}.top-actions select{width:180px;min-height:30px}.user-menu{position:relative}.user-menu-trigger{min-width:82px}.user-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:grid;gap:6px;width:150px;padding:8px;border:1px solid #343434;border-radius:8px;background:#101010;box-shadow:0 18px 48px #00000085}.user-menu-panel button{justify-content:flex-start;width:100%;border-color:transparent;background:transparent;text-align:left}.user-menu-panel button:hover{border-color:#303030;background:#1c1c1c}.cloud-strip{flex:0 0 auto;padding:5px 14px;border-bottom:1px solid #233042;background:#0d0d0d;color:#bdbdbd;font-size:12px}.login-page{display:grid;place-items:center;width:100%;height:100%;padding:24px;background:radial-gradient(circle at 50% 28%,#1b1b1b 0,#070707 52%),#070707}.login-card{width:min(520px,100%);display:grid;gap:18px;padding:44px;border:1px solid #333;border-radius:8px;background:linear-gradient(180deg,#151515,#0f0f0f);box-shadow:0 30px 100px #0000008c;transition:min-height .22s ease,padding .22s ease}.login-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#f5f5f5;color:#070707;font-weight:900}.login-card h1{margin:0;font-size:30px;letter-spacing:0}.login-card p{margin:0;color:var(--muted);line-height:1.55}.login-card .field{display:grid;gap:8px}.auth-fields{display:grid;gap:14px}.login-card .field label{color:#b8b8b8;font-weight:800}.login-card input{min-height:44px;border-color:#333;background:#080808;color:#f5f5f5;font-size:15px}.login-card input::placeholder{color:#666}.login-card input:-webkit-autofill,.login-card input:-webkit-autofill:hover,.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:#f5f5f5;box-shadow:0 0 0 1000px #080808 inset;transition:background-color 9999s ease-out}.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid #2f2f2f;border-radius:8px;background:#080808}.auth-switch button{min-height:38px;border-color:transparent;background:transparent;color:#9d9d9d;font-weight:900}.auth-switch button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.login-button{min-height:44px;margin-top:2px;font-size:15px}.login-error{color:#ffb69f!important}.login-hint{font-size:12px}.member-admin{display:grid;gap:16px}.member-admin h3{margin:0 0 8px;color:#f5f5f5;font-size:13px}.member-list{display:grid;gap:8px;max-height:260px;overflow:auto}.member-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;padding:8px;border:1px solid #2c2c2c;border-radius:6px;background:#0b0b0b}.member-row strong,.member-row small{display:block}.member-row small{margin-top:2px;color:var(--muted)}.shell{flex:1 1 auto;display:grid;grid-template-columns:300px minmax(520px,1fr) 360px;min-height:0}.sidebar,.inspector{min-height:0;overflow:auto;background:#101010;border-right:1px solid #242424}.inspector{border-right:0;border-left:1px solid #242424}.section{padding:14px;border-bottom:1px solid var(--line)}.section h2{margin:0 0 10px;color:#f5f5f5;font-size:13px;letter-spacing:0}.hint{color:var(--muted);font-size:12px;line-height:1.45}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.field{margin-top:8px}.field label,.field-label{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:700}.field-group{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid #242424}.field-group>strong{color:#f5f5f5;font-size:12px}.preset-list{display:grid;gap:8px}.preset-list button{display:grid;gap:3px;width:100%;text-align:left}.preset-list button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.preset-list button span,.preset-list button small{color:inherit;opacity:.72}.toolbar-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.palette-tool{cursor:grab;touch-action:none}.palette-tool.dragging{border-color:#f5f5f5;background:#f5f5f5;color:#050505;cursor:grabbing}.overlay-panel{display:grid;gap:8px;margin-top:10px;padding:10px;border:1px solid #2c2c2c;border-radius:6px;background:#0b0b0b}.overlay-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.overlay-panel-head strong{color:#f5f5f5;font-size:12px}.overlay-panel-head span{color:var(--muted);font-size:11px}.overlay-panel input[type=range]{width:100%;accent-color:#f5f5f5}.screen-list{display:grid;gap:8px}.screen-batchbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:6px;align-items:center;margin-bottom:8px}.screen-batchbar span{color:var(--muted);font-size:11px}.screen-batchbar button{min-height:26px;padding:3px 8px;font-size:10px}.screen-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px 8px;align-items:center;width:100%;border:1px solid #2a2a2a;border-radius:6px;padding:9px;background:#0a0a0a}.screen-card:hover{border-color:#6a6a6a;background:#141414}.screen-card.selected{border-color:#f5f5f5;background:#1a1a1a;box-shadow:inset 3px 0 #f5f5f5}.screen-card-main{display:grid;grid-column:1 / 2;grid-row:1 / span 3;gap:4px;min-height:0;padding:0;border:0;background:transparent;text-align:left}.screen-card-main:hover{border-color:transparent;background:transparent}.screen-card-main:focus{outline:none}.screen-card:has(.screen-card-main:focus-visible){border-color:#dcdcdc;box-shadow:0 0 0 2px #ffffff29}.screen-select,.screen-delete{grid-column:2 / 4;justify-self:end;min-height:24px;padding:2px 7px;border-color:#3a3a3a;background:#101010;color:var(--muted);font-size:10px}.screen-select:hover,.screen-delete:hover,.screen-select.active{border-color:#f5f5f5;background:#242424;color:#f5f5f5}.screen-select{grid-row:1;margin-right:44px}.screen-delete{grid-row:1}.screen-list strong{color:#f5f5f5;font-size:12px}.screen-list span:not(.badge){grid-column:1 / -1;color:var(--muted);font-size:11px}.screen-list small{grid-column:1 / -1;overflow:hidden;color:#777;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:9px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.screen-list .badge.current{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.screen-card .badge{grid-column:2 / 4;justify-self:end}.screen-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}.delete-screen-list{display:grid;gap:6px;max-height:180px;overflow:auto;margin-top:10px;padding:8px;border:1px solid #2c2c2c;border-radius:6px;background:#0b0b0b}.delete-screen-list span{overflow:hidden;color:#f5f5f5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.quick-actions{display:grid;gap:8px}.empty-panel{padding:10px;border:1px dashed #333;border-radius:8px;background:#0b0b0b;color:var(--muted);font-size:12px;line-height:1.45}.provider-block{display:grid;gap:8px;margin-top:10px}.provider-block.compact .provider-row{padding:8px}.provider-block.compact .provider-row code{display:none}.provider-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f5f5f5}.provider-head button{min-height:28px;padding:4px 8px}.provider-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.provider-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:8px;background:#0d0d0d}.provider-row strong,.provider-row span,.provider-row code{display:block}.provider-row strong{color:#f5f5f5;font-size:12px}.provider-row span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.4}.provider-row code{max-width:100%;margin-top:5px;overflow:hidden;color:#d6d6d6;text-overflow:ellipsis;white-space:nowrap}.api-result{display:grid;gap:6px;padding:9px;border:1px solid #3a3a3a;border-radius:8px;background:#111}.api-result.warn{border-color:#555;background:#181818}.api-result.wide{margin-top:10px}.api-result strong{color:#f5f5f5;font-size:12px}.api-result p{margin:0;color:var(--soft);font-size:12px;line-height:1.45}.plan-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plan-summary div{min-width:0;border:1px solid #303030;border-radius:6px;padding:8px;background:#0b0b0b}.plan-summary strong,.plan-summary span{display:block}.plan-summary strong{color:#f5f5f5;font-size:18px;line-height:1}.plan-summary span{margin-top:5px;color:var(--muted);font-size:10px}.api-result code{display:block;max-width:100%;overflow:hidden;color:#d6d6d6;text-overflow:ellipsis;white-space:nowrap}.api-result ul{display:grid;gap:4px;margin:0;padding-left:16px}.prompt-audit{margin-top:10px;border:1px solid #303030;border-radius:8px;background:#0b0b0b}.prompt-audit.sent{border-color:#4a4a4a}.prompt-audit summary{cursor:pointer;padding:9px;color:#f5f5f5;font-size:12px;font-weight:800}.prompt-audit pre{max-height:320px;margin:0;padding:9px;overflow:auto;border-top:1px solid #242424;color:#d6d6d6;font-size:11px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.conflict-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.conflict-list li{display:grid;gap:4px;padding:9px;border:1px solid #303030;border-radius:6px;background:#0b0b0b}.conflict-list strong{overflow:hidden;color:#f5f5f5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.conflict-list span{color:var(--muted);font-size:11px}.check{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--soft);font-size:12px}.check input{width:16px;min-height:16px;accent-color:var(--blue)}.file-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid var(--line-bright);border-radius:6px;background:transparent;color:var(--text);cursor:pointer;white-space:nowrap}.file-button:hover{border-color:#f5f5f5;background:#242424}.file-button.disabled{opacity:.48;cursor:not-allowed}.file-button.disabled:hover{border-color:var(--line-bright);background:transparent}.file-button input{display:none}.file-button.compact{min-height:32px;padding:6px 10px}.phase-panel{background:#0b0b0b}.phase-output{display:grid;gap:2px;margin-top:10px;padding:10px;border:1px solid #343434;border-radius:8px;background:#121212}.phase-output span{color:var(--muted);font-size:11px;font-weight:800}.phase-output strong{color:#f5f5f5;font-size:12px}.phase-actions{display:grid;gap:8px;margin-top:10px}.mini-frame-list{display:grid;gap:6px;margin-top:8px}.mini-frame-list button{min-height:28px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:2px 7px;border-radius:99px;background:#242424;color:var(--soft);font-size:11px;font-weight:700}.badge.good,.good{background:#f5f5f5;color:#050505}.badge.warn,.warn{background:#2a2a2a;color:#f5f5f5}.badge.blue,.blue{background:#1c1c1c;color:#f5f5f5}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:#050505}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 14px;border-bottom:1px solid #242424;background:#0b0b0b}.canvas-toolbar strong,.canvas-toolbar span{display:block}.canvas-toolbar strong{color:#f5f5f5;font-size:12px}.canvas-toolbar span{margin-top:2px;color:var(--muted);font-size:11px}.screen-debug{display:block;max-width:560px;margin-top:4px;overflow:hidden;color:#8a8a8a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.status-bar{flex:0 0 28px;display:flex;align-items:center;gap:14px;min-width:0;padding:0 14px;border-top:1px solid #242424;background:#0b0b0b;color:#9a9a9a;font-size:11px;line-height:1}.status-bar span{overflow:hidden;max-width:34vw;text-overflow:ellipsis;white-space:nowrap}.status-bar span:nth-child(4){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.canvas-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.canvas-controls button{min-width:36px;min-height:28px;padding:4px 8px}.canvas-controls button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505;font-weight:900}.segmented-control{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:2px;border:1px solid #343434;border-radius:7px;background:#101010}.segmented-control.wide{display:grid;width:100%;margin-top:8px}.segmented-control button{min-width:44px;min-height:24px;border-color:transparent;background:transparent;color:var(--muted);font-size:11px;font-weight:800}.segmented-control button:hover{border-color:#303030;background:#1c1c1c;color:#f5f5f5}.segmented-control button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.canvas-wrap{position:relative;display:grid;align-content:start;min-height:0;overflow:auto;padding:28px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#050505;background-size:24px 24px}.canvas-wrap.canvas-centered{justify-items:center}.phone-frame{position:relative;width:360px;height:720px;margin:0;overflow:hidden;border:1px solid #343434;border-radius:8px;background:var(--canvas);box-shadow:0 18px 54px #00000073}.phone-frame.palette-drop-target{outline:2px solid rgba(245,245,245,.88);outline-offset:4px}.phone-frame.marquee-active{cursor:crosshair;outline:2px dashed rgba(245,245,245,.78);outline-offset:4px}.empty-canvas-surface{width:min(720px,100%);min-height:520px;margin:0 auto;border:1px solid #242424;border-radius:8px;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#050505;background-size:24px 24px}.empty-canvas-surface.main{width:min(760px,100%);min-height:720px;border-color:#1f1f1f;background-color:#050505}.ui-image{position:absolute;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:2}.safe-top{position:absolute;left:0;top:0;width:100%;height:54px;background:#ffffff0a;border-bottom:1px dashed rgba(255,255,255,.35);pointer-events:none;z-index:3}.capsule{position:absolute;right:10px;top:14px;width:76px;height:28px;border:1px dashed rgba(255,255,255,.5);border-radius:16px;background:#ffffff14;pointer-events:none;z-index:3}.marquee-rect{position:absolute;z-index:8;border:1px solid #f5f5f5;background:#f5f5f524;box-shadow:0 0 0 1px #000000a6;pointer-events:none}.node{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.72);background:#ffffff0f;color:#f5f5f5;font-size:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;-webkit-user-select:none;user-select:none;padding:0;touch-action:none}.node.panel{border-color:#ffffffdb;background:#ffffff14}.node.button{border-color:#d2d2d2db;background:#d2d2d214}.node.icon{border-color:#aaaaaadb;background:#aaaaaa14}.node:hover{border-color:#f5f5f5;background:#ffffff1a}.node.panel:hover{background:#ffffff1a}.node.button:hover{background:#d2d2d21a}.node.icon:hover{background:#aaaaaa1a}.node.selected{outline:2px solid #fff;outline-offset:2px;z-index:5}.node.locked{cursor:default;border-style:dashed}.node span{padding:2px;text-shadow:0 1px 2px #000;pointer-events:none}.resize-handle{position:absolute;width:9px;height:9px;padding:0!important;border:1px solid #050505;border-radius:2px;background:#f5f5f5;box-shadow:0 0 0 1px #ffffff47;pointer-events:auto!important;z-index:8}.resize-handle.n{top:0;left:50%;transform:translate(-50%);cursor:ns-resize}.resize-handle.e{right:0;top:50%;transform:translateY(-50%);cursor:ew-resize}.resize-handle.s{bottom:0;left:50%;transform:translate(-50%);cursor:ns-resize}.resize-handle.w{left:0;top:50%;transform:translateY(-50%);cursor:ew-resize}.resize-handle.ne{right:0;top:0;cursor:nesw-resize}.resize-handle.nw{left:0;top:0;cursor:nwse-resize}.resize-handle.se{right:0;bottom:0;cursor:nwse-resize}.resize-handle.sw{left:0;bottom:0;cursor:nesw-resize}.node:after{content:"";position:absolute;right:0;bottom:0;width:8px;height:8px;background:currentColor;opacity:.75}.cards{display:grid;gap:8px}.card{border:1px solid var(--line);border-radius:8px;padding:10px;background:#0d0d0d}.card strong{display:block;margin-bottom:4px;color:#f5f5f5}.card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.nudge-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.asset-list{display:grid;gap:8px;max-height:300px;overflow:auto}.asset-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;align-items:center;width:100%;padding:8px;text-align:left;background:#0b0b0b}.asset-list button.selected{border-color:#f5f5f5;background:#1a1a1a}.asset-list strong,.asset-list span:not(.badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-list strong{color:#f5f5f5;font-size:12px}.asset-list span:not(.badge){grid-column:1 / -1;color:var(--muted);font-size:11px}.layer-list{gap:6px}.layer-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:#0b0b0b}.layer-row.selected{border-color:#f5f5f5;background:#1a1a1a}.layer-row.selected:before{content:"";position:absolute;left:-1px;top:8px;bottom:8px;width:2px;border-radius:2px;background:#f5f5f5}.layer-row.hidden-layer{opacity:.62}.layer-row.locked-layer .layer-index{border-style:dashed}.layer-select{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0;min-height:46px;padding:7px 8px 7px calc(8px + var(--depth, 0) * 12px);border:0;background:transparent;text-align:left}.layer-select:hover{background:transparent}.layer-index{display:grid;place-items:center;width:24px;height:24px;border:1px solid #3a3a3a;border-radius:6px;color:var(--soft);font-size:10px;font-weight:800}.layer-main{display:grid;gap:2px;min-width:0}.layer-main strong,.layer-main span,.layer-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-main strong{color:#f5f5f5;font-size:12px}.layer-main span,.layer-meta{color:var(--muted);font-size:11px}.layer-meta{max-width:82px}.layer-actions{display:flex;align-items:center;gap:4px;padding:6px 6px 6px 0}.layer-actions button{width:30px;min-width:30px;min-height:30px;padding:0;border-color:#303030;background:#111;color:var(--muted)}.layer-actions button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505;font-weight:900}.layer-state-row{display:flex;gap:12px;align-items:center;margin-bottom:8px}.nudge-pad button{min-height:30px;padding:4px 6px}.figma-meta-card{display:grid;gap:5px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#0d0d0d}.figma-meta-card strong{color:#f5f5f5}.figma-meta-card code{overflow:hidden;color:#d6d6d6;text-overflow:ellipsis;white-space:nowrap}.figma-meta-card span,.figma-meta-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.json-box{max-height:260px;overflow:auto;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#0a0a0a;color:#d6d6d6;font-size:11px;line-height:1.45;white-space:pre-wrap}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);padding:10px 14px;border:1px solid var(--line-bright);border-radius:8px;background:#111;color:#fff;box-shadow:var(--shadow);z-index:10}.atlas-board,.delivery-board{width:min(900px,100%);margin:0 auto}.atlas-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.atlas-card,.delivery-board section{border:1px solid var(--line);border-radius:8px;background:#101010;box-shadow:var(--shadow);padding:14px}.atlas-card h3,.delivery-board h3{margin:0 0 10px;color:#f5f5f5;font-size:14px}.atlas-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.atlas-grid button{display:flex;flex-direction:column;align-items:flex-start;min-height:58px;padding:8px;text-align:left}.atlas-grid button.selected{border-color:var(--blue);background:#242424}.atlas-grid strong{max-width:100%;overflow:hidden;color:#f5f5f5;text-overflow:ellipsis;white-space:nowrap}.atlas-grid span,.delivery-board p{color:var(--muted);font-size:12px}.restore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.restore-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.restore-grid div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#0d0d0d}.restore-grid strong{display:block;color:#f5f5f5;font-size:24px}.restore-grid span{color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{width:min(620px,calc(100vw - 48px));max-height:min(760px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line-bright);border-radius:8px;background:#181818;box-shadow:0 24px 80px #00000085}.modal.wide-modal{width:min(1520px,calc(100vw - 48px))}.modal header,.modal footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.modal footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.modal h2{margin:0;color:#f5f5f5;font-size:15px}.modal-body{min-height:0;overflow:auto;padding:14px}.modal-body p{margin:0 0 10px;color:var(--soft);line-height:1.55}.issue-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.issue-summary div{min-width:0;border:1px solid #303030;border-radius:6px;padding:10px;background:#0b0b0b}.issue-summary strong,.issue-summary span{display:block}.issue-summary strong{color:#f5f5f5;font-size:22px;line-height:1}.issue-summary span{margin-top:6px;color:var(--muted);font-size:11px}.issue-section{display:grid;gap:8px;margin-top:14px}.issue-section h3{margin:0;color:#f5f5f5;font-size:13px}.issue-list{display:grid;gap:8px;margin:0;padding:0;color:#f5f5f5;list-style:none}.issue-list li{margin:0}.issue-list li button{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(76px,auto);gap:6px 8px;align-items:center;width:100%;margin:0;padding:8px;border:1px solid #303030;border-radius:6px;background:#0b0b0b;color:#f5f5f5;text-align:left}.issue-list li button:hover{border-color:#f5f5f5;background:#141414}.issue-list li span{color:#050505;background:#f5f5f5;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900;text-align:center}.issue-list li.warning-issue span{color:#111;background:#bdbdbd}.issue-list li strong,.issue-list li code,.issue-list li small,.issue-list li em{min-width:0}.issue-list li strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-list li code{justify-self:end;color:var(--muted);background:transparent}.issue-list li small{grid-column:2 / 4;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.issue-list li em{grid-column:2 / 4;color:var(--soft);font-size:12px;font-style:normal}.success-text{color:#f5f5f5!important}.import-choice-list{display:grid;gap:10px}.import-choice{display:grid;gap:4px;width:100%;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#111;color:var(--text);text-align:left;cursor:pointer}.import-choice:hover{border-color:var(--blue);background:#1a1a1a}.import-choice strong{color:#f5f5f5;font-size:13px}.import-choice span{color:var(--muted);font-size:12px;line-height:1.45}.file-choice input{display:none}.figma-workspace{display:grid;grid-template-columns:56px 320px minmax(0,1fr);min-height:min(820px,calc(100vh - 150px));background:var(--bg)}.figma-page{width:100vw;height:100vh;overflow:hidden;background:var(--bg)}.figma-page .figma-workspace{width:100%;height:100%;min-height:0}.figma-rail{display:grid;align-content:start;justify-items:center;gap:14px;padding:16px 8px;border-right:1px solid #242424;background:#080808;color:var(--text)}.figma-logo{display:grid;place-items:center;width:32px;height:32px;border:1px solid #f5f5f5;border-radius:6px;background:#f5f5f5;color:#050505;font-weight:900}.figma-rail button{width:36px;height:36px;min-height:36px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-weight:800}.figma-rail button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.figma-left-panel{min-width:0;overflow:auto;border-right:1px solid #242424;background:#101010;color:var(--text)}.figma-file-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) auto;gap:10px;align-items:center;min-height:56px;padding:0 16px;border-bottom:1px solid #242424}.figma-file-head strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.figma-file-head span{max-width:118px;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.figma-file-head button{width:32px;min-width:32px;min-height:32px;padding:0;border-color:#303030;background:#141414;color:var(--text);font-size:16px}.figma-import-controls,.figma-pages,.figma-layers{padding:16px;border-bottom:1px solid #242424}.figma-import-controls{display:grid;gap:8px}.figma-import-controls label,.figma-pages h3,.figma-layers h3{margin:0;color:var(--text);font-size:14px;font-weight:800}.figma-error{color:#f1b3a4!important;font-size:12px;line-height:1.45}.figma-scope-control{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:6px;align-items:center}.figma-scope-control button{min-height:30px;padding:4px 9px;border-color:#303030;background:#111;color:var(--muted)}.figma-scope-control button.active{border-color:#f5f5f5;background:#f5f5f5;color:#050505;font-weight:900}.figma-scope-control span{min-width:0;overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.figma-pages,.figma-layers{display:grid;gap:8px}.figma-pages button,.figma-layer-list button{width:100%;justify-content:flex-start;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--soft);text-align:left}.figma-pages button.active,.figma-pages button:hover,.figma-layer-list button.active,.figma-layer-list button:hover{border-color:#343434;background:#1a1a1a;color:var(--text)}.figma-layer-list{display:grid;gap:4px}.figma-layer-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:6px;align-items:center}.figma-layer-list button{display:grid;grid-template-columns:calc(var(--indent, 0px) + 20px) minmax(0,1fr);gap:8px;align-items:center}.figma-layer-list button span{justify-self:end}.figma-layer-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figma-layer-row .figma-layer-add{display:inline-grid;grid-template-columns:1fr;justify-content:center;width:52px;min-height:28px;padding:4px 6px;border-color:#303030;background:#111;color:var(--muted);font-size:12px;text-align:center}.figma-layer-row .figma-layer-add:not(:disabled):hover{border-color:#f5f5f5;background:#f5f5f5;color:#050505;font-weight:900}.figma-canvas-area{min-width:0;min-height:0;display:grid;grid-template-rows:56px minmax(0,1fr)}.figma-canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid #242424;background:#0b0b0b;color:var(--text)}.figma-canvas-toolbar strong,.figma-canvas-toolbar span{display:block}.figma-canvas-toolbar span{color:var(--muted);font-size:12px}.figma-toolbar-actions{display:flex;gap:8px;align-items:center}.figma-overlay-toggle{color:var(--soft);white-space:nowrap}.figma-import-canvas{position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#050505;background-size:36px 36px;cursor:grab;touch-action:none}.figma-import-canvas.dragging{cursor:grabbing}.figma-canvas-world{position:absolute;inset:0 auto auto 0;transform-origin:0 0;transition:transform .05s linear}.figma-canvas-frame{position:absolute;outline:1px solid transparent}.figma-canvas-frame.active{outline:2px solid #f5f5f5;outline-offset:3px}.figma-canvas-frame.selected .figma-frame-check{border-color:#f5f5f5;background:#f5f5f5;color:#050505}.figma-frame-check{position:absolute;left:0;top:-30px;z-index:3;display:grid;grid-template-columns:18px minmax(0,max-content);align-items:center;gap:5px;max-width:100%;min-height:24px;padding:3px 8px;border:1px solid #303030;border-radius:6px;background:#0a0a0af0;color:var(--soft);font-size:12px;font-weight:700;box-shadow:0 8px 24px #00000052;cursor:pointer}.figma-frame-check input{width:14px;min-height:14px;accent-color:#f5f5f5}.figma-frame-check span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figma-canvas-board{width:100%;height:100%;border:1px solid #242424;border-radius:6px;box-shadow:0 18px 48px #00000075}.figma-canvas-frame footer{position:absolute;left:0;bottom:-27px;display:flex;gap:8px;color:var(--muted);font-size:11px;white-space:nowrap}.figma-preview-board{position:relative;overflow:hidden;border:1px solid #343434;border-radius:8px;background:#080808;box-shadow:0 16px 40px #00000059}.figma-official-render{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:fill}.figma-preview-node{position:absolute;z-index:1;min-height:0;padding:0;border:0;background:transparent;overflow:hidden;cursor:pointer}.figma-preview-board:not(.show-overlay) .figma-preview-node{display:none}.figma-preview-node.text{display:flex;padding:0;border:0;background:transparent;white-space:pre-wrap;word-break:break-word}.figma-preview-node.vector,.figma-preview-node.line{background:transparent}.figma-preview-node.selected{outline:2px solid #f5f5f5;outline-offset:1px;background:#ffffff14}.figma-preview-node.ellipse{border-radius:999px}.figma-empty-preview{display:grid;place-items:center;min-height:360px;border:1px solid var(--line);border-radius:8px;color:var(--muted)}.figma-import-canvas .figma-empty-preview{width:100%;height:100%;min-height:0;border:1px dashed #303030;border-radius:0;background:transparent;color:var(--muted)}.figma-loading-preview{display:grid;place-items:center;align-content:center;gap:10px;width:100%;height:100%;min-height:360px;border:1px dashed #303030;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#050505;background-size:36px 36px;color:#f5f5f5;text-align:center}.figma-loading-preview strong{font-size:16px}.figma-loading-preview span{color:var(--muted);font-size:12px}.loading-dots:after{content:"";display:inline-block;width:24px;text-align:left;animation:loadingDots 1.1s steps(4,end) infinite}@keyframes loadingDots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}@media(max-width:1180px){.shell{grid-template-columns:280px minmax(420px,1fr)}.inspector{display:none}}@media(max-width:860px){.figma-workspace{grid-template-columns:1fr}.figma-rail,.figma-left-panel{display:none}}
