.gr-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.gr-play{position:relative;min-width:0;border:1px solid #52637066;border-radius:24px;overflow:hidden;background:#132530}.gr-heading{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;background:#ffffff05;font-size:12px;color:#bdcbd0}.gr-heading>span+span{color:#a9b8b8;font-size:10px}.gr-stage{position:relative;display:flex;flex-direction:column;min-width:0;height:clamp(520px,calc(100dvh - 200px),920px);background:radial-gradient(ellipse at 45% 22%,#38504b 0%,#1a3039 37%,#10222d 80%);overflow:hidden}.gr-stage-top{display:flex;justify-content:space-between;padding:18px 22px;color:#b3c8bf;font-size:9px;letter-spacing:.18em;flex-shrink:0}.gr-view{position:relative;flex:1;min-height:0;min-width:0;overflow:hidden}.gr-view canvas,.gr-flat,.gr-labels{position:absolute;inset:0;width:100%;height:100%;display:block}.gr-labels{pointer-events:none}.gr-hook{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;padding:0;display:grid;place-items:center;border:1px solid #ffecd878;background:#122430bc;border-radius:50%;color:#f6f5e9;font-size:17px;font-weight:700;pointer-events:auto;cursor:pointer;text-shadow:0 1px 4px #000;box-shadow:0 2px 10px #071c2580}.gr-hook::after{content:attr(data-distance);position:absolute;top:100%;font-size:10px;line-height:18px;font-weight:500;color:#e5c994;text-shadow:0 1px 3px #000}.gr-hook.gr-empty{border-style:dashed;background:#1e3740b3;color:#c6dacd}.gr-hook.gr-fixed{border:2px solid #f3d290}.gr-hook.gr-fixed::before{content:'•';position:absolute;top:-14px;color:#efd089}.gr-hook:is(span){pointer-events:none}.gr-hook.gr-drop{outline:3px solid #b0edcc;box-shadow:0 0 20px #a9eac9}.gr-bar-label{position:absolute;transform:translate(-50%,-50%);font-size:11px;color:#e6bd87;letter-spacing:.1em}.gr-balanced{color:#9cdac0!important}.gr-bar-label.gr-balanced::after{content:' ✓'}.gr-tray{display:flex;justify-content:center;gap:8px;padding:8px 16px;flex-shrink:0}.gr-piece{border:1px solid #a1bac32b;background:#0b1c26a6;border-radius:14px;padding:8px 10px;min-width:54px;color:#b3cbd0;touch-action:none;cursor:grab}.gr-piece[aria-pressed=true]{border-color:#e8d6a1;background:#a6986230;box-shadow:0 0 18px #c9ac5820}.gr-ceramic{display:grid;place-items:center;width:36px;height:40px;margin:0 auto 5px;border-radius:45% 45% 46% 46%;color:#21353c;font-weight:700;font-size:18px;background:radial-gradient(circle at 30% 22%,#ffffffb0,transparent 36%),var(--piece);box-shadow:inset -4px -5px 7px #19343755,0 4px 6px #0004}.gr-piece small{font-size:9px;white-space:nowrap}.gr-placed .gr-ceramic{opacity:.55}.gr-tools{display:flex;justify-content:center;gap:6px;padding:6px 12px 16px;flex-shrink:0}.gr-tools .button{min-height:38px;font-size:11px;padding:6px 12px}.gr-console{border:1px solid #485c6b88;background:#14222d;border-radius:22px;padding:22px;align-self:start;display:flex;flex-direction:column;gap:14px}.gr-console h2{font-size:22px;margin:0}.gr-rule,.gr-tip p{font-size:12px;line-height:1.65;color:#b5c6cc;margin:0}.gr-meter{display:grid;gap:7px}.gr-meter>div{padding:9px 12px;border:1px solid #bac6be22;background:#090f1622;border-radius:12px;display:grid;grid-template-columns:1fr auto;align-items:center;font-size:11px}.gr-meter strong{font-size:19px;color:#f0d6a4}.gr-meter i{font-style:normal;color:#7faaad;margin:0 6px}.gr-meter small{grid-column:1/-1;font-size:10px}.gr-status{font-size:12px;line-height:1.55;color:#c9e2d9;min-height:36px;margin:0}.gr-history{display:flex;gap:6px}.gr-history .button{font-size:11px;padding:10px;flex:1}.gr-tip{border-top:1px solid #829a9f33;padding-top:14px}.gr-tip>span{font-size:9px;color:#cabb94;letter-spacing:.1em}.gr-tip p{margin:8px 0}.gr-hint{padding:12px;background:#bba76815;border:1px solid #dac08855;border-radius:12px;font-size:12px;line-height:1.6}.gr-win{padding:24px;background:linear-gradient(110deg,#234339,#253645);text-align:center}.gr-win h2{margin:8px 0}.gr-win p{font-size:12px}.gr-gallery,.gr-options{margin-top:24px}.gr-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.gr-level{justify-content:start;text-align:left}.gr-level.gr-done::after{content:' ✓';color:#a7dec7}.gr-options label{display:block;margin:14px 0}.gr-options p{line-height:1.65;font-size:13px}.gr-help{width:min(760px,94vw)}.gr-help p{font-size:13px;line-height:1.7}.gr-demo{height:390px;min-height:0;border-radius:18px}.gr-demo .gr-stage-top{padding:12px}.gr-demo .gr-tray{padding:4px}.gr-demo .gr-piece{padding:5px 10px}.gr-demo .gr-tools{padding-bottom:8px}.gr-flat+.gr-labels .gr-hook:not(.gr-empty){background:var(--piece);color:#16262d;text-shadow:none}.gr-stage [hidden],.gr-play [hidden],.gr-console [hidden]{display:none!important}.gr-dragging{cursor:grabbing}
@media(min-width:1700px){.gr-layout{grid-template-columns:minmax(0,1fr) 320px}.gr-stage{height:calc(100dvh - 195px)}}
@media(max-width:1000px){.gr-layout{grid-template-columns:minmax(0,1fr)}.gr-console{display:grid;grid-template-columns:1fr 1fr}.gr-console>.gr-rule,.gr-console>.gr-status,.gr-console>.gr-hint,.gr-console>.gr-tip{grid-column:1/-1}.gr-console .eyebrow{grid-column:1/-1}.gr-stage{height:clamp(470px,calc(100dvh - 185px),800px)}}
@media(max-width:520px){.gr-heading{padding:12px;font-size:10px}.gr-heading>span+span{display:none}.gr-stage{height:calc(100dvh - 190px);min-height:445px}.gr-stage-top{padding:14px 12px;font-size:8px}.gr-tray{gap:4px;padding:8px 5px}.gr-piece{min-width:0;flex:1;max-width:64px;padding:5px 2px;border-radius:10px}.gr-piece small{font-size:8px}.gr-ceramic{width:28px;height:33px;font-size:16px}.gr-hook{width:34px;height:34px;font-size:15px}.gr-hook::after{font-size:9px}.gr-console{padding:16px}.gr-tools{padding-bottom:12px}.gr-demo{height:355px;min-height:0}.gr-demo .gr-piece{flex:0 0 56px}.gr-help .dialog-actions{flex-wrap:wrap}}
.gr-stage.minimalist-stage{height:100dvh!important;min-height:0!important;padding-top:48px;padding-bottom:env(safe-area-inset-bottom)}.minimalist-stage .gr-stage-top{padding:8px 16px}.minimalist-stage .gr-view{min-height:0}.minimalist-stage .gr-tray{padding-top:6px}.minimalist-stage .gr-tools{padding-bottom:12px}
@media(prefers-reduced-motion:reduce){.gr-stage *{transition:none!important}}

.gr-focus{display:flex;justify-content:center;gap:5px;padding:6px;flex-shrink:0}.gr-focus .button{min-height:32px;padding:6px 10px;font-size:10px}.gr-focus [aria-pressed=true]{border-color:#d6c28e;background:#e6cda51c}.gr-hook:is(span){font-size:11px;min-width:40px;width:auto;padding:0 6px;border-radius:14px}.gr-stage.minimalist-stage{padding-top:64px!important}.gr-labels [hidden]{display:none!important}

body.minimalist-mode .gr-stage.minimalist-stage{padding-top:64px!important;padding-bottom:env(safe-area-inset-bottom)!important}

.gr-stage{background:radial-gradient(ellipse at 45% 15%,#384950,#182932 55%,#0d1b26)}.gr-labels{position:absolute;inset:0;pointer-events:none}.gr-axis{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:5px 7px;border:1px solid #dac48a99;border-radius:10px;background:#12222de8;color:#f7e6bd;pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:2px;box-shadow:0 2px 7px #0005}.gr-axis strong{font-size:11px}.gr-axis small{font-size:9px;white-space:nowrap}.gr-fixed{pointer-events:none;border-style:solid}.gr-goal{border-color:#87d4c5}.gr-powered{color:#adf3d8}.gr-jam{color:#ff9b90;border-color:#f27b69}.gr-drop{outline:3px solid #a4efd0}.gr-piece{position:relative;display:grid;grid-template-columns:1fr;place-items:center;min-width:48px;padding:6px 10px;border:1px solid #8b9da444;background:#0b1c26cc;border-radius:12px;color:#e7d6b1;touch-action:none}.gr-piece>span{font-size:36px;line-height:36px;color:var(--metal);text-shadow:0 2px 2px #000}.gr-piece>strong{position:absolute;top:16px;font-size:11px;color:#10212b}.gr-piece small{font-size:9px}.gr-piece.gr-placed{opacity:.55}.gr-piece[aria-pressed=true]{opacity:1;border-color:#f0d092;box-shadow:0 0 15px #dab76533}.gr-console>p{font-size:12px;line-height:1.65;margin:0;color:#b9cbd1}.gr-ok{color:#a2e3c7}.gr-meter .gr-ok strong{color:#a2e3c7}.gr-flat{background:linear-gradient(#815e3b20,#815e3b20),url('./assets/textures/canica-oak.webp') center/cover}.gr-tools{flex-wrap:wrap}.gr-tray{flex-wrap:wrap}.gr-stage .gr-view{min-height:160px}.gr-demo{height:360px!important;min-height:0!important}.gr-demo .gr-view{min-height:110px}.gr-stage [hidden],.gr-console [hidden],.gr-play [hidden]{display:none!important}@media(max-width:520px){.gr-axis{min-width:40px;padding:3px;min-height:40px}.gr-axis small{font-size:8px}.gr-piece{max-width:44px}.gr-tray{gap:4px}.gr-console>p{grid-column:1/-1}.gr-stage{min-height:440px}.gr-tools .button{padding:6px 8px}}

.gr-piece>strong{color:#fff5da;background:#162632;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;top:13px}.gr-stage-top{color:#d6c496}

.gr-axis:disabled{opacity:1;cursor:default}.gr-stage-top>span:last-child{font-size:8px}@media(max-width:520px){.gr-tray{flex-wrap:nowrap}.gr-piece{padding:5px 2px;max-width:44px;min-width:0}.gr-piece>span{font-size:32px}.gr-axis small{font-size:8px}}

.gr-axis:active:not(:disabled){transform:translate(-50%,-50%)}
