:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root,.stage,.canvas{width:100%;height:100%;margin:0;overflow:hidden}body{background:#050506}canvas{display:block}.stage{position:relative;background:#050506}.canvas{position:relative;z-index:2;opacity:1;transform:scale(.72);transform-origin:center;transition:opacity .9s cubic-bezier(.4,0,.2,1)}.portal-loading .canvas{opacity:0}.cube-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-content:center;gap:13px;color:#e8e1d8b3;text-align:center;font:9px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.22em;pointer-events:none}.cube-loading i{justify-self:center;width:34px;height:1px;overflow:hidden;background:#e8e1d826}.cube-loading i:after{content:"";display:block;width:12px;height:1px;background:#e8e1d8bf;animation:cube-loading-scan 1.15s ease-in-out infinite}@keyframes cube-loading-scan{0%,to{transform:translate(-12px)}50%{transform:translate(34px)}}.asset-credit{position:absolute;right:18px;bottom:15px;z-index:3;color:#fff3;font:500 7px/1.25 Syne,sans-serif;letter-spacing:.15em;pointer-events:none}.asset-credit span{display:inline-block;margin:0 .28em;font-size:1.25em;transform:rotate(45deg)}.portal-solve-debug{position:absolute;left:14px;top:14px;z-index:20;display:grid;gap:4px;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:7px;color:#ffffff6b;background:#0000008a;font:600 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.portal-solve-debug span[data-solved=true]{color:#b7ffc7}.portal-solve-debug button{margin-top:3px;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:4px 6px;color:#ffffff9e;background:#ffffff0a;font:inherit;letter-spacing:.08em;cursor:pointer}.cube-history-controls{position:absolute;right:50%;bottom:9%;z-index:4;display:flex;gap:8px;transform:translate(50%)}.cube-history-controls button{width:62px;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:8px 10px;color:#ffffffb8;background:#05050638;font:600 7px/1 Syne,sans-serif;letter-spacing:.17em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cube-history-controls button:hover:not(:disabled){color:#fff;border-color:#ffffff94}.cube-history-controls button:disabled{opacity:.22;cursor:default}.portal-preview-home{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,5vw,76px);color:#e8e1d8;background:radial-gradient(circle at 52% 47%,#30241e 0,#131112 35%,#070708 72%);opacity:0;transform:scale(.965);transition:opacity 1.1s ease,transform 1.4s cubic-bezier(.2,.75,.15,1)}.portal-preview-home nav{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.17em}.portal-preview-home nav span{color:#8e8179}.portal-preview-home p{color:#9c8980;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.portal-preview-home h1{max-width:900px;margin:18px 0 0;font:400 clamp(46px,8vw,118px)/.88 Georgia,serif;letter-spacing:-.055em}.portal-revealing .portal-preview-home,.portal-revealed .portal-preview-home{opacity:1;transform:scale(1)}.portal-revealed .canvas{opacity:0;pointer-events:none}.puzzle-system{--puzzle-accent: #f1e9df;--puzzle-muted: rgba(238,233,227,.52);position:absolute;top:clamp(24px,5vh,58px);left:50%;z-index:4;width:min(620px,calc(100vw - 40px));transform:translate(-50%);color:var(--puzzle-accent);text-align:center;font:10px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.14em;pointer-events:none;transition:opacity .55s ease,transform .55s ease}.portal-revealing .puzzle-system{opacity:0;transform:translate(-50%,-7px)}.puzzle-system-line{min-height:16px;margin-top:8px;color:var(--puzzle-muted);font-size:9px;opacity:0;transform:translateY(-2px);transition:opacity .45s ease,transform .45s ease}.puzzle-system-line.is-visible{opacity:1;transform:translateY(0)}.puzzle-system.is-solved{--puzzle-accent: #dce7d4;--puzzle-muted: rgba(220,231,212,.64)}.terminal-cursor{animation:terminal-blink .85s steps(1) infinite}@keyframes terminal-blink{50%{opacity:0}}@media (prefers-reduced-motion: reduce){.canvas,.portal-preview-home{transition-duration:.01ms}}@media (max-width: 760px){.canvas{transform:none}.asset-credit{right:12px;bottom:9px;max-width:190px;font-size:6px;text-align:right}.cube-history-controls{right:50%;bottom:30px}}.art-panel{position:absolute;top:18px;right:18px;width:min(330px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:auto;padding:15px;color:#ddd7d2;background:#0c0b0be0;border:1px solid #3b302b;border-radius:14px;box-shadow:0 18px 60px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:2}.art-panel header{display:flex;justify-content:space-between;align-items:baseline;padding:1px 1px 12px;border-bottom:1px solid #302824}.art-panel header span{font-size:11px;letter-spacing:.18em}.art-panel header small{font-size:9px;color:#8e7d74;letter-spacing:.12em}.art-panel.is-loading>:not(header){pointer-events:none;opacity:.42}.save-state.saving,.save-state.loading{color:#caa78f}.save-state.saved{color:#8eaa8a}.save-state.error{color:#df8d82}.control-section{padding:12px 0;border-bottom:1px solid #302824}.puzzle-preview-controls{display:grid;gap:9px}.puzzle-preview-controls>strong{color:#d7c7bc;font-size:10px;letter-spacing:.12em}.puzzle-preview-controls>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-control,.slider-control{display:grid;gap:6px;font-size:11px;color:#a89e98}.color-value{display:flex;align-items:center;gap:7px;color:#d8d0cb;font:10px ui-monospace,monospace}input[type=color]{width:28px;height:24px;padding:0;border:1px solid #56463e;border-radius:5px;background:transparent}.slider-list{display:grid;gap:11px}.slider-control>span{display:flex;justify-content:space-between}.number-value,.hex-value{color:#d7c7bc;background:#151210;border:1px solid #40342e;border-radius:4px;font:10px ui-monospace,monospace}.number-value{width:58px;padding:2px 4px;text-align:right}.hex-value{width:70px;padding:3px 4px}input[type=range]{width:100%;accent-color:#8b5e49}.art-panel footer{display:grid;grid-template-columns:auto 1fr;gap:8px;padding-top:12px}.art-panel button{border:1px solid #4a3b34;border-radius:7px;padding:8px 9px;color:#cfc5bf;background:#1b1715;font:inherit;font-size:10px;cursor:pointer}.art-panel button:hover{background:#28201d}.art-panel button.primary{grid-column:1 / -1;background:#5a392c;border-color:#79503f;color:#fff4ed}.import-button{display:grid;place-items:center;border:1px solid #4a3b34;border-radius:7px;padding:8px 9px;color:#cfc5bf;background:#1b1715;font-size:10px;cursor:pointer}.import-button:hover{background:#28201d}.import-button input{position:absolute;width:1px;height:1px;opacity:0}.project-status{grid-column:1 / -1;color:#caa78f;font-size:10px;text-align:center}.tile-editor{display:grid;gap:10px}.tile-heading{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8e7d74}.tile-heading strong{color:#d7c7bc;letter-spacing:.12em}.drop-zone{display:grid;place-items:center;min-height:54px;padding:8px;border:1px dashed #725345;border-radius:7px;color:#b9aaa2;font-size:10px;text-align:center;cursor:pointer}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.tile-controls{display:grid;gap:10px}.tile-controls>label:first-child{display:flex;justify-content:space-between;align-items:center;color:#a89e98;font-size:11px}.tile-controls select{color:#d7c7bc;background:#151210;border:1px solid #40342e;border-radius:4px;padding:3px 6px}.layer-editor{padding:8px;border:1px solid #3d302a;border-radius:8px}.layer-editor>summary,.effect-section>summary{cursor:pointer;color:#cdbdb3;font-size:10px;letter-spacing:.1em}.layer-editor>summary small{float:right;max-width:160px;overflow:hidden;text-overflow:ellipsis;color:#806e64;font-size:9px;letter-spacing:0;white-space:nowrap}.layer-editor>.drop-zone{margin-top:9px}.layer-editor>.tile-controls{margin-top:10px}.effect-body{display:grid;gap:10px;padding-top:10px}.toggle-control{display:flex;justify-content:space-between;align-items:center;color:#a89e98;font-size:11px}.toggle-control input{accent-color:#8b5e49}.movement-editor>summary{cursor:pointer;color:#d7c7bc;font-size:10px;letter-spacing:.12em}.movement-editor fieldset{display:grid;gap:10px;margin:2px 0;padding:10px;border:1px solid #3d302a;border-radius:8px}.movement-editor legend{padding:0 5px;color:#9c887c;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.select-control,.selection-row,.pose-save{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#a89e98;font-size:11px}.select-control select,.pose-save input{min-width:0;color:#d7c7bc;background:#151210;border:1px solid #40342e;border-radius:4px;padding:4px 6px}.selection-row span{min-width:0;overflow-wrap:anywhere}.pose-save input{flex:1}.pose-list{display:flex;flex-wrap:wrap;gap:6px}.movement-reset{width:100%;border-color:#79503f!important}@media (max-width: 680px){.art-panel{top:auto;bottom:12px;right:12px;max-height:52vh}.puzzle-system{top:18px;width:calc(100vw - 24px)}}
