/* Reference-inspired artwork, drawn from geometry. No reference-image assets. */
.creative-cube{background:#f0efe8;padding:23px 25px 20px;min-width:0;min-height:0;position:relative;isolation:isolate;overflow:hidden}
.creative-cube button{font:inherit;color:inherit;cursor:pointer;border-radius:0;-webkit-tap-highlight-color:transparent}
.creative-cube button:focus-visible,.creative-cube summary:focus-visible{outline:2px solid #214991;outline-offset:3px}
.creative-cube [hidden]{display:none!important}
.creative-cube .visual-label{font-size:9px;color:#4f5348;letter-spacing:.045em;gap:8px}
.cube-edition{font-size:8px;letter-spacing:.035em}
.cube-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:15px -17px 17px}
.cube-panel,.graph-panel{min-width:0;text-align:center;position:relative}
.cube-pair svg{display:block;width:100%;height:auto;aspect-ratio:1;overflow:visible}
.cube-view{touch-action:pan-y pinch-zoom;cursor:grab}
.cube-view.is-dragging{cursor:grabbing}
.cube-pair [data-sticker]{cursor:pointer}
.cube-view.is-dragging [data-sticker]{cursor:grabbing}
.panel-caption{display:flex;justify-content:center;gap:10px;font:8px/1.4 "Courier New",monospace;letter-spacing:.08em;color:#5e6456;margin-top:3px}
.panel-caption>span{color:#9d9f91}
.cube-story{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 17px}
.hero .cube-story p{font-size:16px;font-weight:400;letter-spacing:-.025em;line-height:1.5;margin:0;color:#353a30}
.state-mark{display:flex;align-items:center;gap:6px;font:8px/1 "Courier New",monospace;color:#697260;letter-spacing:.07em}
.state-mark i{width:4px;height:4px;background:#397957;border-radius:50%}
.cube-turn-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) 32px;gap:4px;border-top:1px solid #d6d7ca;padding-top:13px}
.cube-turn-row button{min-height:45px;border:1px solid #c8cbbe;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px 1px}
.cube-turn-row button b{font:14px/1.2 "Courier New",monospace;font-weight:400}
.cube-turn-row button span{font-size:9px;line-height:1.25;color:#757a6c}
.cube-turn-row button[data-reverse] span{font-size:24px;color:#343b2d}
.cube-turn-row button:hover{border-color:#424d37;background:#e4e6da}
.cube-turn-row button[aria-pressed="true"]{background:#d7ddcb;border-color:#768466}
.cube-tool-row{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:48px}
.cube-tool-row>span{font:9px/1.45 "Courier New",monospace;color:#707765}
.cube-tool-row>div{display:flex;gap:13px;flex:none}
.cube-tool-row button{border:0;background:none;padding:0;min-height:44px;font-size:10px;color:#4d5642;white-space:nowrap}
.cube-tool-row button:hover{text-decoration:underline;text-underline-offset:4px}
.cube-tool-row button:disabled{color:#858b7b;cursor:default;text-decoration:none}
.creative-cube .visual-caption{align-items:center;font-size:10px;padding-top:14px;border-color:#cdd0c0;color:#4a5140;letter-spacing:.02em}
.visual-caption [data-target]{color:#7b826f;font-size:9px}
.cube-instructions{text-align:center;font-size:9px;line-height:1.5;color:#7c8371;margin-top:13px;letter-spacing:.015em}
.cube-meaning{font-size:10px;color:#747c68;margin-top:11px;text-align:center}
.cube-meaning summary{cursor:pointer;list-style:none;text-decoration:underline;text-decoration-color:#b7bcaa;text-underline-offset:3px}
.cube-meaning summary::-webkit-details-marker{display:none}
.hero .cube-meaning p{font-size:11px;color:#6b745e;line-height:1.75;margin:12px 0 0;text-align:left}
.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}
@media(min-width:1001px){.hero{grid-template-columns:.87fr 1.13fr;gap:42px}.hero h1{font-size:clamp(43px,4.6vw,63px)}.en .hero h1{font-size:clamp(54px,5.7vw,78px)}}
@media(min-width:701px) and (max-width:1000px){.hero{grid-template-columns:.85fr 1.15fr;gap:26px}.creative-cube{padding:20px 17px}.cube-pair{margin:15px -14px}.cube-edition{display:none}.hero .cube-story p{font-size:14px}.cube-turn-row{gap:3px;grid-template-columns:repeat(6,minmax(0,1fr)) 28px}.cube-turn-row button span{font-size:8px}.cube-tool-row>span{font-size:8px}.cube-tool-row>div{gap:8px}.cube-tool-row button{font-size:9px}.panel-caption{font-size:7px;gap:5px}.hero h1{font-size:43px}.en .hero h1{font-size:58px}}
@media(max-width:700px){.creative-cube{padding:21px 18px}.cube-pair{margin:13px -13px 19px;gap:0}.cube-edition{font-size:6.5px}.creative-cube .visual-label{font-size:8px}.hero .cube-story p{font-size:15px}.cube-turn-row{gap:3px;grid-template-columns:repeat(6,minmax(0,1fr)) 29px}.cube-turn-row button span{font-size:8px}.cube-tool-row>span{font-size:8px}.cube-tool-row button{font-size:10px}.panel-caption{font-size:7px;gap:7px}.cube-instructions{font-size:8px}.cube-tool-row>div{gap:9px}.cube-meaning{font-size:10px}}
@media(max-width:360px){.cube-edition{display:none}.hero .cube-story p{font-size:13px}.cube-tool-row>span{max-width:110px}.panel-caption{font-size:6px}.creative-cube{padding:18px 14px}.cube-turn-row{gap:2px}}
@media(prefers-reduced-motion:reduce){.creative-cube *{animation:none!important;transition:none!important}}

.creative-cube:not([data-render="ready"]) .state-mark{visibility:hidden}
/* Keep the completed composition still; restart is a deliberate control. */
.creative-cube[data-view-locked="true"] .cube-view{cursor:default}
.cube-tool-row{justify-content:flex-end}
.cube-tool-row>div{width:100%;gap:18px}
.cube-tool-row [data-recompose]{margin-right:auto;color:#303a28;font-weight:500}

.creative-cube svg:focus{outline:none}
.creative-cube svg:focus-visible{outline:1px solid #8c9483;outline-offset:2px}

.graph-view [data-layer-move]{cursor:pointer;outline:none}
.graph-view [data-layer-move]:focus-visible{stroke:#8c9483;stroke-width:5;stroke-opacity:.45}
