:root{--chassis-bg:#eae5da;--chassis-bg-light:#f4efe6;--chassis-bg-dark:#ded7ca;--chassis-border:#cdc4b3;--chassis-highlight:#ffffffd9;--chassis-shadow:#2c261c29;--bezel-bg:#141312;--bezel-inner:#0b0a09;--screen-green:#0f6;--screen-green-dim:#00ff6673;--screen-amber:#fa0;--screen-amber-glow:0 0 10px #ffaa008c;--screen-cyan:#00f0ff;--screen-cyan-glow:0 0 12px #00f0ff99;--key-cream-top:#fbf9f4;--key-cream-base:#e6dfd1;--key-cream-edge:#cfc5b4;--key-cream-text:#2c2822;--key-coral-top:#ff7e5f;--key-coral-base:#e6512c;--key-coral-edge:#b83615;--key-coral-text:#fff;--key-blue-top:#2575fc;--key-blue-base:#0f52ba;--key-blue-edge:#093780;--key-blue-text:#fff;--key-yellow-top:#ffdb15;--key-yellow-base:#e5b800;--key-yellow-edge:#b38f00;--key-yellow-text:#262000;--key-green-top:#00d26a;--key-green-base:#00a853;--key-green-edge:#007a3d;--key-green-text:#fff;--key-lilac-top:#e8d0fa;--key-lilac-base:#cfabf0;--key-lilac-edge:#a980cf;--key-lilac-text:#3c2450;--key-peach-top:#ffb89e;--key-peach-base:#f7906d;--key-peach-edge:#cc6543;--key-peach-text:#3d1c10;--bg-cream:#f4efe6;--bg-dark:#2b2721;--key-white:#fbf9f4;--key-shadow:#cfc5b4;--font-main:"DM Sans", "Noto Sans SC", -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--font-dot:"Silkscreen", "JetBrains Mono", monospace;--font-tech:"Space Grotesk", "DM Sans", sans-serif;--shadow-plate:0 1px 0 var(--chassis-highlight) inset, 0 -1px 0 #0000001f inset, 0 4px 12px #2c261c14, 0 12px 28px #2c261c0f;--shadow-recessed:inset 0 2px 4px #00000038, inset 0 4px 10px #0000001f, 0 1px 0 var(--chassis-highlight);--shadow-keycap-std:0 1px 0 #ffffffe6 inset, 0 -2px 0 #00000026 inset, 0 1px 2px #0000001f, 0 4px 6px -1px #2c261c26, 0 6px 12px #2c261c1a;--shadow-keycap-pressed:0 1px 1px #0003 inset, 0 0 0 1px #0000001a, 0 1px 2px #2c261c26}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{color:#2b2721;min-height:100vh;font-family:var(--font-main);-webkit-user-select:none;user-select:none;background:#181716;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.startup-intro{z-index:1000;background:#05050a;place-items:center;display:grid;position:fixed;inset:0}.startup-intro-frame{aspect-ratio:1;background-color:#08070b;background-image:url(/assets/builtin-animation-sheets/fox24-logo-cinematic.png);background-repeat:no-repeat;background-size:600% 400%;width:200px;height:200px;box-shadow:0 0 80px #6d421947}.startup-intro-stack{flex-direction:column;align-items:center;gap:20px;display:flex}.startup-intro-name{font-family:var(--font-mono);letter-spacing:.42em;text-indent:.42em;color:#eec265e6;font-size:13px;font-weight:700}button,textarea,input,select{color:inherit;font-family:inherit}.app-shell{transform-origin:50% 52%;backface-visibility:hidden;justify-content:center;align-items:center;width:100vw;height:100vh;padding:14px;display:flex}.app-shell.is-entering{animation:.72s cubic-bezier(.2,.82,.22,1) both fox24-app-arrival}@keyframes fox24-app-arrival{0%{opacity:0;transform:translateY(28px)scale(.965)rotateX(3deg)}62%{opacity:1;transform:translateY(-3px)scale(1.008)rotateX(-.35deg)}to{opacity:1;transform:translate(0,0)scale(1)rotateX(0)}}.hardware-chassis{background:var(--chassis-bg);border:1px solid var(--chassis-border);width:100%;max-width:1440px;height:calc(100vh - 28px);box-shadow:0 0 0 1px #ffffffbf inset, 0 2px 0 var(--chassis-highlight) inset, 0 -3px 0 var(--chassis-bg-dark) inset, 0 10px 25px -5px #00000059, 0 25px 60px -12px #00000080, 0 4px 10px #00000026;border-radius:24px;flex-direction:column;display:flex;position:relative;overflow:hidden}.screw{z-index:10;pointer-events:none;background:#c8c0b0 linear-gradient(135deg,#eee8dc,#a69c8b);border:1px solid #8d8372;border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:inset 0 1px 1px #fffc,inset 0 -1px 1px #0006,0 1px 2px #00000040}.screw:after{content:"";background:#5c5549;width:6px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(42deg);box-shadow:0 .5px .5px #fff6}.screw.tl{top:12px;left:14px}.screw.tr{top:12px;right:14px}.screw.bl{bottom:12px;left:14px}.screw.br{bottom:12px;right:14px}.side-chassis-accent{background:#2575fc;border-radius:3px 0 0 3px;width:6px;height:48px;position:absolute;top:140px;left:-6px;box-shadow:-2px 2px 5px #0000004d,inset 1px 0 1px #ffffff80}.side-chassis-wheel{background:#ded7ca repeating-linear-gradient(#d5cdbf,#d5cdbf 3px,#aba18f 3px 5px);border:1px solid #b8af9f;border-right:0;border-radius:4px 0 0 4px;width:9px;height:38px;position:absolute;top:220px;left:-9px;box-shadow:-2px 2px 6px #00000040}header.hardware-header{border-bottom:2px solid var(--chassis-border);box-shadow:0 1px 0 var(--chassis-highlight), 0 3px 6px #00000008;z-index:5;background:linear-gradient(#f3eee5,#e7e1d5);flex:0 0 68px;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:relative}.brand-section{flex-shrink:0;align-items:center;gap:14px;display:flex}.brand-badge{flex:0 0 148px;place-items:center;width:148px;height:44px;display:grid;position:relative}.brand-badge img{object-fit:contain;filter:drop-shadow(0 2px 3px #6c3a162e);width:100%;height:100%;display:block}.header-controls{flex-shrink:0;align-items:center;gap:18px;display:flex}.jog-dial-assembly{align-items:center;gap:12px;display:flex}.jog-dial-label{font-family:var(--font-mono);color:#726b5d;flex-direction:column;align-items:flex-end;font-size:10px;line-height:1.2;display:flex}.jog-dial-label strong{color:#2b2721;font-size:11px}.tactile-dial-button{cursor:pointer;background:#e8e2d5;border:0;border-radius:50%;outline:none;place-items:center;width:52px;height:52px;padding:0;transition:transform .12s,box-shadow .12s;display:grid;position:relative;box-shadow:inset 0 1px #ffffffe6,inset 0 -2px #0000004d,0 3px 8px #00000040,0 6px 16px #0000002e}.tactile-dial-button:hover{transform:translateY(2px);box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #00000040,0 1px 3px #00000040,0 2px 5px #0000001f}.tactile-dial-button:active{transform:scale(.96)translateY(2px);box-shadow:inset 0 1px 2px #0000004d,0 2px 4px #0003}.dial-knurled-ring{background:repeating-conic-gradient(#d9d1c1 0deg 6deg,#a89f8d 6deg 12deg);border:1px solid #948b7a;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 2px 4px #ffffff80,inset 0 -2px 4px #0006}.dial-encoder-halo{background:#111;border:2px solid #05f;border-radius:50%;transition:all .3s;position:absolute;inset:4px;box-shadow:0 0 10px #06f,inset 0 0 6px #06f}.dial-encoder-halo.playing{border-color:#00e676;box-shadow:0 0 12px #00e676,inset 0 0 8px #00e676}.dial-cap-face{color:#2c2822;background:linear-gradient(145deg,#f7f4ed,#ded6c7);border-radius:50%;place-items:center;display:grid;position:absolute;inset:7px;box-shadow:inset 0 1.5px #ffffffe6,inset 0 -1px #0003,0 2px 4px #0000004d}.dial-cap-face svg{transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.dial-cap-face.spinning svg{animation:3s linear infinite dial-spin}@keyframes dial-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.credits-readout{color:#383329;align-items:center;gap:9px;height:42px;display:flex}.credits-icon{color:#f8d77b;background:linear-gradient(145deg,#5a431d,#2b2113);border-radius:8px;place-items:center;width:28px;height:28px;display:grid;box-shadow:inset 0 1px #ffe08b4d,0 1px 2px #2b211347}.credits-value{color:#2b2721;font-family:var(--font-mono);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}@media (width<=520px){.credits-readout{gap:6px}}main.hardware-body{flex:1;min-height:0;padding:16px 20px}.workspace-grid{grid-template-columns:360px minmax(0,1fr);grid-template-rows:minmax(0, 1fr) var(--film-panel-size,auto);grid-template-areas:"controls stage""controls film";gap:16px;height:100%;display:grid}.workspace-grid.is-film-collapsed{--film-panel-size:max-content}.control-console{border:1px solid var(--chassis-border);min-height:0;box-shadow:0 1px 0 var(--chassis-highlight) inset, 0 3px 10px #0000000d;background:#f1ede4;border-radius:18px;flex-direction:column;grid-area:1/controls/-1;gap:14px;padding:16px;display:flex;overflow-y:auto}.control-console::-webkit-scrollbar{width:0}.control-console::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.control-console{scrollbar-width:none}.unified-creator-card{box-sizing:border-box;background:#fff;border:1px solid #dcd5c7;border-radius:12px;flex-direction:column;gap:8px;width:100%;padding:10px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 1px 3px #2c261c0d}.unified-creator-card.is-drag-over{background:#fff8f6;border-color:#e6512c;box-shadow:0 0 0 3px #e6512c1f}.unified-creator-card:focus-within{border-color:#d6a947;box-shadow:0 0 0 2px #d6a94733}.creator-image-area{box-sizing:border-box;aspect-ratio:1;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fbf9f5;border:none;border-radius:9px;justify-content:center;align-items:center;width:100%;transition:border-color .15s,background-color .15s;display:flex;position:relative;overflow:hidden}.creator-image-area:hover:not(.has-image){background:#f6f1e8}.creator-image-area.has-image{background:#181614}.creator-image-dropzone{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex}.image-upload-icon-circle{color:#8c8374;background:#ece7dc;border:1px solid #ddd6c8;border-radius:50%;place-items:center;width:38px;height:38px;transition:color .15s,background-color .15s,border-color .15s;display:grid}.creator-image-area:hover .image-upload-icon-circle{color:#5c5447;background:#e2dcd0;border-color:#cfc7b8}.image-upload-title{font-family:var(--font-tech);color:#8c8374;letter-spacing:.01em;font-size:12px;font-weight:500;transition:color .15s}.creator-image-area:hover .image-upload-title{color:#635b4f}.creator-image-preview{background:#181614;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.creator-image-preview img{object-fit:cover;width:100%;height:100%;display:block}.creator-image-actions{z-index:5;opacity:0;align-items:center;gap:6px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.creator-image-preview:hover .creator-image-actions{opacity:1}.creator-image-btn{color:#4a4439;height:24px;font-family:var(--font-tech);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffeb;border:1px solid #d4cdbf;border-radius:4px;padding:0 8px;font-size:11px;font-weight:600;transition:all .12s;box-shadow:0 1px 3px #0000001a}.creator-image-btn:hover:not(:disabled){color:#554e42;background:#fff;border-color:#9c9485}.creator-image-btn.remove{place-items:center;width:24px;padding:0;display:grid}.creator-image-btn.remove:hover:not(:disabled){color:#554e42;background:#fff;border-color:#9c9485}.creator-prompt-wrap{width:100%;position:relative}.creator-prompt-box{box-sizing:border-box;box-shadow:none;background:0 0;border:none;border-radius:0;align-items:flex-start;gap:8px;padding:0;display:flex}.creator-prompt-textarea{resize:none;min-width:0;height:56px;font-family:var(--font-tech);color:#2c2822;background:0 0;border:0;outline:0;flex:auto;margin:0;padding:0;font-size:13px;line-height:19px}.creator-prompt-textarea::placeholder{color:#9c9485}.creator-prompt-actions{flex-direction:column;flex:none;align-items:center;gap:4px;display:flex}.image-status-note{font-family:var(--font-tech);color:#e6512c;word-break:break-word;padding:2px 4px;font-size:11px;line-height:1.4}.image-status-note.is-error{color:#c62828}.compact-prompt-wrap{width:100%;position:relative}.compact-prompt-bar{background:#fff;border:1px solid #dcd5c7;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 6px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex;box-shadow:inset 0 1px 2px #2c261c0d}.compact-prompt-wrap.is-drag-over .compact-prompt-bar{background:#fff8f6;border-color:#e6512c;box-shadow:0 0 0 2px #e6512c26}.compact-prompt-bar:focus-within{border-color:#e6512c;box-shadow:0 0 0 2px #e6512c26}.compact-prompt-input{min-width:0;height:100%;font-family:var(--font-tech);color:#2c2822;background:0 0;border:0;outline:0;flex:auto;padding:0;font-size:13px}.compact-prompt-input::placeholder{color:#9c9485}.compact-preset-btn{color:#4a4439;height:26px;font-family:var(--font-tech);cursor:pointer;-webkit-user-select:none;user-select:none;background:#f4efe6;border:1px solid #d4ccbd;border-radius:5px;flex:none;align-items:center;gap:3px;padding:0 7px;font-size:11px;font-weight:600;transition:all .12s;display:inline-flex}.compact-preset-btn:hover:not(:disabled),.compact-preset-btn.is-active{color:#e6512c;background:#fff;border-color:#e6512c}.compact-preset-btn .preset-arrow{transition:transform .15s}.compact-preset-btn .preset-arrow.is-open{transform:rotate(180deg)}.compact-preset-btn:disabled{opacity:.45;cursor:default}.compact-polish-btn{color:#4a4439;cursor:pointer;background:#f4efe6;border:1px solid #d4ccbd;border-radius:5px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:all .12s;display:inline-flex}.compact-polish-btn:hover:not(:disabled){color:#554e42;background:#fff;border-color:#9c9485}.compact-polish-btn:disabled{opacity:.45;cursor:default}.compact-clear-btn:hover:not(:disabled){color:#554e42;background:#fff;border-color:#9c9485}.compact-polish-btn.is-polishing,.compact-polish-btn:disabled.is-polishing{opacity:1;cursor:wait;color:#e6512c;background:#fff8f5;border-color:#e6512c;box-shadow:0 0 0 1px #e6512c26}.compact-polish-btn .tactile-spinner{border-width:1.5px;border-color:#e6512c #e6512c40 #e6512c40;width:14px;height:14px}.spin-loader{animation:.75s linear infinite spin-pulse;display:block}.preset-suggestions-dropdown{z-index:100;background:#fff;border:1px solid #dcd5c7;border-radius:10px;flex-direction:column;animation:.12s ease-out dropdown-appear;display:flex;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 10px 28px #2c261c24,0 2px 8px #2c261c0f}@keyframes dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.preset-dropdown-head{font-family:var(--font-tech);color:#8c8477;letter-spacing:.02em;background:#faf8f4;border-bottom:1px solid #eee7db;justify-content:space-between;align-items:center;padding:8px 12px 6px;font-size:10px;display:flex}.preset-dropdown-head span:first-child{color:#554e42;font-weight:600}.preset-dropdown-list{flex-direction:column;max-height:220px;padding:4px 0;display:flex;overflow-y:auto}.preset-dropdown-item{text-align:left;width:100%;font-family:var(--font-tech);color:#3b362f;cursor:pointer;background:0 0;border:0;align-items:baseline;gap:8px;padding:6px 12px;font-size:12px;line-height:1.4;transition:background .1s,color .1s;display:flex}.preset-dropdown-item:hover,.preset-dropdown-item.active{color:#e6512c;background:#fdf5f2}.preset-dropdown-item .preset-idx{font-family:var(--font-mono);color:#a49d90;flex:none;font-size:10px}.preset-dropdown-item.active .preset-idx,.preset-dropdown-item:hover .preset-idx{color:#e6512c;font-weight:600}.preset-dropdown-item .preset-text{flex:auto}.hardware-module-box{background:#e9e3d7;border:1px solid #d0c7b6;border-radius:12px;flex-direction:column;gap:8px;padding:10px 12px;display:flex;box-shadow:inset 0 1px 2px #0000000d,0 1px #fff}.hardware-module-header{font-family:var(--font-mono);color:#6a6252;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.rocker-switch-group{background:#d8d0c0;border:1px solid #c2b9a7;border-radius:8px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid;box-shadow:inset 0 1px 3px #00000026}.rocker-btn{font-family:var(--font-tech);color:#726b5c;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .15s}.rocker-btn:not(.active):hover{color:#554e42;background:#fff6;box-shadow:inset 0 1px 3px #00000026}.rocker-btn.active{color:#e6512c;background:#fff;box-shadow:inset 0 1px #fff,inset 0 -1px #0000001a,0 2px 5px #0000001f}.generation-picker-row{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr) 68px;gap:8px;margin-bottom:0;display:grid}.generation-picker-row .model-picker-unit{min-width:0;display:block}.generation-picker-row .model-selector-trigger{width:100%;max-width:none}.cli-install-note{color:#b35b3d;font-family:var(--font-mono);margin:-4px 2px 8px;font-size:10px;line-height:1.35}.model-picker-unit{justify-content:space-between;align-items:center;gap:8px;display:flex;position:relative}.model-selector-trigger{box-sizing:border-box;color:#2b2721;max-width:210px;height:32px;font-family:var(--font-mono);cursor:pointer;background:#fff;border:1px solid #d0c7b6;border-radius:8px;flex:1;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:all .12s;display:flex;box-shadow:inset 0 1px #fff,0 1px 3px #0000000f}.model-selector-trigger:hover{border-color:#b3a793;transform:translateY(1px);box-shadow:inset 0 1px 3px #00000014}.model-selector-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-popover{z-index:100;box-sizing:border-box;background:#fff;border:1px solid #d2c8b8;border-radius:12px;padding:6px;position:fixed;box-shadow:0 12px 30px #2c261c33,0 4px 10px #2c261c1a}.model-popover-head{font-family:var(--font-mono);letter-spacing:.06em;color:#756d5e;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:6px 10px 4px;font-size:10px;font-weight:700}.model-popover-list{flex-direction:column;gap:2px;max-height:240px;display:flex;overflow-y:auto}.model-popover-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex;position:relative}.model-popover-item:hover{background:#f5f0e6}.model-popover-item.selected{background:#fdf2ec}.model-popover-item .item-name{font-family:var(--font-mono);color:#2b2721;white-space:nowrap;font-size:12px;font-weight:600}.model-popover-item.selected .item-name{color:#e6512c}.model-popover-item .item-cost{font-family:var(--font-mono);color:#8a8071;white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.model-popover-item.selected .item-cost{color:#e6512c}.model-popover-item .item-hint{font-family:var(--font-mono);color:#8c8373;margin-left:auto;font-size:10px}.stage-format-trigger{justify-content:center}.stage-format-trigger.is-open{color:#eee8dc;background:linear-gradient(#3d3934,#282522);border-color:#454038;transform:translateY(1.5px)}.model-popover.is-stage{background:#23211d;border:1px solid #4a453e;border-radius:10px;box-shadow:0 12px 30px #0000008c,0 4px 10px #00000059}.model-popover.is-stage .model-popover-head{color:#9e9585}.model-popover.is-stage .model-popover-item,.model-popover.is-stage .model-popover-item .item-name{color:#ffffffb3}.model-popover.is-stage .model-popover-item:hover{background:#36322b}.model-popover.is-stage .model-popover-item:hover .item-name{color:#fff}.model-popover.is-stage .model-popover-item.selected{background:#3d2f26}.model-popover.is-stage .model-popover-item.selected .item-name{color:#ff734c}.model-popover.is-stage .model-popover-item .item-hint{color:#8f8677}.hero-action-row{align-items:flex-end;gap:8px;display:flex}.hero-keycap-wrapper{flex:auto;min-width:0;margin-top:4px;position:relative}.hero-action-row .hero-keycap-wrapper{margin-top:0}.hero-keycap-btn{cursor:pointer;background:#b83615;border:0;border-radius:10px;outline:none;width:100%;height:48px;padding:0;transition:transform .1s,box-shadow .1s;display:block;position:relative;box-shadow:0 5px 12px #b8361559,0 2px 4px #2c261c33}.hero-keycap-top{color:#fff;font-family:var(--font-tech);letter-spacing:.05em;text-shadow:0 1px 2px #00000059;background:linear-gradient(#ed6847 0%,#e6512c 48%,#d94b27 100%);border-radius:9px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;transition:all .1s;display:flex;position:absolute;inset:0 0 4px;box-shadow:inset 0 1px #ffffffeb,inset 0 0 0 1px #fff3,inset 0 -1px #00000029}.hero-keycap-btn:disabled,.hero-keycap-btn.is-disabled{cursor:not-allowed;box-shadow:none;background:#c8c2b7;transform:none}.hero-keycap-btn:disabled .hero-keycap-top,.hero-keycap-btn.is-disabled .hero-keycap-top{cursor:not-allowed;color:#7a7366;text-shadow:none;background:#d5cfc4;bottom:0;box-shadow:inset 0 0 0 1px #c4bdaf}.hero-keycap-btn:disabled .tactile-spinner,.hero-keycap-btn.is-disabled .tactile-spinner{border-color:#7a7366 #7a736640 #7a736640}.hero-keycap-btn:hover:not(:disabled):not(.is-disabled){box-shadow:none;transform:translateY(1px)}.hero-keycap-btn:hover:not(:disabled):not(.is-disabled) .hero-keycap-top{box-shadow:none;bottom:2px}.hero-keycap-btn:active:not(:disabled):not(.is-disabled){transform:translateY(2px);box-shadow:0 2px 4px #b8361559,0 1px 2px #2c261c33}.hero-keycap-btn:active:not(:disabled):not(.is-disabled) .hero-keycap-top{box-shadow:none;bottom:1px}.generation-error{color:#c62828;z-index:100;-webkit-user-select:text;user-select:text;background:#fde9e7;border:1px solid #f9bdbb;border-radius:8px;align-items:flex-start;gap:8px;min-width:0;max-width:min(640px,100% - 380px);max-height:180px;padding:8px 10px 8px 12px;font-size:12px;line-height:1.5;display:flex;position:absolute;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000014,0 1px 3px #c628281f}.generation-error-icon{color:#c62828;flex-shrink:0;margin-top:2px}.generation-error-text{white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;cursor:text;flex:auto;min-width:0;font-weight:500}.generation-error-close{color:#c62828;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;padding:0;transition:opacity .15s,background-color .15s;display:inline-flex}.generation-error-close:hover{opacity:1;background-color:#c628281f}.stage-panel{flex-direction:column;grid-area:stage;min-height:0;display:flex}.optical-monitor-chassis{min-height:0;box-shadow:inset 0 1px 0 #ffffff0d, inset 0 4px 16px #000000b3, 0 1px 0 var(--chassis-highlight);background-color:#201e1b;background-image:radial-gradient(at 50% -20%,#ffffff0e,#0000 55%),radial-gradient(#ffffff06 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:100% 100%,16px 16px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:2px solid #332f2a;border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:16px;display:flex;position:relative;overflow:hidden}.screw.monitor-screw{background-image:radial-gradient(circle at 35% 35%,#767064 0%,#4a453c 60%,#302c25 100%);border-color:#1e1b17;width:8px;height:8px;box-shadow:inset 0 1px 1px #ffffff47,inset 0 -1px 1px #000000b3,0 1px 2px #000000a6}.monitor-screw:after{background:#12100d;width:5px;height:1px;box-shadow:0 .5px .5px #ffffff26}.monitor-screw.tl{top:8px;left:9px;transform:rotate(24deg)}.monitor-screw.tr{top:8px;right:9px;transform:rotate(112deg)}.monitor-screw.bl{bottom:8px;left:9px;transform:rotate(78deg)}.monitor-screw.br{bottom:8px;right:9px;transform:rotate(165deg)}.monitor-vents{pointer-events:none;background:repeating-linear-gradient(#100f0d 0 3px,#ffffff0a 3px 4px,#0000 4px 8px);border-radius:3px;width:6px;height:88px;position:absolute;top:50%;left:10px;transform:translateY(-50%);box-shadow:inset 0 1px 2px #000000b3,0 1px #ffffff0a}.monitor-ruler{left:auto;right:10px}.stage-screens-row{z-index:2;flex-direction:row;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;min-height:0;display:flex;position:relative}.stage-screens-row .stage-artboard{width:var(--stage-size,auto);height:var(--stage-size,auto);aspect-ratio:1;box-sizing:border-box;cursor:pointer;flex:none;max-width:75%;max-height:75%}.stage-artboard.is-batch:not(.is-active){cursor:pointer}.stage-artboard.is-active{border-color:#b98c2e;box-shadow:0 0 0 2px #e6ad3d59,0 4px 16px #0006}.stage-artboard.is-error{border-color:#ef51448c}.stage-slot-index{z-index:3;font:700 10px var(--font-mono);color:#d8d2c4;background:#141312c7;border-radius:4px;padding:1px 5px;position:absolute;top:4px;left:6px}.stage-slot-badge{z-index:3;color:#e6ad3d;background:#141312e0;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:4px;right:4px}.stage-slot-badge.is-error{color:#ef5144;font:700 11px/1 var(--font-mono)}.stage-window-loading{z-index:2;background:#12110f99;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage-window-loading .tactile-spinner{width:18px;height:18px}.stage-artboard{z-index:2;aspect-ratio:1;box-sizing:border-box;background:#141312;border:1px solid #332f2a;border-radius:16px;justify-content:center;align-items:center;transition:border-color .15s,opacity .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0006}.stage-artboard img{z-index:2;object-fit:cover;pointer-events:none;border-radius:14px;width:100%;height:100%;position:relative}.stage-artboard.has-frames{cursor:grab}.stage-artboard.has-frames.dragging{cursor:grabbing}.builtin-examples-section{flex-direction:column;gap:8px;display:flex}.builtin-examples-heading{color:#726b5d;font-family:var(--font-mono);letter-spacing:.08em;font-size:11px;font-weight:700}.builtin-examples-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.builtin-example-card{cursor:pointer;background:#26231feb;border:1px solid #464038;border-radius:8px;min-width:0;padding:3px;transition:transform .12s,border-color .12s,background .12s;box-shadow:0 3px 8px #00000038}.builtin-example-card:hover{border-color:var(--example-accent);background:#3a342dfa;transform:translateY(1px)}.builtin-example-card:disabled{opacity:.55;cursor:not-allowed;transform:none}.builtin-example-thumb{aspect-ratio:1;background:#151412 0 0/600% 400% no-repeat;border-radius:5px;width:100%;display:block}.stage-overlay-bar{z-index:10;align-items:center;gap:8px;display:flex;position:absolute;top:14px;right:14px}.stage-tool-chip{color:#d6cebe;font-family:var(--font-tech);letter-spacing:.02em;cursor:pointer;background:linear-gradient(#35322e,#23211d);border:1px solid #3f3b35;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .12s;display:flex;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #00000059,0 2px #14120f,0 3px 6px #00000059}.stage-tool-chip:hover:not(:disabled){color:#eee8dc;background:linear-gradient(#3d3934,#282522);border-color:#48433c;box-shadow:inset 0 1px #ffffff17,inset 0 -1px #0000004d,0 1px #14120f,0 2px 4px #0000004d}.stage-tool-chip:active{background:linear-gradient(#2c2925,#211f1b);transform:translateY(3px);box-shadow:inset 0 1px 2px #00000080,0 1px #14120f,0 1px 2px #0000004d}.stage-tool-chip:disabled{opacity:.45;cursor:not-allowed;transform:none}.stage-export-status{color:#c9c1b1;font-family:var(--font-mono);white-space:nowrap;background:#1e1c19d9;border:1px solid #454038;border-radius:7px;padding:6px 10px;font-size:11px}.stage-export-status.is-error{color:#ff8c7a;background:#2d1412d9;border-color:#8a362b}.fox24-auth-gate{color:#2b2117;background:radial-gradient(circle at 50% 5%,#f59a373d,#0000 34%),linear-gradient(145deg,#cec3a9,#8c826f);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-gate-card{text-align:center;background:linear-gradient(145deg,#efe7d5,#cbbfa7);border:1px solid #4133227a;border-radius:14px;width:min(440px,100%);padding:38px;box-shadow:inset 0 1px #ffffffd1,inset 0 -2px #44311c29,0 22px 55px #251b1257}.auth-gate-card img{width:170px;max-width:72%;margin-bottom:18px}.auth-gate-card>span{color:#776650;letter-spacing:.14em;font-size:12px;display:block}.auth-gate-card h1{margin:10px 0 8px;font-size:28px}.auth-gate-card p{color:#6e604e;margin:0 0 24px;line-height:1.7}.auth-gate-card button{color:#fff2d5;cursor:pointer;background:linear-gradient(#4a3020,#2d1c12);border:1px solid #3a2716;border-radius:8px;width:100%;padding:13px 18px;font-weight:800;box-shadow:inset 0 1px #ffffff29,0 4px #1c110b}.film-panel{border:1px solid var(--chassis-border);min-height:0;box-shadow:0 1px 0 var(--chassis-highlight) inset, 0 3px 10px #2c261c0d;background:#f1ede4;border-radius:18px;flex-direction:column;grid-area:film;gap:10px;padding:14px 16px;display:flex}.film-panel.is-collapsed{gap:10px;padding:7px 12px}.film-panel.is-collapsed .film-hint-text{display:none}.film-header-row{justify-content:space-between;align-items:center;display:flex}.film-title-block{font-family:var(--font-tech);color:#2c2822;letter-spacing:.04em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.film-title-block .matrix-badge{font-family:var(--font-mono);color:#554e42;background:#dfd7c9;border:1px solid #c8c0ae;border-radius:4px;padding:1px 6px;font-size:10px}.film-actions-group{align-items:center;gap:8px;display:flex}.film-hint-text{font-family:var(--font-mono);color:#8c8373;font-size:11px}.keycap-socket{aspect-ratio:1;background:#211f1b;border:2px solid #211f1b;border-radius:10px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 1px #ffffffa6,0 2px #b3a998,0 5px 8px #2c261c29}.keycap-placeholder{pointer-events:none}.keycap-dish-index{font-family:var(--font-mono);color:#ffffff38;text-shadow:0 1px 1px #00000080;justify-content:center;align-items:center;font-size:12px;font-weight:500}.keycap-matrix-grid{scrollbar-width:none;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;width:100%;padding-bottom:2px;display:grid;overflow:hidden}.keycap-matrix-grid::-webkit-scrollbar{width:0;height:0}.keycap-matrix-grid.is-collapsed{grid-template-columns:repeat(24,minmax(0,1fr));align-items:start;gap:3px}.film-panel.is-collapsed .tactile-frame-keycap{border-width:1px;border-radius:5px;box-shadow:inset 0 1px #ffffff8c,0 1px #2c261c29,0 1px 1px #2c261c12}.film-panel.is-collapsed .keycap-dish-face{border-radius:3px}.film-panel.is-collapsed .keycap-thumb-frame{border-radius:2px}.film-panel.is-collapsed .keycap-matrix-grid.is-empty{grid-template-columns:repeat(24,minmax(0,1fr));gap:3px}.tactile-frame-keycap{aspect-ratio:1;cursor:grab;touch-action:pan-x;-webkit-user-select:none;user-select:none;background:#211f1b;border:2px solid #211f1b;border-radius:10px;outline:none;padding:0;transition:transform .1s,box-shadow .1s;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 1px #ffffffa6,0 2px #b3a998,0 5px 8px #2c261c29}.tactile-frame-keycap:active{cursor:grabbing}.tactile-frame-keycap:not(.active):hover{transform:translateY(2px);box-shadow:inset 0 1px #ffffffa6,0 1px #b3a998,0 3px 5px #2c261c24}.keycap-dish-face{background:#211f1b;border-radius:8px;flex-direction:column;padding:0;display:flex;position:absolute;inset:0 0 2px;overflow:hidden;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #0000001f,inset 0 0 8px #00000047}.keycap-thumb-frame{background:#1e1d1b;border-radius:4px;flex:1;place-items:center;width:100%;display:grid;position:relative;overflow:hidden}.keycap-thumb-frame img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.keycap-silk-index{font-family:var(--font-mono);color:#ffffff75;text-shadow:0 1px 2px #00000094;z-index:3;font-size:8px;font-weight:600;line-height:1;position:absolute;top:2px;left:3px}.tactile-frame-keycap.active{background:#b83615;transform:translateY(1px);box-shadow:inset 0 1px #fff9,0 2px #942b11,0 0 0 2px #ff6d45,0 3px 8px #e6512c47}.tactile-frame-keycap.active .keycap-dish-face{background:#211f1b;bottom:1px}.tactile-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.75s linear infinite spin-pulse}.tactile-spinner.dark{border-color:#2b2721 #0003 #0003}@keyframes spin-pulse{to{transform:rotate(360deg)}}@media (width<=1100px){.keycap-matrix-grid{grid-template-columns:repeat(8,1fr)}}@media (width<=900px){body{overflow:auto}.app-shell{height:auto;min-height:100vh;padding:6px}.hardware-chassis{border-radius:16px;height:auto}header.hardware-header{padding:0 14px}.generation-error{flex:auto;max-width:none;max-height:56px;margin:0 8px;position:static;transform:none}.header-controls{gap:10px}.workspace-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(360px, 50vh) var(--film-panel-size,auto);grid-template-areas:"controls""stage""film"}.keycap-matrix-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width<=520px){.brand-badge{flex-basis:112px;width:112px}}.tactile-dial-button,.rocker-btn.active,.model-selector-trigger,.hero-keycap-btn,.tactile-frame-keycap,.builtin-example-card{box-shadow:inset 0 1px #ffffff9e,inset 0 -1px #00000029,0 2px #2c261c57,0 3px 3px #2c261c29}.tactile-dial-button:hover,.model-selector-trigger:hover,.tactile-frame-keycap:not(.active):hover,.builtin-example-card:hover{box-shadow:inset 0 1px #ffffff85,inset 0 -1px #0000001f,0 1px #2c261c4d,0 2px 2px #2c261c1f}.tactile-dial-button:active,.tactile-frame-keycap:active,.tactile-frame-keycap.active{box-shadow:inset 0 1px 2px #0000003d,0 1px #2c261c3d}.hero-keycap-btn:hover:not(:disabled):not(.is-disabled){box-shadow:none}.hero-keycap-btn:active:not(:disabled):not(.is-disabled){box-shadow:0 2px #2c261c4d}
