:root{color:#344d42;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--paper:#f5f1e7;--surface:#fbf8f0;--ink:#344d42;--muted:#71766a;--line:#dcdccf;--green:#456f5a;--green-dark:#345b48;--jade:#477c68;--coral:#c47760;--warm:#e2ba66;--shadow:0 15px 50px #43492b0c;--serif:"Noto Serif HK", "Songti TC", "Noto Serif CJK TC", Georgia, serif;background:#f5f1e7;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang HK,Noto Sans HK,sans-serif}:root:lang(zh-TW){--serif:"Noto Serif TC", "Songti TC", "Noto Serif CJK TC", Georgia, serif;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Noto Sans TC,sans-serif}:root:lang(ja){--serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif CJK JP", Georgia, serif;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}body:has(dialog[open]){overflow:hidden}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline-offset:4px;outline:3px solid #b47a27}svg{flex-shrink:0}a{color:inherit}h1,h2,h3,p{margin:0}button{touch-action:manipulation}input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:52px;color:var(--ink);border-radius:9px;padding:13px 16px;font-size:16px}input::placeholder{color:var(--muted);opacity:.85}input:focus{border-color:var(--green)}.app-shell{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23937e50' opacity='.07' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}#main-content{outline:none;flex:1}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;width:calc(100% - 96px);max-width:1240px;margin:0 auto;padding:29px 0 23px;display:flex}.brand{text-align:left;align-items:center;gap:12px;min-height:48px;padding:0;display:flex}.brand-mark{color:var(--green);font-size:47px;font-weight:400;line-height:1}.brand-title{flex-direction:column;gap:4px;display:flex}.brand-title strong{font:600 26px/1.1 var(--serif);letter-spacing:.15em}.brand-title>span{letter-spacing:1.8px;color:var(--muted);font-size:9px;font-weight:600}.header-actions{align-items:center;gap:23px;display:flex}.header-actions button{align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;display:flex}.language-button>span:first-child{border:1px solid #b8bcb0;border-radius:4px;padding:3px 4px;font-size:11px}.header-settings{border-left:1px solid var(--line);padding-left:23px}.language-button{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:500;display:flex;position:relative}.language-button svg{color:var(--muted)}.language-button select{opacity:0;cursor:pointer;width:100%;font-size:16px;position:absolute;inset:0}.language-button:has(select:focus-visible){outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.skip-link{z-index:30;background:var(--surface);padding:13px;position:absolute;top:-70px;left:20px}.skip-link:focus{top:12px}.home-screen{width:calc(100% - 96px);max-width:1240px;margin:0 auto}.hero{grid-template-columns:.96fr 1.04fr;align-items:center;gap:50px;min-height:560px;display:grid}.hero-copy{z-index:1;padding:25px 0 45px;position:relative}.eyebrow{letter-spacing:1.8px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.8}.hero .eyebrow{letter-spacing:1.6px;align-items:center;gap:8px;margin-bottom:25px;display:flex}.small-star{color:#a7894b;letter-spacing:0;font-size:20px}.hero h1{font-family:var(--serif);letter-spacing:.03em;color:var(--ink);font-size:55px;font-weight:600;line-height:1.55}.hero h1 span{display:block}.hero-intro{max-width:420px;color:var(--muted);margin-top:19px;font-size:16px;line-height:1.95}.hero-facts{color:var(--ink);align-items:center;gap:12px;margin:27px 0 13px;font-size:13px;display:flex}.hero-facts>span{align-items:center;gap:7px;display:inline-flex}.hero-facts i{border-right:1px solid #b5b7a9;height:13px;margin:0 5px}.piece-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px;display:inline-block;box-shadow:inset 0 1px 2px #ffffff25}.piece-dot.jade{background:var(--jade)}.piece-dot.coral{background:var(--coral)}.hero-facts .piece-dot+.piece-dot{margin-left:-3px}.text-button{justify-content:center;align-items:center;gap:9px;min-height:44px;padding:7px 0;font-size:14px;font-weight:500;display:inline-flex}.text-button:hover:not(:disabled){color:var(--green);text-underline-offset:5px;text-decoration:underline}.hero-copy>.text-button{color:var(--green);border-bottom:1px solid #adb5a4;min-height:34px;padding-bottom:0;font-size:14px}.hero-art{justify-self:center;width:100%;max-width:550px;padding:4px 8px 36px;position:relative}.hero-art .checkers-board{z-index:1;filter:drop-shadow(0 14px 16px #64543710);width:100%;display:block;position:relative;transform:rotate(-9deg)}.paint-swipe{opacity:.18;background:#d6b779;border-radius:47% 53% 51% 49%/45% 48% 52% 55%;position:absolute;inset:13% 5% 10%;transform:rotate(-8deg)}.paint-swipe:after{content:"";border:1px solid #bda26b66;border-radius:49%;position:absolute;inset:8% -6%;transform:rotate(9deg)}.art-note{font:italic 16px var(--serif);color:#7b775e;z-index:2;align-items:center;gap:8px;display:flex;position:absolute;bottom:4%;left:8%;transform:rotate(-5deg)}.art-note svg{margin-top:-20px;transform:rotate(20deg)}.art-spark{z-index:2;color:#c8a052;font-size:29px;position:absolute}.spark-one{top:16%;right:1%;transform:rotate(12deg)}.spark-two{color:#86a18b;font-size:20px;bottom:28%;left:3%}.play-section{z-index:2;padding-top:10px;position:relative}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px;display:flex}.section-heading h2{font:600 29px/1.5 var(--serif);margin-top:5px}.section-heading>p{color:var(--muted);text-align:right;margin-bottom:6px;font-size:14px;line-height:1.8}.mode-grid{grid-template-columns:repeat(3,1fr);gap:19px;display:grid}.mode-card{background:#e4ebdd;border:1px solid #ced9c9;border-radius:15px 18px 14px 17px;min-height:260px;padding:28px 26px 26px;position:relative;overflow:hidden;box-shadow:0 4px 10px #44492404}.mode-card.computer-card{background:#f1e3d6;border-color:#e1d1bf}.mode-card.puzzle-card{background:#f0e9cf;border-color:#e0d8b8}.mode-icon{color:#4b7159;min-height:38px;padding:0 0 10px;display:inline-flex;transform:rotate(-5deg)}.computer-card .mode-icon{color:#98684e}.puzzle-card .mode-icon{color:#9a7e38}.card-number{font:italic 15px var(--serif);color:#7f947780;position:absolute;top:25px;right:25px}.computer-card .card-number{color:#ae8a7180}.puzzle-card .card-number{color:#ae995b80}.mode-card h3{font:600 24px var(--serif);z-index:1;margin:9px 0 12px;position:relative}.mode-card p{color:#687660;z-index:1;max-width:94%;min-height:50px;margin-bottom:18px;font-size:14px;line-height:1.8;position:relative}.computer-card p{color:#826f61}.puzzle-card p{color:#81764f}.button{z-index:1;background:0 0;border:1px solid #b7b5a2;border-radius:7px 8px 6px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .18s,transform .18s;display:inline-flex;position:relative}.button:hover:not(:disabled){background:#ffffff4d;transform:translateY(-1px)}.button.primary{background:var(--green);border-color:var(--green);color:#fffaf0}.button.primary:hover:not(:disabled){background:var(--green-dark)}.computer-card .button{color:#725440;border-color:#aa8c76}.puzzle-card .button{color:#74622d;border-color:#b7a773}.mode-card .button{justify-content:space-between;min-width:170px}.card-decoration{opacity:.19;gap:10px;display:flex;position:absolute;bottom:24px;right:-8px;transform:rotate(-32deg)}.card-decoration span{background:#7a8f69;border-radius:50%;width:23px;height:23px}.computer-card .card-decoration span{background:#a5785c}.puzzle-card .card-decoration span{background:#ba9d47}.card-decoration span:nth-child(2){margin-top:12px}.extra-modes{justify-content:center;align-items:center;gap:35px;margin:18px 0 2px;display:flex}.extra-modes .text-button{color:var(--muted);font-size:13px}.landscape-footer{isolation:isolate;min-height:235px;margin:0 -48px;position:relative}.landscape-footer:before{content:"";background-image:linear-gradient(to bottom, var(--paper), transparent 32%, transparent 92%, var(--paper)), url(/landscape.jpg);opacity:.62;z-index:-1;background-position:50%,50% 56%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.footer-note{font:italic 14px var(--serif);color:#6b745e;align-items:flex-start;gap:9px;max-width:200px;line-height:1.9;display:flex;position:absolute;top:75px;left:5%;transform:rotate(-3deg)}.site-footer{border-top:1px solid var(--line);width:calc(100% - 96px);max-width:1240px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:15px 0 20px;font-size:11px;display:flex}.site-footer .text-button{min-height:32px;font-size:11px}.footer-links{flex-wrap:wrap;gap:4px 18px;display:flex}.modal{border:1px solid var(--line);background:var(--paper);width:490px;max-width:calc(100% - 32px);color:var(--ink);border-radius:18px;max-height:calc(100dvh - 48px);padding:0;position:fixed;box-shadow:0 24px 90px #1f352c30}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#253f365c}.modal.wide{width:650px}.modal-head{border-bottom:1px solid var(--line);z-index:4;background:var(--paper);justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 18px;display:flex;position:sticky;top:0}.modal-head h2{font:600 23px/1.55 var(--serif)}.icon-button{border:1px solid var(--line);border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid}.modal-body{padding:25px 26px 28px}.modal-intro{color:var(--muted);margin-bottom:23px;font-size:16px;line-height:1.9}.field-label,.setting-label{margin:0 0 10px;font-size:14px;font-weight:600;display:block}.setting-group{margin:23px 0}.segmented{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:3px;padding:4px;display:flex}.segmented button{white-space:normal;border-radius:5px;flex:1;min-height:44px;padding:10px 5px;font-size:14px;line-height:1.4}.segmented button.active{background:var(--green);color:#fffaf0;box-shadow:0 2px 4px #2a473012}.settings-heading{font:600 18px var(--serif);margin-top:30px;margin-bottom:10px}.toggle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding:18px 0;font-size:15px;line-height:1.5;display:flex}.toggle-row p{color:var(--muted);max-width:245px;margin-top:6px;font-size:12px;line-height:1.6}.switch{flex-shrink:0;width:48px;height:44px;padding:0;position:relative}.switch:before{content:"";background:#c7c9bb;border-radius:18px;position:absolute;inset:9px 0}.switch span{background:#fffaf0;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:12px;left:3px;box-shadow:0 1px 3px #3333}.switch.on:before{background:var(--green)}.switch.on span{transform:translate(22px)}.settings-links{flex-direction:column;align-items:flex-start;gap:7px;margin-top:18px;display:flex}.danger-text{color:#a15542}.full-width{width:100%}.button.danger{color:#fff6ee;background:#a35b48;border-color:#a35b48}.modal-play{margin-top:18px}.rule-item{gap:17px;margin-bottom:24px;display:flex}.rule-item>span{width:31px;height:31px;font:500 15px var(--serif);background:#e4e9d9;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.rule-item h3{margin:3px 0 8px;font-size:16px;line-height:1.5}.rule-item p{color:var(--muted);font-size:14px;line-height:1.95}.rules-body>.button{margin-top:9px}.online-option{text-align:center}.online-option>p{color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.8}.online-illustration{width:95px;height:95px;color:var(--green);background:#e2e9d8;border-radius:50% 46% 52% 44%;place-items:center;margin:12px auto 20px;display:grid}.room-code-input{text-align:center;letter-spacing:.2em;padding:13px 18px;font-size:27px}.help-text{color:var(--muted);margin:11px 0 18px;font-size:13px;line-height:1.8}.form-error{color:#a15542;background:#f0e0d7;border:1px solid #dfc9bc;border-radius:7px;margin-top:17px;padding:12px 15px;font-size:14px;line-height:1.8}.legal-lang{justify-content:flex-end;gap:4px;margin:14px 0 4px;display:flex}.legal-lang button{border:1px solid var(--line);min-height:36px;color:var(--muted);border-radius:999px;padding:4px 12px;font-size:13px}.legal-lang button.active{border-color:var(--green);color:var(--green);font-weight:600}.legal-text{margin-bottom:25px}.legal-text h3{font:600 17px/1.5 var(--serif);margin:18px 0 6px}.legal-text p{color:var(--muted);font-size:15px;line-height:1.85}.legal-text .legal-updated{margin-top:20px;font-size:12px}.toast{color:#fffaf0;z-index:15;background:#344d42;border-radius:10px;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:14px 22px;font-size:14px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 25px #1112}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:19px;height:19px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.puzzles-screen,.game-screen,.lobby-screen{width:calc(100% - 96px);max-width:1240px;margin:0 auto;padding:28px 0 50px}.puzzles-intro{max-width:590px;margin:25px 0 35px}.puzzles-intro h1{font:600 37px/1.65 var(--serif);margin:10px 0 13px}.puzzles-intro>p:last-child{color:var(--muted);font-size:16px;line-height:1.9}.puzzle-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.puzzle-card-item{border:1px solid var(--line);background:var(--surface);border-radius:15px;overflow:hidden}.puzzle-preview{background:#eee7d5;height:270px;overflow:hidden}.puzzle-preview svg{width:100%;height:100%;padding:5px;transform:rotate(-5deg)}.puzzle-content{padding:24px}.puzzle-content .eyebrow{letter-spacing:1px;flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;display:flex}.puzzle-content h2{font:600 24px var(--serif);margin:12px 0}.puzzle-content>p:not(.eyebrow){color:var(--muted);min-height:77px;font-size:14px;line-height:1.8}.puzzle-content .button{margin-top:22px}.solved-badge{letter-spacing:0;color:var(--green);align-items:center;gap:4px;font-size:11px;display:inline-flex}.app-shell.is-game{height:100dvh;min-height:360px}.is-game .site-header,.is-game .site-footer{display:none}.is-game #main-content{flex-direction:column;min-height:0;display:flex}.game-screen{flex-direction:column;flex:1;min-height:0;padding:12px 0 18px;display:flex}.game-top{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:8px;display:grid}.game-top .text-button{gap:8px;font-size:14px}.game-home{justify-self:start}.game-top-actions{justify-self:end;align-items:center;gap:22px;display:flex}.game-title{text-align:center;min-width:0}.game-title h1{font:600 22px/1.35 var(--serif);margin-top:2px}.mode-pill{letter-spacing:1px;color:var(--muted);font-size:10px}.game-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 300px;gap:40px;width:100%;max-width:1120px;min-height:0;margin:0 auto;display:grid;position:relative}.board-area{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.board-toolbar{z-index:2;align-items:center;gap:12px;display:flex;position:absolute;top:4px;right:4px}.board-toolbar .turn-chip,.board-toolbar .move-counter{display:none}.turn-chip{flex:1;align-items:center;gap:9px;min-width:0;display:flex}.turn-chip .piece-dot{width:13px;height:13px}.turn-text{flex-direction:column;min-width:0;display:flex}.turn-text strong{font-size:15px;font-weight:600;line-height:1.4}.turn-text small{color:var(--muted);font-size:12px;line-height:1.45}.move-counter{color:var(--muted);white-space:nowrap;font-size:12px}.zoom-button{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:6px;min-height:38px;padding:6px 13px;font-size:12px}.board-scroll{scrollbar-color:#adb59b transparent;overscroll-behavior:contain;background:#ede6d129;border-radius:15px;flex:1;min-height:0;position:relative;overflow:auto}.board-inner{position:absolute;inset:0}.board-inner .checkers-board{width:100%;height:100%}.zoomed .board-inner{aspect-ratio:432/536;height:175%;margin:0 auto;position:static}.checkers-board{-webkit-user-select:none;user-select:none;width:100%;display:block}.board-cell{cursor:pointer}.preview-board .board-cell{cursor:default}.board-cell.has-piece:hover>circle:not(.hit-area){filter:brightness(1.05)}.board-cell:focus-visible{outline:none}.board-cell:focus-visible .hit-area{stroke:#7e5d18;stroke-width:2px;fill:#f9ecbf80}.board-goal{text-transform:uppercase;letter-spacing:1.3px;fill:#6e7463;font-family:DM Sans,Noto Sans HK,sans-serif;font-size:10px;font-weight:600}.contrast-board .board-cell.has-piece>circle:not(.hit-area),.contrast-board .flight circle{stroke-width:2px}.progress-slot{position:relative}.hop-bar{z-index:3;background:var(--surface);border:1px solid #d2dcc9;border-radius:12px;justify-content:center;align-items:center;gap:16px;padding:6px 12px;display:flex;position:absolute;inset:0}.hop-bar .button{border-radius:999px;flex:none;min-height:40px;padding:8px 16px}.hop-countdown{flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.hop-countdown svg{position:absolute;inset:0;transform:rotate(-90deg)}.hop-countdown circle{fill:none;stroke-width:3.5px}.hop-countdown-track{stroke:var(--line)}.hop-countdown-ring{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset .2s linear}html[data-motion=reduced] .hop-countdown-ring{transition:none}.hop-countdown strong{font-variant-numeric:tabular-nums;font-size:15px}.play-method-hint{margin-top:-12px}.zoom-hint{text-align:center;color:var(--muted);margin:8px 0 0;font-size:12px}.game-sidebar{flex-direction:column;gap:16px;min-height:0;padding:2px;display:flex;overflow-y:auto}.move-panel{background:#e8edde;border:1px solid #d2dcc9;border-radius:13px;padding:22px 22px 14px}.move-panel .eyebrow{letter-spacing:1.3px;font-size:10px}.move-panel h2{font:600 24px/1.45 var(--serif);margin:6px 0}.move-instruction{color:#69785f;min-height:50px;font-size:14px;line-height:1.75}.clear-button{gap:6px;min-height:36px;margin-top:4px;font-size:12px}.progress-panel{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:18px 20px}.progress-panel h3{letter-spacing:.2px;color:var(--muted);margin-bottom:16px;font-size:12px;font-weight:500}.player-progress+.player-progress{margin-top:16px}.progress-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.progress-title>span{align-items:center;gap:6px;min-width:0;display:flex}.progress-title strong{white-space:nowrap;font-size:11px;font-weight:500}.progress-title small{font-size:11px}.progress-track{background:#e8e4d9;border-radius:5px;height:5px;overflow:hidden}.progress-track span{background:var(--jade);border-radius:5px;height:100%;transition:width .3s;display:block}.player-progress.is-turn .player-name{font-weight:700}.player-progress.is-turn .piece-dot{outline-offset:2px;outline:2px solid}.player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-panel:is(.players-4,.players-5,.players-6) .player-progress+.player-progress{margin-top:10px}.table-note{margin:-8px 0 4px}.game-tools{flex-wrap:wrap;gap:9px;display:flex}.game-tools .button{white-space:nowrap;flex:1;padding:11px 10px;font-size:12px}.button.soft{border-color:var(--line);background:var(--surface)}.saved-note{text-align:center;margin:0;font-size:11px}.puzzle-game-description{color:var(--muted);padding:0 3px;font-size:13px;line-height:1.9}.move-panel.finished{text-align:center;background:#efe6c9;border-color:#ded1ac;padding:24px 22px 18px}.result-symbol{color:#ab8c41;margin-bottom:10px;font-size:40px;line-height:1.2;display:block}.move-panel.finished>p:not(.eyebrow){color:#7b765d;margin-bottom:18px;font-size:14px;line-height:1.8}.move-panel.finished h2{font-size:24px}.move-panel.finished .text-button{margin-top:8px}.connection-banner{background:#eee3c6;border:1px solid #e0d2ac;border-radius:7px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;padding:13px;font-size:14px;display:flex}.connection-banner>span:last-child{font-size:12px}.waiting-screen{justify-content:center;align-items:center;min-height:650px;padding:35px 24px;display:flex}.waiting-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;width:100%;max-width:430px;padding:35px 30px}.waiting-art{width:110px;height:110px;color:var(--green);background:#e3e9d9;border-radius:50% 48% 47% 52%;place-items:center;margin:0 auto 30px;display:grid;position:relative}.waiting-orbit{border:1px dashed #829573;border-radius:50%;animation:14s linear infinite spin;position:absolute;inset:-12px}.waiting-card h1{font:600 26px/1.7 var(--serif);margin:9px 0 15px}.waiting-card>p:not(.eyebrow){color:var(--muted);margin-bottom:24px;font-size:15px;line-height:1.9}.waiting-card>.button{margin-bottom:10px}.lobby-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:18px;max-width:550px;margin:15px auto 10px;padding:35px}.lobby-card h1{font:600 32px/1.5 var(--serif);margin:10px 0 12px}.lobby-card>p:not(.eyebrow):not(.form-error){color:var(--muted);font-size:14px;line-height:1.9}.room-code-display{background:#ebe9db;border:1px dashed #c4c7b3;border-radius:8px;flex-direction:column;align-items:center;gap:7px;margin:24px 0 18px;padding:16px 25px;display:flex}.room-code-display span{color:var(--muted);letter-spacing:1.5px;font-size:11px}.room-code-display strong{letter-spacing:.22em;color:var(--ink);padding-left:.22em;font-size:29px;font-weight:500}.invite-buttons{justify-content:center;gap:10px;display:flex}.invite-buttons>.button{flex:1;padding:11px 15px;font-size:13px}.invite-url{min-height:42px;color:var(--muted);text-align:center;text-overflow:ellipsis;background:0 0;border:0;margin:12px 0;font-size:12px}.lobby-players{text-align:left;flex-direction:column;gap:8px;margin:15px 0 20px;display:flex}.lobby-player{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:11px 14px;display:flex}.lobby-player.is-computer{border-style:dashed}.player-avatar{color:#fbf3dd;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.lobby-card .setting-group{text-align:left;margin:0 0 6px}.lobby-player>div{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.lobby-player strong{overflow-wrap:anywhere;font-size:14px}.lobby-player strong small{color:var(--muted);font-size:11px;font-weight:400}.lobby-player>div>span{color:var(--muted);font-size:11px}.ready-tag{color:var(--muted);white-space:nowrap;font-size:11px}.ready-tag.is-ready{color:var(--green);font-weight:600}.start-button{margin-top:12px}.connection-status{justify-content:center;align-items:center;gap:10px;display:flex;margin:10px 0 20px!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[lang=en] .hero h1{letter-spacing:-1.8px;font-family:Georgia,Times New Roman,serif;font-size:60px;font-weight:400;line-height:1.18}.hero[lang=en] .hero-intro{max-width:420px}html[lang=en] .hero .eyebrow{letter-spacing:1.8px;font-size:10px}html[lang=en] .mode-card h3{font-family:Georgia,serif;font-size:27px;font-weight:400}html[lang=en] .section-heading h2,html[lang=en] .puzzles-intro h1{font-family:Georgia,serif;font-weight:400}html[data-theme=night]{--paper:#253c32;--surface:#30463b;--ink:#edeada;--muted:#bac3ac;--line:#526452;--green:#65825f;--green-dark:#506d4b;background:var(--paper);color:var(--ink)}html[data-theme=night] .mode-card{filter:none}html[data-theme=night] .mode-card .primary{background:#456f5a;border-color:#456f5a}html[data-theme=night] .hero-copy>.text-button,html[data-theme=night] .art-note,html[data-theme=night] .text-button:hover:not(:disabled){color:var(--ink)}html[data-theme=night] .hero-art{filter:brightness(.87)}html[data-theme=night] .mode-card h3,html[data-theme=night] .mode-card p{color:#354a3a}html[data-theme=night] .move-panel{background:#3a5140;border-color:#586c4c}html[data-theme=night] .move-instruction{color:var(--muted)}html[data-theme=night] .move-panel.finished{background:#524e34}html[data-theme=night] .room-code-display{background:var(--surface)}html[data-theme=night] .board-scroll{background:#e6e1c9}html[data-theme=night] .footer-note{color:#d1d3b8}html[data-theme=night] .landscape-footer:before{opacity:.28}html[data-theme=night] .progress-track{background:#52614c}@media (width>=1450px){.hero{min-height:610px}.hero h1{font-size:59px}.hero-art{max-width:580px}}@media (width<=1050px){.site-header,.home-screen,.site-footer,.game-screen,.puzzles-screen,.lobby-screen{width:calc(100% - 64px)}.hero{gap:25px;min-height:490px}.hero h1{font-size:44px}html[lang=en] .hero h1{font-size:51px}.hero .eyebrow{font-size:10px}.hero-intro{font-size:15px}.mode-card{padding:23px 21px}.mode-card h3{font-size:23px}.mode-card p{min-height:70px;font-size:13px}.mode-card .button{min-width:150px}.section-heading>p{max-width:310px;font-size:13px}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.landscape-footer{margin:0 -32px}.puzzle-grid{gap:16px}.puzzle-preview{height:220px}.puzzle-content{padding:21px}.puzzle-content h2{font-size:21px}.puzzle-content>p:not(.eyebrow){min-height:110px}}@media (width<=760px){.site-header,.home-screen,.site-footer,.game-screen,.puzzles-screen,.lobby-screen{width:calc(100% - 40px)}.site-header{gap:12px;padding:19px 0 17px}.brand-mark{font-size:38px}.brand{gap:9px}.brand-title strong{font-size:23px}.brand-title>span{letter-spacing:1.1px;font-size:8px}.header-actions{gap:14px}.header-actions button,.header-actions .language-button{font-size:13px}.header-settings{padding-left:14px}.hero{gap:10px;min-height:430px}.hero h1{font-size:38px}html[lang=en] .hero h1{font-size:42px}.hero-copy{padding-bottom:20px}.hero .eyebrow{letter-spacing:1px;margin-bottom:18px;font-size:9px}.hero-intro{font-size:14px;line-height:1.9}.hero-facts{gap:8px;margin-top:19px;font-size:11px}.hero-facts i{margin:0 2px}.art-note{font-size:12px;bottom:0}.hero-art{padding:0 0 35px}.section-heading h2{font-size:25px}.section-heading>p{max-width:240px;font-size:12px}.mode-grid{gap:12px}.mode-card{min-height:275px;padding:22px 17px 20px}.mode-card h3{font-size:20px}html[lang=en] .mode-card h3{font-size:23px}.mode-card p{max-width:100%;min-height:72px;font-size:13px}.mode-card .button{width:100%;min-width:0;padding:10px 12px;font-size:12px}.card-number{font-size:12px;right:15px}.mode-icon svg{width:26px}.landscape-footer{min-height:205px;margin:0 -20px}.footer-note{max-width:170px;font-size:12px}.extra-modes{gap:20px}.extra-modes .text-button{font-size:12px}.puzzle-grid{grid-template-columns:1fr}.puzzle-card-item{grid-template-columns:45% 55%;display:grid}.puzzle-preview{height:100%}.puzzle-content>p:not(.eyebrow){min-height:0}.puzzle-content .button{margin-top:17px}}@media (width<=600px){.site-header,.home-screen,.site-footer,.game-screen,.puzzles-screen,.lobby-screen{width:calc(100% - 32px)}.site-header{padding:16px 0 14px}.brand-title strong{font-size:22px}.brand-title>span{letter-spacing:.8px;font-size:7px}.brand-mark{font-size:36px}.header-actions{gap:11px}.header-actions button,.header-actions .language-button{gap:6px;font-size:12px}.header-settings{padding-left:11px}.header-settings svg{width:18px}.language-button>span:first-child{display:none}.hero{text-align:center;flex-direction:column;gap:0;min-height:0;padding-top:35px;display:flex}.hero-copy{padding:0}.hero .eyebrow{letter-spacing:1.2px;justify-content:center;margin-bottom:16px;font-size:10px}.hero h1{font-size:40px;line-height:1.5}html[lang=en] .hero h1{letter-spacing:-1.2px;font-size:47px;line-height:1.14}.hero-intro{max-width:340px;margin:18px auto 0;font-size:16px;line-height:1.85}.hero-facts{justify-content:center;gap:11px;margin:22px 0 10px;font-size:13px}.hero-facts i{margin:0 5px}.hero-copy>.text-button{min-height:44px;padding:8px 0;font-size:14px}.hero-art{width:88%;max-width:355px;margin:6px auto 15px;padding-bottom:31px}.hero-art .checkers-board{max-height:350px}.paint-swipe{inset:15% 5% 11%}.art-note{font-size:13px;bottom:3%;left:10%}.art-note svg{width:27px;height:27px}.spark-one{font-size:22px;top:18%;right:0}.spark-two{font-size:17px;left:0}.play-section{padding-top:19px}.section-heading{text-align:center;margin-bottom:23px;display:block}.section-heading .eyebrow{font-size:10px}.section-heading h2{margin-top:7px;font-size:28px}.section-heading>p{text-align:center;max-width:none;margin-top:9px;font-size:14px;line-height:1.9}.mode-grid{grid-template-columns:1fr;gap:14px}.mode-card{border-radius:13px 16px 13px 15px;grid-template-columns:48px minmax(0,1fr);column-gap:15px;min-height:0;padding:24px 24px 23px;display:grid}.mode-icon{grid-area:1/1/3;justify-content:center;align-items:center;width:46px;height:49px;margin-top:3px;padding:0}.mode-icon svg{width:30px;height:30px}.mode-card h3{grid-area:1/2;margin:1px 0 9px;font-size:24px}html[lang=en] .mode-card h3{font-size:26px}.mode-card p{grid-area:2/2;max-width:100%;min-height:0;margin:0 0 17px;font-size:15px;line-height:1.8}.mode-card .button{grid-area:3/2;justify-content:space-between;max-width:none;min-height:48px;padding:12px 17px;font-size:15px}.card-number{font-size:12px;top:22px;right:19px}.card-decoration{bottom:28px;right:-14px}.card-decoration span{width:19px;height:19px}.extra-modes{flex-direction:column;gap:1px;margin:18px 0 0}.extra-modes .text-button{min-height:48px;font-size:14px}.landscape-footer{min-height:235px;margin:0 -16px}.landscape-footer:before{opacity:.65;background-position:50%,58% 55%;background-size:auto 300px;-webkit-mask-image:none}.footer-note{max-width:160px;font-size:13px;top:70px;left:8%}.site-footer{flex-wrap:wrap;gap:8px;padding:17px 0 23px;font-size:10px}.site-footer>span:first-child{max-width:55%;line-height:1.8}.site-footer .text-button{min-height:44px;font-size:12px}.modal{border-radius:16px;max-width:calc(100% - 20px);max-height:calc(100dvh - 24px)}.modal-head{padding:16px 20px 13px}.modal-head h2{font-size:23px}.modal-body{padding:21px 20px calc(24px + env(safe-area-inset-bottom))}.modal-intro,.field-label,.setting-label{font-size:16px}.segmented button{min-height:48px;padding:11px 5px;font-size:15px}.toggle-row{gap:20px;padding:17px 0;font-size:16px}.toggle-row p{font-size:14px;line-height:1.7}.setting-group{margin:23px 0}.settings-heading{font-size:20px}.settings-links>.text-button{min-height:48px;font-size:16px}.rule-item{gap:13px;margin-bottom:25px}.rule-item h3{font-size:17px}.rule-item p{font-size:16px;line-height:1.9}.rule-item>span{width:29px;height:29px;font-size:15px}.button{min-height:50px;font-size:16px}.help-text,.form-error{font-size:15px}.toast{bottom:calc(20px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 28px);padding:14px 17px;font-size:15px}.connection-banner{text-align:center;font-size:15px}.connection-banner>span:last-child{font-size:14px}.puzzles-screen{padding:23px 0 35px}.puzzles-intro{margin:22px 0 27px}.puzzles-intro h1{font-size:33px}.puzzles-intro>p:last-child{font-size:16px}.puzzle-card-item{grid-template-columns:1fr}.puzzle-preview{height:280px}.puzzle-content{padding:23px}.puzzle-content .eyebrow{letter-spacing:.5px;font-size:12px}.puzzle-content h2{margin:13px 0;font-size:27px}.puzzle-content>p:not(.eyebrow){min-height:0;font-size:16px;line-height:1.9}.puzzle-content .button{font-size:16px}.solved-badge{font-size:13px}.lobby-screen{padding:20px 0 35px}.lobby-card{margin-top:18px;padding:25px 20px}.lobby-card h1{font-size:28px}.lobby-card>p:not(.eyebrow):not(.form-error){font-size:16px}.room-code-display strong{font-size:30px}.room-code-display span{font-size:13px}.invite-buttons{gap:8px}.invite-buttons>.button{gap:6px;padding:11px 8px;font-size:14px}.invite-buttons svg{width:19px}.invite-url{min-height:44px;margin-bottom:10px;font-size:13px}.lobby-player{gap:10px;padding:15px 12px}.lobby-player strong{font-size:15px}.lobby-player>div>span{font-size:13px}.lobby-player strong small,.ready-tag{font-size:12px}.player-avatar{width:38px;height:38px}.waiting-screen{min-height:600px;padding:40px 16px}.waiting-card{padding:32px 23px}.waiting-card h1{font-size:28px}.waiting-card>p:not(.eyebrow),.waiting-card>.text-button,.legal-text p{font-size:16px}}@media (width<=370px){.brand-title>span{display:none}.header-actions{gap:9px}.header-actions button,.header-actions .language-button{font-size:12px}.hero h1{font-size:36px}html[lang=en] .hero h1{font-size:43px}.hero-intro{font-size:16px}.mode-card{grid-template-columns:38px minmax(0,1fr);column-gap:10px;padding:23px 18px}.mode-icon{width:35px}.mode-card h3{font-size:22px}.invite-buttons{flex-direction:column}}@media (width<=600px){.brand-title>span{display:none}.hero .eyebrow,.section-heading .eyebrow{font-size:12px}.site-footer>span:first-child{max-width:75%;font-size:13px}.site-footer .text-button{font-size:14px}}@media (aspect-ratio<=9/10){.game-screen{padding:8px 0 calc(10px + env(safe-area-inset-bottom))}.game-top{gap:10px;margin-bottom:8px;padding-bottom:6px}.game-layout{flex-direction:column;gap:10px;max-width:none;display:flex}.board-area{flex:1}.board-toolbar{gap:12px;padding:0 2px 6px;position:static}.board-toolbar .turn-chip{display:flex}.board-toolbar .move-counter{display:inline}.game-sidebar{flex:none;gap:10px;padding:0;overflow:visible}.move-panel:not(.finished),.saved-note,.zoom-hint{display:none}.move-panel.finished{z-index:5;width:min(360px,100% - 24px);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #2b33222e}.puzzle-game-description{order:-1;line-height:1.6}.progress-panel{grid-template-columns:1fr 1fr;column-gap:18px;padding:10px 14px 12px;display:grid}.progress-panel h3{display:none}.progress-panel.progress-panel .player-progress+.player-progress{margin-top:0}.progress-panel:not(.players-2):not(.players-4){grid-template-columns:repeat(3,minmax(0,1fr));row-gap:8px}.progress-panel:not(.players-2) .progress-title strong{display:none}.progress-title{margin-bottom:6px}.game-tools{flex-wrap:nowrap}.game-tools .button{min-height:44px;padding:8px;font-size:13px}}@media (height<=560px) and (aspect-ratio>=9/10){.game-screen{padding:6px 0 8px}.game-top{margin-bottom:8px;padding-bottom:2px}.game-title h1{font-size:18px}.game-sidebar{gap:10px}.move-panel{padding:14px 16px 6px}.move-panel h2{margin:2px 0;font-size:19px}.move-instruction{min-height:0;font-size:13px}.progress-panel{padding:12px 14px}.progress-panel h3,.saved-note{display:none}.player-progress+.player-progress{margin-top:10px}}@media (width<=760px) and (aspect-ratio>=9/10){.game-layout{grid-template-columns:minmax(0,1fr) 230px;gap:16px}}@media (width<=600px){.game-top{grid-template-columns:1fr minmax(0,auto) 1fr;gap:4px}.game-top .text-button{min-width:44px;padding:0}.game-top .text-button>span,.zoom-button>span{display:none}.game-top-actions{gap:0}.game-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}.zoom-button{min-width:44px;min-height:44px;padding:0}.turn-text small{font-size:13px}.board-goal{letter-spacing:.6px;font-size:16px}}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.settings-heading.rules-first{margin-top:0}.taken-marble{transition:opacity .16s ease-out}
