:root{color:#17313a;font-synthesis:none;background:#f4f7f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{padding:1rem max(1.2rem,env(safe-area-inset-right)) 1rem max(1.2rem,env(safe-area-inset-left));background:#fff;border-bottom:1px solid #dfe8e2;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{align-items:center;gap:.8rem;display:flex}.brand-mark{color:#17675a;background:#dcefe6;border-radius:.9rem;place-items:center;width:2.8rem;height:2.8rem;font-size:1.8rem;display:grid}.brand strong{font-size:1.05rem;display:block}.brand small{color:#698177;display:block}.language-switch{color:#49635b;align-items:center;gap:.7rem;font-size:.9rem;display:flex}select{color:#17313a;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;padding:.65rem .85rem}.setup{width:min(100%,1100px);margin:0 auto;padding:clamp(1.2rem,4vw,3rem)}.eyebrow{letter-spacing:.22em;color:#598d76;font-size:.78rem;font-weight:800}.intro h1{letter-spacing:-.045em;margin:.5rem 0 1.5rem;font-size:clamp(2rem,5vw,3.7rem)}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.image-card{text-align:left;color:#17313a;background:#fff;border:3px solid #0000;border-radius:1.2rem;padding:0;font-weight:700;overflow:hidden;box-shadow:0 9px 28px #27473716}.image-card.active{border-color:#378a72}.image-card img{aspect-ratio:3/1.5;object-fit:cover;width:100%;display:block}.image-card span{padding:.8rem 1rem;display:block}.settings-grid{grid-template-columns:1.3fr .75fr 1fr;gap:1rem;margin:1.5rem 0;display:grid}fieldset{background:#fff;border:1px solid #dbe5dc;border-radius:1rem;min-width:0;padding:1rem}legend{color:#435e52;padding:0 .35rem;font-size:.9rem;font-weight:700}.segmented{flex-wrap:wrap;gap:.35rem;display:flex}.segmented button,.gamebar button,.toolbar button{color:#24463b;background:#f7faf7;border:1px solid #d8e4dc;border-radius:.7rem;min-height:44px;padding:.65rem .9rem}.segmented button.active{color:#145b46;background:#dcefe5;border-color:#5ca588}.actual-count{color:#627a70;margin-top:.4rem;font-size:.85rem;display:block}.primary{color:#fff;background:#176a56;border:0;border-radius:.85rem;min-height:50px;padding:.85rem 1.3rem;font-weight:800;box-shadow:0 8px 20px #176a5630}.start{align-items:center;gap:2rem;display:flex}.play{min-height:0;padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));flex-direction:column;flex:1;gap:.7rem;display:flex}.gamebar,.toolbar{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.game-title{font-weight:800}.status{color:#587369;margin-left:auto}.board-wrap{background:radial-gradient(circle at 35% 20%,#388774,#1d5148 70%);border-radius:1rem;flex:1;min-height:380px;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #0f302e55}.canvas-host{touch-action:none;position:absolute;inset:0}.canvas-host canvas{touch-action:none;width:100%;height:100%;display:block}.canvas-error{z-index:2;color:#5c3b29;text-align:center;background:#fffdf3;border-radius:.8rem;place-items:center;padding:2rem;display:grid;position:absolute;inset:1rem}.toolbar{justify-content:center}.help{text-align:center;color:#65766b;margin:0;font-size:.85rem}.complete{color:#634e16;background:#fff4cf;border-radius:2rem;align-self:center;padding:.7rem 1.2rem;font-weight:800}@media (width<=700px){.topbar{padding:.6rem 1rem}.brand small,.language-switch{font-size:.75rem}.settings-grid{grid-template-columns:1fr}.image-grid{gap:.6rem}.image-card img{aspect-ratio:1.2}.game-title{font-size:.85rem}.status{display:none}.play{gap:.4rem;padding:.5rem}.board-wrap{min-height:250px}.toolbar button{flex:1}.help{font-size:.75rem}}.saved-games{margin-bottom:1.5rem}.saved-games h2{letter-spacing:-.02em;margin:0 0 .8rem;font-size:1.25rem}.saved-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;display:grid}.saved-card{background:#fff;border:1px solid #dbe5dc;border-radius:1rem;grid-template-columns:90px 1fr;align-items:center;gap:.8rem;padding:.7rem;display:grid}.saved-card img{object-fit:cover;border-radius:.6rem;width:90px;height:75px}.saved-card strong,.saved-card span,.saved-card small{display:block}.saved-card span{color:#516a5f;font-size:.88rem}.saved-card small{color:#81938a;font-size:.75rem}.saved-actions{grid-column:1/-1;gap:.5rem;display:flex}.saved-actions button{color:#225b42;background:#e4f3e9;border:1px solid #bad5c4;border-radius:.65rem;min-height:40px;padding:.55rem .8rem;font-weight:700}.saved-actions .delete-button{color:#8f4c45;background:#fff;border-color:#ecd3ce}.storage-warning{color:#654517;background:#fff0d6;border:1px solid #eacb88;border-radius:.7rem;margin:.5rem 0;padding:.8rem 1rem}.personal-gallery{margin-top:1.5rem}.gallery-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.gallery-heading h2{margin:0;font-size:1.25rem}.gallery-heading p{color:#627a70;margin:.25rem 0 0;font-size:.88rem}.upload-button{color:#225b42;cursor:pointer;white-space:nowrap;background:#e4f3e9;border-radius:.7rem;justify-content:center;align-items:center;min-height:44px;padding:.65rem 1rem;font-weight:700;display:inline-flex;position:relative}.upload-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.personal-gallery .image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.personal-card{background:#fff;border:3px solid #0000;border-radius:1.2rem;overflow:hidden;box-shadow:0 9px 28px #27473716}.personal-card.active{border-color:#378a72}.photo-select{text-align:left;color:#17313a;background:0 0;border:0;width:100%;padding:0;font-weight:700;display:block}.photo-select img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.photo-select span{overflow-wrap:anywhere;padding:.8rem 1rem;display:block}.photo-delete{color:#8f4c45;background:0 0;border:0;margin:0 1rem .8rem;padding:.2rem 0;text-decoration:underline}.photo-editor{background:#fff;border:1px solid #dbe5dc;border-radius:1rem;margin-bottom:1rem;padding:1rem}.photo-editor h2{margin:0 0 .8rem}.photo-editor canvas{border-radius:.6rem;width:auto;max-width:100%;height:auto;max-height:420px;margin:auto;display:block}.photo-editor-controls{flex-wrap:wrap;align-items:end;gap:.8rem;margin:1rem 0;display:flex}.photo-editor-controls label{color:#435e52;gap:.3rem;font-size:.88rem;font-weight:700;display:grid}.photo-editor-controls input:not([type=range]){border:1px solid #cbd9d0;border-radius:.5rem;min-height:42px;padding:.5rem}.photo-editor-controls input[type=range]{width:160px}.photo-editor-controls button,.photo-editor-actions button:not(.primary){color:#24463b;background:#f7faf7;border:1px solid #cbd9d0;border-radius:.7rem;min-height:44px;padding:.6rem .9rem}.photo-editor-actions{justify-content:flex-end;gap:.6rem;display:flex}.missing-thumbnail{color:#839189;background:#f2f3ed;border-radius:.6rem;place-items:center;width:90px;height:75px;font-size:2rem;display:grid}@media (width<=700px){.gallery-heading{align-items:flex-start}.gallery-heading p{font-size:.76rem}.personal-gallery .image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.canvas-host:focus-visible{outline-offset:-5px;outline:3px solid #ffe08c}.piece-controls{background:#fff;border:1px solid #dbe5dc;border-radius:.9rem;flex-wrap:wrap;justify-content:center;align-items:end;gap:.7rem;padding:.65rem;display:flex}.piece-picker,.piece-directions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.piece-picker label:not(.step-toggle){color:#435e52;gap:.2rem;font-size:.82rem;font-weight:700;display:grid}.piece-picker select{max-width:min(44vw,270px);min-height:44px}.piece-controls button{color:#24463b;background:#f7faf7;border:1px solid #cbd9d0;border-radius:.65rem;min-height:44px;padding:.55rem .8rem;font-weight:700}.piece-directions button{min-width:46px;font-size:1.1rem}.piece-directions .place-piece{color:#225b42;background:#e4f3e9;border-color:#bad5c4;font-size:.85rem}.step-toggle{color:#435e52;align-items:center;gap:.3rem;min-height:44px;font-size:.85rem;display:flex}.step-toggle input{width:20px;height:20px}@media (width<=700px){.piece-controls{justify-content:stretch}.piece-picker,.piece-directions{width:100%}.piece-picker label:not(.step-toggle){flex:1}.piece-picker select{width:100%;max-width:100%}.piece-directions button{flex:1}.piece-directions .place-piece,.piece-picker label:not(.step-toggle){flex-basis:100%}.piece-picker>button{flex:1}.toolbar button{white-space:normal}}.piece-tray{display:none}.piece-tray.sorted{background:#fff;border:1px solid #dbe5dc;border-radius:.8rem;min-width:0;padding:.35rem .4rem .4rem;display:block}.piece-tray.sorted .piece-tray-heading{color:#435e52;justify-content:space-between;gap:.5rem;padding:0 .25rem .25rem;font-size:.78rem;display:flex}.piece-tray.sorted .piece-tray-scroll{scrollbar-width:thin;overflow:auto hidden}.piece-tray.sorted .piece-tray-track{height:78px;position:relative}.piece-tray.sorted .piece-tray-item{color:#24463b;background:#f7faf7;border:2px solid #cbd9d0;border-radius:.6rem;grid-template-rows:50px 1fr;justify-items:center;width:68px;height:72px;padding:3px;display:grid;position:absolute;top:0}.piece-tray.sorted .piece-tray-image{background-color:#dcefe6;background-repeat:no-repeat;border-radius:.3rem;width:50px;height:50px;display:block}.piece-tray.sorted .piece-tray-number{white-space:nowrap;font-size:.7rem;font-weight:800;line-height:1.1}.piece-tray.sorted .piece-tray-item[aria-pressed=true]{background:#e4f3e9;border-color:#176a56}:root[data-theme=dark] .piece-tray.sorted{background:#1b2c31;border-color:#385159}:root[data-theme=dark] .piece-tray.sorted .piece-tray-heading{color:#b8d1ca}:root[data-theme=dark] .piece-tray.sorted .piece-tray-item{color:#e8f2ef;background:#273d43;border-color:#527178}.play-setup-options{margin:0 0 1.2rem}.play-option-row{flex-wrap:wrap;gap:.35rem 1.2rem;display:flex}.play-option-row label{color:#435e52;align-items:center;gap:.45rem;min-height:44px;font-size:.9rem;display:flex}.play-option-row input{width:20px;height:20px}.game-options .play-option-row{padding-top:.5rem}.mini-map{z-index:2;background:#203f3a;border:2px solid #e2efdf;border-radius:.5rem;width:180px;height:120px;padding:0;position:absolute;bottom:.6rem;right:.6rem;overflow:hidden;box-shadow:0 3px 10px #0008}.mini-map canvas{width:100%;height:100%;display:block}.mini-map:focus-visible{outline-offset:2px;outline:3px solid #ffe08c}:root[data-theme=dark] .play-setup-options{background:#1b2c31;border-color:#385159}:root[data-theme=dark] .play-option-row label{color:#b8d1ca}@media (width<=700px){.play-option-row label{width:100%}.mini-map{width:132px;height:88px;bottom:.3rem;right:.3rem}}.catalog-gallery{margin:0 0 1.5rem}.catalog-gallery h2{margin:0 0 .7rem;font-size:1.25rem}.catalog-controls{flex-wrap:wrap;gap:.7rem;margin-bottom:.8rem;display:flex}.catalog-controls label{color:#435e52;gap:.25rem;min-width:min(100%,210px);font-size:.84rem;font-weight:700;display:grid}.catalog-controls select,.catalog-controls input{color:#17313a;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;padding:.6rem .8rem}.catalog-message{color:#627a70}.catalog-card-body{gap:.25rem;padding:.8rem 1rem;display:grid}.catalog-card-body strong{font-size:1rem}.catalog-card-body small{color:#627a70;font-size:.75rem;font-weight:500}.catalog-card-body p{color:#435e52;margin:.2rem 0;font-size:.86rem;font-weight:400}.catalog-gallery .image-card{flex-direction:column;display:flex}.catalog-gallery .image-card img{aspect-ratio:3/1.5;object-fit:cover}.catalog-gallery .catalog-card-body{text-align:left}:root[data-theme=dark] .catalog-controls label,:root[data-theme=dark] .catalog-card-body p,:root[data-theme=dark] .catalog-card-body small{color:#b8d1ca}:root[data-theme=dark] .catalog-controls select,:root[data-theme=dark] .catalog-controls input{color:#e8f2ef;background:#273d43;border-color:#527178}@media (width<=700px){.catalog-controls label{flex:140px;min-width:0}.catalog-gallery .image-card img{aspect-ratio:1.2}.piece-tray{background:#fff;border:1px solid #dbe5dc;border-radius:.8rem;min-width:0;padding:.35rem .4rem .4rem;display:block}.piece-tray-heading{color:#435e52;justify-content:space-between;gap:.5rem;padding:0 .25rem .25rem;font-size:.78rem;display:flex}.piece-tray-heading span{font-variant-numeric:tabular-nums}.piece-tray-scroll{touch-action:pan-x;overscroll-behavior-inline:contain;scrollbar-width:thin;overflow:auto hidden}.piece-tray-track{height:78px;position:relative}.piece-tray-item{color:#24463b;touch-action:pan-x;background:#f7faf7;border:2px solid #cbd9d0;border-radius:.6rem;grid-template-rows:50px 1fr;justify-items:center;width:68px;height:72px;padding:3px;display:grid;position:absolute;top:0}.piece-tray-item[aria-pressed=true]{background:#e4f3e9;border-color:#176a56}.piece-tray-image{background-color:#dcefe6;background-repeat:no-repeat;border-radius:.3rem;width:50px;height:50px;display:block}.piece-tray-number{white-space:nowrap;font-size:.7rem;font-weight:800;line-height:1.1}:root[data-theme=dark] .piece-tray{background:#1b2c31;border-color:#385159}:root[data-theme=dark] .piece-tray-heading{color:#b8d1ca}:root[data-theme=dark] .piece-tray-item{color:#e8f2ef;background:#273d43;border-color:#527178}:root[data-theme=dark] .piece-tray-item[aria-pressed=true]{background:#2c654f;border-color:#83cda6}}.toolbar button[aria-pressed=true]{color:#145b46;background:#dcefe5;border-color:#5ca588}.diagnostics{color:#435e52;font-variant-numeric:tabular-nums;text-align:center;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;align-self:center;max-width:100%;padding:.45rem .8rem;font-size:.85rem;line-height:1.45}:root[data-theme=dark] .toolbar button[aria-pressed=true]{color:#fff;background:#2c654f;border-color:#8ac6a5}:root[data-theme=dark] .diagnostics{color:#b8d1ca;background:#1b2c31;border-color:#385159}.canvas-loading{z-index:1;color:#fff;text-shadow:0 2px 8px #143f3c;pointer-events:none;background:#103f3766;place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.hint-message{color:#624b12;text-align:center;background:#fff4cf;border-radius:.8rem;align-self:center;padding:.6rem .9rem;font-weight:700}:root[data-theme=dark] .hint-message{color:#fff0bc;background:#57471f}.preferences-grid input[type=range]{accent-color:#176a56;width:100%;min-height:44px}.preferences-grid output{font-variant-numeric:tabular-nums}.join-effect,.completion-effect{pointer-events:none;z-index:3;position:absolute;inset:0}.join-effect{color:#ffe49a;text-shadow:0 0 25px #ffe49a;place-items:center;font-size:clamp(3rem,8vw,6rem);animation:.7s ease-out both join-spark;display:grid}.completion-effect{border:0 solid #ffe49a;animation:2.4s ease-out both completion-glow}.completion-effect span{border-radius:2px;width:10px;height:18px;animation:2.2s ease-in both confetti-fall;position:absolute;top:-12%}@keyframes join-spark{0%{opacity:0;transform:scale(.4)}35%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes completion-glow{0%{box-shadow:inset 0 0 #ffe49a00}25%{box-shadow:inset 0 0 90px 18px #ffe49a99}to{box-shadow:inset 0 0 #ffe49a00}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(85vh)rotate(540deg)}}@media (prefers-reduced-motion:reduce){.join-effect,.completion-effect,.completion-effect span{opacity:0;animation:none}}.volume-setting{color:#435e52;gap:.35rem;font-size:.88rem;font-weight:700;display:grid}.volume-setting output{font-weight:400}:root[data-theme=dark] .volume-setting{color:#b8d1ca}.backup-section{background:#fff;border:1px solid #dbe5dc;border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.backup-section h2{margin:0 0 .25rem;font-size:1.2rem}.backup-section p{color:#627a70;margin:0;font-size:.88rem}.backup-actions{flex-wrap:wrap;gap:.6rem;display:flex}.backup-actions button{color:#225b42;background:#e4f3e9;border:1px solid #bad5c4;border-radius:.7rem;min-height:44px;padding:.65rem 1rem;font-weight:700}.backup-actions .upload-button:has(input:disabled){opacity:.5;cursor:not-allowed}.backup-section .backup-success,.backup-section .storage-warning{border-radius:.65rem;flex-basis:100%;padding:.65rem .8rem}.backup-section .backup-success{color:#225b42;background:#e4f3e9}:root[data-theme=dark] .backup-section{color:#e8f2ef;background:#1b2c31;border-color:#385159}:root[data-theme=dark] .backup-section p{color:#b8d1ca}:root[data-theme=dark] .backup-actions button,:root[data-theme=dark] .backup-section .backup-success{color:#fff;background:#2c654f;border-color:#79b798}.timer-setting{align-content:start}.timer-setting input[type=checkbox]{accent-color:#176a56;width:22px;height:22px}.timer-setting small{font-weight:400;line-height:1.3}.game-timer{color:#225b42;font-variant-numeric:tabular-nums;white-space:nowrap;background:#e4f3e9;border-radius:.6rem;align-items:center;padding:.45rem .7rem;font-weight:800;display:inline-flex}:root[data-theme=dark] .game-timer{color:#fff;background:#2c654f}.game-home .intro p{color:#627a70;margin:-.7rem 0 1.8rem}.game-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),360px));gap:1rem;display:grid}.game-card{text-align:left;color:#17313a;background:#fff;border:1px solid #dbe5dc;border-radius:1.2rem;padding:0;overflow:hidden;box-shadow:0 9px 28px #27473716}.game-card img{aspect-ratio:3/2;object-fit:cover;width:100%;display:block}.game-card-body{gap:.45rem;padding:1rem;display:grid}.game-card-body strong{font-size:1.35rem}.game-card-body small{color:#627a70;font-size:.95rem}.game-card-body>span{color:#176a56;margin-top:.4rem;font-weight:800}.home-back{color:#24463b;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;min-height:44px;margin-bottom:1rem;padding:.55rem .9rem;font-weight:700}.completion-details{justify-items:center;gap:.6rem;display:grid}.education-fact{text-align:center;color:#225b42;background:#e4f3e9;border:1px solid #bad5c4;border-radius:.8rem;max-width:min(100%,540px);padding:.8rem 1rem}.education-fact p{margin:.25rem 0 0}:root[data-theme=dark] .game-home .intro p,:root[data-theme=dark] .game-card-body small{color:#b8d1ca}:root[data-theme=dark] .game-card,:root[data-theme=dark] .home-back{color:#e8f2ef;background:#1b2c31;border-color:#385159}:root[data-theme=dark] .game-card-body>span{color:#9ed9bf}:root[data-theme=dark] .education-fact{color:#e8f2ef;background:#234a40;border-color:#618f75}.motion-setting{align-content:start}.motion-setting input[type=checkbox]{accent-color:#176a56;width:22px;height:22px}.motion-setting small{font-weight:400;line-height:1.3}:root[data-reduced-motion=true] .join-effect,:root[data-reduced-motion=true] .completion-effect,:root[data-reduced-motion=true] .completion-effect span{opacity:0;animation:none}.update-setting{align-content:start}.update-setting input[type=checkbox]{accent-color:#176a56;width:22px;height:22px}.update-notice{color:#225b42;background:#e4f3e9;border:1px solid #b8d4c2;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;width:min(100%,1100px);margin:.75rem auto 0;padding:.8rem 1rem;font-size:.9rem;display:flex}.update-notice button{color:#225b42;min-height:40px;font:inherit;white-space:nowrap;background:#fff;border:1px solid #83b99a;border-radius:.6rem;padding:.5rem .8rem;font-weight:700}:root[data-theme=dark] .update-notice{color:#e8f2ef;background:#234a40;border-color:#618f75}:root[data-theme=dark] .update-notice button{color:#e8f2ef;background:#273d43;border-color:#79b798}@media (width<=700px){.update-notice{flex-wrap:wrap;width:calc(100% - 1rem);margin:.5rem}.update-notice button{margin-left:auto}}.edge-setting{align-content:start}.edge-setting input[type=checkbox]{accent-color:#176a56;width:22px;height:22px}.edge-setting small{font-weight:400;line-height:1.3}:root[data-control-size=large]{font-size:18px}.settings-trigger{color:#24463b;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;padding:.6rem .9rem;font-weight:700}.preferences-panel{background:#fff;border:1px solid #dbe5dc;border-top:0;border-radius:0 0 1rem 1rem;width:min(100%,1100px);margin:0 auto;padding:1rem clamp(1.2rem,4vw,3rem);box-shadow:0 12px 30px #203b2b18}.preferences-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.preferences-heading h2{margin:0;font-size:1.1rem}.preferences-heading button{color:#24463b;background:#f7faf7;border:1px solid #cbd9d0;border-radius:.6rem;min-width:44px;min-height:44px;font-size:1.5rem}.preferences-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.preferences-grid label{color:#435e52;gap:.35rem;font-size:.88rem;font-weight:700;display:grid}.preferences-grid select{width:100%;min-height:44px}.table-felt{background:radial-gradient(circle at 35% 20%,#388774,#1d5148 70%)}.table-wood{background:repeating-linear-gradient(2deg,#6c442c 0 16px,#73492e 17px 40px,#62402b 41px 54px);box-shadow:inset 0 0 90px #29130788}.table-light{background:radial-gradient(circle at 35% 20%,#edf3ec,#c6d5ce 75%);box-shadow:inset 0 0 60px #6b827444}.table-dark{background:radial-gradient(circle at 35% 20%,#3c4c52,#17272e 75%);box-shadow:inset 0 0 70px #08151988}:root[data-theme=dark]{color:#e8f2ef;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#101c20}:root[data-theme=dark] .topbar,:root[data-theme=dark] .preferences-panel,:root[data-theme=dark] fieldset,:root[data-theme=dark] .image-card,:root[data-theme=dark] .personal-card,:root[data-theme=dark] .saved-card,:root[data-theme=dark] .photo-editor,:root[data-theme=dark] .piece-controls{color:#e8f2ef;background:#1b2c31;border-color:#385159}:root[data-theme=dark] .brand small,:root[data-theme=dark] .language-switch,:root[data-theme=dark] .actual-count,:root[data-theme=dark] .status,:root[data-theme=dark] .help,:root[data-theme=dark] .gallery-heading p,:root[data-theme=dark] .saved-card span,:root[data-theme=dark] .saved-card small,:root[data-theme=dark] legend,:root[data-theme=dark] .piece-picker label,:root[data-theme=dark] .step-toggle,:root[data-theme=dark] .photo-editor-controls label,:root[data-theme=dark] .preferences-grid label{color:#b8d1ca}:root[data-theme=dark] .eyebrow{color:#9ed9bf}:root[data-theme=dark] select,:root[data-theme=dark] .photo-editor-controls input:not([type=range]),:root[data-theme=dark] .settings-trigger,:root[data-theme=dark] .preferences-heading button,:root[data-theme=dark] .segmented button,:root[data-theme=dark] .gamebar button,:root[data-theme=dark] .toolbar button,:root[data-theme=dark] .photo-editor-controls button,:root[data-theme=dark] .photo-editor-actions button:not(.primary),:root[data-theme=dark] .piece-controls button{color:#e8f2ef;background:#273d43;border-color:#527178}:root[data-theme=dark] .segmented button.active{color:#fff;background:#2c654f;border-color:#8ac6a5}:root[data-theme=dark] .image-card.active,:root[data-theme=dark] .personal-card.active{border-color:#83cda6}:root[data-theme=dark] .photo-select{color:#e8f2ef}:root[data-theme=dark] .upload-button,:root[data-theme=dark] .saved-actions button,:root[data-theme=dark] .piece-directions .place-piece{color:#fff;background:#2c654f;border-color:#79b798}:root[data-theme=dark] .saved-actions .delete-button{color:#ffd5d2;background:#3d3030;border-color:#78504e}:root[data-theme=dark] .photo-delete{color:#ffb4ae}:root[data-theme=dark] .missing-thumbnail{color:#b8d1ca;background:#273d43}@media (width<=700px){.preferences-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-trigger{padding:.55rem .7rem}.preferences-panel{border-radius:0 0 .8rem .8rem}}@media (width<=420px){.preferences-grid{grid-template-columns:1fr}}.grid-mode{margin-bottom:.6rem}.grid-mode button{padding:.5rem .65rem;font-size:.83rem}.grid-inputs{align-items:end;gap:.35rem;display:flex}.grid-inputs label{color:#435e52;gap:.2rem;min-width:0;font-size:.78rem;display:grid}.grid-inputs input{width:100%;min-width:0;min-height:44px;font:inherit;color:#17313a;background:#fff;border:1px solid #cbd9d0;border-radius:.6rem;padding:.45rem}.grid-inputs>span{padding-bottom:.55rem}.board-setup-options{margin:0 0 1.2rem}.board-setup-options:disabled{opacity:.55}.board-option-row{flex-wrap:wrap;align-items:center;gap:1.3rem;display:flex}.board-option-row label{color:#435e52;align-items:center;gap:.45rem;min-height:44px;font-size:.9rem;display:flex}.board-option-row input[type=checkbox]{width:20px;height:20px}.board-option-row input[type=range]{width:min(180px,35vw)}.game-options{background:#fff;border:1px solid #dbe5dc;border-radius:.8rem;padding:.55rem .85rem}.game-options summary{cursor:pointer;color:#24463b;min-height:30px;font-weight:700}.game-options .board-option-row{padding-top:.5rem}:root[data-theme=dark] .board-setup-options,:root[data-theme=dark] .game-options{color:#e8f2ef;background:#1b2c31;border-color:#385159}:root[data-theme=dark] .grid-inputs label,:root[data-theme=dark] .board-option-row label,:root[data-theme=dark] .game-options summary{color:#b8d1ca}:root[data-theme=dark] .grid-inputs input{color:#e8f2ef;background:#273d43;border-color:#527178}@media (width<=700px){.board-option-row{gap:.3rem}.board-option-row label{flex-wrap:wrap;width:100%}.board-option-row input[type=range]{width:min(220px,55vw)}}.wizard-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.wizard-steps li{color:#627a70;background:#fff;border:1px solid #dbe5dc;border-radius:.8rem;align-items:center;gap:.45rem;min-height:48px;padding:.5rem .65rem;font-size:.88rem;font-weight:700;display:flex}.wizard-steps li span{color:#435e52;background:#e9f0eb;border-radius:50%;flex:none;place-items:center;width:1.7rem;height:1.7rem;display:grid}.wizard-steps li[aria-current=step]{color:#145b46;background:#e4f3e9;border-color:#5ca588}.wizard-steps li[aria-current=step] span{color:#fff;background:#176a56}.wizard-selection{background:#fff;border:1px solid #dbe5dc;border-radius:.8rem;align-items:center;gap:.8rem;margin:0 0 1.3rem;padding:.65rem;display:flex}.wizard-selection img{object-fit:cover;border-radius:.45rem;width:76px;height:54px}.wizard-selection div{gap:.1rem;min-width:0;display:grid}.wizard-selection small{color:#627a70}.wizard-selection strong{overflow-wrap:anywhere}.wizard-selection button{color:#24463b;background:#f7faf7;border:1px solid #cbd9d0;border-radius:.6rem;min-height:44px;margin-left:auto;padding:.55rem .7rem}.gallery-pages{color:#627a70;justify-content:center;align-items:center;gap:.8rem;margin:.9rem 0 0;font-size:.9rem;display:flex}.gallery-pages button,.wizard-previous{color:#24463b;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;min-height:44px;padding:.55rem .85rem;font-weight:700}.backup-panel{background:#fff;border:1px solid #dbe5dc;border-radius:1rem;margin:1.5rem 0}.backup-panel summary{cursor:pointer;min-height:48px;padding:.85rem 1rem;font-weight:800}.backup-panel[open] summary{border-bottom:1px solid #dbe5dc}.backup-panel .backup-section{box-shadow:none;border:0;border-radius:0;margin:0}.wizard-configuration{color:#627a70;margin:0 0 1.2rem;font-weight:700}.wizard-actions{z-index:5;padding:.7rem .5rem max(.7rem,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7f3f2;border-top:1px solid #dbe5dc;border-radius:.8rem .8rem 0 0;grid-template-columns:1fr auto 1fr;align-items:center;gap:.65rem;margin:1rem -.5rem 0;display:grid;position:sticky;bottom:0}.wizard-actions>span{color:#627a70;white-space:nowrap;font-size:.85rem;font-weight:700}.wizard-actions .primary{white-space:nowrap;justify-self:end}:root[data-theme=dark] .wizard-steps li,:root[data-theme=dark] .wizard-selection,:root[data-theme=dark] .backup-panel,:root[data-theme=dark] .gallery-pages button,:root[data-theme=dark] .wizard-previous{color:#e8f2ef;background:#1b2c31;border-color:#385159}:root[data-theme=dark] .wizard-steps li[aria-current=step]{color:#e8f2ef;background:#234a40;border-color:#618f75}:root[data-theme=dark] .wizard-steps li span{color:#b8d1ca;background:#273d43}:root[data-theme=dark] .wizard-steps li[aria-current=step] span{color:#fff;background:#2c654f}:root[data-theme=dark] .wizard-selection small,:root[data-theme=dark] .wizard-configuration,:root[data-theme=dark] .gallery-pages,:root[data-theme=dark] .wizard-actions>span{color:#b8d1ca}:root[data-theme=dark] .wizard-selection button{color:#e8f2ef;background:#273d43;border-color:#527178}:root[data-theme=dark] .backup-panel[open] summary{border-color:#385159}:root[data-theme=dark] .wizard-actions{background:#101c20f2;border-color:#385159}@media (width<=700px){.wizard-steps{gap:.3rem}.wizard-steps li{text-align:center;justify-items:center;gap:.2rem;padding:.4rem .2rem;font-size:.74rem;display:grid}.wizard-selection{gap:.5rem}.wizard-selection img{width:58px;height:45px}.wizard-selection button{font-size:.8rem}.wizard-actions{gap:.3rem}.wizard-actions .primary,.wizard-previous{padding:.65rem .7rem;font-size:.85rem}}.gallery-controls{align-items:end;margin:0 0 1.1rem}.catalog-controls .favorites-filter{color:#24463b;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cbd9d0;border-radius:.7rem;align-items:center;gap:.45rem;min-width:0;min-height:44px;padding:.6rem .8rem;display:flex}.catalog-controls .favorites-filter input{accent-color:#b03658;width:20px;height:20px;min-height:20px;margin:0;padding:0}.favorites-filter span{color:#b03658;font-size:1.2rem}.catalog-card,.personal-card{min-width:0;position:relative}.catalog-card>.image-card{width:100%;height:100%}.favorite-button{color:#a02d50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffef5ed;border:1px solid #e8c5d0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:1.7rem;line-height:1;display:grid;position:absolute;top:.65rem;right:.65rem;box-shadow:0 3px 12px #2513144d}.favorite-button[aria-pressed=true]{color:#b0244c;background:#fff0f4}.favorite-button:focus-visible{outline-offset:2px;outline:3px solid #176a56}:root[data-theme=dark] .catalog-controls .favorites-filter,:root[data-theme=dark] .favorite-button{color:#ffc1d1;background:#273d43;border-color:#527178}:root[data-theme=dark] .favorites-filter span{color:#ffc1d1}
