@import"https://api.fontshare.com/v2/css?f%5B%5D=satoshi@300,400,500&display=swap";:root{--font-primary: "Satoshi", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", monospace;--color-bg: #ffffff;--color-text: #000000;--color-text-secondary: rgba(0, 0, 0, .5);--color-text-tertiary: rgba(0, 0, 0, .35);--color-border: rgba(0, 0, 0, .12);--color-border-hover: rgba(0, 0, 0, .25);--color-surface: rgba(255, 255, 255, .96);--color-surface-elevated: rgba(255, 255, 255, .98);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--container-max: 900px;--nav-height: 56px;--handle-height: 52px;--control-height: 26px;--control-height-mobile: 28px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-panel: .4s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);font-size:13px;font-weight:400;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}#app canvas{display:block;touch-action:none}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--color-bg);display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease-out)}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-text{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary)}.header-info{position:fixed;top:0;left:0;right:0;z-index:10;pointer-events:none;display:flex;justify-content:center;padding:52px 20px 0}.header-info-inner{width:100%;max-width:var(--container-max)}.header-info h1{font-size:14px;font-weight:400;letter-spacing:0;margin:0}.settings-panel{position:fixed;bottom:var(--nav-height);left:0;right:0;height:auto;max-height:45vh;background:var(--color-surface-elevated);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);z-index:50;transform:translateY(calc(100% - var(--handle-height)));transition:transform var(--duration-panel) var(--ease-out);display:flex;flex-direction:column;will-change:transform}.settings-panel.open{transform:translateY(0)}.sheet-handle{display:flex;align-items:center;justify-content:center;height:var(--handle-height);cursor:pointer;flex-shrink:0;transition:opacity var(--duration-fast)}.sheet-handle:hover .handle-arrow{color:var(--color-text)}.handle-arrow{font-size:16px;color:var(--color-text-tertiary);transition:transform var(--duration-panel) var(--ease-out);line-height:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.settings-panel:not(.open) .handle-arrow{transform:rotate(180deg)}.settings-content{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6);overscroll-behavior:contain}.settings-content::-webkit-scrollbar{width:3px}.settings-content::-webkit-scrollbar-track{background:transparent}.settings-content::-webkit-scrollbar-thumb{background:var(--color-border)}.settings-inner{max-width:var(--container-max);margin:0 auto}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5) var(--space-8)}.settings-grid--top{padding-bottom:var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.settings-section{display:flex;flex-direction:column;min-width:0}.settings-section h3{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);margin-bottom:var(--space-4)}.setting-row{display:grid;grid-template-columns:60px 1fr 6px 32px;align-items:center;gap:var(--space-4) 10px;margin-bottom:var(--space-3)}.setting-row:last-child{margin-bottom:0}.setting-row label{font-size:11px;font-weight:400;color:var(--color-text-secondary)}.setting-value{font-family:var(--font-mono);font-size:10px;color:var(--color-text-tertiary);text-align:right}.setting-value--bold{font-weight:600;color:var(--color-text)}.reset-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text);cursor:pointer;opacity:0;transition:opacity var(--duration-fast);margin-left:4px}.reset-dot.visible{opacity:.4}.reset-dot.visible:hover{opacity:1}.reset-dot-placeholder{width:6px;margin-left:4px}.cube-row{display:grid;grid-template-columns:60px 1fr 6px 32px;align-items:center;gap:var(--space-4) 10px;margin-bottom:var(--space-3);min-width:0}.cube-row label{font-size:11px;font-weight:400;color:var(--color-text-secondary)}.cube-id-display{font-family:var(--font-mono);font-size:10px;min-width:32px;text-align:right;color:var(--color-text-tertiary)}.cube-actions-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);align-items:center;min-width:0;margin-top:var(--space-2)}.cube-actions-buttons .control-btn--small{width:100%}.cube-actions-buttons .color-input{width:100%;height:var(--control-height);aspect-ratio:auto;border-radius:0}.action-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-2)}.action-row .control-btn--small{width:100%}select{height:var(--control-height);padding:0 28px 0 10px;font-family:var(--font-primary);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%23000' fill-opacity='0.4' d='M0 0h8L4 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color var(--duration-fast)}select:hover,select:focus{border-color:var(--color-border-hover);outline:none}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1px;background:var(--color-border);cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-text);box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--color-text);box-shadow:0 1px 2px #0000001a;border:none;cursor:pointer}input[type=range].slider--emphasis{height:2px;background:var(--color-text-secondary)}.color-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:72px;height:var(--control-height);padding:2px;border:1px solid var(--color-border);border-radius:0;background:transparent;cursor:pointer;transition:border-color var(--duration-fast)}.color-input:hover{border-color:var(--color-border-hover)}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none}.control-btn{height:var(--control-height);padding:0 var(--space-3);font-family:var(--font-primary);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.control-btn:hover{color:var(--color-text);border-color:var(--color-border-hover)}.control-btn.active{color:var(--color-bg);background:var(--color-text);border-color:var(--color-text)}.control-btn--small{width:72px;height:var(--control-height);padding:0}.bottom-nav{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:10000;display:flex;justify-content:center;align-items:center;gap:30px;padding:20px;background-color:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.05);font-family:var(--font-primary);font-size:12px}.nav-link{color:#0006;text-decoration:none;transition:color .2s ease;position:relative;white-space:pre;display:inline-flex;align-items:center}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-text);transition:width .3s ease}.nav-link:hover,.nav-link.active{color:#000000b3}.nav-link.active:after{width:100%}@media (hover: hover){.nav-link:hover:after{width:100%}}@media (max-width: 768px){:root{--control-height: var(--control-height-mobile)}.header-info h1{font-size:12px}.settings-panel{height:auto;max-height:40vh}.settings-content{padding:var(--space-3) var(--space-5) var(--space-8)}input[type=range]{height:3px}input[type=range]::-webkit-slider-thumb{width:20px;height:20px;box-shadow:0 1px 3px #00000026}input[type=range]::-moz-range-thumb{width:20px;height:20px;box-shadow:0 1px 3px #00000026}.settings-grid{grid-template-columns:1fr;gap:0}.settings-section{padding-bottom:var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-row{grid-template-columns:55px 1fr 6px 36px;gap:var(--space-3);margin-bottom:var(--space-5)}.setting-row label{font-size:10px}.setting-value{min-width:36px}.cube-row{grid-template-columns:55px 1fr 6px 36px;gap:var(--space-3) 10px}.cube-row .cube-id-display{width:36px}.bottom-nav{gap:20px}.nav-link{font-size:11px}}@media (max-width: 380px){.settings-panel{height:auto;max-height:45vh}.setting-row{grid-template-columns:45px 1fr 6px 32px;gap:var(--space-2)}.cube-row{grid-template-columns:45px 1fr 6px 32px}}.export-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);display:flex;align-items:center;justify-content:center;z-index:100000}.export-modal{text-align:center;max-width:320px;width:90%}.export-status{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-6)}.export-progress-container{background:var(--color-border);height:1px;overflow:visible;margin-bottom:var(--space-6);position:relative}.export-progress-bar{background:var(--color-text);height:1px;width:0%;transition:width .2s var(--ease-smooth)}.export-progress-text{font-family:var(--font-mono);font-size:11px;font-weight:400;color:var(--color-text-secondary);letter-spacing:.04em}.export-note{margin-top:var(--space-6);font-size:10px;font-style:italic;color:var(--color-text-tertiary)}
