:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--bg:#0f0f11;--ink:#f7f5ef;--panel-bg:#17171b;--hair:#f7f5ef29;--accent:#ff8a3d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink);overscroll-behavior:none;-webkit-text-size-adjust:100%;margin:0;padding:0;font:13px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;overflow:hidden}#safe-probe{visibility:hidden;pointer-events:none;width:0;height:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);position:fixed;top:0;left:0}#stage{width:100%;height:100vh;background:var(--bg);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;height:100svh;display:block;position:fixed;inset:0}.overlay{z-index:1;padding:max(16px, var(--safe-top)) 16px calc(96px + var(--safe-bottom));-webkit-backdrop-filter:blur(2px);text-align:center;touch-action:manipulation;background:#08080ab8;place-items:center;display:grid;position:fixed;inset:0}.overlay[data-screen=none]{display:none}.overlay__card{max-width:320px}.overlay__screen{justify-items:center;gap:10px;display:none}.overlay[data-screen=home] .overlay__screen[data-screen=home],.overlay[data-screen=ops] .overlay__screen[data-screen=ops],.overlay[data-screen=result] .overlay__screen[data-screen=result],.overlay[data-screen=menu] .overlay__screen[data-screen=menu],.overlay[data-screen=solution] .overlay__screen[data-screen=solution]{display:grid}.overlay__title{letter-spacing:-.01em;margin:0;font-size:26px;font-weight:600}.overlay[data-outcome=won] .overlay__screen[data-screen=result] .overlay__title{color:#2dd4bf}.overlay[data-outcome=lost] .overlay__screen[data-screen=result] .overlay__title{color:#ff2d55}.overlay__objective{opacity:.85;margin:0;font-size:15px}.overlay__praise{color:#4ade80;letter-spacing:.02em;text-align:center;margin:2px 0 0;font-size:34px;font-weight:800;line-height:1.05}.overlay__praise[hidden]{display:none}.overlay__score{letter-spacing:-.01em;margin:0;font-size:30px;font-weight:700}.overlay__score em{opacity:.6;font-size:17px;font-style:normal;font-weight:500}.overlay__badge{color:#f59e0b;letter-spacing:.04em;text-transform:uppercase;border:1px solid #f59e0b80;border-radius:999px;margin:0;padding:3px 12px;font-size:12px;font-weight:600}.overlay__badge[hidden]{display:none}.overlay__detail{opacity:.6;margin:0 0 6px;font-size:12px;line-height:1.5}.overlay__detail:empty{display:none}.overlay__choices{gap:10px;margin:2px 0 4px;display:flex}.overlay__ops{gap:6px;margin:2px 0 6px;display:flex}.overlay__layouts{gap:6px;margin-top:2px;display:flex}.overlay__layouts .btn--layout{min-height:34px;color:var(--ink);background:0 0;border:1px solid #f7f5ef47;border-radius:10px;padding:0 14px;font-size:12px}.overlay__layouts .btn--layout[data-active=true]{background:#f7f5ef29;border-color:#f7f5efb3}.overlay__ops .btn--op{min-width:48px;min-height:48px;color:var(--ink);background:0 0;border:1px solid #f7f5ef47;border-radius:12px;padding:0;font-size:20px;font-weight:600}.overlay__ops .btn--op-wide{min-width:60px;font-size:13px}.overlay__ops .btn--op[data-active=true]{background:#f7f5ef29;border-color:#f7f5efb3}.btn--big{border-radius:23px;min-height:46px;padding:0 26px;font-size:15px;font-weight:600}.overlay .btn--outline{color:var(--ink);background:0 0;border:1px solid #f7f5ef8c}.gear{z-index:3;left:max(10px, var(--safe-left));bottom:max(10px, var(--safe-bottom));border:1px solid var(--hair);background:var(--panel-bg);width:44px;height:44px;color:var(--ink);opacity:.75;cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.gear svg{width:22px;height:22px}.gear:active{opacity:1}.panel{z-index:2;left:max(62px, calc(var(--safe-left) + 62px));right:max(8px, var(--safe-right));bottom:max(8px, var(--safe-bottom));border:1px solid var(--hair);background:var(--panel-bg);contain:layout paint style;touch-action:manipulation;max-width:380px;accent-color:var(--ink);border-radius:14px;margin-inline:auto;position:fixed;overflow:hidden;transform:translateZ(0);box-shadow:0 6px 28px #0000008c}.panel__bar{justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;display:flex}.panel__toggle{min-height:34px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px;font-weight:600;display:inline-flex}.panel__chev{opacity:.55;font-size:10px;transition:transform .18s}.panel[data-collapsed=false] .panel__chev{transform:rotate(180deg)}.panel__peek{font-variant-numeric:tabular-nums;opacity:.65;white-space:nowrap;gap:8px;font-size:11px;display:flex}.panel__body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:min(52vh,420px);padding:2px 12px 12px;display:block;overflow-y:auto}.panel[data-collapsed=true] .panel__body{display:none}.presets{border-bottom:1px solid var(--hair);gap:6px;padding:8px 0 10px;display:grid}.presets__row{align-items:center;gap:8px;display:flex}.presets__label{opacity:.55;width:34px;font-size:11px}.presets__slots{flex:1;gap:6px;display:flex}.slot{border:1px solid var(--hair);min-height:32px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;flex:1;font-size:12px}.slot[data-filled=true]{background:#f7f5ef1f;border-color:#f7f5ef8c;font-weight:600}.slot:disabled{opacity:.35;cursor:default}.presets__status{opacity:.55;margin:0;font-size:11px}.controls{border-bottom:1px solid var(--hair);gap:10px;padding-bottom:10px;display:grid}.controls__heading{border-top:1px solid var(--hair);letter-spacing:.06em;text-transform:uppercase;opacity:.6;justify-content:space-between;align-items:center;margin:6px 0 -2px;padding-top:8px;font-size:11px;font-weight:600;display:flex}.controls__heading .switch{letter-spacing:0;text-transform:none;font-size:11px;font-weight:400}.controls__note{opacity:.5;margin:-2px 0 2px;font-size:11px;line-height:1.45}.control{gap:4px;display:grid}.control--row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.control__label{opacity:.8;justify-content:space-between;font-size:12px;display:flex}.control__label output{font-variant-numeric:tabular-nums;opacity:.9}input[type=range]{width:100%;height:28px}.range--hue{appearance:none;background:linear-gradient(90deg,#e44444,#e4e444,#44e444,#44e4e4,#4444e4,#e444e4,#e44444);border-radius:11px;height:22px}.range--hue::-webkit-slider-thumb{appearance:none;background:var(--ink);border:2px solid #17171b;border-radius:50%;width:18px;height:18px}.switch{align-items:center;gap:6px;min-height:34px;font-size:12px;display:inline-flex}.btn{border:1px solid var(--hair);background:var(--ink);color:#101010;min-height:34px;font:inherit;cursor:pointer;border-radius:9px;padding:0 12px;font-size:12px}.btn--quiet{color:var(--ink);background:0 0}.diag{font-variant-numeric:tabular-nums;grid-template-columns:1fr;gap:2px;margin:10px 0 0;font-size:11.5px;display:grid}.diag>div{justify-content:space-between;gap:10px;display:flex}.diag dt{opacity:.55}.diag dd{text-align:right;margin:0}.solution__sum{letter-spacing:-.01em;margin:0;font-size:34px;font-weight:700}.solution__dots{justify-content:center;gap:6px;margin:2px 0;display:grid}.solution__dots:empty{display:none}.solution__row{gap:6px;display:flex}.solution__dot{background:var(--ink);opacity:0;border-radius:50%;width:13px;height:13px;animation:.24s ease-out forwards dot-in}.solution__dot--gone{border:1.5px solid var(--hair);background:0 0;position:relative}.solution__dot--gone:after{content:"";background:var(--hair);height:1.5px;position:absolute;inset:50% -2px auto;transform:rotate(-45deg)}.solution__steps{text-align:center;gap:7px;min-width:min(74vw,320px);margin:0;padding:0;list-style:none;display:grid}.solution__step{opacity:0;margin:0;font-size:19px;font-weight:600;animation:.26s ease-out forwards step-in}.solution__step--answer{color:var(--accent);font-size:26px}.solution__note{opacity:.55;margin-top:1px;font-size:12px;font-weight:500;display:block}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes dot-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.solution__step,.solution__dot{animation-duration:1ms;animation-delay:0s!important}}.look{border-top:1px solid var(--hair);gap:5px;width:100%;padding:10px 0 2px;display:grid}.look__label{opacity:.55;margin:4px 0 0;font-size:11px;font-weight:600}.look__row{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.look__swatch{border:1px solid var(--hair);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.look__swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.look__dot{border:1.5px solid;border-radius:50%;width:13px;height:13px}.look__photo{justify-items:center;gap:6px;margin-top:4px;display:grid}.look__photo[hidden]{display:none}.btn--file{position:relative;overflow:hidden}.btn--file input{opacity:0;cursor:pointer;position:absolute;inset:0}.look__dim{opacity:.75;gap:3px;width:min(220px,70vw);font-size:11px;display:grid}.look__dim input{width:100%;accent-color:var(--accent)}.look__note{opacity:.5;text-align:center;max-width:30ch;margin:0;font-size:10.5px;line-height:1.45}.board{border-top:1px solid var(--hair);gap:8px;width:100%;padding-top:8px;display:grid}.board[hidden]{display:none}.board__entry{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:5px 8px;display:grid}.board__label{opacity:.7;grid-column:1/-1;font-size:12px}.board__input{border:1px solid var(--hair);width:5.2ch;color:inherit;font:inherit;letter-spacing:.45ch;text-align:center;text-transform:uppercase;background:0 0;border-radius:4px;padding:5px 0 5px .45ch;font-size:19px;font-weight:700}.board__input:focus-visible{border-color:var(--accent);outline:none}.board__note{opacity:.5;grid-column:1/-1;margin:0;font-size:10.5px;line-height:1.45}.board__list{counter-reset:rank;justify-self:center;gap:2px;width:min(230px,72vw);margin:0;padding:0;list-style:none;display:grid}.board__list:empty{display:none}.board__row{grid-template-columns:1.8em 1fr auto;align-items:baseline;gap:8px;padding:2px 0;font-size:13px;display:grid}.board__row:before{counter-increment:rank;content:counter(rank);opacity:.4;text-align:right;font-size:11px}.board__row b{letter-spacing:.08em;font-weight:700}.board__row span{opacity:.7;font-variant-numeric:tabular-nums}.board__row--mine{color:var(--accent)}.board__row--mine span{opacity:1}
