:root{color:#f7f3e8;background:#0d0d10;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;letter-spacing:0}html,body,#app{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;background:#0d0d10}button,input,select{font:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.45}svg{flex:0 0 auto}.app-shell{display:grid;grid-template-columns:minmax(320px,372px) minmax(0,1fr);position:relative;width:100vw;height:100vh;height:100dvh;min-height:0;overflow:hidden;color:#f7f3e8;background:linear-gradient(90deg,rgba(247,202,24,.04) 1px,transparent 1px),linear-gradient(180deg,#101014,#0d0d10 42%,#11100f);background-size:54px 54px,auto}.sidebar{display:flex;flex-direction:column;gap:14px;max-height:100vh;max-height:100dvh;padding:24px 22px;overflow:hidden;background:#141417f0;border-right:1px solid rgba(247,202,24,.2);scrollbar-width:thin;scrollbar-color:rgba(33,208,174,.55) rgba(17,17,21,.9)}.sidebar::-webkit-scrollbar,.drawer-content::-webkit-scrollbar{width:10px;height:10px}.sidebar::-webkit-scrollbar-track,.drawer-content::-webkit-scrollbar-track{background:#111115e6}.sidebar::-webkit-scrollbar-thumb,.drawer-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f7ca18b3,#21d0aeb8);border:2px solid rgba(17,17,21,.9);border-radius:999px}.sidebar::-webkit-scrollbar-thumb:hover,.drawer-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#f7ca18eb,#21d0aeeb)}.sidebar-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.sidebar-head .brand{flex:1 1 auto;min-width:0}.brand{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center}.brand-mark{display:grid;width:64px;height:64px;place-items:center;overflow:hidden;border-radius:8px}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand p,.brand h1{margin:0}.brand p{color:#21d0ae;font-size:.8rem;font-weight:800;text-transform:uppercase}.brand h1{margin-top:5px;font-size:1.28rem;line-height:1.24}.sidebar-params{align-self:flex-start;flex:0 0 auto}.tool-section{display:grid;gap:13px;padding:19px 0 0;border-top:1px solid rgba(247,243,232,.12)}.tool-section-frames{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.tool-section-frames .frame-grid{flex:1 1 auto;min-height:0;overflow:auto;align-content:start;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(33,208,174,.55) rgba(17,17,21,.9)}.tool-section-frames .frame-grid::-webkit-scrollbar{width:10px}.tool-section-frames .frame-grid::-webkit-scrollbar-track{background:#111115e6}.tool-section-frames .frame-grid::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#f7ca18b3,#21d0aeb8);border:2px solid rgba(17,17,21,.9);border-radius:999px}.tool-section h2,.editor-panel h2{display:flex;gap:8px;align-items:center;margin:0;color:#fff9ec;font-size:.96rem;line-height:1.2}.toolbar-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.toolbar-actions .secondary-button{padding:0 8px}.primary-button,.secondary-button,.export-button,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;color:#121214;font-weight:800;white-space:nowrap;border-radius:8px;transition:transform .14s ease,border-color .14s ease,background .14s ease}.primary-button,.export-button{background:#f7ca18}.secondary-button,.tool-button{color:#f7f3e8;background:#232329;border:1px solid rgba(247,243,232,.16)}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.export-button:not(:disabled):hover,.tool-button:not(:disabled):hover{transform:translateY(-1px)}.secondary-button:not(:disabled):hover,.tool-button:not(:disabled):hover{border-color:#21d0ae94}.tool-button.active{color:#121214;background:#f7ca18;border-color:#f7ca18}.secondary-button.slim{min-height:36px;justify-self:start;padding:0 12px}.export-button.full{width:100%}.file-chip{display:flex;gap:8px;align-items:center;min-width:0;min-height:36px;padding:0 10px;color:#d9d3c5;background:#101014;border:1px solid rgba(247,243,232,.12);border-radius:8px}.file-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.source-back{display:inline-flex;align-items:center;gap:6px;justify-self:start;min-height:34px;padding:0 12px 0 8px;color:#f7f3e8;font-weight:700;background:#232329;border:1px solid rgba(247,243,232,.16);border-radius:8px;transition:transform .14s ease,border-color .14s ease}.source-back:hover{transform:translateY(-1px);border-color:#21d0ae94}.source-back-mobile{display:flex;gap:4px;align-items:center;min-width:0;margin:0;padding:0;color:#fff9ec;font-size:.98rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;border:0}.source-back-mobile svg{flex:0 0 auto}.frame-tile{display:grid;gap:7px;min-width:0;padding:8px;color:#f7f3e8;background:#111115;border:1px solid rgba(247,243,232,.14);border-radius:8px}.frame-tile.active{color:#121214;background:#f7ca18;border-color:#f7ca18}.frame-thumb{display:grid;min-height:54px;place-items:center;overflow:hidden;background:linear-gradient(45deg,#24242a 25%,transparent 25%),linear-gradient(-45deg,#24242a 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#24242a 75%),linear-gradient(-45deg,transparent 75%,#24242a 75%),#16161b;background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;border-radius:6px}.frame-thumb img{width:100%;height:64px;object-fit:contain}.frame-tile.active .frame-thumb svg{color:#f7f3e8}.frame-tile span:last-child{min-width:0;overflow:hidden;font-size:.8rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.control-row{display:grid;grid-template-columns:72px minmax(0,1fr) 66px;gap:10px;align-items:center;min-width:0;color:#d9d3c5;font-size:.88rem}.control-row.compact{grid-template-columns:92px minmax(0,1fr) 48px}.control-row span{color:#f7f3e8;font-weight:700}.control-row output{display:inline-flex;gap:4px;align-items:center;justify-content:flex-end;min-width:0;color:#bdb6a8;font-variant-numeric:tabular-nums;white-space:nowrap}.editable-value{display:inline-flex;gap:4px;align-items:center;justify-content:flex-end;min-width:0;color:#bdb6a8;font-variant-numeric:tabular-nums;white-space:nowrap}.editable-value-display{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:6px;padding:2px 6px;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:text;transition:border-color .15s ease,background .15s ease}.editable-value-display:hover:not(:disabled){border-color:#f7ca1880;background:#f7ca1814}.editable-value-display:disabled{cursor:default;opacity:.6}.editable-value-input{width:100%;min-width:0;max-width:64px;border:1px solid #f7ca18;border-radius:6px;padding:2px 4px;background:#19191d;color:#f7f3e8;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.editable-value-input::-webkit-outer-spin-button,.editable-value-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=range]{width:100%;min-width:0;accent-color:#f7ca18}.field-label{display:grid;gap:6px;min-width:0;color:#d9d3c5;font-size:.86rem;font-weight:700}.field-label input,.field-label select{width:100%;min-width:0;height:40px;padding:0 11px;color:#f7f3e8;background:#101014;border:1px solid rgba(247,243,232,.16);border-radius:8px;outline:none}.field-label input:focus,.field-label select:focus{border-color:#21d0ae}.size-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.output-size{margin:0;color:#21d0ae;font-size:.9rem;font-weight:800}.workspace{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.topbar{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0;padding:15px 18px;background:#0f0f12eb;border-bottom:1px solid rgba(247,243,232,.12)}.topbar-group{display:flex;gap:8px;align-items:center;min-width:0}.topbar-brand{display:none;gap:9px;align-items:center;min-width:0}.topbar-brand-mark{display:grid;flex:0 0 auto;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:7px}.topbar-brand-mark img{width:100%;height:100%;object-fit:cover}.topbar-brand-name{min-width:0;overflow:hidden;color:#fff9ec;font-size:1.02rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tool-button{width:42px;padding:0}.tool-button.text-tool{width:auto;padding:0 12px}.status-line{min-width:0;overflow:hidden;color:#bdb6a8;font-size:.9rem;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.stage-zone{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:24px;overflow:hidden}.canvas-shell{display:flex;min-width:0;min-height:0;max-width:100%;max-height:100%;overflow:hidden;background:#111115;border:1px solid rgba(247,202,24,.32);border-radius:8px;box-shadow:0 18px 50px #00000061,0 0 0 1px #21d0ae24}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas.dragging{cursor:grabbing}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;background:transparent}.editor-drawer{position:absolute;top:0;left:0;bottom:0;z-index:20;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(372px,calc(100vw - 24px));min-width:0;color:#f7f3e8;background:#151519fa;border-right:1px solid rgba(247,243,232,.14);transform:translate(-100%);transition:transform .18s ease}.editor-drawer.open{transform:translate(0)}.drawer-header{display:flex;gap:12px;align-items:center;justify-content:space-between;min-width:0;padding:14px 16px;border-bottom:1px solid rgba(247,243,232,.12)}.drawer-header h2{display:flex;gap:8px;align-items:center;margin:0;font-size:.98rem}.drawer-content{display:grid;align-content:start;gap:1px;min-height:0;overflow:auto;background:#f7f3e81a;scrollbar-width:thin;scrollbar-color:rgba(33,208,174,.55) rgba(17,17,21,.9)}.editor-panel{display:grid;align-content:start;gap:11px;min-width:0;padding:17px 18px 18px;background:#151519}.export-modal{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:24px}.export-modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000006b;border:0}.export-modal-card{position:relative;z-index:1;display:grid;gap:14px;width:min(360px,100%);padding:20px;background:#151519;border:1px solid rgba(247,202,24,.28);border-radius:10px;box-shadow:0 24px 60px #00000080}.export-modal-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.export-modal-head h2{display:flex;gap:8px;align-items:center;margin:0;color:#fff9ec;font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0;clip:rect(0,0,0,0)}.mobile-only,.mobile-bar,.frames-sheet{display:none}.frames-sheet{position:absolute;right:0;bottom:0;left:0;z-index:20;grid-template-rows:auto minmax(0,1fr);max-height:76dvh;color:#f7f3e8;background:#151519fa;border-top:1px solid rgba(247,202,24,.28);border-radius:16px 16px 0 0;box-shadow:0 -18px 50px #00000080;transform:translateY(110%);transition:transform .2s ease}.frames-sheet.open{transform:translateY(0)}.frames-sheet-content{display:grid;gap:12px;align-content:start;min-height:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));overflow:auto}.frames-sheet-actions{display:flex;gap:8px;align-items:center}.tool-button.compact{width:34px;min-height:34px;padding:0}.frames-sheet .frame-grid{display:flex;grid-template-columns:none;gap:10px;padding-bottom:4px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.frames-sheet .frame-tile{flex:0 0 132px;scroll-snap-align:start}.frames-sheet .frame-thumb img{height:88px}.mobile-bar{position:absolute;right:0;bottom:0;left:0;z-index:18;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:#0f0f12f5;border-top:1px solid rgba(247,243,232,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-bar-button{display:grid;gap:3px;place-items:center;padding:8px 4px;color:#d9d3c5;font-size:.72rem;font-weight:700;background:transparent;border-radius:10px}.mobile-bar-button.primary{color:#f7ca18}.mobile-bar-button:disabled{opacity:.4}@media (max-width: 1100px){.app-shell{grid-template-columns:minmax(248px,300px) minmax(0,1fr)}.sidebar{border-right:0;border-right:1px solid rgba(247,202,24,.2)}.editor-drawer{width:min(300px,calc(100vw - 24px))}}@media (max-width: 720px){.app-shell{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr}.sidebar{display:none}.workspace{grid-template-rows:auto minmax(0,1fr)}.topbar{gap:10px;padding:6px 12px}.topbar-group{display:none}.topbar .topbar-brand{display:flex;flex:1 1 auto}.topbar-brand-mark{width:26px;height:26px}.topbar-brand-name{font-size:.92rem}.status-line{flex:0 0 auto;font-size:.82rem;text-align:right}.stage-zone{padding:14px 14px calc(78px + env(safe-area-inset-bottom,0px))}.editor-drawer{top:auto;right:0;bottom:0;left:0;width:100vw;max-height:50dvh;border-right:0;border-top:1px solid rgba(247,202,24,.28);border-radius:16px 16px 0 0;box-shadow:0 -18px 50px #00000080;transform:translateY(110%)}.editor-drawer.open{transform:translateY(0)}.drawer-content{padding-bottom:env(safe-area-inset-bottom,0px)}.controls-open .stage-zone{padding-bottom:calc(50dvh + 16px)}.frames-open .stage-zone{padding-bottom:230px}.control-row,.control-row.compact{grid-template-columns:66px minmax(0,1fr) 58px}.mobile-only,.mobile-bar,.frames-sheet{display:grid}.primary-button,.secondary-button,.export-button,.tool-button{min-height:44px}.field-label input,.field-label select{height:44px;font-size:16px}input[type=range]{height:28px}}@media (max-width: 440px){.frame-grid,.size-grid{grid-template-columns:1fr}.topbar-group{width:100%}.export-button,.tool-button.text-tool{flex:1}}
