@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;700&display=swap";:root{--font-body:"Fredoka", "ui-rounded", "Nunito", "Trebuchet MS", fantasy, sans-serif;--bg-color:#a3b18a;--title-color:#d4e09b;--outline-color:#588157;--btn-bg:#588157;--btn-border:#344e41;--drawer-bg:#fefefa;--overlay-bg:#344e4166;--text-dark:#344e41;--text-light:#fff;--pill-bg:#e9edc9;--pill-active:#588157;--warning-color:#b85c00;--warning-bg:#b85c001f;--warning-border:#b85c0024;--danger-bg:#8f4a4a;--ac-label-bg:#588157;--surface-border-subtle:#344e411a;--surface-hover-light:#ffffff80;--empty-slot-bg:#00000008;--empty-slot-border:#0000001a;--shadow-subtle:0 4px 12px #0000001a;--shadow-soft:0 12px 32px #00000026;--shadow-strong:0 12px 32px #0003;--shadow-side:-8px 0 32px #0000001a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:40px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--transition-fast:.1s ease;--transition-soft:.2s ease;--transition-modal:.3s cubic-bezier(.16, 1, .3, 1);--transition-pop:.32s cubic-bezier(.16, 1, .3, 1);--transition-drawer:.4s cubic-bezier(.16, 1, .3, 1);--app-edge:16px;--app-edge-wide:24px;--safe-top:max(var(--app-edge), env(safe-area-inset-top));--safe-bottom:max(var(--app-edge), env(safe-area-inset-bottom));--safe-left:max(var(--app-edge), env(safe-area-inset-left));--safe-right:max(var(--app-edge), env(safe-area-inset-right));--footer-bottom:max(34px, calc(env(safe-area-inset-bottom) + 18px));--control-border-width:5px;--control-border-width-small:4px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{background-color:var(--bg-color);overscroll-behavior:none;width:100%;height:100%;min-height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-body);touch-action:manipulation;position:fixed;inset:0}button,input,textarea{font-family:var(--font-body)}input,textarea{-webkit-user-select:auto;user-select:auto}#canvas-container,#ui-layer{width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}@supports (height:100svh){#canvas-container,#ui-layer{height:100svh}}#canvas-container{z-index:1;transform:translateY(-5vh)}#ui-layer{pointer-events:none;z-index:10;padding-top:max(40px, env(safe-area-inset-top));padding-bottom:max(40px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;display:flex}.header,.footer,.timer-display,.action-row,#start-btn,#restart-btn,#settings-btn{pointer-events:auto}.header,.footer{flex-direction:column;align-items:center;width:100%;display:flex}body .footer{left:0;right:0;bottom:var(--footer-bottom);width:100%;max-width:100%;padding:0 var(--safe-right) 0 var(--safe-left);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;overflow:visible;transform:none}#drawer-overlay{background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;width:100vw;height:100dvh;transition:opacity var(--transition-modal);z-index:20;position:fixed;inset:0}#drawer-overlay.open{opacity:1;pointer-events:auto}.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}.title{color:var(--title-color);text-align:center;text-shadow:-4px -4px 0 var(--outline-color), 0 -4px 0 var(--outline-color), 4px -4px 0 var(--outline-color), 4px 0 0 var(--outline-color), 4px 4px 0 var(--outline-color), 0 4px 0 var(--outline-color), -4px 4px 0 var(--outline-color), -4px 0 0 var(--outline-color);margin:0;font-size:clamp(2.5rem,10vw,5rem);font-weight:700;transition:opacity .5s,transform .5s}.title.fade-out{opacity:0;pointer-events:none;transform:translateY(-10px)}.timer-display{color:var(--text-light);text-align:center;text-shadow:2px 2px #0000001a;margin-bottom:15px;font-size:clamp(4rem,15vw,5rem);font-weight:700}#seo-content{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.action-row{--side-button-size:clamp(52px, 15vw, 64px);--action-gap:clamp(8px, 3vw, 12px);grid-template-columns:var(--side-button-size) minmax(128px, 220px) var(--side-button-size);justify-content:center;align-items:center;gap:var(--action-gap);width:min(100%,420px);max-width:calc(100vw - 32px);margin:0 auto;display:grid;position:relative;overflow:visible}#start-btn{background-color:var(--title-color);width:100%;max-width:220px;color:var(--text-light);border:var(--control-border-width) solid var(--outline-color);border-radius:var(--radius-pill);text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:transform var(--transition-fast);text-shadow:-2px -2px 0 var(--outline-color), 0 -2px 0 var(--outline-color), 2px -2px 0 var(--outline-color), 2px 0 0 var(--outline-color), 2px 2px 0 var(--outline-color), 0 2px 0 var(--outline-color), -2px 2px 0 var(--outline-color), -2px 0 0 var(--outline-color);grid-area:1/2;padding:12px 0;font-size:clamp(1.55rem,7vw,2rem);font-weight:700}#start-btn:active{transform:scale(.96)}#settings-btn,#restart-btn{width:var(--side-button-size);height:var(--side-button-size);min-width:var(--side-button-size);min-height:var(--side-button-size);background-color:var(--title-color);color:var(--text-light);border:var(--control-border-width) solid var(--outline-color);cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:transform var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;top:auto;left:auto;right:auto;transform:none}#restart-btn{grid-area:1/1}#settings-btn{grid-area:1/3}#settings-btn:active,#restart-btn:active{transform:scale(.92)}#settings-btn svg,#restart-btn svg{width:clamp(26px,8vw,32px);height:clamp(26px,8vw,32px);overflow:visible}#settings-btn svg path,#restart-btn svg path{stroke:var(--outline-color);stroke-width:120px;stroke-linejoin:round;paint-order:stroke fill}@media (width<=360px){.action-row{--side-button-size:52px;--action-gap:8px;grid-template-columns:52px minmax(112px,1fr) 52px}#start-btn{border-width:var(--control-border-width-small);padding:10px 0;font-size:1.45rem}#settings-btn,#restart-btn{border-width:var(--control-border-width-small)}}#settings-modal{background-color:var(--drawer-bg);box-sizing:border-box;color:var(--text-dark);z-index:21;top:max(16px, env(safe-area-inset-top));bottom:max(16px, env(safe-area-inset-bottom));right:max(16px, env(safe-area-inset-right));pointer-events:none;overscroll-behavior-y:contain;-ms-overflow-style:none;scrollbar-width:none;border-radius:24px;width:calc(100vw - 32px);max-width:340px;height:auto;padding:24px;transition:transform .4s cubic-bezier(.16,1,.3,1);position:fixed;overflow-y:auto;transform:translate(calc(100% + 50px));box-shadow:-8px 0 32px #0000001a}#settings-modal::-webkit-scrollbar{display:none}#settings-modal.open{pointer-events:auto;transform:translate(0)}.modal-interaction-locked button,.modal-interaction-locked a{pointer-events:none}.settings-actions{flex-direction:column;gap:10px;margin-top:22px;display:flex}.drawer-action-btn{background-color:var(--pill-active);color:#fff;cursor:pointer;box-sizing:border-box;width:100%;font-family:var(--font-body);touch-action:manipulation;border:none;border-radius:16px;grid-template-columns:24px max-content;justify-content:center;align-items:center;gap:12px;padding:14px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .1s;display:grid;box-shadow:0 4px 12px #0000001a}.drawer-action-btn:active{transform:scale(.96)}.settings-section{margin-bottom:22px}.settings-section:last-of-type{margin-bottom:0}.flavor-header{justify-content:center;align-items:center;margin-bottom:16px;display:flex;position:relative}.settings-title{text-align:center;margin:0;font-size:1.4rem;font-weight:700}.backpack-icon-btn{color:var(--text-dark);cursor:pointer;opacity:.75;touch-action:manipulation;background-color:#0000;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;right:0}.backpack-icon-btn:hover{opacity:1;transform:scale(1.08)}.backpack-icon-btn:active{transform:scale(.9)}.backpack-icon{font-size:22px;font-weight:600}.flavor-list{justify-content:center;gap:16px;display:flex}.flavor-btn{cursor:pointer;touch-action:manipulation;background:0 0;border:4px solid #0000;border-radius:16px;padding:0;transition:all .2s cubic-bezier(.34,1.56,.64,1);overflow:hidden;box-shadow:0 4px 12px #0000000d}.flavor-btn img{object-fit:cover;background-color:var(--bg-color);width:72px;height:72px;display:block}.flavor-btn.active{border-color:var(--pill-active);transform:scale(1.1);box-shadow:0 8px 16px #00000026}.flavor-btn:hover:not(.active){transform:scale(1.08)}.pattern-list{flex-direction:column;gap:20px;display:flex}.pattern-card h3{opacity:.8;margin:0 0 10px;font-size:1rem;font-weight:500}.phase-toggles{background-color:var(--pill-bg);border-radius:12px;gap:4px;padding:4px;display:flex;position:relative}.phase-toggles:before{content:"";background-color:var(--pill-active);opacity:0;border-radius:8px;width:calc(33.3333% - 5.33333px);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .15s;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 2px 8px #0000001a}.phase-toggles:has(.step-btn.active):before{opacity:1}.phase-toggles:has(.step-btn.active:nth-child(2)):before{transform:translate(calc(100% + 4px))}.phase-toggles:has(.step-btn.active:nth-child(3)):before{transform:translate(calc(200% + 8px))}.step-btn{z-index:1;color:var(--text-dark);cursor:pointer;box-shadow:none;touch-action:manipulation;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:10px 0;transition:all .2s;display:flex;position:relative}.phase-time{opacity:.7;font-size:.85rem;font-weight:500}.step-btn.active{color:#fff;background-color:#0000;transform:none}.step-btn.active .phase-time{opacity:1;font-weight:700}.step-btn:hover:not(.active){background-color:#ffffff80}.step-btn:active{box-shadow:none;transform:scale(.95)}.socials-list{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.social-link{width:100%;color:var(--text-dark);font-family:var(--font-body);text-align:left;box-sizing:border-box;touch-action:manipulation;background-color:#0000000a;border-radius:14px;grid-template-columns:24px 1fr;align-items:center;gap:14px;padding:14px 18px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform .1s,background-color .2s;display:grid}.social-link:active{transform:scale(.97)}.social-icon{width:24px;height:24px}.social-link--pinterest .social-icon{color:#e60023}.social-link--instagram .social-icon{color:#e1306c}.social-link--tiktok .social-icon{color:var(--text-dark)}#dev-menu{padding:var(--space-xl);background-color:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-dark);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#dev-menu[hidden]{display:none}.dev-content{width:min(100vw - 48px,380px);max-height:calc(100dvh - 48px);padding:var(--space-xl);border-radius:var(--radius-xl);gap:var(--space-md);background-color:var(--drawer-bg);border:1px solid var(--surface-border-subtle);box-shadow:var(--shadow-strong);flex-direction:column;display:flex;overflow-y:auto}.dev-content h3{margin:0 0 var(--space-sm) 0;color:var(--text-dark);text-align:center;font-size:1.35rem;font-weight:700}.dev-section-title{margin:var(--space-sm) 0 0 0;color:var(--text-dark);opacity:.72;text-align:center;font-size:.9rem;font-weight:600}.dev-row{gap:var(--space-sm);display:flex}.dev-row.wrap{flex-wrap:wrap;justify-content:center}.dev-row input{background-color:var(--pill-bg);min-width:0;color:var(--text-dark);border:2px solid var(--pill-bg);border-radius:var(--radius-md);flex:1;padding:10px 12px;font-size:1rem}.dev-row input:focus{border-color:var(--pill-active);outline:none}.dev-content button{border-radius:var(--radius-pill);background-color:var(--pill-active);color:var(--text-light);cursor:pointer;touch-action:manipulation;transition:transform var(--transition-fast), filter var(--transition-soft), background-color var(--transition-soft);border:none;padding:11px 14px;font-size:.95rem;font-weight:700}.dev-content button:hover{filter:brightness(1.04)}.dev-content button:active{transform:scale(.96)}.dev-row.wrap button{flex:1 1 calc(50% - var(--space-sm));min-width:120px}.dev-row.wrap button.wide{flex-basis:100%}.dev-shape-grid{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.shape-btn{aspect-ratio:1;background-color:var(--pill-bg);min-width:0;color:var(--text-dark);border-radius:50%;padding:0;font-size:1.35rem}.shape-btn.active{background-color:var(--title-color);color:var(--text-dark);outline:4px solid var(--outline-color)}#dev-speed-group.dev-row.wrap button.speed-btn{min-width:0;padding:var(--space-sm) 0;background-color:var(--pill-bg);color:var(--text-dark);font-variant-numeric:tabular-nums;flex:auto}#dev-speed-group .speed-btn.active{background-color:var(--title-color);outline:3px solid var(--outline-color)}#dev-hearts{background-color:var(--title-color);color:var(--text-dark)}#dev-analytics-toggle.disabled-state{background-color:var(--danger-bg);color:var(--text-light)}#dev-close{background-color:var(--pill-bg);color:var(--text-dark)}.hearts-container{pointer-events:none;z-index:10000;position:fixed;inset:0;overflow:hidden}.floating-heart{will-change:transform, opacity;position:absolute;bottom:-50px}.love-line{color:#fff!important;letter-spacing:.01em!important;font-family:ui-rounded,Arial Rounded MT Bold,Avenir Next Rounded,Trebuchet MS,Segoe UI,system-ui,sans-serif!important;font-size:1.05rem!important;font-weight:900!important}.update-toast{top:auto;right:auto;bottom:max(24px, env(safe-area-inset-bottom));border-radius:var(--radius-pill);align-items:center;gap:var(--space-lg);background-color:var(--drawer-bg);width:fit-content;max-width:calc(100vw - 48px);height:auto;min-height:0;max-height:none;color:var(--text-dark);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;white-space:nowrap;transition:transform var(--transition-pop), opacity .18s ease;z-index:9999;padding:10px 10px 10px 24px;font-weight:500;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)translateY(100px)}.update-toast.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.update-toast-message{flex:0 auto;align-items:center;gap:10px;min-width:0;line-height:1;display:inline-flex}.update-toast-message>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.update-toast-icon{width:1.25em;height:1.25em;color:inherit;cursor:pointer;transition:transform var(--transition-fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;display:inline-flex;position:relative;transform:translateY(-1px)}.update-toast-icon>*{transition:opacity var(--transition-soft);position:absolute}.update-toast-close{opacity:0;font-size:1.15em!important}.update-toast:hover .update-toast-glyph{opacity:0}.update-toast:hover .update-toast-close{opacity:1}.update-toast-icon:active{transform:translateY(-1px)scale(.9)}.update-toast>button{background-color:var(--pill-active);color:var(--text-light);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--transition-fast), filter var(--transition-soft);border:none;flex:none;justify-content:center;align-items:center;padding:10px 20px;font-size:1rem;font-weight:600;display:inline-flex}.update-toast>button:hover{filter:brightness(1.03)}.update-toast>button:active{transform:scale(.96)}.install-toast{top:max(14px, env(safe-area-inset-top));border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:var(--space-md);background-color:var(--drawer-bg);width:min(100vw - 48px,370px);color:var(--text-dark);border:1px solid var(--warning-border);opacity:0;pointer-events:none;z-index:9999;padding:12px 12px 12px 14px;transition:transform .28s cubic-bezier(.2,1.15,.2,1),opacity .16s;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(-120%);box-shadow:0 14px 28px #b85c0024}.install-toast.visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.install-toast-content{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.install-toast-alert-icon{background-color:var(--warning-bg);width:34px;height:34px;color:var(--warning-color);cursor:pointer;transition:background-color var(--transition-soft), color var(--transition-soft), transform var(--transition-fast);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.install-toast-alert-icon .material-symbols-outlined{transition:opacity var(--transition-soft);position:absolute;font-size:22px!important}.install-toast-alert-icon .toast-icon-close{opacity:0}.install-toast:hover .install-toast-alert-icon{background-color:var(--pill-bg);color:var(--text-dark)}.install-toast:hover .install-toast-alert-icon .toast-icon-default{opacity:0}.install-toast:hover .install-toast-alert-icon .toast-icon-close{opacity:1}.install-toast-alert-icon:active{transform:scale(.9)}.install-toast-text{flex-direction:column;min-width:0;display:flex}.install-toast-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:700;line-height:1.1;overflow:hidden}.install-toast-text span{opacity:.78;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:.82rem;line-height:1.2;overflow:hidden}.install-toast-actions{align-items:center;gap:var(--space-xs);flex:none;display:flex}.toast-btn{background-color:var(--pill-active);color:var(--text-light);border-radius:var(--radius-pill);cursor:pointer;transition:transform var(--transition-fast), filter var(--transition-soft);border:none;padding:9px 14px;font-size:.92rem;font-weight:700}.toast-btn:hover{filter:brightness(1.03)}.toast-btn:active{transform:scale(.94)}@media (width<=380px){.install-toast{gap:var(--space-sm);width:calc(100vw - 36px);padding:11px 10px 11px 12px}.install-toast-content{gap:var(--space-sm)}.install-toast-alert-icon{width:32px;height:32px}.install-toast-alert-icon .material-symbols-outlined{font-size:21px!important}.install-toast-text strong{font-size:.92rem}.install-toast-text span{font-size:.78rem}.toast-btn{padding:8px 12px;font-size:.86rem}}.hidden-modal{background-color:var(--drawer-bg);box-sizing:border-box;color:var(--text-dark);z-index:21;opacity:0;pointer-events:none;text-align:center;border-radius:24px;width:calc(100vw - 32px);max-width:340px;padding:24px;transition:all .3s cubic-bezier(.16,1,.3,1);position:fixed;top:50%;left:50%;transform:translate(-50%,-40%);box-shadow:0 12px 32px #0003}.hidden-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.hidden-modal.pill-titled{padding-top:36px}.modal-content h3{margin:0 0 16px;font-size:1.4rem}.modal-content p{opacity:.9;margin:0 0 16px;line-height:1.4}.modal-content ol{text-align:left;margin-bottom:24px;padding-left:20px;line-height:1.5}#about-modal .modal-content{overscroll-behavior-y:contain;scrollbar-width:none;max-height:calc(100dvh - 180px);overflow-y:auto}#about-modal .modal-content::-webkit-scrollbar{display:none}#bug-report-text{box-sizing:border-box;resize:vertical;width:100%;min-height:110px;color:inherit;font-family:var(--font-body);background-color:#0000000d;border:2px solid #0000000f;border-radius:12px;margin-bottom:12px;padding:12px;font-size:1rem;line-height:1.4}#bug-report-text::placeholder{color:inherit;opacity:.45}#bug-report-text:focus{border-color:#0003;outline:none}.modal-content .bug-report-notice{opacity:.6;margin-bottom:8px;font-size:.75rem;line-height:1.3}.modal-content #bug-report-status{min-height:1.2em;margin-bottom:12px;font-size:.85rem;font-weight:500}.bug-report-actions{flex-direction:column;gap:12px;display:flex}#close-bug-report-btn{color:var(--text-dark);background-color:#00000014}#close-ios-btn,#close-about-btn,.ac-close-btn{background-color:var(--pill-active);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:12px;width:100%;padding:12px 24px;font-size:1.1rem;font-weight:500;transition:transform .1s}#close-ios-btn:active,#close-about-btn:active,.ac-close-btn:active{transform:scale(.96)}.ac-backpack-modal{background-color:var(--drawer-bg);border:4px solid #0000000d;border-radius:40px;padding:40px 24px 32px}.ac-backpack-header{background-color:var(--ac-label-bg);border-radius:30px;padding:8px 32px;position:absolute;top:-24px;left:50%;transform:translate(-50%);box-shadow:0 4px 8px #0000001a}.ac-backpack-header h3{color:#fff;letter-spacing:.5px;white-space:nowrap;margin:0;font-size:1.3rem}.ac-inventory-grid{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}.inventory-slot{aspect-ratio:1;background-color:#0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.inventory-slot.empty{background-color:#00000008;border:2px dashed #0000001a}.inventory-slot.flavor-btn{border:none;box-shadow:0 4px 8px #00000014}.inventory-slot.flavor-btn img{background-color:var(--bg-color);border-radius:50%;width:90%;height:90%}.inventory-slot.flavor-btn.active{background-color:var(--pill-active);transform:scale(1.1);box-shadow:0 8px 16px #0003}.inventory-slot.flavor-btn:hover:not(.active){transform:scale(1.08)}.hotbar-row{background-color:#0000000a;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.hotbar-slots{flex:1;justify-content:space-evenly;align-items:center;gap:12px;display:flex}.hotbar-slot{cursor:pointer;touch-action:manipulation;background-color:#0000;border:none;border-radius:50%;flex-shrink:0;width:52px;height:52px;padding:0;transition:all .2s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 8px #00000014}.hotbar-slot img{object-fit:cover;background-color:var(--bg-color);border-radius:50%;width:100%;height:100%;display:block}.hotbar-slot:hover{transform:scale(1.08)}.hotbar-editing .hotbar-slot.replace-target{outline:3px dashed var(--pill-active);outline-offset:3px;transform:scale(1.1)}.backpack-icon-btn.hotbar-pen{position:static}.hotbar-edit-hint{opacity:.7;text-align:center;margin:0 0 12px;font-size:.8rem}@keyframes limit-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.limit-shake{animation:.18s ease-in-out 2 limit-shake}.timings-list{text-align:left;overscroll-behavior-y:contain;scrollbar-width:none;gap:14px;max-height:calc(100dvh - 330px);margin:-4px;padding:4px;overflow-y:auto}.timings-list::-webkit-scrollbar{display:none}.timings-list .pattern-card{cursor:pointer;background-color:#00000008;border:3px solid #0000;border-radius:16px;padding:10px 12px;transition:border-color .2s}.timings-list .pattern-card.active{border-color:var(--pill-active)}.custom-unit-hint{opacity:.6;font-size:.78rem;font-weight:400}.custom-phase-field{flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 4px;display:flex}.custom-phase-field span{opacity:.7;font-size:.7rem;font-weight:600}.custom-phase-field input{box-sizing:border-box;text-align:center;width:100%;max-width:64px;color:inherit;font-family:var(--font-body);appearance:textfield;background-color:#fff9;border:none;border-radius:8px;padding:6px 2px;font-size:.95rem;font-weight:600}.custom-phase-field input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-phase-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.custom-phase-field input:focus{outline:2px solid var(--pill-active)}.phase-toggles.custom-phase-inputs:before{content:none}.pattern-card.is-pwa-locked{position:relative}.pattern-card.is-pwa-locked h3,.pattern-card.is-pwa-locked .phase-toggles{opacity:.45;filter:blur(2px);pointer-events:none}.customize-tabs{background-color:var(--pill-bg);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:16px;padding:4px;display:grid}.customize-tab{color:var(--text-dark);font-family:var(--font-body);cursor:pointer;touch-action:manipulation;background-color:#0000;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:7px 2px;font-size:.68rem;font-weight:600;transition:all .2s;display:flex}.customize-tab .material-symbols-outlined{font-size:20px}.customize-tab.active{background-color:var(--pill-active);color:#fff;box-shadow:0 2px 8px #0000001a}.customize-tab:hover:not(.active){background-color:#ffffff80}.customize-panes{margin-bottom:20px;display:grid}.customize-pane{grid-area:1/1;min-width:0}.customize-pane[hidden]{display:none}.customize-pane .ac-inventory-grid{margin-bottom:0}#flavor-inventory-list{flex-direction:column;gap:12px;display:flex}.inventory-group-title{letter-spacing:.05em;text-transform:uppercase;opacity:.55;text-align:left;margin:0 0 8px;font-size:.78rem;font-weight:600}.settings-toggle-list{flex-direction:column;gap:12px;display:flex}.settings-toggle-row{cursor:pointer;text-align:left;background-color:#0000000a;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.settings-toggle-text{flex-direction:column;gap:2px;display:flex}.settings-toggle-name{font-size:1rem;font-weight:600}.settings-toggle-hint{opacity:.65;font-size:.78rem;line-height:1.25}.settings-switch{appearance:none;background-color:var(--pill-bg);cursor:pointer;border-radius:10px;flex-shrink:0;width:56px;height:30px;margin:0;position:relative}.settings-switch:before{content:"";background-color:#00000026;border-radius:7px;width:26px;height:22px;transition:transform .2s,background-color .2s;position:absolute;top:4px;left:4px}.settings-switch:checked:before{background-color:var(--pill-active);transform:translate(22px);box-shadow:0 2px 8px #0000001a}.settings-link-row{color:var(--text-dark);font-family:var(--font-body);cursor:pointer;text-align:left;touch-action:manipulation;background-color:#0000000a;border:none;border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:1rem;font-weight:600;transition:background-color .2s,transform .1s;display:flex}.settings-link-row:hover{background-color:#00000012}.settings-link-row:active{transform:scale(.97)}.settings-link-row .material-symbols-outlined{opacity:.8;font-size:20px}.is-pwa-locked img{filter:blur(4px)grayscale(30%);opacity:.8}.is-pwa-locked:after{content:"download";color:#fff;z-index:2;text-shadow:0 2px 8px #00000080;font-family:Material Symbols Outlined;font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}body[data-theme=matcha-green]{--font-body:"Fredoka", "ui-rounded", "Nunito", "Trebuchet MS", fantasy, sans-serif;--bg-color:#a3b18a;--title-color:#d4e09b;--outline-color:#588157;--btn-bg:#588157;--btn-border:#344e41;--drawer-bg:#fefefa;--overlay-bg:#344e4166;--text-dark:#344e41;--pill-bg:#e9edc9;--pill-active:#588157}body[data-theme=postcard-blue]{--font-body:"Special Elite", "Courier New", "Courier", monospace;--bg-color:#d7e4f5;--title-color:#34557d;--outline-color:#2d477f;--btn-bg:#fbf4e2;--btn-border:#7fa0cf;--drawer-bg:#f4ead0;--overlay-bg:#1c325c73;--text-dark:#2d477f;--pill-bg:#dce6f4;--pill-active:#41639c;--ac-label-bg:#41639c;--stamp-edge:#fffdf5;--stamp-paper:#fbf4e2;--stamp-ink:#2d477f;--stamp-frame:#7fa0cf;--stamp-accent:#e8b84b;--stamp-r:4px;--stamp-s:11px;--stamp-border:5px;background-color:var(--bg-color);background-image:radial-gradient(circle,#ffffff8c 1.5px,#0000 2.5px);background-size:16px 16px;background-attachment:fixed}body[data-theme=postcard-blue] #canvas-container{filter:brightness(1.07)saturate(1.03)}body[data-theme=postcard-blue] #settings-modal,body[data-theme=postcard-blue] .hidden-modal{background-color:var(--drawer-bg);background-image:none;border:1px solid #d8c9a4;border-radius:5px;box-shadow:0 14px 34px #1c325c47}body[data-theme=postcard-blue] #start-btn,body[data-theme=postcard-blue] #settings-btn,body[data-theme=postcard-blue] #restart-btn,body[data-theme=postcard-blue] .drawer-action-btn,body[data-theme=postcard-blue] #close-about-btn,body[data-theme=postcard-blue] #close-ios-btn,body[data-theme=postcard-blue] .ac-close-btn,body[data-theme=postcard-blue] .toast-btn,body[data-theme=postcard-blue] .update-toast>button,body[data-theme=postcard-blue] .backpack-icon-btn,body[data-theme=postcard-blue] .title-letter{background:linear-gradient(var(--stamp-paper), var(--stamp-paper)) center / calc(100% - 2 * var(--stamp-border)) calc(100% - 2 * var(--stamp-border)) no-repeat, var(--stamp-edge);color:var(--stamp-ink);text-shadow:none;text-align:center;filter:drop-shadow(0 3px 5px #1c325c52)drop-shadow(0 0 .6px #1c325c8c);-webkit-mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;-webkit-mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;border:none;border-radius:0;justify-content:center;align-items:center;gap:10px;line-height:1;display:flex;position:relative}body[data-theme=postcard-blue] #start-btn:after,body[data-theme=postcard-blue] #settings-btn:after,body[data-theme=postcard-blue] #restart-btn:after,body[data-theme=postcard-blue] .drawer-action-btn:after,body[data-theme=postcard-blue] #close-about-btn:after,body[data-theme=postcard-blue] #close-ios-btn:after,body[data-theme=postcard-blue] .ac-close-btn:after,body[data-theme=postcard-blue] .toast-btn:after,body[data-theme=postcard-blue] .update-toast>button:after,body[data-theme=postcard-blue] .backpack-icon-btn:after,body[data-theme=postcard-blue] .title-letter:after{content:"";inset:calc(var(--stamp-border) + 3px);border:1.5px solid var(--stamp-accent);opacity:.9;pointer-events:none;border-radius:8px 5px 7px 6px/5px 7px 6px 8px;position:absolute}body[data-theme=postcard-blue] #settings-btn,body[data-theme=postcard-blue] #restart-btn{border-radius:0}body[data-theme=postcard-blue] #settings-btn svg path,body[data-theme=postcard-blue] #restart-btn svg path{stroke:none}body[data-theme=postcard-blue] .backpack-icon-btn{--stamp-r:3px;--stamp-s:9px;--stamp-border:4px;box-shadow:none;opacity:1;position:absolute;right:0}body[data-theme=postcard-blue] .backpack-icon-btn.hotbar-pen{position:static}body[data-theme=postcard-blue] .backpack-icon{font-size:13px}body[data-theme=postcard-blue] #start-btn{box-sizing:border-box;height:var(--side-button-size);text-transform:none;padding:.22em 0 0}body[data-theme=postcard-blue] .title{text-shadow:none;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:7px .45em;font-size:clamp(1.6rem,7vw,2.6rem);line-height:1;display:flex}body[data-theme=postcard-blue] .title-word{flex-wrap:nowrap;gap:5px;display:inline-flex}body[data-theme=postcard-blue] .title-letter{--stamp-r:3px;--stamp-s:9px;--stamp-border:4px;box-sizing:border-box;width:1.32em;height:1.68em;color:var(--stamp-ink);place-items:center;font-weight:700;display:inline-grid}body[data-theme=postcard-blue] .title-glyph{color:var(--stamp-ink);display:block;transform:translateY(.08em)}body[data-theme=postcard-blue] .phase-toggles{background-color:var(--stamp-paper);border:1.5px solid var(--stamp-frame);border-radius:0;gap:6px;padding:5px}body[data-theme=postcard-blue] .phase-toggles:before{content:none}body[data-theme=postcard-blue] .step-btn{color:var(--stamp-ink);border:1.5px dashed #0000;border-radius:0;transition:border-color .2s,background-color .2s}body[data-theme=postcard-blue] .step-btn.active{color:var(--stamp-ink);border:1.5px dashed var(--stamp-accent);box-shadow:none;background-color:#0000}body[data-theme=postcard-blue] .step-btn:hover:not(.active){background-color:#2d477f12}body[data-theme=postcard-blue] .customize-tabs{background-color:var(--stamp-paper);border:1.5px solid var(--stamp-frame);border-radius:0;gap:6px;padding:5px}body[data-theme=postcard-blue] .customize-tab{color:var(--stamp-ink);border:1.5px dashed #0000;border-radius:0;transition:border-color .2s,background-color .2s}body[data-theme=postcard-blue] .customize-tab.active{color:var(--stamp-ink);border:1.5px dashed var(--stamp-accent);box-shadow:none;background-color:#0000}body[data-theme=postcard-blue] .customize-tab:hover:not(.active){background-color:#2d477f12}body[data-theme=postcard-blue] .flavor-btn,body[data-theme=postcard-blue] .inventory-slot.flavor-btn,body[data-theme=postcard-blue] .inventory-slot.empty,body[data-theme=postcard-blue] .hotbar-slot,body[data-theme=postcard-blue] .theme-btn{--stamp-r:3px;--stamp-s:9px;--stamp-border:5px;padding:var(--stamp-border);background:var(--stamp-edge);box-shadow:none;filter:drop-shadow(0 3px 5px #1c325c47)drop-shadow(0 0 .6px #1c325c8c);-webkit-mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;-webkit-mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;mask:radial-gradient(circle var(--stamp-r) at 50% 0, #0000 var(--stamp-r), #000 0) 50% 0 / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 50% 100%, #0000 var(--stamp-r), #000 0) 50% 100% / var(--stamp-s) var(--stamp-r) repeat-x, radial-gradient(circle var(--stamp-r) at 0 50%, #0000 var(--stamp-r), #000 0) 0 50% / var(--stamp-r) var(--stamp-s) repeat-y, radial-gradient(circle var(--stamp-r) at 100% 50%, #0000 var(--stamp-r), #000 0) 100% 50% / var(--stamp-r) var(--stamp-s) repeat-y, linear-gradient(#000, #000) 50% 50% / calc(100% - 2 * var(--stamp-r)) calc(100% - 2 * var(--stamp-r)) no-repeat;border:none;border-radius:0;position:relative}body[data-theme=postcard-blue] .flavor-btn:before,body[data-theme=postcard-blue] .inventory-slot.flavor-btn:before,body[data-theme=postcard-blue] .inventory-slot.empty:before,body[data-theme=postcard-blue] .hotbar-slot:before,body[data-theme=postcard-blue] .theme-btn:before{content:"";inset:calc(var(--stamp-border) - 1px);border:1.5px solid var(--stamp-accent);opacity:.85;pointer-events:none;z-index:1;border-radius:6px 4px 5px 5px/4px 5px 5px 6px;position:absolute}body[data-theme=postcard-blue] .inventory-slot.empty{filter:none;background:#fbf4e273}body[data-theme=postcard-blue] .inventory-slot.empty:before{opacity:.5;border-style:dashed}body[data-theme=postcard-blue] .ac-backpack-header{box-shadow:none;background:0 0;margin-bottom:16px;padding:0;position:static;transform:none}body[data-theme=postcard-blue] .ac-backpack-header h3{color:var(--text-dark);font-size:1.4rem;font-weight:700}body[data-theme=postcard-blue] .ac-backpack-modal,body[data-theme=postcard-blue] .hidden-modal.pill-titled{padding-top:24px}body[data-theme=postcard-blue] .flavor-btn.active,body[data-theme=postcard-blue] .inventory-slot.flavor-btn.active,body[data-theme=postcard-blue] .theme-btn.active{background:var(--stamp-edge);box-shadow:none;border-color:#0000}body[data-theme=postcard-blue] .flavor-btn.active:before,body[data-theme=postcard-blue] .inventory-slot.flavor-btn.active:before,body[data-theme=postcard-blue] .theme-btn.active:before{border-color:var(--stamp-ink);opacity:1;border-width:2px}body[data-theme=postcard-blue] .flavor-btn img{background-color:var(--stamp-paper);border-radius:0}body[data-theme=postcard-blue] .inventory-slot.flavor-btn img,body[data-theme=postcard-blue] .hotbar-slot img{object-fit:cover;background-color:var(--stamp-paper);border-radius:0;width:100%;height:100%}body[data-theme=postcard-blue] .hotbar-editing .hotbar-slot.replace-target{outline:none}body[data-theme=postcard-blue] .hotbar-editing .hotbar-slot.replace-target:before{border:2px dashed var(--stamp-ink);opacity:1}body[data-theme=postcard-blue] .theme-btn{padding:7px 6px 9px}body[data-theme=pastel-kawaii]{--font-body:"Quicksand", "Fredoka", "ui-rounded", "Nunito", sans-serif;--bg-color:#fdf7f6;--title-color:#f3aac6;--outline-color:#e288ab;--btn-bg:#f6a8c4;--btn-border:#e288ab;--drawer-bg:#fffdfc;--overlay-bg:#e288ab4d;--text-dark:#9c5e77;--pill-bg:#fce7ef;--pill-active:#f48fb1;--ac-label-bg:#f48fb1;background-color:var(--bg-color);background-image:repeating-linear-gradient(90deg,#f48fb10f 0 9px,#0000 9px 20px)}body[data-theme=pastel-kawaii] #settings-modal,body[data-theme=pastel-kawaii] .hidden-modal,body[data-theme=pastel-kawaii] .ac-backpack-modal{border:2.5px solid #f6bcd2;border-radius:34px 28px 36px 26px/28px 36px 26px 34px;box-shadow:0 12px 30px #e288ab38}body[data-theme=pastel-kawaii] .drawer-action-btn,body[data-theme=pastel-kawaii] .phase-toggles,body[data-theme=pastel-kawaii] .theme-btn,body[data-theme=pastel-kawaii] #close-about-btn,body[data-theme=pastel-kawaii] #close-ios-btn,body[data-theme=pastel-kawaii] .ac-close-btn{border-radius:20px 15px 22px 14px/15px 22px 14px 20px}body[data-theme=pastel-kawaii] .drawer-action-btn{border:2px solid #e79bb8}body[data-theme=pastel-kawaii] .step-btn,body[data-theme=pastel-kawaii] .phase-toggles:before,body[data-theme=pastel-kawaii] .theme-swatch{border-radius:13px 9px 14px 8px/9px 14px 8px 13px}body[data-theme=pastel-kawaii] #start-btn,body[data-theme=pastel-kawaii] #settings-btn,body[data-theme=pastel-kawaii] #restart-btn{border-width:4px}body[data-theme=night-study]{--font-body:"Space Grotesk", "Inter", system-ui, sans-serif;--bg-color:#140d2b;--title-color:#c9bcff;--outline-color:#3a2d6b;--btn-bg:#4a3a86;--btn-border:#2a2150;--drawer-bg:#211a3e;--overlay-bg:#0805169e;--text-dark:#e8e2ff;--text-light:#fff;--pill-bg:#2c2350;--pill-active:#6c5ce7;--ac-label-bg:#6c5ce7;--surface-border-subtle:#ffffff1f;--surface-hover-light:#ffffff14;--empty-slot-bg:#ffffff0a;--empty-slot-border:#ffffff1f;background-color:#0000;background-image:radial-gradient(1px 1px at 15% 22%,#ffffff8c,#0000),radial-gradient(1px 1px at 62% 12%,#fff6,#0000),radial-gradient(1px 1px at 85% 35%,#ffffff80,#0000),radial-gradient(1px 1px at 35% 82%,#fff6,#0000),radial-gradient(1px 1px at 72% 70%,#ffffff73,#0000),radial-gradient(1px 1px at 8% 58%,#fff6,#0000),radial-gradient(at 50% -25%,#2a2150 0%,#150f30 55%,#0a0720 100%);background-position:0 0,0 0,0 0,0 0,0 0,0 0,0 0;background-repeat:no-repeat;background-size:auto,auto,auto,auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box,border-box,border-box}body[data-theme=night-study] #start-btn{box-shadow:0 0 18px #6c5ce773}body[data-theme=night-study]:before{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(1.5px 1.5px at 20% 30%,#fff,#0000),radial-gradient(1px 1px at 42% 68%,#cfc7ff,#0000),radial-gradient(1.6px 1.6px at 65% 18%,#fff,#0000),radial-gradient(1px 1px at 80% 48%,#fff,#0000),radial-gradient(1.2px 1.2px at 50% 86%,#d7d0ff,#0000),radial-gradient(1.6px 1.6px at 90% 80%,#fff,#0000),radial-gradient(1px 1px at 12% 62%,#fff,#0000),radial-gradient(1.2px 1.2px at 30% 10%,#fff,#0000),radial-gradient(1.5px 1.5px at 75% 92%,#cfc7ff,#0000),radial-gradient(1px 1px at 55% 45%,#fff,#0000);background-repeat:no-repeat;animation:4.5s ease-in-out infinite ns-twinkle;position:fixed;inset:0}body[data-theme=night-study]:after{content:"";z-index:0;pointer-events:none;filter:drop-shadow(0 0 6px #c7bcffe6);opacity:0;background:linear-gradient(90deg,#0000,#fff);border-radius:2px;width:140px;height:2px;animation:9s ease-in infinite ns-shoot;position:fixed;top:0;left:0}@keyframes ns-twinkle{0%,to{opacity:.35}50%{opacity:.95}}@keyframes ns-shoot{0%{transform:translate3d(calc(-12vw + var(--ns-offset-x,0vw)), calc(-10vh + var(--ns-offset-y,0vh)), 0) rotate(32deg);opacity:0}4%{opacity:1}14%{transform:translate3d(calc(78vw + var(--ns-offset-x,0vw)), calc(62vh + var(--ns-offset-y,0vh)), 0) rotate(32deg);opacity:0}to{transform:translate3d(calc(78vw + var(--ns-offset-x,0vw)), calc(62vh + var(--ns-offset-y,0vh)), 0) rotate(32deg);opacity:0}}@media (prefers-reduced-motion:reduce){body[data-theme=night-study]:before{opacity:.7;animation:none}body[data-theme=night-study]:after{opacity:0;animation:none}}.theme-picker{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-btn{background:var(--pill-bg);color:var(--text-dark);cursor:pointer;touch-action:manipulation;border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 9px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 12px #0000000d}.theme-swatch{aspect-ratio:1;place-items:center;width:44px;display:grid}.theme-swatch:after{font-size:1.5rem;line-height:1}.theme-name{white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1}.theme-btn.active{border-color:var(--pill-active);transform:scale(1.06);box-shadow:0 8px 16px #00000026}.theme-btn:hover:not(.active){transform:scale(1.08)}.theme-btn:active{transform:scale(.95)}.theme-btn.is-pwa-locked{position:relative}.theme-btn.is-pwa-locked .theme-swatch,.theme-btn.is-pwa-locked .theme-name{opacity:.45;filter:blur(2px);pointer-events:none}.theme-btn[data-theme=matcha-green] .theme-name{font-family:Fredoka,sans-serif}.theme-btn[data-theme=postcard-blue] .theme-name{font-family:Special Elite,monospace}.theme-btn[data-theme=pastel-kawaii] .theme-name{font-family:Quicksand,sans-serif}.theme-btn[data-theme=night-study] .theme-name{letter-spacing:.02em;font-family:Space Grotesk,sans-serif}.theme-swatch--matcha-green:after{content:"🍵"}.theme-swatch--postcard-blue:after{content:"✉️"}.theme-swatch--pastel-kawaii:after{content:"🌸"}.theme-swatch--night-study:after{content:"🌙"}@media (width<=360px){.theme-picker{gap:8px}}
