/* Only Arrow Cube's playing surface; shared page.css remains unchanged. */
.cube-stage{container:cube-stage / inline-size;position:relative;width:min(100%,480px,max(240px,calc((100svh - 300px)/1.1)));margin:0 auto;padding-bottom:env(safe-area-inset-bottom,0px)}
#cube{display:block;width:calc(100% + 16px);margin-inline:-8px;height:auto;aspect-ratio:10/11;border:0;background:transparent;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab}
#cube:active{cursor:grabbing}#cube:focus,#cube:focus-visible{outline:none;box-shadow:none}
.cube-faces{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:min(100%,420px);margin:0 auto}
.cube-faces button{min-width:0;min-height:44px;border:1px solid #87764d;border-radius:10px;background:linear-gradient(145deg,#25333d,#101720);color:#ead7af;font:600 22px Georgia,serif;box-shadow:inset 0 1px #dccba629;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cube-faces button:focus-visible{outline:2px solid #f9db9a;outline-offset:3px}.cube-faces button:disabled{opacity:.45;cursor:default}
.cube-status{position:absolute;top:35%;left:12px;right:12px;padding:16px;border:1px solid #a18b58;border-radius:14px;background:#101720f5;color:#f2dfbc;text-align:center;line-height:1.5}.cube-status[hidden]{display:none}.cube-retry{position:absolute;top:57%;left:50%;transform:translateX(-50%)}.cube-retry[hidden]{display:none}
@container gf-page (min-width:600px){.cube-stage{width:min(100%,620px,max(300px,calc((100svh - 380px)/1.1)));padding-bottom:env(safe-area-inset-bottom,0px)}.cube-faces{width:min(100%,390px)}}
@media (min-width:600px) and (orientation:landscape) and (pointer:coarse){.cube-stage{width:min(100%,340px,max(240px,calc((100svh - 300px)/1.1)));padding-bottom:env(safe-area-inset-bottom,0px)}}

@container gf-page (max-width:370px){#cube{width:calc(100% + 12px);margin-inline:-6px}}

#game-stats>div,#game-stats>button{flex-basis:0}
.cube-level-description{margin:0 0 16px;color:var(--muted);font-size:.875rem;line-height:1.5}


.arrow-level{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;min-height:44px;cursor:pointer}
.arrow-level:focus-visible{outline:2px solid #f7d68a;outline-offset:3px;border-radius:6px}
.cube-tools{display:grid;grid-template-columns:auto 44px minmax(0,1fr) 44px;gap:6px;width:min(100%,420px);margin:10px auto 0}
.cube-tools button{min-height:44px;min-width:0;margin:0;padding:7px 9px;font-size:.9rem}
.arrow-legend,.arrow-settings-note{font-size:.85rem;line-height:1.5;color:var(--muted);text-align:center;margin:12px 0}

main.arrow-shell:focus,main.arrow-shell:focus-visible{outline:none!important;outline-offset:0;box-shadow:none}

.cube-hint{display:block;min-height:44px;width:min(100%,420px);margin:10px auto 0}.cube-tools .hint-undo{outline:2px solid #f7d68a;outline-offset:2px}

/* Game-owned completion: context, readable metric pairs and one clear next step. */
.arrow-result-dialog .dialog-top{margin-bottom:8px}
.arrow-result-dialog .arrow-result-context{margin:0;color:var(--gold-light);font-size:1rem;font-weight:700}
.arrow-result-dialog .arrow-result-mode{margin:3px 0 14px;color:var(--muted);font-size:.85rem}
.arrow-result-success{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #9d844f70;border-radius:12px;background:#d9bc6c0b}
.arrow-result-success>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#e2c378;color:#14100a;font-size:20px;font-weight:800}
.arrow-result-success>p{margin:0;font-size:.9rem;line-height:1.4}
.arrow-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0 0}
.arrow-result-metric{min-width:0;padding:9px 12px;border:1px solid #8190a135;border-radius:10px;background:#0c121dcc}
.arrow-result-metric dt{margin:0;color:var(--muted);font-size:.8rem;line-height:1.3;overflow-wrap:anywhere}
.arrow-result-metric dd{margin:3px 0 0;color:var(--ivory);font-size:1.5rem;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.arrow-result-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.arrow-result-actions>button{width:100%;min-width:0;min-height:46px;margin:0;font-size:.95rem}
