body{background:#f8f5fb;color:#382e4c;color-scheme:light;font-size:17px;line-height:1.5}.balance-shell{max-width:1680px;margin:auto;min-height:100svh;padding:26px 40px 22px}.balance-header{display:flex;align-items:center;justify-content:space-between;gap:25px}.balance-header .exit-experiment{color:#4c3a64}.balance-edition{font:14px 'Space Mono',monospace;letter-spacing:1px;color:#92829f}.balance-header .help-button{width:38px;height:38px;font-size:18px;color:#8a719f;border-color:#c4b5cf}.balance-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:35px 0 29px}.balance-heading .small-label{font-size:14px;color:#9583a4;letter-spacing:1.3px}.balance-heading h1{font:400 clamp(42px,4.2vw,68px)/1.06 Georgia,serif;letter-spacing:-2px;margin:12px 0 0}.balance-heading h1 em{font-weight:400;color:#9974b3}.balance-stats{display:flex;gap:35px;flex-shrink:0}.balance-stats>div{display:flex;flex-direction:column;align-items:center;min-width:75px}.balance-stats strong{font:400 38px Georgia,serif;color:#5a456f;line-height:1.1}.balance-stats>div>span{font-size:14px;color:#92829f;margin-top:6px}.balance-stats strong span{font-size:23px;margin-left:3px}.balance-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}.balance-studio{min-width:0}.balance-board{height:clamp(430px,59svh,720px);min-height:430px;position:relative;border:1px solid #ddd3e9;border-radius:18px;overflow:hidden;background:#f1edf8;isolation:isolate}.balance-board>canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.balance-board>canvas:focus-visible{outline:3px dashed #9d78b8;outline-offset:-7px}.balance-empty{position:absolute;inset:0 0 22%;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;text-align:center;padding:20px}.balance-empty>span{font-size:49px;color:#c1abc9;margin-bottom:9px}.balance-empty h2{font:400 clamp(25px,2.6vw,38px)/1.2 Georgia,serif;color:#a492b6;margin:10px 0 12px;letter-spacing:-.7px}.balance-empty p{font-size:16px;color:#a697b3;margin:0}.board-corner{position:absolute;bottom:17px;left:20px;font:14px 'Space Mono',monospace;letter-spacing:1px;color:#ab9abb;pointer-events:none}.balance-placement{display:flex;align-items:center;gap:22px;margin-top:18px;border:1px solid #e4dae9;border-radius:12px;padding:15px 18px;background:#fffdfa}.balance-placement>label{font-size:15px;display:flex;align-items:center;gap:16px;flex:1;min-width:0;color:#9680a4}.balance-placement input{flex:1;width:110px;min-width:50px;accent-color:#9776ad}.balance-rotation{display:flex;align-items:center;gap:8px}.balance-rotation button{border:1px solid #d9cbe3;border-radius:7px;width:36px;height:36px;font-size:24px;color:#856497;line-height:1}.balance-rotation output{min-width:40px;text-align:center;font-size:15px;color:#8f7d9e}.balance-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:8px;background:#75608c;color:#fff8ef;font-size:16px;white-space:nowrap;box-shadow:0 3px 0 #5e4a75}.balance-primary:hover:not(:disabled){background:#876aa0;transform:translateY(-1px)}.balance-primary:disabled,.balance-placement button:disabled{opacity:.4;cursor:default;box-shadow:none}.balance-instructions{font-size:15px;color:#94829f;margin:15px 4px 0;line-height:1.7}.balance-inventory{border:1px solid #e2d6e9;border-radius:16px;background:#fffcf8;padding:22px 19px 18px}.choices-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.choices-heading .small-label{font-size:14px;letter-spacing:.9px;color:#a28bad}.choices-heading h2{font:400 31px Georgia,serif;color:#6d557e;margin:6px 0 0;letter-spacing:-.8px}.five-badge{display:grid;place-items:center;width:40px;height:40px;border:1px solid #ddcee7;border-radius:50%;font:22px Georgia,serif;color:#9676a8;background:#f4edf8}.choices-description{font-size:15px;color:#a28daf;margin:12px 0 19px;line-height:1.6}.object-choices{display:flex;flex-direction:column;gap:9px}.object-choice{display:flex;align-items:center;gap:8px;position:relative;min-width:0;min-height:78px;padding:9px 10px 9px 5px;border:1px solid #e2d6e8;border-radius:10px;background:#faf6fc;text-align:left;color:#735b86;transition:background .15s,border-color .15s,transform .15s}.object-choice:hover:not(:disabled){background:#eee4f5;border-color:#bca1ca;transform:translateX(-3px)}.object-choice:disabled{cursor:default}.object-choice:disabled canvas{opacity:.68}.object-choice>canvas{width:76px;height:58px;flex-shrink:0;display:block;pointer-events:none}.choice-key{position:absolute;top:6px;left:7px;color:#b5a0bf;font-size:14px}.choice-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.choice-copy strong{font-size:16px;font-weight:600;line-height:1.3;color:#745883}.choice-copy>span{font-size:14px;line-height:1.35;color:#a48ab2}.choice-arrow{margin-left:auto;color:#b49bc2;font-size:20px}.object-choice.refilled{animation:slot-refill .6s ease}.balance-status{font-size:15px;line-height:1.75;color:#9b83a9;min-height:52px;margin:18px 1px 15px}.balance-run-actions{display:flex;gap:12px;border-top:1px solid #e6daec;padding-top:14px}.balance-run-actions button{font-size:15px;color:#a187ae;padding:5px 0}.balance-run-actions button:last-child{margin-left:auto}.balance-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #e4dbe9;margin-top:28px;padding-top:18px;color:#a18bad}.balance-bottom>p{font-size:14px;line-height:1.8;margin:0}.balance-bottom .fullscreen-button{font-size:15px;color:#9479a3}.balance-result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#f4edf7e8;backdrop-filter:blur(6px);padding:30px;z-index:3}.balance-result .small-label{font-size:14px;color:#a18aaa;letter-spacing:1px}.balance-result h2{font:400 clamp(46px,5vw,70px)/1 Georgia,serif;color:#6f577e;letter-spacing:-2px;margin:22px 0 17px}.balance-result h2 em{color:#ae91bd;font-weight:400}.balance-result p{font-size:19px;color:#9478a3;margin:0 0 24px}.balance-result>span:last-child{font-size:15px;color:#a188ad;margin-top:19px}.balance-shell button:focus-visible,.balance-shell select:focus-visible,.balance-shell input:focus-visible{outline-color:#9874af}.balance-experience .help-dialog{background:#fffbf7;color:#5a456b}.balance-experience .help-dialog h2{font-family:Georgia,serif;font-weight:400;color:#806292}.balance-experience .help-dialog p{font-size:17px;color:#967da4}.balance-experience .dismiss-help{background:#826397;color:#fffaf2;font-size:17px}.balance-experience .help-dialog .small-label{font-size:14px}.balance-experience .help-dialog .keyboard-note{font-size:15px}.balance-experience+.help-dialog{color:#5a456b}@keyframes slot-refill{0%{background:#ead5f4;transform:translateY(-3px)}100%{background:#faf6fc;transform:translateY(0)}}
.balance-result{overflow-y:auto;justify-content:flex-start}.balance-result>*{flex-shrink:0}.balance-result>.small-label{margin-top:auto}.balance-result>#result-best{margin-bottom:auto}
@media(min-width:1700px){.balance-shell{padding-inline:60px}.balance-workspace{grid-template-columns:minmax(0,1fr) 330px;gap:40px}.balance-inventory{padding:26px}.balance-heading{padding-block:42px 34px}.balance-stats{gap:50px}}
@media(max-width:1100px){.balance-shell{padding-inline:25px}.balance-workspace{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.balance-heading{gap:24px}.balance-heading h1{font-size:49px}.balance-stats{gap:19px}.balance-stats strong{font-size:32px}.balance-stats>div{min-width:62px}.balance-heading .small-label{font-size:14px}.balance-placement{gap:12px;padding:12px}.balance-placement>label{flex-direction:column;align-items:start;gap:5px}.balance-placement input{width:100%}.balance-primary{padding:11px 15px}.balance-inventory{padding:20px 14px}.balance-edition{font-size:14px;letter-spacing:.5px}.board-corner{font-size:14px;letter-spacing:.3px}}

.balance-experience{--coffee-bg:#75608c;--coffee-ink:#fff8ef;--coffee-edge:#5e4a75;--coffee-shadow:0 3px 0 #5e4a75}
.balance-experience .sound-toggle{border:0}

@media(min-width:801px){
 .balance-shell{height:100svh;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:14px 28px}
 .balance-heading{padding:0;gap:24px}
 .balance-heading h1{font-size:clamp(34px,3.5vw,54px);margin-top:6px}
 .balance-heading .small-label{font-size:12px;letter-spacing:.7px}
 .balance-stats{gap:clamp(12px,2vw,32px)}
 .balance-stats>div{min-width:62px}
 .balance-stats strong{font-size:30px}
 .balance-stats>div>span{font-size:12px;margin-top:4px;white-space:nowrap}
 .balance-stats strong span{font-size:18px}
 .balance-workspace{min-height:0;align-items:stretch;gap:22px;grid-template-columns:minmax(0,1fr) 336px}
 .balance-studio{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px}
 .balance-board{height:auto;min-height:0}
 .balance-placement{margin:0;padding:8px 12px;gap:12px}
 .balance-placement>label{font-size:14px}
 .balance-placement .balance-primary{padding:9px 15px}
 .balance-instructions{margin:0 4px;font-size:13px;line-height:1.4;min-height:2.8em}
 .balance-inventory{min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;padding:14px}
 .choices-heading .small-label{font-size:12.65px}
 .choices-heading h2{font-size:29.9px;margin-top:3px}
 .five-badge{width:46px;height:46px;font-size:25.3px}
 .choices-description{font-size:14.95px;margin:6px 0 10px}
 .object-choices{min-height:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:6px}
 .object-choice{min-height:0;padding:4px 8px 4px 3px;gap:6px}
 .object-choice>canvas{width:71.3px;height:50.6px}
 .choice-key{font-size:12.65px;top:3px;left:4px}
 .choice-copy{gap:2px}
 .choice-copy strong{font-size:16.1px}
 .choice-copy>span{font-size:13.8px;line-height:1.2}
 .choice-arrow{font-size:23px}
 .balance-status{font-size:14.95px;line-height:1.4;min-height:2.8em;margin:9px 0}
 .balance-run-actions{padding-top:8px}
 .balance-run-actions button{font-size:16.1px;padding:2px 0}
 .balance-shell>.game-footer{margin:0;padding:8px 0 0;gap:8px 20px}
 .balance-shell>.game-footer>p{font-size:12px;line-height:1.4}
}
@media(min-width:801px) and (max-height:720px){
 .balance-shell{padding:10px 22px;gap:8px}
 .balance-heading h1{font-size:36px}
 .balance-heading .small-label{display:none}
 .balance-inventory{padding:10px;grid-template-rows:auto minmax(0,1fr) auto auto}
 .choices-description{display:none}
 .choices-heading{margin-bottom:8px}
 .choices-heading h2{font-size:26.45px}
 .object-choice>canvas{width:62.1px;height:43.7px}
 .balance-status{margin:7px 0}
}
@media(min-width:801px) and (max-width:1050px){
 .balance-heading h1{font-size:34px;max-width:310px}
 .balance-heading .small-label{display:none}
 .balance-stats{gap:12px}
 .balance-workspace{grid-template-columns:minmax(0,1fr) 300px;gap:16px}
 .balance-edition{font-size:11px}
 .board-corner{font-size:11px}
}
@media(min-width:801px) and (max-height:620px){
 .choices-heading .small-label,.choice-copy>span{display:none}
 .object-choice>canvas{height:36.8px;width:55.2px}
 .balance-status{font-size:13.8px}
 .balance-shell>.game-footer>p{font-size:11px}
}

.balance-workspace{grid-template-areas:"studio inventory"}
.balance-studio{grid-area:studio}
.balance-inventory{grid-area:inventory}
@media(max-width:800px){
 .balance-shell{padding:14px 12px 16px}
 .balance-header{gap:12px}
 .balance-edition{display:none}
 .balance-heading{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;padding:16px 0;gap:14px}
 .balance-heading .small-label{display:none}
 .balance-heading h1{font-size:clamp(28px,6vw,42px);letter-spacing:-1px;margin:0;max-width:none}
 .balance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;min-width:0;max-width:100%;padding:10px 0;border-block:1px solid #e6ddeb}
 .balance-stats>div{text-align:center;min-width:0}
 .balance-stats strong{font-size:clamp(22px,6vw,26px);max-width:100%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
 .balance-stats strong span{font-size:clamp(14px,3.8vw,18px)}
 .balance-stats>div>span{font-size:11px;line-height:1.25;margin-top:3px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
 .balance-workspace{grid-template-areas:"inventory" "studio";grid-template-columns:minmax(0,1fr);gap:12px}
 .balance-inventory{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;padding:8px;border-radius:14px;background:#fffcf8;min-width:0}
 .choices-heading{grid-column:1;grid-row:1;min-width:0}
 .choices-heading h2{font-size:20px;letter-spacing:-.5px;margin:0}
 .choices-heading .small-label,.choices-heading .five-badge,.choices-description{display:none}
 .balance-run-actions{grid-column:2;grid-row:1;gap:12px;padding:0;border:0;min-width:0}
 .balance-run-actions button{min-height:44px;font-size:13px;line-height:1.2;padding:4px 0;color:#806292}
 .balance-run-actions button:last-child{margin:0}
 .object-choices{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;min-width:0}
 .object-choice,.object-choice:last-child{grid-column:auto;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:94px;min-height:94px;min-width:0;max-width:none;padding:10px 3px 6px;text-align:center;border-radius:9px;background:#f7f1fb}
 .object-choice>canvas,.object-choice:last-child>canvas{width:100%;max-width:68px;height:auto;aspect-ratio:150/106;flex-shrink:1}
 .choice-key{font-size:10px;line-height:1;top:4px;left:4px}
 .choice-copy,.object-choice:last-child .choice-copy{width:100%;min-width:0;gap:0}
 .choice-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-size:clamp(11px,2.7vw,13px);line-height:1.15;font-weight:600;min-height:2.3em}
 .choice-copy>span,.choice-arrow{display:none}
 .object-choice:focus-visible{outline-offset:2px}
 .object-choice:hover:not(:disabled){transform:translateY(-2px)}
 .balance-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .balance-board{height:clamp(260px,42svh,400px);min-height:260px;border-radius:14px}
 .board-corner{display:none}
 .balance-empty{inset:0 0 14%;padding:16px}
 .balance-empty>span{font-size:30px;margin-bottom:0}
 .balance-empty h2{font-size:25px;margin:6px 0 8px}
 .balance-empty p{font-size:13px}
 .balance-result{padding:10px 16px;gap:5px;justify-content:center;overflow:hidden}
 .balance-result>.small-label{margin:0;font-size:11.5px;line-height:1.3;letter-spacing:.7px}
 .balance-result h2{font-size:clamp(32.2px,8.05vw,39.1px);line-height:1;letter-spacing:-1px;margin:0}
 .balance-result p{font-size:17.25px;line-height:1.4;margin:0}
 .balance-result .balance-primary{min-height:50.6px;padding:11.5px 20.7px;font-size:17.25px;line-height:1.2}
 .balance-result>#result-best{margin:0;font-size:13.8px;line-height:1.3}
 .balance-placement{margin-top:10px;padding:10px;gap:10px;border-radius:12px}
 .balance-placement>label{font-size:13px}
 .balance-rotation button{width:44px;height:44px}
 .balance-placement .balance-primary{min-height:44px;min-width:112px;padding:10px 16px}
 .balance-instructions{font-size:13px;line-height:1.45;margin:10px 2px 0}
 .balance-shell>.game-footer{margin-top:14px;padding-top:12px}
}
@media(max-width:540px){
 .balance-placement{flex-wrap:wrap}
 .balance-placement>label{width:100%;flex:1 0 100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}
 .balance-placement input{width:auto;max-width:51%}
 .balance-rotation{margin-right:auto;gap:8px}
 .balance-rotation output{min-width:38px;font-size:15px}
}
