:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#244c38;background:#f4f2eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:60px 32px}header{max-width:760px;margin-bottom:54px}h1{font-size:clamp(48px,8vw,78px);letter-spacing:-.055em;line-height:1.08;margin:18px 0 24px}h1 span{color:#94613e}header p{font-size:clamp(22px,3vw,30px);line-height:1.5;margin:0 0 24px}#lessons{min-width:0}.lesson{background:#fffefa;border:1px solid #dedfd4;border-radius:24px;padding:28px;box-shadow:0 7px 24px #243b3805}.rule{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;align-items:start}.rule .board-wrap{grid-column:2;grid-row:1/3}h2{font-size:25px;letter-spacing:-.025em;line-height:1.25;margin:12px 0}.description{font-size:18px;line-height:1.55;color:#5b6a64;margin:0 0 22px}.board-wrap{min-width:0}svg{width:100%;height:auto;display:block;background:#f1f5ef;border-radius:17px;touch-action:none;user-select:none;-webkit-user-select:none}svg .grid{stroke:#dfe7dc;stroke-width:1}svg .bridge{stroke:#94613e;stroke-width:7;stroke-linecap:round;pointer-events:none}svg .selected{stroke:#94613e}svg .ghost{stroke:#94613e;stroke-width:6;stroke-linecap:round;stroke-dasharray:9 7;pointer-events:none}svg .node circle{fill:#fffefa;stroke:#315d46;stroke-width:2.5}svg .node text{fill:#244c38;font-size:23px;font-weight:650;text-anchor:middle;dominant-baseline:central;pointer-events:none}svg .node.valid circle{stroke:#94613e;stroke-width:5;fill:#fff1d9}svg .node.done circle{fill:#dce9d8}.status{font-size:16px;line-height:1.4;min-height:46px;margin:15px 0 8px;color:#536b61}.status.success{color:#315d46;font-weight:650}button{font:inherit;font-weight:600;color:#315d46;background:transparent;border:1px solid #c4d0c4;border-radius:10px;padding:9px 16px;cursor:pointer}button:hover{background:#eaf0e6}button:focus-visible,svg:focus-visible{outline:3px solid #94613e;outline-offset:4px}footer{font-size:17px;line-height:1.6;color:#64736b;max-width:700px;margin:38px 0 0}@media(max-width:700px){main{padding:34px 18px}header{margin-bottom:32px}#lessons{grid-template-columns:1fr;gap:18px}.lesson{padding:22px}.rule{display:block}.description{font-size:18px}h2{font-size:24px}}

[hidden]{display:none!important}.rule h2{margin-top:0}.navigation{display:flex;justify-content:space-between;gap:16px;margin-top:22px;border-top:1px solid #e1e5da;padding-top:22px}button:disabled{opacity:.4;cursor:default}button:disabled:hover{background:transparent}#next{background:#315d46;color:#fffefa;border-color:#315d46}#next:hover{background:#244c38}#pending{max-width:680px}#pending p{font-size:19px;line-height:1.6;color:#5b6a64}@media(max-width:420px){.navigation{gap:10px}button{padding:11px 13px;font-size:16px}}

.counter{display:block;font-size:16px;font-weight:650;color:#6c7b70;margin-bottom:12px}.rule .board-wrap{grid-row:1/4}.rule h2{margin-bottom:12px}

.navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.navigation button{min-width:0}#skip-tutorial{justify-self:center;border-color:transparent;text-decoration:underline;text-underline-offset:3px;font-size:16px;line-height:1.4;font-weight:500;max-width:300px}#skip-tutorial:hover{background:#edf1e7}@media(max-width:700px){.navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#previous{grid-column:1;grid-row:1;justify-self:start}#next{grid-column:2;grid-row:1;justify-self:end}#skip-tutorial{grid-column:1/-1;grid-row:2;max-width:100%;padding:10px 4px}}

#previous{grid-column:1;grid-row:1}#skip-tutorial{grid-column:2;grid-row:1}#next{grid-column:3;grid-row:1}@media(max-width:700px){#next{grid-column:2}#skip-tutorial{grid-column:1/-1;grid-row:2}}
.navigation{grid-template-columns:minmax(110px,1fr) minmax(0,2fr) minmax(110px,1fr)}#previous{justify-self:start}#next{justify-self:end}@media(max-width:700px){.navigation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

.level-navigation{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid #e1e5da;margin:22px 0;padding-top:22px}#level-next,#back-home{background:#fff;color:#315d46}#level-next:hover,#back-home:hover{background:#eaf0e6}#finished p{font-size:19px;line-height:1.6}#finished button{margin:12px 12px 0 0}@media(max-width:700px){.level-navigation button{flex:1 1 130px}}

.level-navigation{margin-bottom:0}

header:has(#tutorial-intro[hidden]){margin-bottom:30px}header:has(#tutorial-intro[hidden]) h1{margin-bottom:0}

.level-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.level-navigation button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}#back-home{justify-self:start}#level-progress{justify-self:center;font-size:17px;font-variant-numeric:tabular-nums;color:#536b61}#level-next{justify-self:end}@media(max-width:420px){.level-navigation{gap:8px}.level-navigation button{padding:10px 8px;font-size:16px}}
.tutorial-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-width:0;margin-bottom:12px;font-size:16px;font-weight:650;color:#6c7b70}.tutorial-heading .counter{margin-bottom:0;flex-shrink:0;font-variant-numeric:tabular-nums}


dialog{color:#244c38;background:#fffefa;border:1px solid #dedfd4;border-radius:20px;padding:24px;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#244c3870}#close-mode{display:block;margin-left:auto;margin-bottom:18px}.mode-options{display:grid;gap:12px;margin-top:24px}.mode-options button{padding:14px}#choose-random{background:#315d46;color:#fffefa}#mode-status{font-size:16px;line-height:1.45;margin-bottom:0}.text-link{border:0;padding:12px 0 0;text-decoration:underline;text-underline-offset:3px;font-weight:500}#game .rule:has(svg[viewBox="0 0 480 400"]){display:block;max-width:600px;margin:auto}#game .rule:has(svg[viewBox="0 0 480 400"]) .board-wrap{margin-top:18px}



.board-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;margin-top:4px}.board-actions button{max-width:100%;min-width:0;white-space:normal;line-height:1.35}.clear-slot{min-width:0}#restart-level,#clear-marks{border:0;padding:2px 0;background:transparent;font-size:14px;font-weight:500;text-decoration:underline;text-underline-offset:3px}#restart-level:hover,#clear-marks:hover{background:transparent;color:#244c38}.check-solution{display:block;justify-self:center;margin:0}.board-wrap{position:relative}.island-error{position:absolute;left:8px;right:8px;top:8px;z-index:2;padding:10px 12px;border:1px solid #a32e2e;border-radius:9px;background:#fff7f4;color:#842323;font-size:15px;line-height:1.4;pointer-events:none;box-shadow:0 3px 12px #244c3820}svg .node.error circle{stroke:#ba3535;fill:#fff0ed;stroke-width:3}svg .node .error-mark{fill:#a52222;font-size:17px;font-weight:800;paint-order:stroke;stroke:#fffefa;stroke-width:4px}svg .node:focus{outline:none}svg .node:focus-visible circle{stroke-width:3.5}#game .status:empty{display:none}



.random-rule{display:block;max-width:680px;margin:auto}.random-rule .board-wrap{margin-top:18px}.game-heading{min-width:0}select{font:inherit;color:#244c38;background:#fffefa;border:1px solid #c4d0c4;border-radius:9px;padding:8px;max-width:100%}.board-scroll{overflow-x:auto;overscroll-behavior-x:contain;border-radius:17px}.wide-board svg{min-width:560px}.pan-control{display:flex;font-size:14px;color:#536b61;gap:8px;align-items:center;margin:10px 0}.board-pan{min-width:0;flex:1;accent-color:#315d46;touch-action:pan-x}#difficulty-choice{display:block;width:100%;margin:10px 0 20px}#generate-difficulty{display:block;width:100%;background:#315d46;color:#fffefa}#close-difficulty{display:block;margin-left:auto;margin-bottom:18px}#difficulty-status{font-size:16px;line-height:1.45;margin-bottom:0}
.wide-board.fit-board svg{min-width:0}.board-zoom{display:none;font-size:14px;padding:6px 10px;margin:18px auto 20px}@media(max-width:700px){.board-zoom{display:block}}

#game .rule{display:block;max-width:680px;margin:auto}.level-title{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-width:0;margin-bottom:18px}.level-title h2{min-width:0;overflow-wrap:anywhere;margin-bottom:0}.level-time{flex-shrink:0;font-size:18px;font-variant-numeric:tabular-nums;color:#536b61;white-space:nowrap}@media(max-width:420px){.level-title{gap:10px}.level-time{font-size:16px}}
.dialog-kicker{margin:0 0 8px;color:#6c7b70;font-size:16px;font-weight:650}
.site-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-heading h1{min-width:0}#open-auth{flex-shrink:0;color:#315d46;text-underline-offset:4px;font-size:16px;font-weight:600}.auth-screen{max-width:480px;margin:0 auto}.auth-card{background:#fffefa;border:1px solid #dedfd4;border-radius:24px;padding:32px;box-shadow:0 7px 24px #243b3805}.auth-card h2{font-size:32px;margin:0 0 12px}.auth-description{font-size:17px;color:#5b6a64;line-height:1.5;margin:0 0 18px}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{font-size:15px;font-weight:600;margin-top:8px}.auth-form input{width:100%;min-width:0;font:inherit;font-size:16px;color:#244c38;background:#fffefa;border:1px solid #b6c5ba;border-radius:10px;padding:12px;min-height:48px}.auth-form input:focus-visible,.auth-screen a:focus-visible,#open-auth:focus-visible{outline:3px solid #94613e;outline-offset:3px}.password-field{display:flex;position:relative}.password-field input{padding-right:84px}.password-field button{position:absolute;right:4px;top:4px;bottom:4px;border:0;font-size:14px;padding:8px}.auth-form .auth-primary{background:#315d46;border-color:#315d46;color:#fffefa;width:100%;min-height:48px;margin:14px 0 6px}.auth-form .auth-primary:hover{background:#244c38}.auth-form a{color:#315d46;font-size:15px;text-underline-offset:3px;line-height:1.5}.auth-signup{font-size:15px;color:#5b6a64;text-align:center;margin:16px 0 0;line-height:1.6}#auth-status{font-size:15px;line-height:1.5;color:#536b61;margin:18px 0 0}#auth-status:empty{display:none}@media(max-width:700px){.site-heading{flex-wrap:wrap;gap:0 16px}.site-heading h1{font-size:48px;margin-bottom:18px}#open-auth{margin-bottom:18px}.auth-card{padding:24px}.auth-card h2{font-size:28px}}@media(max-width:360px){.site-heading h1{font-size:42px}.auth-card{padding:20px}}
#back-home{grid-column:1;grid-row:1}#level-progress{grid-column:2;grid-row:1}#level-next{grid-column:3;grid-row:1}




.profile-photo-field{margin-top:8px;min-width:0}.profile-photo-field>label{display:block}.profile-photo-field #photo-hint{font-size:13px;line-height:1.5;color:#64736b;margin:8px 0}.auth-form input[type="file"]{font-size:14px;padding:8px;width:100%;overflow:hidden}.auth-form input[type="file"]::file-selector-button{font:inherit;color:#315d46;border:1px solid #c4d0c4;border-radius:6px;background:#edf1e7;padding:7px;margin-right:8px;cursor:pointer}.photo-preview{display:flex;align-items:center;gap:16px;margin-top:12px}.photo-preview img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:1px solid #c4d0c4}.photo-preview button{font-size:14px;padding:8px 10px}#photo-status{font-size:14px;line-height:1.45;color:#a32e2e;margin:8px 0 0}#photo-status:empty{display:none}
#account-profile{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:450px;font-size:16px}#account-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #c4d0c4}#account-name{font-weight:650;overflow-wrap:anywhere}#account-profile button{font-size:14px;padding:7px 10px}.field-hint{font-size:13px;color:#64736b;line-height:1.45;margin:0}#progress-save-status{font-size:15px;line-height:1.5;color:#536b61}#progress-save-status:empty{display:none}#retry-save{display:block;margin:10px auto}@media(min-width:701px){header{max-width:none}.site-heading{flex-wrap:wrap}}@media(max-width:700px){#account-profile{justify-content:flex-start;margin-bottom:18px;font-size:15px}}


.account-identity{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:100%;line-height:1.35}#account-level{font-size:14px;color:#536b61}#account-profile{min-width:0;max-width:100%}#account-name{overflow-wrap:anywhere}

#tutorial-save-status{font-size:15px;line-height:1.5;color:#536b61}#tutorial-save-status:empty{display:none}

#account-menu-root{position:relative}#account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;z-index:10;padding:6px;background:#fffefa;border:1px solid #c4d0c4;border-radius:12px;box-shadow:0 8px 24px #244c3820}#account-menu button{display:block;width:100%;text-align:left;border:0;white-space:nowrap;padding:10px}#profile-status{font-size:15px;line-height:1.5;color:#536b61}#profile-status:empty{display:none}

.account-progress{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0}.player-rank{display:inline-block;padding:2px 7px;border-radius:6px;font-size:12px;line-height:1.4;font-weight:650;max-width:100%;overflow-wrap:anywhere}.rank-gray{background:#e6e8e7;color:#3c4542}.rank-green{background:#dcefdc;color:#27532e}.rank-teal{background:#d3efea;color:#18594f}.rank-blue{background:#dceafa;color:#244f7c}.rank-indigo{background:#e2e4fa;color:#383e81}.rank-violet{background:#ece0fa;color:#603789}.rank-fuchsia{background:#f5dff1;color:#842969}.rank-orange{background:#ffe5ce;color:#8a410f}.rank-red{background:#f9dede;color:#8a2929}.rank-amber{background:#ffedbd;color:#795100}.rank-gold{background:#f4da80;color:#594000;border:1px solid #b79834}

.profile-password{border:0;border-top:1px solid #dedfd4;padding:18px 0 0;margin:18px 0 0;min-width:0;display:flex;flex-direction:column;gap:10px}.profile-password legend{font-size:17px;font-weight:650;padding:0 6px 0 0}

#home-title{font-size:clamp(22px,3vw,30px);font-weight:400;line-height:1.5;letter-spacing:normal;max-width:760px;margin:0 0 28px}.home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.home-card{min-width:0;background:#fffefa;border:1px solid #dedfd4;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:20px}.home-card h3{font-size:21px;line-height:1.3;margin:0}.home-card>button{background:#315d46;color:#fffefa;min-height:46px;margin-top:auto}.board-preview{min-width:0}.board-preview svg{width:100%;height:auto;aspect-ratio:1;pointer-events:none}.home-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:24px}#home-status{font-size:15px;color:#536b61}#home-status:empty{display:none}#ranking-list{list-style:none;padding:0;margin:0;display:grid;align-content:start;gap:6px;min-height:0}.ranking-row{display:grid;grid-template-columns:20px 32px minmax(0,1fr);gap:8px;align-items:center;font-size:14px}.ranking-row img,.ranking-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background:#e8ede5}.ranking-row>div{min-width:0}.ranking-name{font-size:13px;line-height:18px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-details{font-size:11px;color:#536b61;line-height:1.5;flex-wrap:nowrap;gap:6px}.ranking-details>span:first-child{flex-shrink:0}.ranking-details .player-rank{min-width:0;font-size:11px;line-height:1.3;padding:2px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-position{font-variant-numeric:tabular-nums}@media(min-width:1001px){.ranking-card{contain:size}}@media(max-width:1000px){.home-grid{grid-template-columns:1fr}.home-card{max-width:560px;width:100%;margin:auto}.board-preview{max-width:380px;width:100%;margin:auto}.home-actions{justify-content:center}}
.board-result-ranking{border-top:1px solid #dedfd4;padding-top:16px;margin-top:16px;display:grid;gap:12px}.board-result-ranking p{margin:0;line-height:1.5;font-size:15px}.board-own-position,.board-record-label{font-weight:700}.board-record{display:flex;gap:10px;align-items:center}.record-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#e8ede5;display:inline-flex;align-items:center;justify-content:center;color:#315d46;font-weight:600}.board-result-ranking>button{justify-self:start;font-size:14px}#board-ranking-dialog{width:min(720px,calc(100% - 28px));max-height:85vh;padding:24px;border:1px solid #c4d0c4;border-radius:20px;background:#fffefa;color:#244c38}#board-ranking-dialog::backdrop{background:#244c3880}#close-board-ranking{display:block;margin-left:auto}#board-ranking-title{margin-top:20px}.board-ranking-scroll{overflow:auto;max-height:52vh}#board-ranking-dialog table{border-collapse:collapse;width:100%;font-size:15px}#board-ranking-dialog th,#board-ranking-dialog td{padding:12px 8px;text-align:left;border-bottom:1px solid #dedfd4}#board-ranking-dialog th{position:sticky;top:0;background:#fffefa}#board-ranking-dialog td:nth-child(2){min-width:150px}#board-ranking-dialog td:nth-child(2) .record-avatar{vertical-align:middle;margin-right:8px}#board-ranking-dialog td:nth-child(2) span:last-child{overflow-wrap:anywhere}.ranking-self{background:#edf3e9}#board-ranking-date,#board-ranking-status{font-size:14px;color:#536b61}#retry-board-ranking{margin-bottom:12px}@media(max-width:500px){#board-ranking-dialog{padding:16px}#board-ranking-dialog th,#board-ranking-dialog td{padding:10px 5px;font-size:13px}#board-ranking-dialog td:nth-child(2){min-width:120px}.board-record{align-items:flex-start}.board-result-ranking>button{width:100%}}
.campaign-preview,.daily-preview{aspect-ratio:1;display:grid;grid-template-rows:auto minmax(0,1fr);background:#f1f5ef;border-radius:17px;overflow:hidden}.next-level-label{grid-row:1;margin:0;padding:12px 14px 0;color:#536b61;font-size:15px;line-height:1.4}#next-preview,#daily-preview{grid-row:2;min-height:0}#next-preview svg,#daily-preview svg{height:100%;aspect-ratio:auto;border-radius:0}

.daily-record{grid-row:1;margin:0;padding:12px 14px 0;color:#536b61;font-size:13px;line-height:1.4;overflow-wrap:anywhere}

.daily-record{display:grid;gap:3px;font-size:12px}.daily-leader{display:flex;align-items:baseline;gap:3px;margin:0;min-width:0;line-height:1.4}.daily-place,.daily-metrics{flex-shrink:0;white-space:nowrap}.daily-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.initials-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:#e8ede5;color:#315d46;font-weight:650;border:1px solid #c4d0c4}#account-initials{width:48px;height:48px;font-size:18px}#profile-initials{width:64px;height:64px;font-size:23px}.ranking-row .record-avatar{width:32px;height:32px;font-size:12px}

svg .node.marked:not(.error) circle{fill:#dce9d8}svg .node .manual-mark{fill:#315d46;font-size:17px;font-weight:800;paint-order:stroke;stroke:#fffefa;stroke-width:4px}svg .node.error .manual-mark{fill:#a52222}


#home-title:focus{outline:none}

.clear-slot{display:flex;flex-wrap:wrap;gap:6px 18px}.check-solution{background:#315d46;color:#fffefa;border-color:#315d46}.check-solution:hover{background:#244c38}.check-solution:disabled:hover{background:#315d46}

.leave-game-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}#leave-game-description{line-height:1.5}#leave-game-no{background:#315d46;color:#fffefa}

.daily-ranking-link{justify-self:start;border:0;padding:0;background:transparent;font-size:12px;font-weight:500;line-height:1.4;text-decoration:underline;text-underline-offset:2px}.daily-ranking-link:hover{background:transparent;color:#244c38}

#resume-play{display:block;max-width:100%;margin:0 auto 24px}



.clear-slot:has(button:not([hidden])){margin:8px 0}

.sound-toggle{font-size:.8rem;padding:7px 12px;margin:8px 0}.victory-confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.victory-confetti i{position:absolute;top:-20px;width:9px;height:15px;animation:confetti-fall 2.3s ease-in forwards}@keyframes confetti-fall{to{transform:translate(var(--drift),105vh) rotate(650deg);opacity:0}}@media(prefers-reduced-motion:reduce){.victory-confetti{display:none}}

/* Photographic home backdrop; game boards keep their plain surface. */
body:has(#home-screen:not([hidden])){background:#dcece9 url('home-two-bridges.png') center center/cover fixed no-repeat;min-height:100vh}
body:has(#home-screen:not([hidden])) main{max-width:1200px;position:relative}
body:has(#home-screen:not([hidden])) header{padding:14px 22px;background:#fffefae8;border-radius:24px;margin-bottom:24px;box-shadow:0 6px 24px #163f3b12}
#home-screen:not([hidden]){padding:24px;border-radius:28px;background:linear-gradient(135deg,#fffefad9,#f3faf5b8);box-shadow:0 12px 45px #173e3820}
#home-screen .home-card{background:#fffefaf5;border:1px solid #ffffff;border-top:4px solid #94613e;box-shadow:0 8px 20px #244b3815}
#home-screen .home-card:nth-child(2){border-top-color:#315d46}#home-screen .home-card:nth-child(3){border-top-color:#94613e}
#home-screen .home-actions button,#resume-play{background:#fffefa}
@media(max-width:700px){body:has(#home-screen:not([hidden])){background-attachment:scroll;background-position:65% top}body:has(#home-screen:not([hidden])) main{padding:18px 12px}body:has(#home-screen:not([hidden])) header{padding:12px}#home-screen:not([hidden]){padding:16px}}

body:has(#auth-screen:not([hidden])){min-height:100vh;background:#cee9e8 url('home-bridge.png') center/cover fixed no-repeat}body:has(#auth-screen:not([hidden])) header{background:#fffefae8;padding:14px 22px;border-radius:24px}body:has(#auth-screen:not([hidden])) .auth-card{background:#fffefaf5;box-shadow:0 16px 55px #163e3833;border-color:#fff} @media(max-width:700px){body:has(#auth-screen:not([hidden])){background-attachment:scroll}}

#site-home{margin:0;line-height:1;max-width:460px;width:100%;flex:1 1 280px}.brand-logo{display:block;width:100%;height:auto}svg .bridge{stroke:#94613e}svg .node circle{stroke:#315d46} @media(max-width:700px){#site-home{max-width:340px;flex-basis:220px}}

.sound-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;margin:8px 0 0 auto;border:0;border-radius:50%;color:#315d46}.sound-toggle svg{width:24px;height:24px;background:none;border-radius:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;touch-action:auto}.sound-toggle[aria-pressed="false"]{color:#746b61}

.brand-claim{display:block;margin:0 0 8px;text-align:center;font-size:18px;font-weight:500;line-height:1.3;letter-spacing:.02em;color:#315d46}@media(max-width:700px){.brand-claim{font-size:15px}}
/* Compact shared header: sound shares the account row. */
.site-heading{gap:12px}
#site-home{max-width:360px;flex:1 1 240px}
.brand-claim{margin:-5px 0 0;font-size:16px}
.site-heading .sound-toggle{flex:0 0 44px;margin:0}
body:has(#home-screen:not([hidden])) header,body:has(#auth-screen:not([hidden])) header{padding:10px 20px}
@media(max-width:700px){
 #site-home{max-width:290px;flex-basis:100%}
 .site-heading{row-gap:8px}
 #account-profile,#open-auth{margin-bottom:0}
 .site-heading .sound-toggle{margin-left:auto}
 .brand-claim{font-size:14px}
 body:has(#home-screen:not([hidden])) header,body:has(#auth-screen:not([hidden])) header{padding:10px 14px}
}

#site-home .brand-claim{text-align:left;margin-left:0}
/* Brand caption under the wordmark; account and sound at the right. */
.site-heading{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);column-gap:20px;row-gap:0;align-items:center}
#site-home{grid-column:1;grid-row:1 / span 2;max-width:360px;width:100%}
#site-home .brand-claim{margin:-12px 0 0 24%;text-align:left;white-space:nowrap;font-size:15px}
.site-heading #account-profile,.site-heading #open-auth{grid-column:2;grid-row:1;justify-self:end}
.site-heading .sound-toggle{grid-column:2;grid-row:2;justify-self:end;margin:0}
@media(max-width:700px){
 .site-heading{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
 #site-home{grid-column:1 / -1;grid-row:1;max-width:290px}
 #site-home .brand-claim{margin-top:-9px;font-size:14px}
 .site-heading #account-profile,.site-heading #open-auth{grid-column:1;grid-row:2;justify-self:end}
 .site-heading .sound-toggle{grid-column:2;grid-row:2}
}

@media(max-width:700px){.site-heading #account-profile,.site-heading #open-auth{grid-column:1 / -1}.site-heading .sound-toggle{grid-column:2;grid-row:3}}

.ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.ranking-heading h3{margin:0}.ranking-heading select{max-width:100%;min-width:0;font:inherit;font-size:12px;color:#315d46;background:#fffefa;border:1px solid #c4d0c4;border-radius:7px;padding:6px 4px}.ranking-heading select:focus-visible{outline:3px solid #94613e;outline-offset:2px}#ranking-filter-status{font-size:13px;margin:0}

#site-home{position:relative}#site-home .brand-claim{position:absolute;left:24%;top:72%;margin:0;font-size:15px;line-height:1.3}@media(max-width:700px){#site-home .brand-claim{margin:0;font-size:14px}}

#brand-home{display:block;color:inherit;text-decoration:none;border-radius:8px}#brand-home:focus-visible{outline:3px solid #94613e;outline-offset:4px}

#board-ranking-dialog{width:min(560px,calc(100% - 20px));padding:16px}
.ranking-tabs{display:flex;gap:6px;margin:12px 0;flex-wrap:wrap}.ranking-tabs button{font-size:13px;padding:7px 9px}.ranking-tabs button[aria-pressed="true"]{background:#315d46;color:#fffefa}
.ranking-dialog-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}#board-ranking-title{margin:0;font-size:23px}
#dialog-ranking-level{font:inherit;font-size:13px;padding:7px 4px;max-width:100%;border:1px solid #c4d0c4;border-radius:7px;background:#fffefa;color:#315d46}
#board-ranking-status:empty{display:none}.board-ranking-scroll{margin-top:12px}
#board-ranking-dialog th,#board-ranking-dialog td{padding:8px 4px;font-size:13px}
#board-ranking-dialog td:nth-child(2){min-width:0}
#board-ranking-dialog td:nth-child(2) .record-avatar{width:26px;height:26px;margin-right:5px;font-size:11px}
@media(max-width:500px){#board-ranking-dialog{padding:12px}#board-ranking-dialog th,#board-ranking-dialog td{padding:8px 3px;font-size:12px}#board-ranking-dialog td:nth-child(2){min-width:0}.ranking-tabs button{font-size:12px}}

#board-ranking-dialog.victories-view th:nth-child(1),#board-ranking-dialog.victories-view td:nth-child(1),#board-ranking-dialog.victories-view th:nth-child(2),#board-ranking-dialog.victories-view td:nth-child(2){width:1%;white-space:nowrap}#board-ranking-dialog.victories-view th:nth-child(3),#board-ranking-dialog.victories-view td:nth-child(3){padding-left:8px}#board-ranking-dialog.victories-view td{vertical-align:top}

.ranking-player-identity{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;vertical-align:middle}.ranking-player-identity .player-rank{font-size:10px;line-height:1.2}
/* Keep the player columns identical when switching ranking views. */
#board-ranking-dialog table{table-layout:fixed}
#board-ranking-dialog th:first-child,#board-ranking-dialog td:first-child,#board-ranking-dialog.victories-view th:first-child,#board-ranking-dialog.victories-view td:first-child{width:28px}
#board-ranking-dialog th:nth-child(2),#board-ranking-dialog td:nth-child(2),#board-ranking-dialog.victories-view th:nth-child(2),#board-ranking-dialog.victories-view td:nth-child(2){width:40%;white-space:normal}
#board-ranking-dialog.victories-view th:nth-child(3),#board-ranking-dialog.victories-view td:nth-child(3){padding-left:4px}
@media(max-width:500px){#board-ranking-dialog.victories-view th:nth-child(3),#board-ranking-dialog.victories-view td:nth-child(3){padding-left:3px}}

#board-ranking-dialog td,#board-ranking-dialog.victories-view td{vertical-align:middle}

/* Open account options from the user identity. */
.site-heading #account-menu-root{grid-column:2;grid-row:1;justify-self:end;min-width:0;max-width:100%}
.site-heading #account-profile{justify-content:flex-end;margin:0}
#account-menu-toggle{display:flex;align-items:center;gap:10px;border:0;padding:0;background:transparent;text-align:left;font-size:16px;font-weight:400;max-width:100%}

#account-menu{left:auto;right:0}
@media(max-width:700px){.site-heading #account-menu-root{grid-column:1 / -1;grid-row:2}#account-menu-toggle{font-size:15px}}
