@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800&display=swap');
:root{--accent:#577e63;--tint:#edf3e9;--ink:#485444;--muted:#89917d;--line:#e9ecdf;--radius:23px;font-family:'Noto Sans TC',system-ui,-apple-system,sans-serif;color:var(--ink);font-size:15px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#faf9f2}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent;outline-offset:4px}button{cursor:pointer;color:inherit;border:0;background:none;transition:background .18s,transform .18s,box-shadow .18s}button:disabled{cursor:default;opacity:.5}button:not(:disabled):active{transform:translateY(2px)}button:focus-visible,a:focus-visible{outline:3px solid var(--accent)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;object-fit:contain}h1,h2,h3,h4,p{margin:0}svg{flex-shrink:0;vertical-align:middle}button svg{vertical-align:-4px}.panel{background:#fffefb;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 16px #52634204}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:13px;font-size:14px;font-weight:500}.btn.primary{background:var(--accent);color:#fff;box-shadow:0 4px 0 #34462f25}.btn.primary:not(:disabled):hover{filter:brightness(1.07)}.btn.secondary{border-color:#dfe5d4;background:#fff;color:#7b886d}.btn.secondary:hover{background:var(--tint)}.full{width:100%}.game-shell{min-height:100vh;background:radial-gradient(ellipse at 50% 14%,var(--tint),transparent 55%),#faf9f2;padding:23px 30px 0;position:relative;isolation:isolate}.game-shell:before,.game-shell:after{content:'✧';position:absolute;color:var(--accent);opacity:.12;font-size:130px;z-index:-1;pointer-events:none}.game-shell:before{left:4%;top:39%;transform:rotate(-14deg)}.game-shell:after{right:4%;top:67%;font-size:100px}.player-header{max-width:1100px;margin:auto;text-align:center}.playground-wordmark{font-size:17px;font-weight:700;letter-spacing:2px;color:var(--accent);display:flex;align-items:center;justify-content:center;gap:7px}.playground-wordmark>span{font-size:27px;line-height:1}.player-header>p{font-size:12px;color:#929b81;letter-spacing:1.5px;margin:11px 0 16px}.children-tabs{display:flex;align-items:center;justify-content:safe center;gap:15px;overflow-x:auto;padding:8px 7px 13px;scrollbar-width:thin;max-width:100%;margin:0 auto}.child-tab{display:flex;align-items:center;gap:12px;padding:10px 20px 10px 11px;border:2px solid transparent;background:#ffffff96;border-radius:21px;flex-shrink:0;text-align:left;color:#87927d;min-height:78px;min-width:143px}.child-tab.selected{border-color:var(--tab-color);background:#fffef9;box-shadow:0 5px 0 #577e6313;color:var(--tab-color);transform:translateY(-3px)}.child-tab:not(.selected):hover{background:#fff;transform:translateY(-2px)}.child-portrait{position:relative}.child-avatar{width:51px;height:51px}.child-tab>span:last-child{font-size:17px;font-weight:700}.child-tab small{display:block;font-size:11px;font-weight:500;color:#a5aa8b;margin-top:4px}.child-check{position:absolute;bottom:-2px;right:-2px;display:grid;place-items:center;border-radius:50%;width:20px;height:20px;color:#fff;background:var(--tab-color);border:2px solid #fff}.add-child{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;flex-shrink:0;font-size:11px;color:#9aa48b;min-width:72px;min-height:78px}.add-child>span{display:grid;place-items:center;width:42px;height:42px;border:1.5px dashed #bfc9ae;border-radius:50%}.add-child:hover>span{background:#fff}.game-main{width:100%;max-width:1040px;margin:auto}.game-greeting{position:relative;display:flex;align-items:center;min-height:141px;padding:14px 12px 24px;gap:20px}.greeting-copy{z-index:1}.theme-caption{font-size:12px;letter-spacing:1px;color:var(--accent);display:block;margin-bottom:8px}.game-greeting h1{font-size:29px;font-weight:700;letter-spacing:1px;line-height:1.5}.game-greeting p{font-size:13px;color:#929b82;margin-top:7px}.greeting-friends{width:235px;margin-left:auto;align-self:flex-end;margin-bottom:-13px;opacity:.92}.theme-switch{border:1px solid #d9dfcd;background:#fffef9b3;border-radius:22px;padding:10px 13px;white-space:nowrap;font-size:12px;color:var(--accent);display:flex;align-items:center;gap:6px;align-self:center;flex-shrink:0;min-height:42px}.theme-switch:hover{background:#fff}.stamp-playground{position:relative;background:#fffef8;border:5px solid #fff;border-radius:31px;box-shadow:0 7px 0 #64764c12,0 12px 35px #6b7b5110;padding:29px 37px 24px}.notebook-tape{position:absolute;top:-12px;left:calc(50% - 44px);width:88px;height:23px;background:repeating-linear-gradient(90deg,#d9e2c7b3 0 7px,#e2e9d8b3 7px 14px);transform:rotate(-3deg);clip-path:polygon(0 0,100% 0,96% 30%,100% 60%,96% 100%,0 100%,3% 60%)}.game-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.card-eyebrow{font-size:11px;color:#a1a68d;letter-spacing:1.3px}.game-card-heading h2{font-size:25px;letter-spacing:1.5px;margin-top:7px;font-weight:700}.game-card-heading h2>span{font-size:23px;color:#d8b958;margin-left:3px}.game-point-count{display:flex;align-items:baseline;gap:10px;color:var(--accent);white-space:nowrap}.game-point-count strong{font-size:44px;line-height:1.3;font-weight:700}.game-point-count>span{font-size:13px}.game-progress{display:flex;gap:14px;align-items:center;margin:18px 0 21px;color:var(--accent);font-weight:600}.game-progress-track{height:9px;background:#edf0e3;border-radius:20px;flex:1;overflow:hidden}.game-progress-track i{height:100%;display:block;border-radius:20px;background:var(--accent);opacity:.6;transition:width .3s}.game-progress>span{font-size:15px;min-width:57px;text-align:right}.game-progress small{font-size:12px;color:#a3ad90;font-weight:400}.game-stamp-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:20px 12px;padding:13px 3px 0}.game-stamp-slot{position:relative;aspect-ratio:1;display:grid;place-items:center;min-width:0;border-radius:50%}.game-stamp-slot.empty{background:#f8f9f0;border:2px dashed #dce2ce;color:#d5dcc5;transition:background .2s,transform .2s}.game-stamp-slot.empty:hover{background:var(--tint);border-color:var(--accent);transform:rotate(-5deg) scale(1.04)}.game-stamp-slot .earned-stamp{width:100%;height:100%;transform:rotate(var(--rotation));mix-blend-mode:multiply;filter:saturate(.85)}.slot-outline{font-size:36px;opacity:.75}.game-stamp-slot:last-child .slot-outline{font-size:26px;opacity:.45}.slot-number{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);font-size:10px;color:#b1b99d;background:#fffef8;padding:0 5px;border-radius:10px;line-height:1.6}.game-stamp-slot.next-slot{background:var(--tint);border:2px dashed var(--accent);color:var(--accent)}.next-plus{font-size:33px;font-weight:400}.next-slot .slot-number{display:none}.next-label{position:absolute;bottom:-12px;left:50%;transform:translateX(-50%) rotate(-4deg);white-space:nowrap;font-size:10px;color:#fff;background:var(--accent);padding:3px 8px;border-radius:7px;box-shadow:0 2px 0 #3f5b3d16}.card-cheer{text-align:center;color:#a0a887;font-size:12px;letter-spacing:.6px;margin:30px 0 23px;line-height:1.8}.game-stamp-picker{border-top:1px dashed #dce3cf;padding-top:21px}.picker-heading{display:flex;align-items:center;gap:9px;margin-bottom:17px}.step-dot{width:25px;height:25px;background:var(--tint);border-radius:50%;color:var(--accent);display:inline-grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.picker-heading h3{font-size:14px;font-weight:600}.picker-heading>span:last-child{font-size:11px;color:#a3ab91;margin-left:auto}.game-stamp-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;max-width:690px;margin:0 auto}.stamp-choice{display:flex;align-items:center;flex-direction:column;gap:7px;position:relative;padding:9px 7px;border-radius:15px;border:2px solid transparent}.stamp-choice img{height:57px;width:57px;filter:saturate(.85);transition:transform .18s}.stamp-choice>span{font-size:11px;color:#9aa185;white-space:nowrap}.stamp-choice.picked{background:var(--tint);border-color:#d2ddc3}.stamp-choice.picked img{transform:rotate(-9deg) scale(1.08)}.stamp-choice:hover{background:#f4f5ea}.stamp-choice>i{position:absolute;right:5px;top:4px;display:grid;place-items:center;width:17px;height:17px;background:var(--accent);color:white;border-radius:50%}.game-stamp-action{display:flex;align-items:flex-start;justify-content:center;position:relative;gap:10px;margin-top:23px}.game-stamp-action>.step-dot{margin-top:20px}.stamp-call-to-action{width:100%;max-width:390px}.stamp-main-button{width:100%;background:var(--accent);color:white;border-radius:20px;min-height:69px;padding:7px 24px;gap:13px;box-shadow:0 5px 0 #344d3430;font-size:20px;font-weight:700;letter-spacing:1.5px}.stamp-main-button:hover{filter:brightness(1.06);transform:translateY(-2px)}.stamp-main-button>img{width:44px;height:44px;transform:rotate(-10deg)}.stamp-main-button>svg{opacity:.65}.stamp-call-to-action>p{text-align:center;color:#a5ad96;font-size:11px;margin:13px 0 0;display:flex;align-items:center;justify-content:center;gap:5px;line-height:1.8}.reward-quest{display:flex;align-items:center;gap:18px;margin:25px 0 0;background:#f5efdf;border:2px solid #fff;border-radius:24px;padding:12px 26px 12px 15px;box-shadow:0 3px 0 #b59b5d0c}.quest-art{width:101px;height:101px;flex-shrink:0}.quest-copy{flex:1}.quest-copy>span{font-size:11px;color:#b09a69;letter-spacing:.9px}.quest-copy h2{font-size:20px;font-weight:600;letter-spacing:.7px;margin-top:5px}.quest-copy p{font-size:12px;color:#a4997c;line-height:1.8;margin-top:6px}.quest-button{background:#fffaf0;border:1px solid #e3d8bc;color:#9d8b5b;border-radius:15px;font-size:13px;padding:12px 17px;white-space:nowrap;flex-shrink:0}.quest-button:hover{background:#fff}.little-memories{display:flex;align-items:center;justify-content:space-between;padding:25px 8px 0;gap:16px}.little-memories>button{display:flex;align-items:center;gap:9px;font-size:13px;color:#92a180;padding:11px 14px;min-height:44px;border-radius:14px}.little-memories>button:hover{background:#fff}.little-memories p{font-size:11px;color:#a6af96}.little-memories p>span{color:#bdaf8f}.game-footer{max-width:1100px;margin:27px auto 0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 5px 25px;border-top:1px solid #e6e9da;font-size:11px;color:#a6ae96;line-height:1.7}.game-footer>span>span{color:#bcc6a7;margin-left:4px}.game-footer>div{display:flex;align-items:center;gap:15px}.game-footer button{font-size:11px;display:flex;align-items:center;gap:6px;min-height:40px;padding:7px 11px;border-radius:11px;color:#869576}.game-footer button:hover{background:#fff}.game-footer .demo-family{color:#b2a47d}.parent-unlocked-dot{width:6px;height:6px;border-radius:50%;background:#719168;display:inline-block}.parent-tool-menu{margin-top:20px}.parent-tool-menu>p{font-size:12px;color:#a0a98e;margin-bottom:15px}.parent-tool-menu>button{display:flex;align-items:center;gap:13px;text-align:left;border-top:1px solid #e9ecdf;padding:18px 4px;width:100%;color:var(--accent)}.parent-tool-menu>button:hover{background:#f7f8ef}.parent-tool-menu>button>span{flex:1;font-size:14px;line-height:1.6}.parent-tool-menu small{display:block;font-size:11px;color:#a0a98f;margin-top:5px}.parent-tool-menu .start-family-tool{color:#b1a077}.secondary-screen{max-width:1040px;padding-top:23px}.back-to-game{display:flex;align-items:center;gap:8px;font-size:13px;min-height:44px;color:var(--accent);padding:8px 14px;background:#fffdf7;border-radius:13px;border:1px solid #e0e5d5}.back-to-game svg{transform:rotate(180deg)}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--accent)}.page-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:15px}.page-toolbar>span{font-size:13px;color:#8a977a}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reward-full{overflow:hidden}.reward-image{height:185px;background:#f1f0e6;position:relative;display:flex;align-items:center;justify-content:center}.reward-image.game{background:#f0f0e5}.reward-image.gift{background:#f5eae5}.reward-image img{height:150px;width:150px}.rule-badge{position:absolute;left:14px;top:14px;background:#fff9;border:1px solid #fff;border-radius:7px;font-size:11px;color:#8e967e;padding:6px 9px}.reward-image .icon-btn{position:absolute;right:10px;top:10px;background:#fff8}.reward-full-body{padding:23px}.reward-full-body h2{font-size:18px}.reward-full-body>p{font-size:12px;color:#969f8d;margin-top:10px;line-height:1.8}.reward-full-cost{font-size:29px;font-weight:600;color:#a38f5c;margin:22px 0 11px}.reward-full-cost small{font-size:12px;font-weight:400;color:#a9aa97}.reward-full-body .rule-detail{font-size:11px;min-height:40px}.reward-status{font-size:12px;color:#9ba58b;margin:12px 0 20px}.reward-progress{height:7px;background:#edf0e3;border-radius:10px;overflow:hidden;margin:15px 0 9px}.reward-progress i{display:block;height:100%;background:#b2c29f;border-radius:10px}.history-row{display:flex;align-items:center;gap:13px;padding:17px 0;border-bottom:1px solid #eff1e7}.history-row:last-child{border-bottom:0}.history-stamp{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;color:#a69978;background:#f6f4ec;border-radius:13px}.history-stamp:has(img){background:none}.history-stamp img{width:40px;height:40px;filter:saturate(.85)}.history-info{min-width:0;flex:1}.history-info strong{font-size:13px;font-weight:500;display:block;line-height:1.8;overflow-wrap:anywhere}.history-info small{font-size:11px;color:#a8b095;display:block;margin-top:5px;line-height:1.8}.history-info small span{padding:0 6px}.history-points{color:#899e73;font-size:16px;white-space:nowrap}.history-points small{font-size:12px}.history-points.negative{color:#b39280}.empty-mini{text-align:center;color:#a5b098;padding:35px 15px;font-size:13px}.empty-mini p{margin-top:13px}.empty-state{text-align:center;padding:25px 20px 65px}.empty-state>h1{font-size:27px;line-height:1.8}.empty-state>p{font-size:14px;color:#949f81;margin:13px 0 25px;line-height:1.9}.empty-garden{max-width:440px;margin:20px auto 30px}.add-reward-small{width:100%;padding:19px 0 0;display:flex;align-items:center;justify-content:center;gap:7px;color:#96a386;font-size:13px;min-height:45px}
.page-heading{padding:43px 0 31px}.page-heading h1{font-size:30px;font-weight:600;margin-top:13px;letter-spacing:1px}.page-heading h1 span{font-size:25px}.page-heading p{font-size:12px;color:#949d88;margin-top:13px;line-height:1.8}.page-toolbar{display:flex;align-items:center;justify-content:space-between;margin:27px 0 23px}.page-toolbar>span{font-size:12px;color:#87927d}.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reward-full{overflow:hidden}.reward-image{height:185px;background:#f1f0e6;position:relative;display:flex;align-items:center;justify-content:center}.reward-image.game{background:#f0f0e5}.reward-image.gift{background:#f5eae5}.reward-image img{height:150px;width:150px}.rule-badge{position:absolute;left:14px;top:14px;background:#fff9;border:1px solid #fff;border-radius:5px;font-size:9px;color:#8e967e;padding:5px 8px}.reward-image .icon-btn{position:absolute;right:10px;top:10px;background:#fff8}.reward-full-body{padding:23px}.reward-full-body h2{font-size:17px}.reward-full-body>p{font-size:10px;color:#969f8d;margin-top:10px;line-height:1.8}.reward-full-cost{font-size:26px;font-weight:500;color:#a38f5c;margin:22px 0 11px}.reward-full-cost small{font-size:10px;font-weight:400;color:#a9aa97}.reward-full-body .rule-detail{font-size:9px;min-height:33px}.reward-status{font-size:10px;color:#9ba58b;margin:12px 0 20px}.full{width:100%}.history-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:27px 0}.history-stats .panel{padding:22px 28px}.history-stats span{font-size:11px;color:#97a08b}.history-stats strong{display:block;font-size:31px;color:var(--accent);font-weight:500;margin-top:10px}.history-stats small{font-size:12px;color:#abb19e;margin-left:10px;font-weight:400}.history-list{padding:24px 28px}.history-filters{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:15px}.history-filters h2{font-size:16px}.history-filters select{width:auto;min-width:130px;font-size:11px}.history-list .history-row{padding:18px 0}.history-list .history-info strong{font-size:12px}.history-list .history-info small{font-size:10px}.settings-layout{display:grid;gap:22px;max-width:900px;padding-bottom:30px}.setting-section{padding:27px 29px}.setting-section>h2{display:flex;align-items:center;gap:10px;font-size:17px;margin-bottom:22px}.setting-section>h2 svg{color:#8fa080}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:19px 0;border-top:1px solid var(--line)}.setting-row h3{font-size:13px;font-weight:500}.setting-row p{font-size:11px;color:#9da58f;margin-top:8px;line-height:1.7}.setting-row .btn{font-size:11px;min-height:35px;padding:8px 14px}.status-badge{font-size:10px;padding:6px 10px;background:#edf2e5;color:#8a9d74;border-radius:5px;white-space:nowrap}.info-note{background:#f5f6ef;border-radius:10px;padding:15px;font-size:10px;color:#96a085;line-height:1.9}.child-setting-info{display:flex;align-items:center;gap:13px}.child-setting-info img{width:46px;height:46px}.setting-description{font-size:12px;color:#96a085;line-height:1.9;max-width:650px}.backup-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.backup-options button{border:1px solid #e4e8d9;border-radius:13px;padding:26px;display:flex;align-items:center;flex-direction:column;gap:12px;color:#8da078;background:#fcfdf9}.backup-options button:hover{background:#f2f5e9}.backup-options strong{font-size:13px;font-weight:500;color:#677b57}.backup-options span{font-size:10px;color:#a4ad96}.empty-state{text-align:center;padding:50px 20px;margin:20px 0}.empty-state>img{width:320px;margin:auto auto 25px}.empty-state h2{font-size:22px}.empty-state p{font-size:13px;color:#9ba38d;margin:17px 0 25px;line-height:1.9}.empty-mini{text-align:center;color:#a5b098;padding:35px 15px;font-size:11px}.empty-mini p{margin-top:13px}.card-history{padding:12px 25px 20px;min-height:458px;max-height:510px;overflow:auto}.icon-btn{padding:8px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:#919b87}.icon-btn:hover{background:#eef1e5}.modal-overlay{position:fixed;inset:0;z-index:100;background:#303d3370;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{position:relative;width:100%;max-width:480px;background:#fffefa;border-radius:23px;padding:31px;box-shadow:0 22px 80px #283b3025;max-height:calc(100dvh - 50px);overflow-y:auto;animation:modal-in .22s ease}.modal.wide{max-width:600px}.modal-close{position:absolute;right:16px;top:16px}.modal-mark{display:grid;place-items:center;width:42px;height:42px;color:var(--accent);background:var(--tint);border-radius:13px;margin-bottom:18px}.modal h2{font-size:21px;font-weight:600;line-height:1.5;padding-right:20px}.modal-sub{color:#9ba38c;font-size:11px;margin:12px 0 24px;line-height:1.9}.modal form{margin-top:24px}.modal form>p{font-size:12px;color:#929c84;line-height:1.9;margin:10px 0 22px}.modal form>label{margin:20px 0;display:block;font-size:12px;font-weight:500;color:#737f66}input:not([type=radio]):not([type=checkbox]),textarea,select{width:100%;padding:12px 13px;border:1px solid #dde3d1;background:#fffefb;border-radius:8px;color:#56644a;outline-offset:0;transition:border-color .15s;min-height:43px}label>input:not([type=radio]):not([type=checkbox]),label>textarea,label>select{display:block;margin-top:9px}input:focus,textarea:focus,select:focus{outline:2px solid #b8c9a6;outline-offset:1px}input::placeholder,textarea::placeholder{color:#b8bdaF;font-size:11px}textarea{resize:vertical;line-height:1.8}input[type=file]{font-size:11px!important;padding:11px!important}input[type=file]::file-selector-button{border:0;border-radius:4px;padding:6px 9px;background:#edf2e4;color:#879677;margin-right:9px}.soft-note{display:flex;align-items:flex-start;gap:9px;padding:14px;background:#f0f3e8;border-radius:10px;font-size:10px;color:#939e82;line-height:1.9;margin:18px 0 23px}.soft-note>svg{margin-top:2px;flex-shrink:0}.modal .full{margin-top:8px}.form-error{color:#b37665;font-size:11px;line-height:1.8;margin-top:12px}.form-error:empty{display:none}.optional{margin-left:8px;font-size:10px;font-weight:400;color:#b1b6a6}.modal fieldset{border:0;padding:0;margin:22px 0}.modal legend{font-size:12px;color:#737f66;margin-bottom:13px;font-weight:500}.image-option{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #e9ecdf;border-radius:12px;padding:7px;background:#fff;cursor:pointer}.image-option input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.image-option:has(input:checked){border-color:var(--accent);background:var(--tint);box-shadow:0 0 0 1px var(--accent)}.image-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:4px}.avatar-options{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.avatar-options img{width:60px;height:60px}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-option{display:flex;align-items:center;gap:9px;position:relative;font-size:11px;color:#969e89;border:1px solid #e7eadf;border-radius:9px;padding:13px;background:#fff;cursor:pointer}.theme-option input{width:13px;height:13px;accent-color:var(--option-color);margin:0}.theme-option:has(input:checked){background:var(--option-bg);border-color:var(--option-color);color:var(--option-color)}.theme-option>span{font-size:20px}.danger-link{display:block;margin:18px auto 0;color:#b39384;font-size:10px;text-decoration:underline;text-underline-offset:4px}.btn.danger{background:#ad7765;color:#fff}.theme-picks{display:grid;gap:12px;margin-top:24px}.theme-picks>button{position:relative;display:grid;grid-template-columns:45px 1fr;column-gap:10px;text-align:left;border:1px solid #e4e8da;border-radius:12px;padding:16px;color:var(--option-color);background:var(--option-bg)}.theme-picks button>span{font-size:31px;grid-row:span 2;align-self:center}.theme-picks strong{font-size:13px;font-weight:500}.theme-picks small{font-size:10px;margin-top:7px;opacity:.65}.theme-picks svg{position:absolute;right:15px;top:15px}.stamp-child{display:flex;align-items:center;gap:10px;background:#f6f7ee;border-radius:10px;padding:12px}.stamp-child img{width:42px;height:42px}.stamp-child span{font-weight:600;font-size:13px}.stamp-child small{display:block;font-size:10px;font-weight:400;color:#a1aa92;margin-top:5px}.stepper{display:flex;align-items:center;gap:12px;margin-top:10px}.stepper button{width:43px;height:43px;border:1px solid #e1e6d6;border-radius:8px;color:#879977}.stepper input{width:80px!important;text-align:center;font-size:20px;font-weight:500;padding:6px!important;margin:0!important;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.stepper>span{font-size:12px;color:#a3ac95}.stamp-options,.reward-icon-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.stamp-options img,.reward-icon-options img{width:47px;height:47px}.stamp-options .image-option,.reward-icon-options .image-option{padding:4px;border-radius:9px}.reason-chips{display:flex;gap:7px;flex-wrap:wrap;margin:-6px 0 22px}.reason-chips button{padding:6px 9px;background:#f1f3ea;color:#a2ac94;border-radius:6px;font-size:9px}.redeem-illustration{background:#f5f0e4;border-radius:16px;display:grid;place-items:center;padding:10px;margin-bottom:22px}.redeem-illustration img{height:130px;width:130px}.center{text-align:center}.muted{color:#9ba38f}.modal .checkbox-label{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.9;font-weight:400}.checkbox-label input{margin-top:4px;accent-color:var(--accent);flex-shrink:0}.help-content h3{font-size:14px;color:#7f9270;margin:24px 0 10px}.help-content p{font-size:12px;color:#9ba48e;line-height:1.95;margin-bottom:12px}.help-content .info-note{margin-top:24px}#toast{position:fixed;bottom:28px;left:calc(50% + 116px);transform:translate(-50%,20px);z-index:200;background:#425b43;color:#fff;padding:14px 23px;box-shadow:0 5px 20px #344d3625;border-radius:12px;font-size:12px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90vw;width:max-content;line-height:1.7}#toast.show{transform:translate(-50%,0);opacity:1}.modal-open{overflow:hidden}.loading,.fatal{max-width:680px;margin:18vh auto;text-align:center;color:#819574;padding:25px}.fatal>span{font-size:70px}.fatal h1{font-size:25px;margin:22px 0}.fatal p{font-size:13px;color:#98a18d;line-height:2;margin-bottom:26px}.confetti{position:fixed;inset:0;pointer-events:none;z-index:190;overflow:hidden}.confetti i{position:absolute;top:-20px;left:var(--x);height:13px;width:7px;border-radius:2px;background:var(--color);animation:fall 1.8s var(--delay) ease-in forwards}.confetti i:nth-child(3n){border-radius:50%;width:8px;height:8px}@keyframes fall{to{top:110%;transform:rotate(var(--rotate)) translateX(40px)}}@keyframes modal-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Comfortable controls and text in the grown-ups' corner. */
#toast{left:50%;font-size:13px;max-width:92vw}.page-heading{padding:26px 0 30px}.page-heading h1{font-size:29px}.page-heading p,.setting-description{font-size:13px}.setting-row p{font-size:12px}.setting-row h3{font-size:14px}.backup-options span{font-size:12px}.backup-options strong{font-size:14px}.info-note,.soft-note{font-size:12px}.modal{max-width:510px}.modal-sub{font-size:12px}.modal form>label,.modal legend{font-size:13px}.form-error{font-size:12px}.optional{font-size:11px}.reason-chips button{font-size:12px;padding:7px 10px;min-height:36px}.modal input::placeholder,.modal textarea::placeholder{font-size:12px}.help-content p{font-size:13px}.modal form>p{font-size:13px}.theme-option{font-size:12px;min-height:50px}.image-option{min-height:50px}.modal .full{min-height:47px}.reward-full-body>p{font-size:12px}.reward-full-body .rule-detail{font-size:11px}.reward-status{font-size:12px}.rule-badge{font-size:11px}.history-list .history-info strong{font-size:13px}.history-list .history-info small{font-size:11px}.settings-layout{max-width:none}.history-filters select{font-size:12px;min-height:44px}.setting-row .btn{font-size:12px;min-height:42px}.status-badge{font-size:11px}.theme-picks small{font-size:12px;line-height:1.6}.theme-picks strong{font-size:14px}.stamp-child small{font-size:12px}.danger-link{font-size:12px;min-height:36px}.avatar-options img{width:65px;height:65px}
@media(min-width:1600px){.game-main{max-width:1120px}.player-header,.game-footer{max-width:1180px}.game-greeting{min-height:155px}.game-stamp-grid{gap:24px 15px}.game-stamp-options{max-width:760px}.stamp-choice img{width:63px;height:63px}.stamp-playground{padding:34px 43px 29px}}
@media(max-width:1050px){.game-shell{padding:21px 24px 0}.game-stamp-grid{gap:24px 11px}.stamp-playground{padding:27px 27px 23px}.greeting-friends{width:190px}.game-greeting h1{font-size:26px}.game-greeting p{font-size:12px}.theme-switch{font-size:11px;padding:10px}.game-greeting{min-height:134px}.game-stamp-options{gap:8px}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-art{width:88px;height:88px}.quest-copy h2{font-size:18px}.quest-copy p{font-size:11px}.quest-button{font-size:12px;padding:11px 13px}.game-card-heading h2{font-size:23px}}
@media(max-width:800px){.game-stamp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 20px;max-width:550px;margin:auto}.game-stamp-slot{max-width:91px;width:100%;justify-self:center}.game-greeting{padding:13px 4px 23px}.greeting-friends{width:170px}.game-greeting h1{font-size:25px}.theme-switch{position:absolute;right:0;top:16px;font-size:11px;min-height:36px;padding:8px 10px}.greeting-friends{margin-right:0;margin-top:30px;margin-bottom:-8px}.game-stamp-options{max-width:570px;gap:4px}.stamp-choice img{width:52px;height:52px}.stamp-choice{padding:8px 4px}.stamp-choice>span{font-size:10px}.game-point-count strong{font-size:40px}.quest-art{width:78px;height:78px}.reward-quest{gap:12px;padding:15px}.quest-copy p{max-width:270px}.game-footer>div{gap:7px}.little-memories p{font-size:10px}.setting-section{padding:24px}.history-stats{gap:15px}.history-stats .panel{padding:21px}}
@media(max-width:560px){.game-shell{padding:19px 15px 0}.playground-wordmark{font-size:15px;letter-spacing:1.5px}.playground-wordmark>span{font-size:24px}.player-header>p{font-size:11px;margin:10px 0 9px}.children-tabs{gap:9px;padding:8px 2px 10px}.child-tab{min-height:69px;min-width:119px;gap:9px;padding:9px 13px 9px 9px;border-radius:19px}.child-avatar{width:43px;height:43px}.child-tab>span:last-child{font-size:15px}.child-tab small{font-size:10px;margin-top:3px}.child-check{width:18px;height:18px;right:-1px;bottom:-1px}.add-child{min-width:55px;font-size:10px;gap:5px;min-height:67px}.add-child>span{width:34px;height:34px}.add-child svg{width:19px;height:19px}.game-greeting{min-height:127px;padding:13px 2px 22px;align-items:flex-end}.greeting-copy{padding-top:23px}.theme-caption{font-size:10px;margin-bottom:7px}.game-greeting h1{font-size:22px;letter-spacing:.3px;line-height:1.6;max-width:265px}.game-greeting p{font-size:11px;margin-top:5px;max-width:240px;line-height:1.8}.greeting-friends{position:absolute;right:-4px;bottom:14px;width:135px;opacity:.72;z-index:0}.theme-switch{right:3px;top:13px;font-size:10px;min-height:33px;padding:6px 9px;gap:4px}.theme-switch svg{width:14px;height:14px}.stamp-playground{padding:23px 17px 21px;border-width:3px;border-radius:25px}.notebook-tape{width:67px;left:calc(50% - 33px);height:20px;top:-10px}.game-card-heading{gap:10px}.card-eyebrow{font-size:9px;letter-spacing:.7px}.game-card-heading h2{font-size:19px;letter-spacing:.8px;margin-top:7px}.game-card-heading h2>span{font-size:18px;margin-left:0}.game-point-count{flex-direction:column;align-items:center;gap:1px;min-width:69px}.game-point-count strong{font-size:35px}.game-point-count>span{font-size:10px}.game-progress{gap:11px;margin:15px 0 16px}.game-progress-track{height:8px}.game-progress>span{font-size:13px;min-width:50px}.game-progress small{font-size:10px}.game-stamp-grid{gap:20px 12px;padding:10px 1px 0}.game-stamp-slot{max-width:77px}.slot-outline{font-size:29px}.game-stamp-slot:last-child .slot-outline{font-size:22px}.next-plus{font-size:29px}.slot-number{font-size:9px;bottom:-8px;padding:0 4px}.next-label{font-size:9px;padding:2px 6px;bottom:-9px}.card-cheer{font-size:11px;letter-spacing:.2px;margin:25px 0 18px}.game-stamp-picker{padding-top:17px}.picker-heading{gap:7px;margin-bottom:13px}.step-dot{width:22px;height:22px;font-size:11px}.picker-heading h3{font-size:13px}.picker-heading>span:last-child{font-size:9px}.game-stamp-options{grid-template-columns:repeat(3,minmax(0,1fr));max-width:320px;gap:7px 13px}.stamp-choice{padding:7px 4px 8px;border-radius:13px;gap:5px}.stamp-choice img{width:47px;height:47px}.stamp-choice>span{font-size:11px}.stamp-choice>i{width:16px;height:16px;right:4px;top:4px}.game-stamp-action{gap:7px;margin-top:19px}.game-stamp-action>.step-dot{margin-top:18px}.stamp-main-button{min-height:62px;padding:8px 12px;gap:9px;font-size:18px;letter-spacing:.8px;border-radius:17px}.stamp-main-button>img{width:38px;height:38px}.stamp-main-button>svg{width:19px;height:19px}.stamp-call-to-action>p{font-size:9px;gap:4px;line-height:1.8;margin-top:12px}.stamp-call-to-action>p svg{width:11px;height:11px}.reward-quest{position:relative;gap:11px;padding:13px 13px 14px;margin-top:20px;flex-wrap:wrap;border-radius:22px}.quest-art{width:67px;height:67px}.quest-copy{min-width:calc(100% - 82px)}.quest-copy>span{font-size:10px}.quest-copy h2{font-size:17px;letter-spacing:.4px;margin-top:3px;overflow-wrap:anywhere}.quest-copy p{font-size:11px;max-width:none;line-height:1.8;margin-top:5px}.quest-button{width:100%;min-height:43px;font-size:12px;margin-top:0;border-radius:13px}.little-memories{padding:16px 0 0;flex-direction:column;gap:3px}.little-memories>button{font-size:13px}.little-memories p{font-size:10px}.game-footer{margin-top:22px;padding:17px 0 20px;flex-direction:column;gap:7px;font-size:10px}.game-footer>div{gap:8px;justify-content:center;flex-wrap:wrap}.game-footer button{font-size:10px;min-height:38px;padding:6px 9px}.game-footer .demo-family{font-size:10px}.secondary-screen{padding-top:16px}.back-to-game{font-size:12px;min-height:42px;padding:8px 12px}.page-heading{padding:24px 0}.page-heading h1{font-size:25px}.page-heading p{font-size:12px;line-height:1.9}.eyebrow{font-size:9px}.page-toolbar>span{font-size:11px}.page-toolbar .btn{font-size:12px;padding:10px 14px;min-height:43px}.reward-grid{grid-template-columns:1fr;gap:19px}.reward-full-body{padding:23px}.reward-full-body h2{font-size:19px}.reward-full-body>p{font-size:12px}.reward-full-body .rule-detail{font-size:11px;min-height:0}.reward-full-body>.btn{font-size:13px}.reward-image{height:168px}.reward-image img{height:138px;width:138px}.history-stats{gap:9px;margin:0 0 20px}.history-stats .panel{padding:17px 13px}.history-stats span{font-size:11px}.history-stats strong{font-size:29px}.history-stats small{font-size:11px;margin-left:5px}.history-list{padding:23px 17px}.history-filters{gap:10px}.history-filters h2{font-size:14px}.history-filters select{font-size:11px;padding:9px;min-width:111px;min-height:41px}.history-list .history-info strong{font-size:12px}.history-list .history-info small{font-size:10px}.history-row{gap:10px}.history-stamp,.history-stamp img{width:33px;height:33px}.history-points{font-size:14px}.setting-section{padding:23px 19px}.setting-section>h2{font-size:17px}.setting-description{font-size:12px}.setting-row{align-items:flex-start;gap:11px}.setting-row h3{font-size:13px}.setting-row p{font-size:11px}.setting-row .btn{font-size:11px;min-height:39px;white-space:nowrap;flex-shrink:0;padding:9px}.status-badge{font-size:9px;padding:6px 7px;white-space:nowrap}.child-setting-info{gap:9px}.child-setting-info img{width:39px;height:39px}.backup-options{gap:12px;margin:20px 0}.backup-options button{padding:23px 8px;gap:10px}.backup-options strong{font-size:12px}.backup-options span{font-size:10px}.info-note,.soft-note{font-size:11px}.modal-overlay{padding:15px}.modal{padding:26px 22px;border-radius:23px;max-height:calc(100dvh - 30px)}.modal h2{font-size:21px}.modal-sub{font-size:12px}.modal .btn{min-height:47px;font-size:14px}.modal form>label,.modal legend{font-size:12px}.stamp-options,.reward-icon-options{gap:6px}.stamp-options .image-option,.reward-icon-options .image-option{padding:3px;min-height:44px}.stamp-options img,.reward-icon-options img{width:41px;height:41px}.avatar-options{gap:9px}.avatar-options img{width:54px;height:54px}.theme-option{font-size:11px;padding:12px 9px;gap:6px}.theme-option>span{font-size:18px}.help-content p{font-size:12px}.theme-picks small{font-size:11px;max-width:260px}.theme-picks strong{font-size:13px}.empty-state{padding:15px 10px 35px}.empty-state h1{font-size:22px}.empty-state p{font-size:12px}.empty-garden{margin:10px auto 20px}.parent-tool-menu>button>span{font-size:14px}.parent-tool-menu small{font-size:11px}#toast{font-size:12px;padding:13px 18px;bottom:20px}}
@media(max-width:370px){.game-shell{padding-left:11px;padding-right:11px}.children-tabs{gap:7px}.child-tab{min-width:108px;padding-right:10px;gap:7px}.child-avatar{width:38px;height:38px}.child-tab>span:last-child{font-size:14px}.add-child{min-width:49px}.game-greeting h1{font-size:20px;max-width:235px}.game-greeting p{max-width:210px;font-size:10px}.greeting-friends{width:113px;right:-3px}.stamp-playground{padding-left:13px;padding-right:13px}.game-card-heading h2{font-size:18px}.game-stamp-grid{gap:18px 10px}.game-stamp-slot.empty{border-width:1.5px}.card-cheer{font-size:10px}.stamp-choice img{width:43px;height:43px}.stamp-choice>span{font-size:10px}.stamp-main-button{font-size:16px;padding-left:9px;padding-right:9px;gap:7px}.stamp-main-button>img{width:32px;height:32px}.stamp-call-to-action>p{font-size:8px}.picker-heading h3{font-size:12px}.picker-heading>span:last-child{font-size:8px}.quest-copy h2{font-size:16px}.quest-copy p{font-size:10px}.theme-option{font-size:10px;gap:5px}.theme-option>span{font-size:16px}.modal{padding:25px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.greeting-copy{min-width:0}.game-greeting h1{overflow-wrap:anywhere}.game-footer .demo-family{font-size:11px;color:#b2a47d}.stamp-choice:focus-visible{outline-offset:2px}
.reward-play-modes{margin-top:31px}.reward-modes-heading{display:flex;align-items:center;justify-content:space-between;gap:13px;margin:0 6px 16px}.reward-modes-heading h2{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:600}.reward-modes-heading h2 svg{color:var(--accent)}.reward-modes-heading>button{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--accent);min-height:44px;padding:9px 8px}.reward-mode-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reward-mode-cards>button{display:flex;align-items:center;gap:10px;background:#fffdf7;border:2px solid #fff;border-radius:20px;padding:15px 12px;text-align:left;box-shadow:0 3px 0 #8c9e7310;min-width:0}.reward-mode-cards>button:hover{background:var(--tint);transform:translateY(-2px)}.reward-mode-cards img{width:55px;height:55px;flex-shrink:0}.reward-mode-cards>button>span{flex:1;min-width:0}.reward-mode-cards strong{font-size:15px;font-weight:600;display:block}.reward-mode-cards small{font-size:10px;line-height:1.8;color:#9aa386;display:block;margin-top:5px}.reward-mode-cards svg{color:#a5b08f;width:15px}.reward-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.reward-filters>button{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fffdf7;border:1px solid #e0e5d5;border-radius:15px;font-size:13px;min-height:46px}.reward-filters>button[aria-pressed=true]{border-color:var(--accent);background:var(--tint);color:var(--accent)}.reward-filters>button>span{background:#e9eddc99;border-radius:50%;font-size:10px;min-width:20px;height:20px;display:grid;place-items:center;color:#93a17d}.reward-rule-note{display:flex;align-items:flex-start;gap:8px;padding:15px 17px;border-radius:14px;background:var(--tint);font-size:13px;color:var(--accent);line-height:1.9;margin-bottom:24px}.reward-rule-note svg{margin-top:4px}.reward-empty{grid-column:1/-1;text-align:center;padding:35px 20px 45px;background:#fffdf7;border-radius:24px}.reward-empty>img{width:120px;height:120px;margin:0 auto 20px}.reward-empty h2{font-size:22px}.reward-empty p{font-size:13px;color:#99a187;margin:16px 0 24px;line-height:1.9}
@media(max-width:1050px){.reward-mode-cards{gap:10px}.reward-mode-cards>button{gap:7px;padding:13px 9px}.reward-mode-cards img{width:42px;height:42px}.reward-mode-cards strong{font-size:13px}.reward-mode-cards small{font-size:10px}.reward-mode-cards svg{width:13px}}
@media(max-width:700px){.reward-mode-cards{grid-template-columns:1fr;gap:10px}.reward-mode-cards>button{padding:11px 16px;gap:13px;min-height:76px}.reward-mode-cards img{width:51px;height:51px}.reward-mode-cards strong{font-size:15px}.reward-mode-cards small{font-size:12px;margin-top:4px}.reward-mode-cards svg{width:18px}.reward-play-modes{margin-top:25px}.reward-modes-heading{margin-bottom:11px}.reward-modes-heading h2{font-size:18px}.reward-modes-heading>button{font-size:12px}.reward-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.reward-filters>button{justify-content:center;font-size:12px;padding:11px 9px}.reward-rule-note{font-size:12px}.reward-empty h2{font-size:20px}.reward-empty p{font-size:12px}}
/* Keep every count inside its circle, including the next stamp target. */
.game-stamp-slot .slot-number{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);display:grid;place-items:center;background:#fffdf3ed;color:#647b55;font-size:clamp(12px,1.2vw,17px);font-weight:700;line-height:1.2;min-width:1.65em;min-height:1.5em;padding:2px 5px;border-radius:8px;z-index:1;font-variant-numeric:tabular-nums;pointer-events:none}
.game-stamp-slot.empty .slot-number{color:#8c9d76;background:transparent}.game-stamp-slot.next-slot .slot-number{display:grid;color:var(--accent);background:#fffdf3e6}.game-stamp-slot .slot-outline{transform:translateY(-13%);font-size:27px}.game-stamp-slot .next-plus{font-size:26px}.game-stamp-slot.filled{padding:0}.game-stamp-slot.filled:hover{transform:rotate(-3deg) scale(1.04)}.game-stamp-slot:last-child .slot-outline{font-size:23px}.next-label{bottom:-13px;font-size:10px}
.card-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 15px;padding:10px 12px;border-radius:16px;background:#f6f8ed}.card-pagination>button{display:flex;align-items:center;gap:4px;font-size:13px;min-height:44px;padding:8px;border-radius:10px;color:var(--accent)}.card-pagination>button:not(:disabled):hover{background:#fff}.card-pagination>button:first-child svg{transform:rotate(180deg)}.card-pagination>div{text-align:center}.card-pagination strong{font-size:14px;font-weight:600}.card-pagination small{display:block;font-size:11px;color:#98a384;margin-top:5px}.stamp-record-detail{text-align:center;margin-top:20px}.stamp-record-detail>img{width:130px;height:130px;margin:0 auto 20px;transform:rotate(-7deg)}.stamp-record-detail h3{font-size:18px;line-height:1.9;overflow-wrap:anywhere}.stamp-record-detail p{font-size:12px;color:#9aa78c;margin:12px 0 24px}
@media(max-width:560px){.game-stamp-slot .slot-number{font-size:12px;bottom:9%;min-width:1.5em;min-height:1.3em;padding:1px 4px;border-radius:6px}.game-stamp-slot .slot-outline,.game-stamp-slot .next-plus{font-size:22px;transform:translateY(-18%)}.game-stamp-slot:last-child .slot-outline{font-size:18px}.next-label{font-size:8px;bottom:-11px}.card-pagination{gap:5px;padding:8px 6px;margin-bottom:13px}.card-pagination>button{font-size:11px;padding:6px 4px;gap:2px;min-height:44px}.card-pagination>button svg{width:15px}.card-pagination strong{font-size:12px}.card-pagination small{font-size:10px}.card-cheer{line-height:1.9}.stamp-record-detail h3{font-size:16px}}
