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

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

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