/* Three classics; three entirely separate visual identities. All assets are local CSS, SVG or canvas. */
.world-collection{padding-top:9px}.world-cards{row-gap:30px}
.number-card .genre-tag{background:#f9e4cd;color:#986241}.snake-card .genre-tag{background:#edf1d1;color:#587339}.field-card .genre-tag{background:#e9eadb;color:#606946}
.number-cover{background:#f5e8d3}.number-cover-label{position:absolute;top:18px;left:20px;font:9px 'Helvetica Neue',Arial,sans-serif;letter-spacing:.16em;color:#6c493a}.number-cover-grid{position:absolute;height:72%;aspect-ratio:1;width:auto;left:50%;top:18%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;transform:translateX(-50%) rotate(-8deg)}.number-cover-grid span{aspect-ratio:1;display:grid;place-items:center;background:#eab84e;color:#633529;font:bold clamp(18px,2vw,26px) Arial,sans-serif;border:1px solid #63352922}.number-cover-grid span:nth-child(3n){background:#dc6c4e;color:#fff8e5}.number-cover-grid span:nth-child(4){background:#649dba;color:#fff9e9}.number-cover-grid span:nth-child(5){background:#f6d979}.number-cover-grid span:nth-child(7){background:#ada5c4}.number-cover-grid span:nth-child(8){background:#7e9d7e}.number-cover-grid span:last-child{background:#ab4e36;color:#fff6e1;font-size:20px}.number-cover-dot{position:absolute;width:38px;height:38px;border-radius:50%;background:#426e88;right:19px;bottom:21px}
.snake-cover{background:#f9edc8;background-image:linear-gradient(#dcdc9670 1px,transparent 1px),linear-gradient(90deg,#dcdc9670 1px,transparent 1px);background-size:35px 35px}.snake-cover svg{position:absolute;inset:0;width:100%;height:100%}.snake-cover-cloud{position:absolute;top:30px;left:42px;width:95px;height:23px;border-radius:40px;background:#fffbea}.snake-cover-cloud:before{content:'';position:absolute;left:15px;top:-15px;width:40px;height:40px;background:#fffbea;border-radius:50%}.snake-cover-sun{position:absolute;right:42px;top:17px;font-size:50px;color:#e4ad4b}.snake-cover-label{position:absolute;bottom:17px;left:20px;font:bold 8px 'Trebuchet MS',sans-serif;letter-spacing:.12em;color:#637044}
.field-cover{background:#f1eddc;background-image:repeating-linear-gradient(0deg,transparent 0 29px,#a3ab7930 29px 30px)}.field-cover-label{position:absolute;top:18px;left:20px;font:8px 'Courier New',monospace;color:#68724b;letter-spacing:.08em}.field-cover-grid{position:absolute;left:11%;top:24%;width:45%;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;transform:rotate(-7deg)}.field-cover-grid span{aspect-ratio:1;display:grid;place-items:center;background:#cbd2a8;border:1px solid #919b72;color:#4c6e55;font:bold 19px 'Courier New',monospace;box-shadow:2px 2px #747c5930}.field-cover-grid span:nth-child(n+7):nth-child(-n+13),.field-cover-grid span:nth-child(3),.field-cover-grid span:nth-child(4){background:#edead4;box-shadow:none}.field-cover-sprig{position:absolute;width:28%;height:65%;right:5%;top:18%;color:#7f8860}.field-cover-stamp{position:absolute;right:16px;bottom:17px;font:8px/1.4 'Courier New',monospace;text-align:center;color:#976d4e;border:1px solid #b99d78;padding:8px;transform:rotate(8deg)}
.classic-page{--accent:#805541;--line:#dccdb8;--muted:#7e715e;--panel:#fffbf2;background:#f8f1e6;color:#423c31}.classic-room{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;padding:30px 34px;border:1px solid var(--line);background:var(--panel)}.classic-main{min-width:0}.classic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px;min-height:48px}.classic-stats{display:flex;gap:32px}.classic-stat{display:grid;gap:6px}.classic-stat>span{font:9px/1.5 sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.classic-stat strong{font-size:26px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.classic-status{min-height:50px;border-top:1px solid var(--line);padding:16px 0 0;margin:16px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}.classic-sidebar{padding-top:8px}.classic-sidebar>p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 20px}.classic-sidebar h2{font-size:30px;line-height:1.12;margin:0 0 20px;letter-spacing:-.6px}.classic-sidebar .classic-kicker{font:8px/1.7 sans-serif;letter-spacing:.12em;color:var(--accent);margin:24px 0 12px}.classic-sidebar .classic-tip{font-size:10px;line-height:1.85;padding-top:17px;border-top:1px solid var(--line)}.classic-confirm{padding:16px;border:1px solid var(--line);background:#fffefa;margin-top:16px}.classic-confirm p{font-size:11px;line-height:1.7;margin:0 0 12px}.direction-pad{display:grid;grid-template-columns:repeat(3,42px);gap:5px}.direction-pad button{border:1px solid var(--line);background:var(--panel);width:42px;height:40px;font-size:19px;touch-action:manipulation}.direction-pad button:first-child{grid-column:2}.direction-pad button:nth-child(2){grid-column:1}.direction-pad button:active{background:color-mix(in srgb,var(--accent) 15%,white)}.number-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.number-controls p{font-size:10px;color:var(--muted);line-height:1.8}.number-world{font-family:'Helvetica Neue',Arial,sans-serif;--accent:#b4593e;--muted:#776b5b;--line:#d9cbb4;background:#f8f1e6}.number-world .world-masthead h1{font-size:62px;letter-spacing:-3.2px;font-weight:750}.number-world .world-signature{font-family:Arial,sans-serif;letter-spacing:.18em}.number-world .classic-room{border:1px solid #433c322f;border-radius:0;box-shadow:6px 6px 0 #e7dcc8}.number-world .classic-sidebar h2{font-size:40px;letter-spacing:-1.8px;font-weight:750}.number-world .subtle-button,.number-world .primary-button{border-radius:0}.number-board{width:min(100%,475px);margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:11px;touch-action:none;background:#e7dbc5;border:1px solid #c8bba2;outline-offset:6px}.number-cell{display:grid;place-items:center;aspect-ratio:1;min-width:0;background:#f1e9d8;color:#654634;font-size:clamp(22px,3.8vw,46px);font-weight:750;letter-spacing:-1.4px;position:relative}.number-cell span{line-height:1;position:relative;z-index:1}.number-cell[data-value="2"]{background:#f1d7b0}.number-cell[data-value="4"]{background:#f2cd69}.number-cell[data-value="8"]{background:#d56846;color:#fff9e7}.number-cell[data-value="16"]{background:#588ba6;color:#fff9e7}.number-cell[data-value="32"]{background:#f5dc89}.number-cell[data-value="64"]{background:#4e867f;color:#fffbeb}.number-cell[data-value="128"]{background:#aba1bf;color:#382f4b}.number-cell[data-value="256"]{background:#da9261;color:#442d22}.number-cell[data-value="512"]{background:#bc6048;color:#fff6dc}.number-cell[data-value="1024"]{background:#89a27b;color:#253c29}.number-cell[data-value="2048"]{background:#ab4335;color:#fff5dc}.number-cell[data-size="4"],.number-cell[data-size="5"]{font-size:clamp(18px,2.8vw,33px);letter-spacing:-1px}.number-cell[data-size="6"],.number-cell[data-size="7"]{font-size:clamp(15px,2.4vw,26px);background:#446d7e;color:#fff7df}.number-cell[data-size="8"],.number-cell[data-size="9"],.number-cell[data-size="10"]{font-size:clamp(11px,1.8vw,20px);background:#765989;color:#fff7df}.number-cell.number-merged span{animation:number-pop .2s ease-out}.number-ended{border-color:#b4593e}.bauhaus-emblem{height:150px;position:relative;background:#f2e6d0;border-bottom:1px solid #d6c8ae;overflow:hidden}.bauhaus-emblem span{position:absolute;width:116px;height:116px;left:19px;top:17px;background:#d56c4c;border-radius:50%}.bauhaus-emblem i{position:absolute;width:87px;height:108px;right:34px;top:43px;background:#537e99}.bauhaus-emblem b{position:absolute;font:bold 52px/1 Arial,sans-serif;letter-spacing:-3px;color:#fff5da;left:61px;top:49px}.merge-example{display:flex;align-items:center;gap:10px;margin:23px 0}.merge-example span{width:49px;height:49px;display:grid;place-items:center;font:bold 24px Arial;background:#f1d7b0;color:#654634}.merge-example span:last-child{background:#f2cd69}.merge-example b{font-size:16px;font-weight:400;color:#9b8c74}
/* Picnic Snake: sun-faded gingham, ink outlines and illustrated orchard colours. */
.snake-world{--accent:#5c7d45;--line:#d7d2a7;--muted:#72785a;--panel:#fffdf0;background:#fff7de;color:#385b40;font-family:'Trebuchet MS','Avenir Next',sans-serif;background-image:radial-gradient(ellipse at 5% 70%,#eeeac288,transparent 40%)}.snake-world .world-masthead h1{font-family:'Trebuchet MS',sans-serif;font-size:57px;letter-spacing:-2px;font-weight:800;color:#385b40;text-shadow:2px 3px #e8db9c}.snake-world .world-eyebrow{color:#a46643;letter-spacing:.12em;font-family:'Trebuchet MS',sans-serif}.snake-world .world-signature{font:italic 12px Georgia,serif;color:#9c8a57;letter-spacing:0}.snake-room{border-radius:26px;border:1.5px solid #b8bb85;box-shadow:0 6px 0 #e6dfb4}.snake-world .classic-stat strong{color:#416b44;font-weight:800}.picnic-ticket{font:8px/1.6 'Courier New',monospace;text-align:center;color:#aa7050;padding:9px 11px;border:1px dashed #cda481;transform:rotate(6deg);background:#fff8df}.picnic-mat{padding:20px;width:min(100%,505px);margin:auto;border-radius:18px;background-color:#fff1db;background-image:repeating-linear-gradient(90deg,#d56f5733 0 12px,transparent 12px 24px),repeating-linear-gradient(0deg,#d56f5733 0 12px,transparent 12px 24px);border:2px solid #b88165;box-shadow:0 4px #d7c096}.picnic-mat canvas{display:block;width:100%;aspect-ratio:1;background:#e9edcc;touch-action:none;border-radius:10px;outline-offset:4px}.snake-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.snake-world .primary-button{background:#d87552;border:1.5px solid #ad553b;color:#fff9e5;border-radius:22px;box-shadow:0 3px 0 #ba6043;font-weight:bold;padding:12px 20px}.snake-world .subtle-button{border-radius:20px;background:#f7f3dc;border-color:#c3c6a0}.snake-world .direction-pad button{border-radius:12px;background:#edf0d2;border:1.5px solid #b2bd89;box-shadow:0 3px 0 #d1d7ad;color:#557445}.snake-world .direction-pad button:active{transform:translateY(2px);box-shadow:none}.snake-world .classic-sidebar h2{font-family:'Trebuchet MS',sans-serif;line-height:1.18;font-size:33px;letter-spacing:-1px}.picnic-illustration{height:150px;position:relative;background:#f7eec7;border:1px dashed #cbb87a;border-radius:100px 100px 10px 10px;overflow:hidden}.picnic-illustration svg{position:absolute;left:8%;bottom:20px;width:80%;height:115px}.picnic-illustration>span:last-child{position:absolute;bottom:10px;text-align:center;width:100%;font:7px 'Trebuchet MS',sans-serif;letter-spacing:.17em;color:#997a44}.picnic-sun{position:absolute;right:29px;top:3px;font-size:49px;color:#dbab4d}.speed-picker{display:flex;gap:5px;margin:22px 0}.speed-picker button{padding:10px 11px;border:1px solid #c9cba7;background:#faf8e7;border-radius:20px;font-size:10px}.speed-picker button[aria-pressed="true"]{border-color:#6f8851;background:#e6edca;color:#4c6838}.classic-sidebar .picnic-note{font:italic 16px/1.5 Georgia,serif;color:#9c7947;padding:16px 0}
/* Field Notes: a botanical journal, ruled paper, embossed squares and precise annotations. */
.field-world{--accent:#69734b;--line:#ccd0b7;--muted:#737960;--panel:#faf9ee;background:#f4f1e6;color:#435039;font-family:Georgia,serif;background-image:repeating-linear-gradient(0deg,transparent 0 33px,#80905806 33px 34px)}.field-world .world-masthead h1{font:italic 58px/1.1 Georgia,serif;letter-spacing:-2px}.field-world .world-eyebrow{font:9px 'Courier New',monospace;color:#8b755a;letter-spacing:.14em}.field-world .world-tagline{font:12px Georgia,serif}.field-world .world-signature{font-family:'Courier New',monospace;max-width:180px;line-height:1.8;text-align:right}.field-room{background:#faf9ef;border:1px solid #c5cab1;box-shadow:3px 3px #e4e4cf,6px 6px #eeeede;position:relative;border-radius:3px}.field-world .classic-stats{gap:28px}.field-world .classic-stat strong{font:25px 'Courier New',monospace}.field-world .classic-stat>span{font:8px 'Courier New',monospace;letter-spacing:.05em}.field-seal{font:7px/1.5 'Courier New',monospace;border:1px solid #bd9f7a;border-radius:50%;width:57px;height:57px;display:grid;align-content:center;text-align:center;color:#a18868;transform:rotate(-14deg);flex-shrink:0}.field-board-wrap{padding:15px;border:1px solid #a4ad8d;width:min(100%,500px);margin:auto;background:#e4e7d3;box-shadow:inset 0 0 0 5px #f2f0e3}.mine-grid{display:grid;grid-template-columns:repeat(var(--cols,9),minmax(0,1fr));gap:4px}.mine-cell{min-width:0;padding:0;aspect-ratio:1;border:1px solid #9da77d;background:#cbd4aa;box-shadow:inset 1.5px 1.5px #e6ecd2,inset -1.5px -1.5px #abb58e;display:grid;place-items:center;font:bold 22px 'Courier New',monospace;color:#4b715d;touch-action:manipulation;user-select:none;-webkit-user-select:none}.mine-cell:not(.revealed):hover{background:#d9dfbb}.mine-cell:focus-visible{outline:2px solid #816544;outline-offset:1px;z-index:1}.mine-cell.revealed{background:#f1f0df;border-color:#d2d4bc;box-shadow:none}.mine-cell.revealed[data-number="2"]{color:#99714a}.mine-cell.revealed[data-number="3"]{color:#ab6752}.mine-cell.revealed[data-number="4"]{color:#756487}.mine-cell.revealed[data-number="5"],.mine-cell.revealed[data-number="6"],.mine-cell.revealed[data-number="7"],.mine-cell.revealed[data-number="8"]{color:#805b47}.mine-cell.flagged{color:#a66c46;background:#e9d8b1;font-family:Georgia,serif}.mine-cell.exposed-mine{background:#e5c5ad;color:#9b513b;font-family:Georgia,serif}.mine-cell.wrong-flag{background:#f1d5c1;text-decoration:line-through}.mine-cell:disabled{opacity:1;cursor:default}.mine-grid.flag-mode .mine-cell:not(.revealed){cursor:crosshair}.mine-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:23px}.mine-mode{display:flex;border:1px solid #a5ad8e;padding:3px;gap:3px;background:#efefdf}.mine-mode button{border:1px solid transparent;background:none;padding:9px 15px;font:11px Georgia,serif}.mine-mode button[aria-pressed="true"]{background:#fbf9ed;border-color:#b8c09f;box-shadow:1px 1px #cbd0b6;color:#52643f}.field-world .subtle-button,.field-world .primary-button{font:11px Georgia,serif;border-radius:1px}.field-world .classic-status{font:12px/1.8 Georgia,serif}.field-world .classic-sidebar h2{font:italic 34px/1.2 Georgia,serif;color:#5b664b}.field-world .classic-sidebar>p{font:12px/1.9 Georgia,serif}.field-world .classic-sidebar .classic-kicker{font:8px/1.8 'Courier New',monospace;letter-spacing:.1em;color:#8b795d}.field-world .classic-sidebar .classic-tip{font:10px/1.9 'Courier New',monospace}.field-illustration{color:#697d53;background:#f3f1df;border:1px solid #d2d5bd;position:relative;padding:8px 14px 26px}.field-illustration svg{display:block;width:100%;height:142px}.field-illustration>span{position:absolute;bottom:11px;left:0;width:100%;text-align:center;font:7px 'Courier New',monospace;letter-spacing:.03em;color:#8e947b}.field-legend{display:grid;grid-template-columns:33px 1fr;gap:10px 14px;align-items:center;font:11px Georgia,serif;color:#7b7b60;margin:23px 0}.legend-number,.legend-flag{display:grid;place-items:center;height:33px;border:1px solid #c9ccb2;background:#f0efdc;font:bold 21px 'Courier New',monospace;color:#4b715d}.legend-flag{font-family:Georgia,serif;color:#a66c46;background:#e9d8b1}.difficulty-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:23px 0}.difficulty-picker button{text-align:left;padding:13px 11px;border:1px solid #c6ccb3;background:#f6f5e8;color:#738065;font:11px Georgia,serif}.difficulty-picker button strong{font-weight:400;display:block;margin-bottom:7px}.difficulty-picker button span{font:8px 'Courier New',monospace;display:block}.difficulty-picker button[aria-pressed="true"]{border-color:#839064;background:#e9ecd8;color:#56613c}
@keyframes number-pop{0%{transform:scale(.85)}60%{transform:scale(1.1)}100%{transform:scale(1)}}
@media(min-width:1450px){.number-cell{font-size:46px}.number-cell[data-size="4"],.number-cell[data-size="5"]{font-size:33px}}
@media(max-width:1000px){.classic-room{grid-template-columns:minmax(0,1fr) 250px;gap:30px;padding:25px}.classic-stats{gap:21px}.classic-sidebar h2{font-size:27px}.number-world .classic-sidebar h2{font-size:33px}.snake-world .classic-sidebar h2{font-size:28px}.mine-cell{font-size:19px}.field-board-wrap{padding:10px}.speed-picker{gap:4px}.speed-picker button{padding:9px 8px;font-size:9px}}
@media(max-width:740px){.classic-room{display:flex;flex-direction:column;gap:26px;padding:21px 16px}.classic-main,.classic-sidebar{width:100%}.classic-sidebar{border-top:1px solid var(--line);padding-top:25px}.classic-toolbar{margin-bottom:18px;gap:12px;min-height:40px}.classic-stats{gap:22px}.classic-stat>span{font-size:7px}.classic-stat strong{font-size:24px}.number-world .world-masthead h1{font-size:46px;letter-spacing:-2.5px}.number-world .classic-room{box-shadow:3px 3px #e7dcc8}.number-board{gap:7px;padding:8px}.number-cell{font-size:33px;letter-spacing:-1px}.number-cell[data-size="4"],.number-cell[data-size="5"]{font-size:24px}.number-cell[data-size="6"],.number-cell[data-size="7"]{font-size:20px}.number-cell[data-size="8"],.number-cell[data-size="9"],.number-cell[data-size="10"]{font-size:12px}.number-controls{gap:10px;margin-top:18px}.number-controls p{font-size:9px;max-width:140px}.direction-pad{grid-template-columns:repeat(3,40px);gap:5px}.direction-pad button{width:40px;height:42px}.classic-status{font-size:11px}.number-world .classic-sidebar h2{font-size:35px}.bauhaus-emblem{height:130px;width:210px;float:right;margin:0 0 15px 15px}.bauhaus-emblem i{right:20px;width:60px;top:28px}.bauhaus-emblem span{left:10px;width:100px;height:100px;top:10px}.bauhaus-emblem b{left:40px;top:42px;font-size:45px}.number-world .classic-sidebar .classic-kicker{margin-top:0;max-width:100px}.number-world .classic-sidebar>p{clear:both}.snake-world .world-masthead h1{font-size:44px;letter-spacing:-1.7px}.snake-room{border-radius:19px}.picnic-mat{padding:13px;border-radius:13px;background-size:auto;border-width:1.5px}.picnic-mat canvas{border-radius:6px}.picnic-ticket{font-size:7px;padding:7px 9px}.snake-world .classic-stats{gap:28px}.snake-actions{gap:10px;align-items:center;margin-top:19px}.snake-actions .button-row{gap:8px;flex-direction:column;align-items:flex-start}.snake-world .primary-button{padding:12px 15px;font-size:10px}.snake-world .subtle-button{padding:10px 13px;font-size:10px}.snake-world .classic-sidebar h2{font-size:31px}.picnic-illustration{max-width:330px;margin:auto}.speed-picker button{font-size:10px;padding:11px 15px}.field-world .world-masthead h1{font-size:49px}.field-world .classic-stats{gap:20px}.field-world .classic-stat strong{font-size:23px}.field-world .classic-stat>span{font-size:7px}.field-seal{width:43px;height:43px;font-size:6px}.field-board-wrap{padding:10px;box-shadow:inset 0 0 0 3px #f2f0e3}.mine-grid{gap:3px}.mine-cell{font-size:18px;border-width:1px}.mine-grid[data-size="12"]{gap:2px}.mine-grid[data-size="12"] .mine-cell{font-size:14px}.mine-controls{gap:8px;margin-top:18px}.mine-mode button{font-size:10px;padding:9px 10px;min-height:40px}.field-world .mine-controls .subtle-button{font-size:10px;padding:11px 10px}.field-world .classic-status{font-size:11px}.field-illustration{max-width:330px;margin:auto}.difficulty-picker button{padding:14px}.number-cover-grid span{font-size:22px}.number-cover-grid span:last-child{font-size:18px}}
@media(max-width:380px){.classic-room{padding:18px 12px}.number-world .world-masthead h1{font-size:42px}.snake-world .world-masthead h1{font-size:40px}.number-cell{font-size:29px}.number-cell[data-size="4"],.number-cell[data-size="5"]{font-size:20px}.classic-stats{gap:18px}.field-world .classic-stats{gap:16px}.field-world .classic-stat strong{font-size:21px}.mine-cell{font-size:16px}.mine-grid[data-size="12"] .mine-cell{font-size:12px}.picnic-mat{padding:11px}.snake-actions .primary-button{padding:12px 13px}.direction-pad{grid-template-columns:repeat(3,38px)}.direction-pad button{width:38px}.bauhaus-emblem{width:165px}.bauhaus-emblem b{left:25px;font-size:39px}.bauhaus-emblem i{right:13px;width:50px}}
@media(prefers-reduced-motion:reduce){.number-merged span{animation:none}}

@media(max-width:740px){.bauhaus-emblem{float:none;width:100%;max-width:330px;margin:0 auto 23px;height:150px}.bauhaus-emblem span{left:22px;width:116px;height:116px;top:17px}.bauhaus-emblem i{right:36px;width:87px;top:43px}.bauhaus-emblem b{left:65px;top:49px;font-size:52px}.number-world .classic-sidebar .classic-kicker{max-width:none}}
