.scene-axis-label{color:var(--text-secondary);letter-spacing:.06em;white-space:nowrap;pointer-events:none;align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.scene-axis-tick{width:18px;height:18px;color:var(--cube-selected);stroke-width:2.5px}.scene-axis-label[data-previewing=true] .scene-axis-tick{display:none}.scene-inline-feedback,.scene-wall-hint,.scene-completion{z-index:2;visibility:hidden;pointer-events:none;max-width:260px;position:absolute}.scene-inline-feedback,.scene-wall-hint{border:1px solid color-mix(in srgb, var(--cube-primary) 28%, transparent);background:var(--surface-glass);color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;border-radius:8px;margin:0;padding:7px 11px;font-size:12px;line-height:1.5;box-shadow:0 2px 8px #34404e0a}.scene-inline-feedback[data-tone=error]{color:var(--interaction-invalid);border-color:color-mix(in srgb, var(--interaction-invalid) 24%, transparent)}.scene-wall-hint{color:var(--text-accent);white-space:nowrap;font-weight:600}.scene-wall-hint:before{content:"";vertical-align:2px;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.scene-height-cue{visibility:hidden;z-index:2;pointer-events:none;background:var(--surface-glass);color:var(--text-accent);white-space:nowrap;border-radius:5px;padding:3px 6px;font-size:11px;line-height:1.5;position:absolute}.scene-completion{max-width:290px;color:var(--text-primary);white-space:nowrap;align-items:center;gap:15px;display:flex}.scene-completion-status{align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.scene-completion-status svg{width:18px;height:18px;color:var(--cube-selected);stroke-width:2.5px}.scene-completion-action{background:var(--bg-surface);min-width:112px;min-height:48px;color:var(--text-primary);font:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation;border:1px solid #5296d947;border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:0 17px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 3px 10px #34404e0a}.scene-completion-action svg{width:15px;height:15px;color:var(--cube-selected)}.scene-completion-action:hover{background:var(--bg-control-hover);border-color:var(--cube-selected)}.scene-completion-action:focus-visible{outline:2px solid var(--cube-selected);outline-offset:4px}.scene-completion-action:active{background:var(--bg-selected)}.scene-error{text-align:center;color:var(--text-secondary);pointer-events:none;font-size:14px;position:absolute;top:45%;left:15%;right:15%}@media (max-width:820px){.scene-inline-feedback{max-width:225px}.scene-completion{gap:12px}}@media (max-width:699px),(max-height:540px) and (orientation:landscape){.scene-inline-feedback,.scene-wall-hint{max-width:210px;padding:6px 9px;font-size:11px}.scene-completion{gap:9px;max-width:232px}.scene-completion-status{font-size:12px}.scene-completion-action{min-width:104px;min-height:44px;padding:0 13px;font-size:12px}.scene-axis-tick{width:16px;height:16px}}.home-page{background:var(--bg-canvas);isolation:isolate;touch-action:pan-y pinch-zoom;height:100%;position:relative;overflow:hidden auto}.home-artwork{z-index:-2;pointer-events:none;position:absolute;inset:0}.home-artwork img{object-fit:cover;object-position:center;width:100%;height:100%}.home-page:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(transparent, color-mix(in srgb, var(--bg-canvas) 68%, transparent) 74%, var(--bg-canvas));position:absolute;inset:58% 0 0}.home-actions{z-index:2;top:max(16px, env(safe-area-inset-top));right:max(20px, env(safe-area-inset-right));align-items:center;gap:4px;display:flex;position:absolute}.home-actions .icon-button{color:var(--text-primary)}.home-layout{min-height:100%;padding:max(90px, calc(env(safe-area-inset-top) + 64px)) 16px max(28px, calc(env(safe-area-inset-bottom) + 16px));flex-direction:column;justify-content:space-between;align-items:center;gap:56px;display:flex;position:relative}.home-brand{font-family:var(--font-display);letter-spacing:.22em;color:var(--text-primary);margin:0;padding-left:.22em;font-size:58px;font-weight:300;line-height:1.25}.home-panel{background:color-mix(in srgb, var(--bg-surface) 72%, transparent);width:min(100%,480px);box-shadow:0 8px 32px color-mix(in srgb, var(--text-primary) 7%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.15);border:1px solid #ffffffbf;border-radius:30px;padding:12px}.home-continue{text-align:left;background:0 0;border-radius:18px;align-items:center;gap:14px;width:100%;min-height:88px;padding:0;display:flex}.home-level-preview{background:var(--bg-surface);border-radius:18px;flex:none;align-items:center;width:88px;height:74px;padding:6px;display:flex}.home-current-level{flex-direction:column;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.home-current-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--font-display);font-size:21px;font-weight:600;line-height:1.4;display:block;overflow:hidden}.home-forward{background:var(--button-dark);width:52px;height:52px;color:var(--bg-surface);box-shadow:0 4px 12px color-mix(in srgb, var(--text-primary) 15%, transparent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.home-chapters{grid-template-columns:repeat(6,minmax(44px,1fr));column-gap:clamp(0px,10vw - 32px,8px);margin-top:14px;display:grid}.home-chapter{min-width:44px;min-height:52px;color:var(--text-primary);background:0 0;border-radius:16px;justify-content:center;align-items:center;padding:0;display:flex}.home-chapter.is-current{background:var(--bg-surface)}.home-chapter-ring{width:38px;height:38px;font-family:var(--font-display);justify-content:center;align-items:center;font-size:17px;display:flex;position:relative}.home-chapter-ring svg{width:100%;height:100%;position:absolute;inset:0}.chapter-ring-track,.chapter-ring-progress{fill:none;stroke-width:2.5px}.chapter-ring-track{stroke:color-mix(in srgb, var(--text-primary) 10%, transparent)}.chapter-ring-progress{stroke:var(--text-accent);stroke-linecap:round}.home-chapter.is-current .home-chapter-ring{font-weight:600}.home-sandbox-ring{border:1.5px dashed color-mix(in srgb, var(--text-primary) 18%, transparent);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.home-actions .home-open-catalog{display:none}.progress-ticks{align-items:center;gap:3px;display:flex}.progress-ticks i{background:color-mix(in srgb, var(--text-primary) 12%, transparent);border-radius:999px;width:10px;height:3px;display:block}.progress-ticks i.is-complete{background:var(--text-accent)}.levels-page{touch-action:pan-y pinch-zoom;background:var(--bg-canvas);flex-direction:column;height:100%;display:flex;overflow-y:auto}.catalog-header{min-height:80px;padding:max(12px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) 12px max(24px, env(safe-area-inset-left));flex:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.catalog-header .icon-button:first-child{justify-self:start}.catalog-header .icon-button:last-child{justify-self:end}.catalog-brand{font-family:var(--font-display);letter-spacing:.14em;padding-left:.14em;font-size:22px}.catalog-content{width:min(840px,100%);padding:0 max(20px, env(safe-area-inset-left)) max(40px, calc(env(safe-area-inset-bottom) + 24px)) max(20px, env(safe-area-inset-right));margin:4px auto 0}.chapter-selector{background:color-mix(in srgb, var(--text-primary) 4%, transparent);border-radius:18px;grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px;padding:4px;display:grid}.chapter-selector>button{min-width:44px;min-height:58px;color:var(--text-muted);background:0 0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:6px 4px;display:flex}.chapter-selector>button[aria-selected=true]{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 2px 6px color-mix(in srgb, var(--text-primary) 5%, transparent)}.chapter-selector .chapter-numeral{font-family:var(--font-display);font-size:19px;font-weight:400;line-height:1.2}.chapter-selector>button[aria-selected=true] .chapter-numeral{font-weight:600}.chapter-selector .progress-ticks{gap:2px}.chapter-selector .progress-ticks i{width:4px}.chapter-selector>button[aria-selected=false] .progress-ticks i.is-complete{background:var(--cube-primary)}.catalog-chapter-title{font-family:var(--font-display);margin:26px 0 20px;font-size:26px;font-weight:600;line-height:1.45}.catalog-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.catalog-level{text-align:left;background:var(--bg-surface);border:1.5px solid #0000;border-radius:22px;flex-direction:column;align-items:stretch;gap:10px;min-width:0;padding:12px;display:flex;box-shadow:0 4px 12px #8a6a4712}.catalog-level.is-current{border-color:color-mix(in srgb, var(--text-accent) 55%, transparent)}.catalog-level-preview{justify-content:center;align-items:center;width:100%;height:104px;display:flex;position:relative}.catalog-level-badge{background:var(--button-dark);width:22px;height:22px;color:var(--bg-surface);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.catalog-level-badge.is-finished{background:var(--text-accent)}.catalog-level-caption{align-items:baseline;gap:7px;min-height:25px;line-height:1.5;display:flex}.catalog-level-number{font-family:var(--font-display);color:var(--text-muted);flex:none;font-size:14px}.catalog-level-title{font-family:var(--font-display);overflow-wrap:anywhere;font-size:17px;font-weight:500}.catalog-sandbox{background:var(--bg-surface);text-align:left;width:100%;min-width:0;font-family:var(--font-display);border-radius:22px;align-items:center;gap:16px;margin-top:20px;padding:14px;font-size:19px;display:flex;box-shadow:0 4px 12px #8a6a4712}.catalog-sandbox-preview{flex:none;align-items:center;width:96px;height:72px;display:flex}.catalog-sandbox>svg:last-child{color:var(--text-muted);margin-left:auto}.level-preview{width:100%;height:100%;display:block;overflow:visible}.preview-slab{fill:#ede5d9}.preview-floor{fill:#f8f3eb}.preview-side-wall{fill:#e9e3d8}.preview-front-wall{fill:#f6f1e8}.preview-shadows{fill:#b9cdda}.level-preview.is-solved .preview-shadows,.level-preview.is-live .preview-shadows{fill:#56788c}.preview-wall-cap{fill:none;stroke:#fff;stroke-width:1.5px}.home-continue,.home-chapter,.catalog-level,.catalog-sandbox{transition:transform var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast)}.home-continue:active:not(:disabled),.home-chapter:active:not(:disabled),.catalog-level:active:not(:disabled),.catalog-sandbox:active:not(:disabled){transform:scale(.97)}@media (hover:hover){.home-chapter:hover:not(:disabled){background:var(--bg-surface)}.home-continue:hover:not(:disabled){background:color-mix(in srgb, var(--bg-surface) 55%, transparent)}.catalog-level:hover:not(:disabled){border-color:color-mix(in srgb, var(--text-accent) 50%, transparent)}.catalog-sandbox:hover:not(:disabled){background:color-mix(in srgb, var(--cube-primary) 8%, var(--bg-surface))}}@media (min-width:760px){.home-actions .home-open-catalog{display:inline-flex}.catalog-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-level{padding:16px}.catalog-level-preview{height:124px}.catalog-chapter-title{margin-top:32px;margin-bottom:24px;font-size:30px}}@media (orientation:landscape){.home-layout{padding:max(92px, calc(env(safe-area-inset-top) + 64px)) max(40px, env(safe-area-inset-right)) max(40px, calc(env(safe-area-inset-bottom) + 24px)) max(48px, calc(env(safe-area-inset-left) + 24px));align-items:flex-start}.home-panel{width:min(400px,100%)}.home-page:after{background:linear-gradient(90deg, color-mix(in srgb, var(--bg-canvas) 65%, transparent), transparent);inset:0 50% 0 0}}@media (max-width:380px){.home-continue{gap:10px}.home-level-preview{width:72px;height:68px}.home-current-title{font-size:18px}.home-forward{width:48px;height:48px}.catalog-content{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.catalog-level{padding:10px}.catalog-level-title{font-size:15px}.catalog-level-number{font-size:12px}}@media (max-height:520px) and (orientation:landscape){.home-layout{padding-top:max(48px, env(safe-area-inset-top));padding-left:max(24px, calc(env(safe-area-inset-left) + 12px));padding-bottom:max(12px, env(safe-area-inset-bottom));gap:24px}.home-brand{font-size:42px}.home-actions{top:max(4px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){.home-continue,.home-chapter,.catalog-level,.catalog-sandbox{transition:none}.home-continue:active:not(:disabled),.home-chapter:active:not(:disabled),.catalog-level:active:not(:disabled),.catalog-sandbox:active:not(:disabled){transform:none}}.reduced-motion .home-continue,.reduced-motion .home-chapter,.reduced-motion .catalog-level,.reduced-motion .catalog-sandbox{transition:none}.reduced-motion .home-continue:active,.reduced-motion .home-chapter:active,.reduced-motion .catalog-level:active,.reduced-motion .catalog-sandbox:active{transform:none}@font-face{font-family:Fangcun Serif;src:url(/fonts/NotoSerifSC-Light.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Fangcun Serif;src:url(/fonts/NotoSerifSC-Medium.woff2)format("woff2");font-weight:400 500;font-display:swap}@font-face{font-family:Fangcun Serif;src:url(/fonts/NotoSerifSC-SemiBold.woff2)format("woff2");font-weight:600 900;font-display:swap}:root{--bg-canvas:#fcf9f4;--bg-surface:#fffdfa;--scene-white:#f4f3ee;--paper:#f5f3ee;--text-primary:#282d30;--text-secondary:#60696c;--text-muted:#6f7577;--cube-primary:#97b7c9;--cube-selected:#56788c;--text-accent:#486777;--interaction-preview:#b3ccdb;--interaction-invalid:#c8705f;--border-default:#e1dfd8;--border-strong:#929a9d;--grid-line:#cecfc9;--target-fill:#9d9180;--target-recess:#dcd2c3;--target-covered:#8a9da8;--hatch-color:#c8705f;--surface-glass:#fffdfad6;--button-dark:#486777;--bg-control:#f1f1ed;--bg-control-hover:#e8eeef;--bg-selected:#e1ebef;--font-display:"Fangcun Serif","Songti SC","STSong","Noto Serif CJK SC",serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-button:12px;--radius-card:20px;--radius-panel:24px;--motion-fast:.14s;--motion-normal:.2s;--motion-camera:.32s;--shadow-float:0 12px 36px #4b413116;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color:var(--text-primary);background:var(--bg-canvas);font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,system-ui,sans-serif}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-normal:0s;--motion-camera:0s}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body,#root{width:100%;min-height:100%;margin:0}body{overscroll-behavior:none;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background var(--motion-fast), color var(--motion-fast), opacity var(--motion-fast), border-color var(--motion-fast);border:0}button:disabled{cursor:default;opacity:.38}button:focus-visible,summary:focus-visible{outline:2px solid var(--text-accent);outline-offset:3px}button svg{flex:none}h1,h2,h3,p{margin:0}.app-shell{background:var(--bg-canvas);width:100%;height:100dvh;min-height:0}.app-content{width:100%;height:100%;position:relative}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.icon-button{border-radius:var(--radius-button);min-width:48px;min-height:48px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover:not(:disabled),.text-button:hover:not(:disabled){color:var(--text-primary);background:color-mix(in srgb, var(--border-default) 46%, transparent)}.text-button{border-radius:var(--radius-button);min-height:48px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;display:inline-flex}.primary-button{background:var(--button-dark);min-width:112px;min-height:48px;color:var(--bg-surface);border-radius:var(--radius-button);justify-content:center;align-items:center;gap:24px;padding:0 22px;font-size:15px;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--text-primary)}.brand-word{font-family:var(--font-display);letter-spacing:.13em;white-space:nowrap;font-size:36px;font-weight:500}.brand-small{font-size:26px}.level-thumbnail{opacity:.7;align-items:flex-end;gap:7px;padding-top:5px;display:flex}.level-thumbnail svg{max-width:40px;max-height:40px}.thumbnail-filled{fill:var(--target-fill)}.thumbnail-empty{fill:#0000;stroke:var(--border-strong);stroke-width:.5px}.projection-announcements{--projection-cell-size:36px}.projection-panel{padding-bottom:24px;position:relative}.projection-panel+.projection-panel{border-top:1px solid var(--border-default);padding-top:24px;padding-bottom:0}.projection-heading{justify-content:space-between;align-items:baseline;gap:8px;min-height:20px;margin-bottom:15px;display:flex}.projection-heading h2{font-size:14px;font-weight:500}.projection-heading>span{color:var(--text-secondary);white-space:nowrap;font-size:11px}.projection-grid-frame{justify-content:center;align-items:center;display:flex}.projection-grid{flex:none;display:block;overflow:visible}.projection-cell-grid{fill:#0000;stroke:var(--border-strong);stroke-width:.5px;opacity:.75}.projection-cell{transition:fill var(--motion-normal), stroke var(--motion-normal)}.projection-cell-missing{fill:var(--target-recess);stroke:var(--target-fill);stroke-width:1.3px}.projection-cell-covered{fill:var(--target-covered);stroke:var(--target-fill);stroke-width:.65px}.projection-cell-extra{stroke:var(--hatch-color);stroke-width:.8px}.projection-hatch{fill:none;stroke:var(--hatch-color);stroke-width:1px}.projection-preview{fill:#0000;stroke:var(--interaction-preview);stroke-width:2px}.projection-preview-remove{stroke-dasharray:3 2}.dialog-backdrop{z-index:30;background:color-mix(in srgb, var(--bg-canvas) 55%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.dialog-panel{touch-action:pan-y pinch-zoom;background:var(--bg-surface);border:1px solid color-mix(in srgb, var(--bg-surface) 90%, transparent);border-radius:var(--radius-panel);width:460px;max-height:calc(100dvh - 64px);box-shadow:var(--shadow-float);animation:fade-in var(--motion-normal) ease-out;padding:22px 28px 28px;overflow-y:auto}.dialog-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.dialog-header h2{letter-spacing:-.02em;font-size:24px;font-weight:500}.dialog-header .icon-button{margin-right:-10px}.settings-dialog{width:430px;padding:22px 26px 24px}.settings-list{border-bottom:1px solid var(--border-default);flex-direction:column;padding:8px 0 17px;display:flex}.setting-row{justify-content:space-between;align-items:center;gap:20px;min-height:72px;font-size:14px;display:flex}.setting-label{color:var(--text-primary);align-items:center;gap:16px;display:inline-flex}.setting-label>svg{color:var(--text-secondary)}.switch{background:0 0;justify-content:center;align-items:center;min-width:64px;min-height:48px;padding:11px 8px;display:flex;position:relative}.switch:before{content:"";border:1px solid var(--border-strong);background:var(--bg-canvas);width:40px;height:24px;transition:background var(--motion-fast);border-radius:12px;position:absolute}.switch>span{z-index:1;background:var(--text-secondary);width:16px;height:16px;transition:transform var(--motion-fast);border-radius:50%;transform:translate(-8px)}.switch[aria-checked=true]:before{background:var(--text-accent);border-color:var(--text-accent)}.switch[aria-checked=true]>span{background:var(--bg-surface);transform:translate(8px)}.settings-actions{flex-direction:column;align-items:flex-start;gap:1px;margin:16px -10px 0;display:flex}.settings-actions .text-button{gap:14px;min-height:50px;font-size:13px}.dialog-brand{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:10px;margin-top:28px;font-size:11px;display:flex}.dialog-brand>span{border-top:1px solid var(--border-strong);width:24px}.dialog-brand>small{letter-spacing:.08em;font-size:9px}.help-dialog{width:540px;padding:20px 26px 24px}.help-dialog .dialog-header{margin-bottom:0}.guide-navigation{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.guide-navigation>span{color:var(--text-muted);font-size:12px}.guide-navigation>div{align-items:center;gap:3px;display:flex}.guide-navigation output{text-align:center;min-width:36px;color:var(--text-secondary);font-size:12px}.guide-picture{border-radius:var(--radius-card);background:var(--bg-canvas);border:1px solid color-mix(in srgb, var(--border-default) 40%, transparent);height:260px;position:relative;overflow:hidden}.tutorial-diagram{width:100%;height:100%;display:block}.diagram-shadow{fill:var(--border-strong);opacity:.1}.diagram-plinth{fill:var(--bg-surface);stroke:var(--border-default);stroke-width:1px}.diagram-plinth-edge{fill:var(--scene-white);stroke:var(--border-default);stroke-width:1px}.diagram-wall{fill:var(--bg-surface);stroke:var(--border-default);stroke-width:1px}.diagram-wall.is-emphasized{stroke:var(--border-strong)}.diagram-wall-cell{fill:#0000;stroke:var(--border-default);stroke-width:.8px}.diagram-wall-cell.is-covered{fill:var(--target-covered);stroke:var(--target-fill);stroke-width:.8px}.diagram-wall-cell.is-missing{fill:var(--target-recess);stroke:var(--target-fill);stroke-width:1.6px}.diagram-wall-cell.is-extra{stroke:var(--hatch-color);stroke-width:1.5px}.diagram-hatch{fill:none;stroke:var(--hatch-color);stroke-width:1.4px}.diagram-projection{opacity:.7}.diagram-projection.is-emphasized{opacity:1}.diagram-match{fill:var(--text-accent);font-size:19px}.diagram-board-grid{stroke:var(--grid-line);stroke-width:.8px;opacity:.7}.diagram-placement-layer{fill:color-mix(in srgb, var(--interaction-preview) 9%, transparent);stroke:var(--interaction-preview);stroke-width:1px;stroke-dasharray:4 3}.diagram-cube polygon{stroke:var(--border-strong);stroke-width:.9px;stroke-linejoin:round}.diagram-cube-top{fill:var(--bg-surface)}.diagram-cube-left{fill:var(--scene-white)}.diagram-cube-right{fill:color-mix(in srgb, var(--border-default) 36%, var(--bg-surface))}.diagram-cube-selected .diagram-cube-top{fill:color-mix(in srgb, var(--cube-primary) 55%, var(--bg-surface))}.diagram-cube-selected .diagram-cube-left{fill:var(--cube-primary)}.diagram-cube-selected .diagram-cube-right{fill:var(--cube-selected)}.diagram-cube-selected polygon{stroke:var(--text-accent)}.diagram-cube-ghost polygon{fill:color-mix(in srgb, var(--interaction-preview) 26%, transparent);stroke:var(--text-accent);stroke-width:1.8px;stroke-dasharray:4 3}.diagram-action{fill:var(--text-accent);font-size:15px}.diagram-action path,.tutorial-diagram marker path{fill:none;stroke:var(--text-accent);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.diagram-action>path{stroke-width:2px}.diagram-finish{fill:var(--text-accent);font-size:13px}.diagram-free-label{fill:var(--text-accent);font-size:14px}.diagram-caption{fill:var(--text-muted);letter-spacing:1px;font-size:11px}.guide-instruction{align-items:flex-start;gap:15px;padding:22px 4px 3px;display:flex}.guide-step-number{background:var(--text-primary);height:28px;color:var(--bg-surface);border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.guide-instruction h3{margin-bottom:6px;font-size:18px;font-weight:500;line-height:1.5}.guide-instruction p{color:var(--text-secondary);max-width:382px;min-height:48px;font-size:13px;line-height:1.85}.guide-dots{justify-content:center;margin:5px 0 3px;display:flex}.guide-dots>button{border-radius:var(--radius-button);background:0 0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.guide-dots span{background:var(--border-default);border-radius:3px;width:5px;height:5px}.guide-dots [aria-current=step] span{background:var(--border-strong);width:20px}.projection-legend{border-top:1px solid var(--border-default);flex-wrap:wrap;justify-content:center;gap:13px 20px;padding:14px 0;display:flex}.projection-legend>span{color:var(--text-secondary);align-items:center;gap:7px;font-size:11px;display:inline-flex}.projection-legend i{width:14px;height:14px;display:block}.legend-missing{border:1.3px solid var(--target-fill);background:var(--target-recess)}.legend-covered{background:var(--target-covered);border:1px solid var(--target-fill)}.legend-extra{background:repeating-linear-gradient(-45deg, transparent, transparent 3px, var(--hatch-color) 3px, var(--hatch-color) 4px);border:1px solid var(--hatch-color)}.legend-preview{border:2px solid var(--interaction-preview)}.keyboard-help{color:var(--text-secondary);border-top:1px solid var(--border-default);font-size:13px}.keyboard-help summary{cursor:pointer;align-items:center;gap:8px;min-height:48px;display:flex}.keyboard-help summary:before{content:"+";font-size:17px}.keyboard-help[open] summary:before{content:"−"}.keyboard-help p{padding-bottom:8px;font-size:12px;line-height:2}.keyboard-piece-list{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.keyboard-piece-list button{padding:0 10px;font-size:12px}.dialog-description{color:var(--text-secondary);margin:0 0 23px;font-size:14px;line-height:1.85}.dialog-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;display:flex}.keyboard-placement{flex-direction:column;gap:4px;display:flex}.placement-row{color:var(--text-secondary);justify-content:space-between;align-items:center;min-height:56px;font-size:14px;display:flex}.placement-row>div{align-items:center;gap:7px;display:flex}.placement-row output{text-align:center;width:22px;color:var(--text-primary);font-size:16px}.placement-reason{color:var(--text-secondary);min-height:24px;margin-top:18px;font-size:13px}.save-notice,.recovery-notice{z-index:22;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-button);max-width:calc(100% - 48px);box-shadow:var(--shadow-float);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;padding:4px 14px;font-size:13px;display:flex;position:fixed;top:108px;left:50%;transform:translate(-50%)}.save-notice>span,.recovery-notice>span{padding:12px 0}.recovery-notice{top:166px}.save-notice .text-button{color:var(--text-accent);padding:0 6px;font-size:13px}.webgl-notice{z-index:24;border-radius:var(--radius-panel);background:var(--bg-surface);width:360px;max-width:calc(100% - 48px);box-shadow:var(--shadow-float);border:1px solid var(--border-default);padding:28px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.webgl-notice h2{margin-bottom:16px;font-size:20px;font-weight:500}.webgl-notice p{color:var(--text-secondary);margin-top:8px;font-size:14px;line-height:1.85}.loading-indicator{z-index:25;color:var(--text-secondary);font-size:13px;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{transition:none!important;animation:none!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (min-width:700px) and (orientation:portrait){.projection-heading{gap:5px;margin-bottom:13px}.projection-heading h2{font-size:12px}.projection-heading>span{font-size:10px}.projection-panel{padding-bottom:20px}.projection-panel+.projection-panel{padding-top:20px}}@media (max-width:699px){.level-thumbnail{gap:4px}.level-thumbnail svg{max-width:25px;max-height:30px}.dialog-backdrop{padding:12px}.dialog-panel,.settings-dialog,.help-dialog{width:100%;max-width:480px;max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:16px 18px 20px}.dialog-header{gap:12px;margin-bottom:12px}.dialog-header h2{font-size:22px}.dialog-header .icon-button{margin-right:-7px}.guide-navigation{gap:6px;margin-bottom:9px}.guide-navigation>span{font-size:10px}.guide-navigation .icon-button{min-width:44px;min-height:44px}.guide-picture{height:210px}.guide-instruction{gap:10px;padding:16px 0 3px}.guide-instruction h3{font-size:16px}.guide-instruction p{min-height:0;font-size:12px;line-height:1.8}.guide-step-number{flex-basis:25px;height:25px;font-size:12px}.projection-legend{gap:10px;padding:12px 0}.projection-legend>span{gap:5px;font-size:10px}.projection-legend i{width:12px;height:12px}.setting-row{min-height:62px;font-size:13px}.setting-label{gap:11px}.dialog-actions{gap:5px}.dialog-actions .primary-button{padding:0 15px}.save-notice,.recovery-notice{top:calc(76px + env(safe-area-inset-top));gap:6px;width:max-content;max-width:calc(100% - 24px);padding:3px 10px;font-size:11px}.recovery-notice{top:calc(132px + env(safe-area-inset-top))}}@media (max-height:540px) and (orientation:landscape){.dialog-backdrop{padding:10px}.dialog-panel,.settings-dialog,.help-dialog{max-height:calc(100dvh - 20px);padding:14px 22px 20px}.help-dialog{width:640px;max-width:calc(100vw - 32px)}.dialog-header{margin-bottom:6px}.dialog-header h2{font-size:21px}.guide-navigation{margin-bottom:6px}.guide-picture{height:160px}.guide-instruction{padding-top:12px}.guide-instruction h3{font-size:16px}.guide-instruction p{min-height:0;font-size:12px}.setting-row{min-height:56px}.save-notice{top:62px}.recovery-notice{top:118px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.settings-progress{color:var(--text-muted);padding:8px 0 20px}.settings-progress>span:first-child{font-family:var(--font-display);font-size:19px;display:block}.settings-progress strong{color:var(--text-primary);font-size:48px;font-weight:400}.settings-progress>span:nth-child(2){font-size:12px}.settings-chapters{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:20px;display:grid}.settings-chapters>div{gap:10px;font-size:12px;display:grid}.settings-ticks{gap:3px;display:flex}.settings-ticks i{background:var(--border-default);border-radius:2px;flex:1;height:3px}.settings-ticks i.is-done{background:var(--text-accent)}.dialog-header h2{font-family:var(--font-display)}@media (prefers-reduced-transparency:reduce){:root{--surface-glass:var(--bg-surface)}}.gesture-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 8px;padding:8px 0 20px;display:grid}.gesture-guide>span{color:var(--text-primary);flex-direction:column;align-items:center;gap:7px;font-size:12px;display:flex}.gesture-guide svg{color:var(--text-accent);margin-bottom:2px}.gesture-guide small{color:var(--text-muted);font-size:10px}.game-page{--game-gutter:32px;--game-dock-bottom:max(28px, env(safe-area-inset-bottom));background:var(--scene-white);height:100%;position:relative}.game-stage{width:100%;height:100%;position:relative;overflow:hidden}.game-tools{display:contents}.scene-layer{position:absolute;inset:86px 76px 112px}.scene-layer canvas{outline:none;display:block}.game-header{z-index:10;inset:20px var(--game-gutter) auto;justify-content:space-between;align-items:center;gap:16px;display:flex;position:absolute}.game-heading{align-items:center;gap:12px;min-width:0;display:flex}.game-title-control{text-align:left;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;min-width:0;min-height:48px;padding:0 4px;display:flex}.game-heading h1{min-width:0;max-width:100%;font-family:var(--font-display);white-space:nowrap;align-items:baseline;gap:8px;font-size:19px;font-weight:600;display:flex}.game-level-number{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;font-weight:500}.game-level-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.game-heading h1>svg{color:var(--text-muted);flex:none}.game-heading h1:focus{outline:none}.surface-status{align-items:center;gap:4px;min-height:4px;display:flex}.surface-status>i{background:color-mix(in srgb, var(--text-primary) 20%, transparent);width:18px;height:4px;transition:background var(--motion-normal);border-radius:4px}.surface-status>i.is-matched{background:var(--text-accent)}.move-budget{color:var(--text-secondary);white-space:nowrap;margin-left:5px;font-size:11px;font-weight:500}.move-budget.is-exhausted{color:var(--interaction-invalid)}.header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.game-round-control{background:var(--surface-glass);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-primary);box-shadow:0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;border:1px solid #ffffffb8;border-radius:50%;justify-content:center;align-items:center;padding:0;list-style:none;display:inline-flex}.game-page .game-round-control:hover:not(:disabled),.game-round-control:active{background:var(--bg-control-hover)}.game-page .game-round-control.is-active{background:var(--text-accent);color:#fff}.game-round-control:active:not(:disabled),.material-button:active:not(:disabled){transform:scale(.96)}.game-more,.camera-tools,.placement-adjust{position:relative}.game-more>summary::-webkit-details-marker{display:none}.camera-tools>summary::-webkit-details-marker{display:none}.placement-adjust>summary::-webkit-details-marker{display:none}.game-more-menu,.camera-menu,.placement-nudges{background:var(--bg-surface);box-shadow:var(--shadow-float);border:1px solid #fffc}.game-more-menu{border-radius:18px;flex-direction:column;min-width:194px;padding:6px;display:flex;position:absolute;top:calc(100% + 10px);right:0}.game-more-menu>button{min-height:46px;color:var(--text-primary);text-align:left;background:0 0;border-radius:12px;align-items:center;gap:12px;padding:0 13px;font-size:13px;display:flex}.game-more-menu>button:hover:not(:disabled){background:var(--bg-control-hover)}.game-more-menu .restart-action{color:var(--interaction-invalid);margin-top:5px}.camera-tools{z-index:9;right:var(--game-gutter);bottom:calc(var(--game-dock-bottom) + 80px);position:absolute}.camera-label,.camera-menu-heading,.workbench-shortcuts{display:none}.camera-menu{border-radius:18px;width:284px;max-width:calc(100vw - 24px);padding:7px;position:absolute;bottom:calc(100% + 10px);right:0}.view-presets{flex-wrap:wrap;display:flex}.tool-tile{min-width:44px;min-height:44px;color:var(--text-secondary);background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 10px;display:flex}.tool-tile>span{white-space:nowrap;font-size:11px}.tool-tile:hover:not(:disabled){background:var(--bg-control-hover)}.view-presets .tool-tile{flex-direction:column;gap:5px;min-width:52px;min-height:58px}.inspect-button{width:100%;min-height:44px;color:var(--text-secondary);background:0 0;border-radius:12px;align-items:center;gap:8px;margin-top:4px;padding:0 10px;font-size:12px;display:flex}.inspect-button:hover,.inspect-button.is-active{background:var(--bg-selected);color:var(--text-accent)}.layer-tools{z-index:5;left:var(--game-gutter);bottom:calc(var(--game-dock-bottom) + 80px);background:var(--surface-glass);box-shadow:0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:ns-resize;border:1px solid #ffffffb8;border-radius:28px;flex-direction:column;align-items:center;padding:8px 0 5px;display:flex;position:absolute}.layer-symbol{color:var(--text-muted);flex-shrink:0;margin:5px 0 9px}.layer-button{min-width:48px;min-height:44px;color:var(--text-secondary);touch-action:none;cursor:ns-resize;background:0 0;border-radius:0;justify-content:center;align-items:center;padding:5px 7px;display:flex}.layer-button>span{font-variant-numeric:tabular-nums;width:34px;height:34px;transition:background var(--motion-fast), color var(--motion-fast);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.layer-button[aria-pressed=true]>span{background:var(--button-dark);color:#fff;font-weight:600}.layer-tools.is-held{background:color-mix(in srgb, var(--bg-selected) 80%, transparent)}.layer-tools.is-held .layer-button[aria-pressed=true]>span{background:var(--text-accent)}.height-modifier{min-width:44px;min-height:48px;color:var(--text-secondary);touch-action:none;cursor:ns-resize;background:0 0;border-radius:0 0 22px 22px;padding:5px 4px;display:none}.height-modifier>span{font-size:9px}.height-modifier[aria-pressed=true]{color:var(--text-accent)}@media (pointer:coarse),(max-width:900px){.height-modifier{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}}.history-controls{z-index:8;bottom:var(--game-dock-bottom);left:var(--game-gutter);background:var(--surface-glass);height:54px;box-shadow:0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffffb8;border-radius:28px;align-items:center;display:flex;position:absolute}.history-controls .icon-button{min-width:51px;min-height:52px;color:var(--text-primary);border-radius:28px}.history-controls>span{background:color-mix(in srgb, var(--text-primary) 12%, transparent);width:1px;height:22px}.history-label,.material-label,.workbench-prompt{display:none}.workbench{z-index:8;bottom:var(--game-dock-bottom);right:var(--game-gutter);justify-content:flex-end;align-items:center;gap:8px;max-width:calc(100% - 152px);min-height:54px;display:flex;position:absolute}.workbench-main{align-items:center;gap:12px;display:flex;position:relative}.material-group{flex:none;align-items:center;display:flex}.material-group.is-replaced{opacity:0;pointer-events:none;position:absolute;right:0}.material-button{min-width:96px;min-height:54px;color:var(--text-primary);background:var(--surface-glass);box-shadow:0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);touch-action:none;cursor:grab;border:1px solid #ffffffb8;border-radius:28px;justify-content:center;align-items:center;gap:10px;padding:0 20px;display:flex}.material-button:active{cursor:grabbing}.material-button>span{font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.material-button:disabled{opacity:.4;cursor:default}.material-cube{filter:drop-shadow(0 2px 2px #282d301f);flex-shrink:0}.workbench-context:empty{display:none}.selection-actions{align-items:center;gap:8px;display:flex}.selection-actions .game-round-control{min-width:54px;min-height:54px}.fixed-piece-icon{color:var(--text-muted);margin:0 16px}.completion-mark{white-space:nowrap;color:var(--text-accent);align-items:center;gap:6px;font-size:12px;display:flex}.advance-button{border-radius:28px;gap:10px;min-width:108px;min-height:54px;padding:0 20px;font-size:14px}.placement-tools{align-items:center;gap:8px;min-height:54px;display:flex;position:relative}.placement-adjust>summary{min-width:44px;min-height:44px;color:var(--text-secondary);background:var(--surface-glass);box-shadow:0 3px 10px color-mix(in srgb, var(--text-primary) 7%, transparent);cursor:pointer;border:1px solid #ffffffb8;border-radius:24px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:11px;list-style:none;display:flex}.placement-adjust>summary:hover,.placement-adjust[open]>summary{background:var(--bg-control-hover)}.placement-nudges{border-radius:18px;grid-template-columns:repeat(2,46px);gap:4px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 12px);right:0}.placement-nudges .icon-button{border-radius:13px;min-width:46px;min-height:46px}.placement-exit{align-items:center;gap:8px;display:flex}.placement-exit .game-round-control{min-width:54px;min-height:54px}.placement-confirm{min-width:96px;min-height:54px;box-shadow:0 3px 8px color-mix(in srgb, var(--text-primary) 18%, transparent);border-radius:28px;gap:6px;padding:0 20px;font-size:14px;font-weight:600}.depth-tools{z-index:7;right:calc(var(--game-gutter) + 56px);bottom:calc(var(--game-dock-bottom) + 80px);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffffb8;border-radius:24px;align-items:center;gap:4px;padding:3px;display:flex;position:absolute}.depth-counter{color:var(--text-secondary);padding:0 7px;font-size:10px}.depth-button{min-width:44px;min-height:44px;color:var(--text-secondary);background:0 0;border-radius:22px;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.depth-button:hover{background:var(--bg-control-hover)}.completion-dialog{background:#fffdf8;border-radius:22px;flex-direction:column;width:280px;max-width:calc(100vw - 40px);padding:28px 22px 17px;display:flex;position:relative}.completion-dialog .dialog-header{justify-content:center;gap:0;margin-bottom:18px}.completion-dialog .dialog-header h2{text-align:center;font-family:var(--font-display);font-size:24px;font-weight:600}.completion-dialog .dialog-header>button{min-width:44px;min-height:44px;color:var(--text-muted);margin:0;position:absolute;top:6px;right:10px}.completion-emblem{order:-1;justify-content:center;align-items:center;height:48px;margin-bottom:14px;display:flex}.completion-emblem .material-cube{width:31px;height:37px}.completion-emblem .material-cube:first-child{transform:translate(3px,4px)}.completion-emblem .material-cube:last-child{transform:translate(-2px,-4px)}.completion-emblem .material-cube:last-child path:first-child{fill:#c6dce8}.completion-emblem .material-cube:last-child path:nth-child(2){fill:#97b7c9}.completion-emblem .material-cube:last-child path:nth-child(3){fill:#486777}.completion-next{background:var(--text-accent);border-radius:13px;gap:9px;width:100%;min-width:0;min-height:44px;padding:0 14px;font-size:14px}.completion-stay{width:100%;min-height:44px;font-size:13px}.home-resume-note{color:var(--text-secondary);flex-direction:column;gap:7px;margin-top:12px;font-size:12px;display:flex}.home-resume-note>span{color:var(--text-muted);font-size:10px}@media (max-width:900px){.game-page{--game-gutter:20px}.scene-layer{inset:86px 64px 124px}.game-heading{gap:9px}.game-heading h1{font-size:18px}.header-actions{gap:8px}}@media (max-width:599px){.game-page{--game-gutter:12px;--game-dock-bottom:calc(16px + env(safe-area-inset-bottom))}.game-header{top:max(10px, env(safe-area-inset-top));gap:8px}.game-heading{gap:8px}.game-title-control{gap:6px;min-height:48px;padding:0}.game-heading h1{gap:5px;font-size:16px}.game-level-number{font-size:10px}.header-actions{gap:7px}.scene-layer{inset:calc(84px + env(safe-area-inset-top)) 0 calc(144px + env(safe-area-inset-bottom))}.layer-tools{bottom:calc(var(--game-dock-bottom) + 82px)}.camera-tools{bottom:calc(var(--game-dock-bottom) + 148px)}.workbench{max-width:calc(100% - 136px)}.workbench-main{gap:8px}.material-button{padding:0 16px}.placement-adjust{position:absolute;bottom:65px;right:108px}.placement-adjust>summary{width:44px;padding:0}.placement-adjust>summary>span{display:none}.placement-nudges{left:auto;right:-56px}.placement-exit{gap:8px;position:absolute;bottom:65px;right:0}.placement-exit .game-round-control{min-width:44px;min-height:44px}.completion-mark{display:none}.is-complete .workbench-context{position:absolute;bottom:65px;right:0}.advance-button{min-width:96px;min-height:44px;padding:0 14px;font-size:12px}.depth-tools{right:var(--game-gutter);bottom:calc(var(--game-dock-bottom) + 202px)}.depth-counter{padding:0 5px}}@media (max-width:999px) and (max-height:540px) and (orientation:landscape){.game-page{--game-gutter:max(12px, env(safe-area-inset-left));--game-dock-bottom:max(10px, env(safe-area-inset-bottom))}.game-header{top:max(6px, env(safe-area-inset-top))}.scene-layer{inset:max(58px, env(safe-area-inset-top)) max(136px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(128px, env(safe-area-inset-left))}.layer-tools{bottom:calc(var(--game-dock-bottom) + 70px);padding-top:4px}.layer-symbol{display:none}.height-modifier{background:var(--surface-glass);border-radius:22px;min-height:44px;position:absolute;bottom:0;left:calc(100% + 8px)}.camera-tools{top:76px;bottom:auto}.workbench{flex-direction:column;align-items:flex-end;gap:0;width:112px;max-width:112px}.workbench .selection-actions .game-round-control{min-width:44px;min-height:44px}.placement-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:112px;display:grid}.placement-adjust{grid-column:1;position:relative;bottom:auto;right:auto}.placement-adjust>summary{width:44px;min-width:44px;min-height:44px;padding:0}.placement-adjust>summary>span{display:none}.placement-nudges{bottom:0;left:auto;right:calc(100% + 10px)}.placement-exit{display:contents}.placement-exit .game-round-control{min-width:44px;min-height:44px}.placement-cancel{grid-area:1/2;justify-self:end}.placement-remove{grid-area:2/1/auto/-1;justify-self:end}.placement-confirm{grid-column:1/-1;width:112px}.completion-mark{display:none}.is-complete .workbench-context{position:absolute;bottom:65px;right:0}.advance-button{min-width:96px;min-height:44px;padding:0 14px;font-size:12px}.depth-tools{top:136px;right:var(--game-gutter);flex-wrap:wrap;justify-content:center;width:112px;bottom:auto}.depth-counter{text-align:center;width:100%}.home-resume-note{display:none}}@media (min-width:1000px){.game-page{--game-gutter:48px;max-width:1280px;margin-inline:auto}.game-stage{grid-template:"board tools"minmax(0,1fr)/minmax(0,1fr) 220px;gap:24px;padding:94px 48px 36px;display:grid}.scene-layer{grid-area:board;width:100%;min-width:0;height:100%;min-height:0;position:relative;inset:auto}.game-header{grid-template-columns:44px minmax(0,1fr) auto;gap:16px;display:grid;inset:22px 48px auto}.game-heading{display:contents}.game-title-control{justify-self:center;align-items:center;padding:0 12px}.game-heading h1{font-size:20px}.surface-status{justify-content:center}.game-tools{border-left:1px solid color-mix(in srgb, var(--text-primary) 9%, transparent);flex-direction:column;grid-area:tools;align-self:center;gap:20px;padding:24px 0 24px 18px;display:flex}.game-tools .camera-tools{order:1;width:100%;position:relative;bottom:auto;right:auto}.game-tools .camera-tools>summary{border-radius:24px;gap:8px;width:100%;height:48px;min-height:48px}.game-tools .camera-label{font-size:13px;display:inline}.game-tools .camera-menu{top:calc(100% + 10px);bottom:auto}.game-tools .workbench{flex-direction:column;order:2;justify-content:center;gap:0;width:100%;max-width:none;min-height:170px;display:flex;position:relative;bottom:auto;right:auto}.game-tools .workbench-main{flex-direction:column;gap:12px;width:100%;display:flex}.game-tools .material-group{justify-content:center;width:100%}.game-tools .material-button{width:100%}.game-tools .material-label{white-space:nowrap;font-size:14px;font-weight:500;display:inline}.game-tools .workbench-prompt{color:var(--text-secondary);text-align:center;font-size:12px;line-height:1.6;display:block}.game-tools .material-group.is-replaced{top:0}.game-tools .workbench-context{width:100%}.game-tools .selection-actions{justify-content:center}.game-tools .fixed-piece-icon{margin:0 auto;display:block}.game-tools .completion-mark{justify-content:center}.game-tools .advance-button{width:100%}.game-tools .placement-tools{grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;display:grid}.game-tools .placement-adjust>summary{min-height:54px;padding:0 8px}.game-tools .placement-exit{justify-content:flex-end;gap:6px}.game-tools .placement-exit .game-round-control{min-width:44px;min-height:44px}.game-tools .placement-confirm{grid-column:1/-1;width:100%}.game-tools .history-controls{order:3;align-self:center;position:relative;bottom:auto;left:auto}.game-tools .history-controls .icon-button{gap:7px;min-width:87px}.game-tools .history-label{font-size:12px;display:inline}.layer-tools{top:50%;bottom:auto;left:56px;transform:translateY(-50%)}.depth-tools{bottom:48px;right:292px}}@media (min-width:1000px) and (max-height:540px){.game-header{top:max(8px, env(safe-area-inset-top))}.game-stage{padding-top:76px;padding-bottom:20px}.game-tools{gap:12px;padding-top:12px;padding-bottom:12px}.game-tools .workbench{min-height:132px}}@media (min-width:1000px) and (pointer:fine){.game-tools{scrollbar-width:thin;min-height:0;max-height:100%;overflow-y:auto}.game-tools .camera-tools[data-pinned=true]>summary{display:none}.game-tools .camera-tools[data-pinned=true] .camera-menu{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static}.camera-menu-heading{color:var(--text-secondary);justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:12px;font-weight:500;display:flex}.camera-menu-heading>small{color:var(--text-muted);font-size:10px;font-weight:400}.game-tools .view-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.game-tools .view-presets .tool-tile{border:1px solid color-mix(in srgb, var(--text-primary) 8%, transparent);min-width:0;min-height:56px;color:var(--text-primary);border-radius:13px;gap:5px;padding:4px}.game-tools .inspect-button{border-radius:13px;margin-top:8px;font-size:12px}.game-tools .workbench{gap:12px}.workbench-shortcuts{color:var(--text-muted);white-space:nowrap;font-size:10px;line-height:16px;display:block}}@media (prefers-reduced-motion:reduce){.game-round-control:active:not(:disabled),.material-button:active:not(:disabled){transform:none}}.reduced-motion .game-round-control:active:not(:disabled),.reduced-motion .material-button:active:not(:disabled){transform:none}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.game-round-control,.material-button,.layer-tools,.history-controls,.placement-adjust>summary,.depth-tools{background:var(--bg-surface);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:var(--border-strong)}}
