@font-face{font-family:Proza;src:url(/proza-regular.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}*{box-sizing:border-box}:root{color-scheme:dark;--bg: #112411;--panel: #172b17;--panel-2: #334728;--line: rgba(231, 190, 99, .42);--text: #fbf4db;--text-on-dark: #f8efd9;--text-on-accent: #17200f;--text-on-swatch-dark: #f8f8f8;--muted: #e8ca82;--accent: #d79a37;--accent-2: #7ab8a0;--danger: #ef6a54;--ok: #9cd58a;--cell: #34482b;--cell-line: rgba(221, 194, 111, .34);--control: #5a6e3e;--content-max: 600px;--tablet-content-max: 780px;--large-tablet-content-max: 920px;--layout-gap: 12px;--ray-yellow: #f8c84a;--ray-red: #d93932;--ray-blue: #357fc2;--ray-white: #fffaf0;--ray-green: #70b952;--ray-purple: #81378a;--ray-orange: #e28b35;--ray-pink: #ec878e;--ray-lemon: #f3df9d;--ray-sky-blue: #86c6df;--ray-light-orange: #f0a071;--ray-light-purple: #9f5d9a;--ray-light-green: #c8da67;--ray-gray: #585958;--ray-black: #05070d;--ray-clear: #89966e;--board-label: #f0cf82;font-family:Proza,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body,#app{min-height:100%}html,body{margin:0}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(ellipse at 50% 22%,#5e743e38,#304a252e 30%,#0c1b0c05 66%),linear-gradient(180deg,#132711,#132911 48%,#0d1f0f);color:var(--text);overscroll-behavior-y:auto;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button,input{font:inherit}input{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}button{border:0}.app{align-content:start;background:radial-gradient(ellipse at 50% 18%,rgba(91,112,61,.18),transparent 42%),radial-gradient(ellipse at 50% 64%,rgba(67,83,46,.12),transparent 50%),linear-gradient(180deg,#0a180a33,#07120947),var(--bg);display:grid;gap:17px;grid-template-rows:auto auto;min-height:100vh;min-height:100dvh;overflow:visible;padding:calc(35px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));position:relative}.app:before{background:linear-gradient(115deg,rgba(255,255,255,.026) 0 1px,transparent 1px 9px),linear-gradient(245deg,rgba(0,0,0,.08) 0 1px,transparent 1px 11px);content:"";inset:0;opacity:.26;pointer-events:none;position:fixed;z-index:0}.app>*{position:relative;z-index:1}.topbar{align-items:center;display:flex;gap:var(--layout-gap);justify-content:center;margin:0 auto;max-width:var(--content-max);width:100%}.brand{align-items:center;display:flex;justify-content:center;min-width:0}.brand-title{display:flex;margin:0}.brand-logo{display:block;filter:sepia(.58) saturate(1.72) hue-rotate(352deg) brightness(1.08) drop-shadow(0 2px 0 rgba(31,22,7,.34)) drop-shadow(0 0 14px rgba(220,164,74,.16));height:auto;max-height:68px;max-width:min(100%,438px);width:min(calc(100vw - 106px),438px)}.button,.edge-button{border-radius:7px;cursor:pointer}.button{background:color-mix(in srgb,var(--control) 86%,#182314);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);color:var(--text-on-dark);min-height:36px;padding:0 12px;position:relative}.button.primary{background:color-mix(in srgb,var(--accent) 88%,#f4d785);color:var(--text-on-accent);font-weight:800}.game-layout{align-content:start;align-items:start;display:grid;gap:12px;grid-template-columns:1fr;grid-template-rows:auto auto;justify-content:center;margin:0 auto;max-width:var(--content-max);overflow:visible;width:100%}@media(max-width:520px){.app{gap:24px;padding-left:calc(4px + env(safe-area-inset-left,0px));padding-right:calc(4px + env(safe-area-inset-right,0px));padding-top:calc(44px + env(safe-area-inset-top,0px))}.brand-logo{width:min(calc(100vw - 126px),232px)}.game-layout{gap:13px}}.app-footer{color:var(--muted);display:flex;font-size:.78rem;justify-content:flex-end;line-height:1;margin:-6px auto 0;max-width:min(var(--content-max),70%);width:100%}.app-footer span{justify-self:end}@media(min-width:521px){.app-footer{max-width:calc(var(--content-max) * .7)}}.side-panel{align-self:stretch;background:transparent;border:0;border-radius:0;box-shadow:none;display:grid;gap:8px;grid-template-rows:auto auto auto;justify-self:center;max-width:70%;min-width:0;overflow:visible;width:100%}.panel-gems{border-bottom:0;padding-bottom:7px}.solve-panel{background:transparent;display:grid;gap:5px;padding:0}.solve-panel .button{font-weight:800}#submit{background:linear-gradient(180deg,#fff1b285,#fff1b224 43%,#77431414),linear-gradient(90deg,#bd862b,#e3b14e 48%,#c9922f);border-color:#f4c65dd1;border-radius:7px;box-shadow:inset 0 1px #fff6c5ad,inset 0 -2px #67391247,0 3px #6b441594,0 11px 20px #00000047;color:var(--text-on-accent);font-size:.96rem;transition:box-shadow .14s ease,filter .14s ease,transform .14s ease}#submit:before{background:radial-gradient(circle at 7px 7px,rgba(255,231,150,.85) 0 2px,transparent 2.4px),radial-gradient(circle at calc(100% - 7px) 7px,rgba(255,231,150,.85) 0 2px,transparent 2.4px),radial-gradient(circle at 7px calc(100% - 7px),rgba(255,231,150,.65) 0 2px,transparent 2.4px),radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),rgba(255,231,150,.65) 0 2px,transparent 2.4px),linear-gradient(90deg,rgba(104,63,18,.5) 0 12px,transparent 12px calc(100% - 12px),rgba(104,63,18,.5) calc(100% - 12px) 100%) top / 100% 1px no-repeat,linear-gradient(90deg,rgba(255,225,129,.54) 0 12px,transparent 12px calc(100% - 12px),rgba(255,225,129,.54) calc(100% - 12px) 100%) bottom / 100% 1px no-repeat;border-radius:inherit;content:"";inset:0;pointer-events:none;position:absolute}#submit:hover,#submit:focus-visible{background:linear-gradient(180deg,#fff7c694,#fff1b22e 43%,#7743140f),linear-gradient(90deg,#c99334,#e8bb5c 48%,#d49d39);box-shadow:inset 0 1px #fff9d6b8,inset 0 -2px #6739123d,0 3px #6b441580,0 12px 22px #0000003d;filter:brightness(1.02)}#submit:focus-visible{outline:2px solid rgba(248,239,217,.72);outline-offset:3px}#submit:active{background:linear-gradient(180deg,#ffeda475,#ddaa4e1f 43%,#5c32101a),linear-gradient(90deg,#b77e28,#dca84a 48%,#c28a2d);box-shadow:inset 0 2px 4px #5130123d,inset 0 -1px #ffe89a38,0 1px 2px #12180c29;transform:translateY(1px)}.new-game-actions{background:transparent;border-top:0;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.new-game-actions h2{grid-column:1 / -1}.new-game-actions .button{height:42px;line-height:1.15;min-height:0}.code-actions{background:transparent;border-top:0;display:grid;gap:5px;padding:0}.new-game-actions h2,.code-actions h2{color:var(--muted);font-size:.82rem;font-weight:800;line-height:1;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.32)}.control-grid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.solve-actions{grid-template-columns:minmax(0,1fr)}.planet-sandbox{--tool-cell: 14px;--tool-gap: 7px;--planet-sandbox-surface: transparent;align-items:center;background:transparent;border:0;border-radius:0;display:grid;gap:4px;grid-template-columns:minmax(0,1fr);max-width:min(760px,86.667%);padding:0 4px;width:100%}.planet-sandbox-main{align-items:center;display:grid;gap:4px;grid-template-columns:minmax(0,1fr);min-width:0}.piece-tools-wrap{min-width:0;overflow:hidden}.piece-tools{align-items:center;display:flex;gap:var(--tool-gap);justify-content:center;min-height:0;overflow-x:auto;overflow-y:hidden;padding:0 8px;scrollbar-width:thin;width:100%}.piece-tool{background:transparent;border:0;border-radius:5px;color:var(--text-on-dark);cursor:grab;display:grid;flex:0 0 auto;height:calc(var(--tool-rows) * var(--tool-cell));min-height:0;min-width:0;overflow:visible;padding:0;place-items:center;position:relative;touch-action:none;width:calc(var(--tool-cols) * var(--tool-cell))}.piece-tool:active{cursor:grabbing}.piece-tool:disabled,.piece-tool.placed,.piece-tool.placed:active{cursor:default}.piece-tool.placed{opacity:1;pointer-events:none}.piece-tool:hover,.piece-tool:focus-visible{outline:0}.piece-tool:focus-visible:after{border:1px solid color-mix(in srgb,var(--accent-2) 62%,transparent);border-radius:6px;content:"";inset:-4px;pointer-events:none;position:absolute}.piece-tool svg{height:100%;max-height:100%;max-width:100%;position:relative;width:100%;z-index:1}.piece-tool:hover svg,.piece-tool:focus-visible svg,.piece-tool.active svg{filter:none}.side-panel .button{align-items:center;display:inline-grid;font-size:.88rem;grid-template-columns:auto;height:34px;justify-content:center;line-height:1.1;min-height:0;padding:0 10px;width:100%}.solve-actions .button{height:38px}.field-row{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) minmax(98px,auto)}.field-row input{background:transparent;border:0;border-radius:inherit;color:var(--text);font-size:.88rem;height:100%;line-height:1.1;min-height:0;padding:0 12px;text-transform:uppercase;width:100%}.field-row input:focus{outline:0}.field-row .button{height:34px;min-width:98px;width:auto}.ornate-control{background:linear-gradient(180deg,#fff1ba0e,#0000000f),#162915c7;border:1px solid rgba(182,140,54,.9);border-radius:8px;box-shadow:inset 0 0 0 1px #ffe8970e,0 5px 11px #0003;color:var(--text);overflow:hidden;position:relative}.ornate-control:before{background:radial-gradient(circle at 7px 7px,#e8c76b 0 2px,transparent 2.4px),radial-gradient(circle at calc(100% - 7px) 7px,#e8c76b 0 2px,transparent 2.4px),radial-gradient(circle at 7px calc(100% - 7px),#c79639 0 2px,transparent 2.4px),radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),#c79639 0 2px,transparent 2.4px),linear-gradient(90deg,#b88b35 0 11px,transparent 11px calc(100% - 11px),#b88b35 calc(100% - 11px) 100%) top / 100% 1px no-repeat,linear-gradient(90deg,#b88b35 0 11px,transparent 11px calc(100% - 11px),#b88b35 calc(100% - 11px) 100%) bottom / 100% 1px no-repeat,linear-gradient(#b88b35 0 11px,transparent 11px calc(100% - 11px),#b88b35 calc(100% - 11px) 100%) left / 1px 100% no-repeat,linear-gradient(#b88b35 0 11px,transparent 11px calc(100% - 11px),#b88b35 calc(100% - 11px) 100%) right / 1px 100% no-repeat;border-radius:inherit;content:"";inset:-1px;pointer-events:none;position:absolute}.ornate-control:hover,.ornate-control:focus-visible{background:linear-gradient(180deg,#fff1ba17,#0000000a),#1c3219d1;border-color:#e5be5efa}.code-input-wrap{background:linear-gradient(180deg,#fff1b408,#00000006),#0d200fa3;border:1px solid rgba(178,139,57,.58);border-radius:6px;box-shadow:inset 0 1px 6px #0000003d,inset 0 1px #ffe7970b;height:34px;min-width:0;overflow:hidden;position:relative}.code-input-wrap:focus-within{background:linear-gradient(180deg,#fff1b40d,#00000005),#102612b8;border-color:#daab44d6;box-shadow:inset 0 1px 6px #0003,0 0 0 1px #daab4433}.code-input-wrap:before{background:linear-gradient(180deg,rgba(255,241,180,.08),transparent 45%);border-radius:inherit;content:"";inset:1px;pointer-events:none;position:absolute}.code-input-wrap input{position:relative;z-index:1}.toggle{align-items:center;background:color-mix(in srgb,var(--control) 88%,#182314);border-radius:7px;color:var(--text-on-dark);cursor:pointer;display:flex;gap:8px;padding:0 9px}.toggle input{appearance:none;background:#1b2717;border:1px solid color-mix(in srgb,var(--accent-2) 52%,transparent);border-radius:4px;cursor:pointer;display:grid;flex:0 0 16px;height:16px;margin:0;place-content:center;width:16px}.toggle input:before{border:solid var(--text-on-dark);border-width:0 0 2px 2px;content:"";height:5px;opacity:0;transform:translateY(-1px) rotate(-45deg) scale(.72);width:8px}.toggle input:checked{background:var(--accent);border-color:var(--accent-2)}.toggle input:checked:before{border-color:var(--text-on-accent);opacity:1;transform:translateY(-1px) rotate(-45deg) scale(1)}.empty,.status{color:var(--muted);font-size:.78rem;line-height:1.2;margin:0;min-height:28px;padding:0 2px}.status:not(:empty){margin-top:0}.status.success{color:var(--ok)}.status.error{color:color-mix(in srgb,var(--danger) 72%,var(--muted))}.status.error:not(:empty){align-items:center;background:linear-gradient(90deg,transparent,rgba(239,106,84,.12) 24%,rgba(214,159,64,.08) 76%,transparent),linear-gradient(180deg,rgba(255,241,180,.018),transparent);display:grid;justify-items:center;min-height:28px;padding:0 8px;position:relative;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.36)}.status.error:not(:empty):before{background:linear-gradient(90deg,transparent,rgba(239,106,84,.42),transparent);bottom:0;content:"";height:1px;left:12%;pointer-events:none;position:absolute;right:12%}.status.info{color:var(--accent-2)}.swatch{background:var(--swatch, var(--ray-clear));border:1px solid color-mix(in srgb,var(--text) 34%,transparent);display:inline-block;height:16px;width:16px}@media(min-width:760px)and (hover:none)and (pointer:coarse){:root{--content-max: var(--tablet-content-max)}.app{gap:20px;padding-left:calc(20px + env(safe-area-inset-left,0px));padding-right:calc(20px + env(safe-area-inset-right,0px))}.game-layout{gap:14px}.side-panel{gap:8px;max-width:min(560px,var(--board-shell-width, 560px))}.app-footer{margin-top:-12px;max-width:min(560px,var(--board-shell-width, 560px))}.solve-panel{gap:5px}.planet-sandbox{--tool-cell: 17px;--tool-gap: 9px;max-width:min(620px,var(--board-shell-width, 620px));padding:0 4px}.piece-tools{padding:0 8px}.new-game-actions{gap:6px}.code-actions{gap:5px}.new-game-actions h2,.code-actions h2{font-size:.82rem}.side-panel .button{font-size:.88rem;height:34px;padding:0 10px}.solve-actions .button{height:38px}#submit{border-radius:7px;font-size:.96rem}.field-row{gap:7px;grid-template-columns:minmax(0,1fr) minmax(98px,auto)}.field-row .button{height:34px;min-width:98px}.code-input-wrap{height:34px}.field-row input{font-size:.88rem;padding:0 12px}.status{font-size:.78rem;line-height:1.2}}@media(min-width:960px)and (hover:none)and (pointer:coarse){:root{--content-max: var(--large-tablet-content-max)}.side-panel,.app-footer{max-width:min(680px,var(--board-shell-width, 680px))}.planet-sandbox{--tool-cell: 19px;--tool-gap: 10px;max-width:min(720px,var(--board-shell-width, 720px))}}@media(min-width:760px)and (hover:none)and (pointer:coarse)and (orientation:landscape){:root{--content-max: 600px}.app{gap:17px;padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px))}.game-layout{gap:12px}.side-panel{max-width:70%}.app-footer{margin-top:-6px;max-width:calc(var(--content-max) * .7)}.planet-sandbox{--tool-cell: 14px;--tool-gap: 7px;max-width:min(760px,86.667%)}}[data-color=yellow]{--swatch: var(--ray-yellow)}[data-color=red]{--swatch: var(--ray-red)}[data-color=blue]{--swatch: var(--ray-blue)}[data-color=white]{--swatch: var(--ray-white)}[data-color=green]{--swatch: var(--ray-green)}[data-color=purple]{--swatch: var(--ray-purple)}[data-color=orange]{--swatch: var(--ray-orange)}[data-color=pink]{--swatch: var(--ray-pink)}[data-color=lemon]{--swatch: var(--ray-lemon)}[data-color=sky-blue]{--swatch: var(--ray-sky-blue)}[data-color=light-orange]{--swatch: var(--ray-light-orange)}[data-color=light-purple]{--swatch: var(--ray-light-purple)}[data-color=light-green]{--swatch: var(--ray-light-green)}[data-color=gray]{--swatch: var(--ray-gray)}[data-color=black],[data-color=black-hole],[data-color=disappeared],[data-color=trapped]{--swatch: var(--ray-black)}[data-color=clear]{--swatch: var(--ray-clear)}.solution-dialog{background:transparent;border:0;color:#fbf3dc;outline:0;padding:0;width:min(452px,calc(100vw - 34px))}.solution-dialog::backdrop{background:#040d079e;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.solution-dialog-panel{background:radial-gradient(ellipse at 50% 0%,rgba(255,226,139,.06),transparent 48%),linear-gradient(180deg,#152d19f7,#0a1e13fa);border:1px solid rgba(99,123,69,.62);border-radius:17px;box-shadow:inset 0 0 0 1px #edca751f,inset 0 0 34px #00000047,0 22px 48px #0000008c;min-height:358px;overflow:hidden;padding:36px 38px 33px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.solution-dialog-panel:before,.solution-dialog-panel:after{content:"";pointer-events:none;position:absolute}.solution-dialog-panel:before{border:2px solid #d8a653;border-radius:12px;box-shadow:0 0 0 1px #496d3d85,inset 0 0 0 1px #1a311dd1;inset:11px}.solution-dialog-panel:after{background:radial-gradient(circle at 21px 21px,#f1c265 0 2px,rgba(17,35,22,.98) 2.4px 10px,transparent 10.3px),radial-gradient(circle at calc(100% - 21px) 21px,#f1c265 0 2px,rgba(17,35,22,.98) 2.4px 10px,transparent 10.3px),radial-gradient(circle at 21px calc(100% - 21px),#f1c265 0 2px,rgba(17,35,22,.98) 2.4px 10px,transparent 10.3px),radial-gradient(circle at calc(100% - 21px) calc(100% - 21px),#f1c265 0 2px,rgba(17,35,22,.98) 2.4px 10px,transparent 10.3px);inset:0}.solution-dialog-banner{align-content:center;display:grid;gap:16px;justify-items:center;min-height:0;padding:0 26px;position:relative;text-align:center;z-index:1}.solution-dialog-icon{aspect-ratio:1;border:3px solid #d7a253;border-radius:9px;box-shadow:inset 0 0 0 1px #ffe79738,0 2px 8px #00000038;display:grid;height:48px;margin-bottom:4px;place-items:center;transform:rotate(45deg);width:48px}.solution-dialog-icon:before{color:#e5b660;content:"!";font-size:1.78rem;font-weight:900;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.28);transform:rotate(-45deg) translateY(-1px)}.solution-dialog-panel.success .solution-dialog-icon:before{content:"✓";font-size:1.6rem;transform:rotate(-45deg) translate(-1px,2px)}.solution-dialog-panel.success .solution-dialog-icon{animation:success-icon-glow 2.4s ease-in-out infinite}.solution-dialog-panel.success .solution-dialog-icon:before{animation:success-mark-glow 2.4s ease-in-out infinite}.solution-dialog-panel.error .solution-dialog-icon{border-color:color-mix(in srgb,#f05a44 92%,#ffd39d);box-shadow:inset 0 0 0 1px #ffedcf2e,0 0 13px color-mix(in srgb,#f05a44 38%,transparent),0 2px 8px #00000038}.solution-dialog-panel.error .solution-dialog-icon:before,.solution-dialog-panel.error .solution-dialog-banner h2{color:#f05a44}.solution-dialog-banner h2{color:#d8a653;font-size:1.68rem;font-weight:900;line-height:1.14;margin:0;text-shadow:0 1px 0 rgba(255,237,164,.2),0 2px 7px rgba(0,0,0,.34);text-transform:uppercase}.solution-dialog-panel.success .solution-dialog-banner h2{animation:success-title-glow 2.4s ease-in-out infinite}@keyframes success-icon-glow{0%,to{border-color:#ffe08a;box-shadow:inset 0 0 0 1px #ffefb48a,0 0 12px #ffda7cb3,0 0 28px #ffc64e61,0 2px 8px #00000038}50%{border-color:#b88434;box-shadow:inset 0 0 0 1px #ffecab29,0 0 3px #f1c2651f,0 2px 8px #00000038}}@keyframes success-mark-glow{0%,to{color:#fff0b8;text-shadow:0 0 8px rgba(255,238,171,.78),0 0 18px rgba(255,202,82,.46),0 1px 2px rgba(0,0,0,.28)}50%{color:#c99748;text-shadow:0 0 2px rgba(255,214,121,.12),0 1px 2px rgba(0,0,0,.28)}}@keyframes success-title-glow{0%,to{color:#fff0b8;text-shadow:0 0 10px rgba(255,238,171,.72),0 0 22px rgba(255,202,82,.42),0 2px 8px rgba(0,0,0,.34)}50%{color:#c99748;text-shadow:0 0 2px rgba(255,214,121,.12),0 2px 7px rgba(0,0,0,.34)}}@media(prefers-reduced-motion:reduce){.solution-dialog-panel.success .solution-dialog-icon,.solution-dialog-panel.success .solution-dialog-icon:before,.solution-dialog-panel.success .solution-dialog-banner h2{animation:none}}.solution-dialog-rule{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin:-1px 0 6px;max-width:286px;width:100%}.solution-dialog-rule:before,.solution-dialog-rule:after{background:linear-gradient(90deg,transparent,rgba(216,166,83,.58));content:"";height:1px}.solution-dialog-rule:after{background:linear-gradient(90deg,rgba(216,166,83,.58),transparent)}.solution-dialog-rule span{display:block;height:9px;margin:0 8px;position:relative;width:28px}.solution-dialog-rule span:before{background:radial-gradient(circle at 4px 50%,#d8a653 0 1.7px,transparent 2px),radial-gradient(circle at 24px 50%,#d8a653 0 1.7px,transparent 2px);content:"";inset:0;opacity:.9;position:absolute}.solution-dialog-rule span:after{background:#d8a653;content:"";height:5px;left:50%;opacity:.92;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:5px}.solution-dialog-banner p{color:#fff8ec;font-size:1.18rem;font-weight:500;line-height:1.54;margin:0;min-height:58px;text-wrap:balance}.solution-dialog-actions{display:grid;margin-top:8px;min-height:52px;padding:0;place-items:center;position:relative;z-index:1}.solution-dialog-actions .button{background:linear-gradient(180deg,#ffeea78c,#f2c26014 48%,#5c310c29),linear-gradient(90deg,#c79034,#e7b955 52%,#c18a30);border:1px solid #8f6d2b;border-radius:10px;box-shadow:inset 0 0 0 1px #fff0b18a,inset 0 -2px #6a441647,0 2px #3c270e75,0 7px 13px #00000047;clip-path:polygon(9% 0,91% 0,100% 23%,100% 77%,91% 100%,9% 100%,0 77%,0 23%);color:#213119;font-size:1.22rem;font-weight:800;height:53px;min-width:166px;padding:0 38px;text-shadow:0 1px 0 rgba(255,243,191,.45)}.solution-dialog-actions .button:before{background:linear-gradient(180deg,rgba(105,73,25,.38),transparent 38%,transparent 62%,rgba(255,238,169,.32)),linear-gradient(90deg,rgba(105,73,25,.42),transparent 16%,transparent 84%,rgba(105,73,25,.42));clip-path:inherit;content:"";inset:4px;pointer-events:none;position:absolute}.solution-dialog-actions .button:hover,.solution-dialog-actions .button:focus-visible{background:linear-gradient(180deg,#fff2b5a3,#f6cb6c1f 48%,#5c310c1f),linear-gradient(90deg,#d09b3e,#ecc468 52%,#cd963b)}.solution-dialog-actions .button:focus-visible{outline:2px solid rgba(255,239,177,.78);outline-offset:4px}@media(max-width:420px){.solution-dialog-panel{min-height:326px;padding:32px 24px 29px}.solution-dialog-banner{gap:14px;padding:0 14px}.solution-dialog-icon{height:42px;width:42px}.solution-dialog-banner h2{font-size:1.36rem}.solution-dialog-banner p{font-size:1rem}.solution-dialog-actions .button{height:49px;min-width:150px}}.board-card{align-content:start;align-self:start;display:grid;gap:7px;grid-template-rows:auto auto;height:auto;justify-items:center;min-height:0;min-width:0;overflow:visible;position:relative;touch-action:none;z-index:1}.board-shell{align-self:start;aspect-ratio:var(--board-aspect);background:transparent;--board-viewport-gutter: 20px;display:grid;grid-template-columns:repeat(var(--shell-cols),minmax(0,1fr));grid-template-rows:repeat(var(--shell-rows),minmax(0,1fr));filter:drop-shadow(0 8px 18px rgba(6,13,5,.18));height:min(calc((100vw - var(--board-viewport-gutter)) * var(--board-height-ratio)),calc(var(--content-max) * var(--board-height-ratio)));justify-self:center;max-height:max(240px,calc(100dvh - 300px));max-width:100%;min-height:0;position:relative;touch-action:none;width:auto;z-index:2}@media(min-width:760px)and (hover:none)and (pointer:coarse){.board-shell{--board-viewport-gutter: 40px}}@media(min-width:760px)and (hover:none)and (pointer:coarse)and (orientation:landscape){.board-shell{--board-viewport-gutter: 20px}}@media(max-width:520px){.board-shell{--board-viewport-gutter: 8px}}.board-area{background:radial-gradient(ellipse at 45% 44%,rgba(113,132,74,.2),transparent 65%),linear-gradient(180deg,#fff4bb09,#050f070d),color-mix(in srgb,var(--cell) 90%,#15260f);box-shadow:inset 0 0 0 1px #e6c9786b,inset 0 18px 40px #f5e1930a,inset 0 -18px 46px #0000001f,0 0 0 1px #0b140959;display:grid;grid-column:2 / span var(--board-cols);grid-row:2 / span var(--board-rows);grid-template-columns:repeat(var(--board-cols),1fr);grid-template-rows:repeat(var(--board-rows),1fr);overflow:visible;position:relative;touch-action:none}.cell{border-bottom:1px solid rgba(226,198,118,.3);border-right:1px solid rgba(226,198,118,.3);min-width:0}.cell-left-edge{border-left:1px solid rgba(226,198,118,.3)}.cell-top-edge{border-top:1px solid rgba(226,198,118,.3)}.edge-button{align-items:center;background:transparent;color:var(--board-label);display:flex;font-weight:800;justify-content:center;margin:1px;min-width:0;padding:0;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.46),0 0 10px rgba(216,165,74,.14);touch-action:manipulation}.edge-label{pointer-events:none;position:relative;z-index:2}.edge-markers{display:flex;gap:1px;pointer-events:none;position:absolute;z-index:1}.edge-marker{background:var(--swatch, #b0b0b0);border-radius:999px;box-shadow:0 0 4px color-mix(in srgb,var(--swatch, #b0b0b0) 42%,transparent)}.edge-button.top .edge-markers{flex-direction:column-reverse;inset:auto 6px 0}.edge-button.bottom .edge-markers{flex-direction:column;inset:0 6px auto}.edge-button.top .edge-marker,.edge-button.bottom .edge-marker{flex:0 0 4px;height:4px;width:100%}.edge-button.right .edge-markers{flex-direction:row;inset:6px auto 6px 0}.edge-button.left .edge-markers{flex-direction:row-reverse;inset:6px 0 6px auto}.edge-button.right .edge-marker,.edge-button.left .edge-marker{flex:0 0 4px;height:100%;width:4px}.edge-button.selected{background:var(--swatch, var(--accent-2));box-shadow:0 0 16px color-mix(in srgb,var(--swatch, var(--accent-2)) 48%,transparent);color:var(--text-on-accent)}.edge-button.selected[data-color=black],.edge-button.selected[data-color=blue],.edge-button.selected[data-color=purple]{color:var(--text-on-swatch-dark)}.trace-layer{inset:0;overflow:visible;pointer-events:none;position:absolute;z-index:3}.trace-line{fill:none;stroke:var(--swatch, var(--accent-2));stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--swatch, var(--accent-2)) 45%,transparent));stroke-width:.12}.trace-line-dashed{stroke-dasharray:.48 .38}.trace-line-solid{stroke-dasharray:none}.piece-layer{inset:0;overflow:visible;pointer-events:auto;position:absolute;z-index:4}.piece{background:transparent;border:0;cursor:grab;padding:0;pointer-events:none;position:absolute;touch-action:none}.piece:active{cursor:grabbing}body.piece-dragging,body.piece-dragging *{cursor:grabbing!important}.piece.selected{z-index:1}.piece-drag-ghost{background:transparent;border:0;left:0;padding:0;pointer-events:none;position:fixed;top:0;will-change:transform;z-index:50}.planet-sandbox{position:relative;z-index:1}.piece svg,.piece-drag-ghost svg,.piece-tool svg{display:block;overflow:visible;pointer-events:none;shape-rendering:geometricPrecision}.piece svg,.piece-drag-ghost svg{filter:drop-shadow(0 4px 5px rgba(3,8,4,.42)) drop-shadow(0 0 7px color-mix(in srgb,var(--piece-outline, var(--accent-2)) 34%,transparent));height:100%;width:100%}.piece path,.piece-drag-ghost path,.piece-tool path{stroke:var(--piece-outline, rgba(23, 33, 29, .85));stroke-linejoin:round;stroke-width:.1}.piece .piece-fill,.piece-drag-ghost .piece-fill,.piece-tool .piece-fill{fill:var(--piece-tone-1);stroke:none}.piece .piece-facet,.piece-drag-ghost .piece-facet,.piece-tool .piece-facet{stroke:none}.piece .piece-facet-0,.piece-drag-ghost .piece-facet-0,.piece-tool .piece-facet-0{fill:var(--piece-tone-0)}.piece .piece-facet-1,.piece-drag-ghost .piece-facet-1,.piece-tool .piece-facet-1{fill:var(--piece-tone-1)}.piece .piece-facet-2,.piece-drag-ghost .piece-facet-2,.piece-tool .piece-facet-2{fill:var(--piece-tone-2)}.piece .piece-facet-3,.piece-drag-ghost .piece-facet-3,.piece-tool .piece-facet-3{fill:var(--piece-tone-3)}.piece .piece-outline,.piece-drag-ghost .piece-outline,.piece-tool .piece-outline{fill:none;shape-rendering:geometricPrecision;stroke:color-mix(in srgb,var(--piece-outline, rgba(255, 255, 255, .8)) 82%,rgba(255,245,208,.7));stroke-width:.11}.piece .piece-ring-line,.piece-drag-ghost .piece-ring-line,.piece-tool .piece-ring-line{fill:none;stroke-linecap:round}.piece .piece-ring-line,.piece-drag-ghost .piece-ring-line,.piece-tool .piece-ring-line{stroke:#fff8e1f0;stroke-width:.2}.piece .piece-ring-line,.piece-drag-ghost .piece-ring-line,.piece-tool .piece-ring-line{pointer-events:none}.piece .piece-hit-target,.piece-drag-ghost .piece-hit-target,.piece-tool .piece-hit-target{fill:transparent;stroke:none}.piece .piece-hit-target{cursor:grab;pointer-events:fill}.piece .piece-hit-target:active{cursor:grabbing}.piece-tool .piece-hit-target{pointer-events:none}.piece-tool.placed .piece-crater-svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.piece-tool .piece-crater-fill{fill:var(--planet-sandbox-surface, #c4c4c4);stroke:none}.piece-tool .piece-crater-shadow{fill:none;opacity:.88;stroke:#8b7942c7;stroke-linejoin:round;stroke-width:.52}.piece-tool .piece-crater-line{fill:none;opacity:.78;pointer-events:none;stroke:#8b7942d1;stroke-linecap:round;stroke-width:.32}.piece-yellow{--piece-outline: #ffd874;--piece-tone-0: #ffd65a;--piece-tone-1: #f5bd3e;--piece-tone-2: #e8a837;--piece-tone-3: #c39236}.piece-red{--piece-outline: var(--ray-red);--piece-tone-0: color-mix(in srgb, var(--ray-red) 88%, #f7f1df);--piece-tone-1: var(--ray-red);--piece-tone-2: color-mix(in srgb, var(--ray-red) 84%, #2e2e2e);--piece-tone-3: color-mix(in srgb, var(--ray-red) 72%, #2e2e2e)}.piece-red-small,.piece-red-large{--piece-outline: #ef4e42;--piece-tone-0: #e9463d;--piece-tone-1: #d93630;--piece-tone-2: #c52f2b;--piece-tone-3: #ad2a28}.piece-blue{--piece-outline: #4e8fd0;--piece-tone-0: #4c8fd0;--piece-tone-1: #3479bd;--piece-tone-2: #2f6faf;--piece-tone-3: #285f9a}.piece-white{--piece-outline: var(--ray-white);--piece-tone-0: #fffdfa;--piece-tone-1: #f4f0e6;--piece-tone-2: #fffaf0;--piece-tone-3: #ebe5d8}.piece-white-large,.piece-white-ring{--piece-outline: #fff8de;--piece-tone-0: #fffdf7;--piece-tone-1: #f1ede4;--piece-tone-2: #fff9ec;--piece-tone-3: #e3ddcf}.piece-black,.piece-black-hole{--piece-outline: #1f2328;--piece-tone-0: #1a1c1e;--piece-tone-1: #101113;--piece-tone-2: #090a0d;--piece-tone-3: #040506}.piece.piece-black-hole svg{filter:drop-shadow(0 4px 5px rgba(0,0,0,.62)) drop-shadow(0 0 5px rgba(229,215,161,.12))}.piece.invalid svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.42)) drop-shadow(0 0 2px rgba(255,249,232,.94)) drop-shadow(0 0 10px rgba(255,111,87,.68)) drop-shadow(0 0 16px rgba(255,184,122,.24))}.piece.invalid .piece-outline{filter:drop-shadow(0 0 .08rem rgba(255,113,84,.78));stroke:color-mix(in srgb,var(--danger) 62%,#fff8df);stroke-width:.16}.current-strip{align-items:center;background:linear-gradient(90deg,transparent,rgba(214,159,64,.11) 24%,rgba(214,159,64,.09) 76%,transparent),linear-gradient(180deg,rgba(255,241,180,.02),transparent);border:0;border-radius:0;box-shadow:none;color:var(--muted);display:grid;font-size:.82rem;gap:6px;grid-template-columns:minmax(0,1fr);justify-items:center;margin-top:12px;max-width:70%;min-height:28px;padding:0 8px;position:relative;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.36);width:100%}.current-strip:before{background:linear-gradient(90deg,transparent,rgba(178,139,57,.42),transparent);bottom:0;content:"";height:1px;left:12%;pointer-events:none;position:absolute;right:12%}.current-strip.has-mix-components{align-items:center;display:flex;gap:7px;justify-content:center}.current-result{align-items:center;display:inline-flex;gap:6px;justify-self:center;max-width:100%;min-width:0}.current-strip.has-mix-components .current-result{flex:0 1 auto;justify-self:center;width:auto}.current-result-text{flex:0 1 auto;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-strip .swatch{border:0;border-radius:4px;box-shadow:0 0 4px color-mix(in srgb,var(--swatch, #b0b0b0) 42%,transparent);flex:0 0 auto;height:13px;width:13px}.mix-equals{color:color-mix(in srgb,var(--muted) 86%,#fff8df);flex:0 0 auto;font-size:.86rem;font-weight:800;line-height:1}.mix-components{align-items:center;display:inline-flex;gap:4px;flex:0 0 auto;justify-content:center;justify-self:center;white-space:nowrap}.mix-components .swatch{height:13px;width:13px}.mix-plus{color:var(--muted);font-size:.76rem;font-weight:800;line-height:1}@media(min-width:760px){.board-card{gap:7px}.current-strip{font-size:.84rem;gap:6px;margin-top:12px;max-width:420px;min-height:28px;padding:0 8px}.current-result{gap:6px}.current-strip .swatch,.mix-components .swatch{height:13px;width:13px}.mix-components{gap:4px}.mix-plus{font-size:.76rem}}
