/* Kingdom identity: paper, morning sun, and a small green passport. */
[hidden]{display:none!important}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #93ad69;outline-offset:4px}.identity-link{display:flex;align-items:center;gap:8px;color:#547340;font-size:12px;max-width:185px}.identity-link>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-badge{display:inline-grid;place-items:center;min-width:34px;width:34px;height:34px;background:#edf2df;border-radius:50%;font-size:19px}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);z-index:100;background:#304e32;color:#fffef3;padding:14px 24px;border-radius:12px;box-shadow:0 8px 40px #28422525;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;font-size:13px}#toast.visible{opacity:1;transform:translate(-50%,0)}.identity-shell{display:grid;grid-template-columns:1fr 1.15fr;background:#fffef9;border:1px solid #e1e7d6;border-radius:22px;overflow:hidden;min-height:690px}.identity-story{background:linear-gradient(145deg,#eaf0d9,#eef4df 50%,#dde9cc);padding:36px 38px;position:relative;overflow:hidden;display:flex;flex-direction:column}.back-home{font-size:11px;color:#81926a;margin-bottom:34px;display:inline-block}.identity-story .eyebrow{font-size:9px;letter-spacing:2px}.identity-story h1{font-size:34px;line-height:1.6;letter-spacing:-1px;color:#3f5b35;margin:15px 0}.identity-story h1>span{color:#c9a553}.identity-story>p{font-size:12px;line-height:2;color:#81916f;margin:0}.passport-preview{position:relative;z-index:1;margin:30px auto 20px;background:#fffdf2;width:100%;max-width:290px;border:1px solid #dce2c5;border-radius:12px;box-shadow:0 16px 35px #64774615;transform:rotate(-4deg);padding:22px;text-align:center}.passport-top,.passport-bottom{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1px;color:#8e9c76}.passport-top{padding-bottom:14px;border-bottom:1px solid #e7ead7}.passport-mark{width:66px;height:66px;border-radius:50%;background:#edf0d5;margin:21px auto 10px;display:grid;place-items:center;font-size:35px}.passport-preview h3{font-size:19px;margin:10px 0;color:#4e653d;overflow-wrap:anywhere}.passport-preview p{font-size:10px;color:#9ca487;margin:10px 0 24px;overflow-wrap:anywhere}.passport-bottom{border-top:1px dashed #dfe4cd;padding-top:15px;font-size:8px}.identity-perks{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:10px;color:#788e5d;position:relative;z-index:1;margin-top:auto;padding-top:20px}.story-hill{position:absolute;width:500px;height:230px;background:#d1dfb680;border-radius:50%;bottom:-150px;left:-80px;transform:rotate(10deg)}.identity-form-area{padding:48px 42px;align-self:center}.form-kicker{color:#a2ad89;letter-spacing:2px;font-size:9px}.identity-form-area h2{font-size:25px;margin:12px 0 10px;letter-spacing:-.5px}.form-intro{font-size:12px;color:#95a086;line-height:1.9;margin:0 0 25px}.identity-form{display:grid;gap:18px}.identity-form label{display:block;font-size:12px;color:#637551;font-weight:500}.identity-form input:not([type=radio]),.identity-form textarea{width:100%;margin-top:9px;padding:13px 14px;background:#fbfcf6;border:1px solid #dfe6d2;border-radius:8px;font-size:13px;color:#3d5132;transition:box-shadow .2s}.identity-form input::placeholder,.identity-form textarea::placeholder{color:#b2baa5}.identity-form label small{display:block;font-weight:400;font-size:10px;color:#a0aa90;margin-top:8px;line-height:1.6}.identity-form input:focus,.identity-form textarea:focus{outline:2px solid #a9bd8d;box-shadow:0 0 0 5px #8ea4650a}.password-wrap{position:relative}.password-wrap input{padding-right:58px!important}.reveal-password{position:absolute;right:12px;top:23px;background:transparent;border:0;font-size:10px;color:#7b8e62}.identity-form .btn{padding:13px 20px;font-size:12px}.wide{width:100%;display:flex;justify-content:space-between}.form-note{font-size:10px;color:#9ba68c;line-height:1.9;margin:0}.form-error{font-size:12px;color:#b45942;line-height:1.8;margin:0}.form-error:empty{display:none}.auth-switch{font-size:11px;color:#9aa389;text-align:center;border-top:1px solid #edf0e4;margin-top:26px;padding-top:23px}.auth-switch a{color:#638048;font-weight:600}.privacy-note{font-size:10px;color:#a8af9b;line-height:1.9;text-align:center;margin-top:25px}.register-steps{list-style:none;display:flex;padding:0;margin:25px 0 30px;gap:8px}.register-steps li{display:flex;align-items:center;gap:7px;flex:1;color:#aeb79e;font-size:10px;position:relative}.register-steps li b{width:24px;height:24px;background:#f0f2e7;border-radius:50%;display:grid;place-items:center;font-size:10px}.register-steps li.active{color:#617e45}.register-steps li.active b{background:#617e45;color:white;box-shadow:0 0 0 4px #eaf0de}.register-steps li.done b{background:#dee9c9;color:#648043}.reg-stage{display:grid;gap:18px}.register-buttons{display:flex;gap:12px}.register-buttons .primary{flex:1}.badge-field{border:0;padding:0;margin:0}.badge-field legend{font-size:12px;color:#637551;margin-bottom:12px}.badge-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.badge-option{position:relative;cursor:pointer;text-align:center;padding:11px 4px;border:1px solid #e4e9d7;border-radius:9px;background:#fbfcf5;transition:.2s}.badge-option input{position:absolute;opacity:0;width:1px;height:1px}.badge-option span{font-size:26px}.badge-option small{font-size:9px!important;margin-top:5px!important}.badge-option:has(input:checked){border-color:#8da65f;background:#edf3de;box-shadow:0 0 0 1px #8da65f}.badge-option:has(input:focus-visible){outline:3px solid #b1c58c}.optional{color:#afb69f;font-size:10px;margin-left:8px}.identity-form textarea{min-height:75px}.review-heading{font-size:15px;color:#6d854b;background:#f1f5e4;padding:16px;border-radius:9px}.review-person{display:flex;gap:17px;align-items:center;padding:15px 0}.review-person>span{font-size:40px;width:70px;height:70px;background:#f2f4e3;display:grid;place-items:center;border-radius:50%}.review-person strong{font-size:19px;overflow-wrap:anywhere}.review-person small{display:block;margin-top:7px;color:#9eaa8b}.save-promise{display:flex;gap:12px;padding:18px;background:#faf9ee;border:1px solid #eee9d3;border-radius:9px}.save-promise>span{font-size:24px;color:#adad75}.save-promise strong{font-size:12px;color:#88875a}.save-promise p{font-size:11px;color:#a3a180;line-height:1.9;margin:7px 0 0}.gate-panel{text-align:center;padding:45px 25px;background:radial-gradient(ellipse at top,#f0f5dd,#fffef8);}.gate-icon{font-size:45px}.gate-panel h2{font-size:22px}.gate-panel p{color:#8d9a7b;line-height:1.9}.gate-panel .actions{justify-content:center}.gate-panel small{display:block;color:#a4ae95;margin-top:23px;font-size:10px}.loading-state{padding:28px;color:#9ca98a;text-align:center;font-size:12px}.composer-person{display:flex;align-items:center;gap:10px;font-size:12px}.composer-person small{font-size:10px;color:#a1ac92;margin-left:9px}.post-author{display:flex;gap:10px;align-items:center}.post-author strong{font-size:12px;font-weight:500}.post-author small{display:block;font-size:10px;color:#9da78e;margin-top:3px}.post h3{margin-top:20px}.post-actions{display:flex;justify-content:space-between;align-items:center}.post-actions .delete-post{background:transparent;color:#a5ac97;font-size:10px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;color:#9aa789;font-size:11px}.game-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.cloud-state{font-size:10px;color:#829b60;background:#f0f5e5;padding:9px 13px;border-radius:20px}.game-top h2{margin-bottom:8px}.game-controls{text-align:center}.game-controls .btn{margin:0 4px}.tile{transition:background .15s,transform .15s}.tile.revealed{background:#fff5d6;border-color:#dcc386;transform:scale(.97)}.tile.matched{background:#e4edd2;transform:scale(.95)}.empty-game{grid-column:1/-1;text-align:center;font-size:70px;padding:45px 10px;color:#beca9b}.empty-game p{font-size:12px;color:#9baa82}.account-welcome{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:10px 0 27px}.account-welcome h1{font-size:28px;margin:14px 0}.account-welcome h1>span{color:#c5ae69}.account-welcome p{font-size:12px;color:#99a38c}.account-overview{display:grid;grid-template-columns:1.2fr 1fr;gap:22px}.resident-card{background:linear-gradient(120deg,#eef3dc,#f6f6e6);border:1px solid #dce5c7;border-radius:14px;padding:24px 27px}.resident-person{display:flex;align-items:center;gap:17px;padding-top:21px}.resident-person>span{font-size:39px;background:#fffff3;border:1px solid #e1e7cc;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;flex-shrink:0}.resident-person h2{font-size:23px;margin:0;overflow-wrap:anywhere}.resident-person p{color:#95a17e;font-size:11px;margin:8px 0 0}.resident-bio{font-size:12px;color:#899775;margin:20px 0;overflow-wrap:anywhere}.account-stats{display:grid;grid-template-columns:1fr 1fr;gap:13px}.account-stats>div{background:#fffef8;border:1px solid #e3e8d7;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:105px}.account-stats strong{font-size:30px;color:#607c44;font-weight:500}.account-stats span{color:#9ca78d;font-size:11px;margin-top:9px}.account-tabs{display:flex;gap:22px;margin:30px 0 20px;border-bottom:1px solid #e2e7d7;overflow:auto}.account-tabs button{white-space:nowrap;background:none;border:0;border-bottom:2px solid transparent;padding:12px 0 14px;color:#9aa589;font-size:12px}.account-tabs button.selected{border-bottom-color:#718e51;color:#607c44}.section-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-caption h3{font-size:15px;margin:0}.section-caption>span{font-size:10px;color:#a7af9c}.record-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid #edf0e5}.record-row:last-child{border-bottom:0}.record-row>div{flex:1;min-width:0}.record-row strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.record-row small{display:block;font-size:10px;color:#a2ad92;margin-top:7px}.record-row>span:last-child{font-size:10px;color:#99a985}.record-icon{width:34px;height:34px;background:#eef3df;display:grid;place-items:center;border-radius:8px;color:#94a677}.saved-game{display:flex;align-items:center;gap:20px;background:#f5f6e9;border:1px solid #e7ead5;padding:23px;border-radius:11px;margin-bottom:24px}.saved-game>span{font-size:40px;color:#adb889}.saved-game>div{flex:1}.saved-game h3{font-size:14px;margin:0 0 8px}.saved-game p{font-size:10px;color:#9ba68a;margin:0;line-height:1.8}.profile-form{max-width:460px}.profile-form>.btn{justify-self:start}.account-content>h3{font-size:15px;margin-bottom:25px}.auth-layout footer{margin-top:24px}@media(min-width:1500px){.identity-shell{max-width:1150px;margin:0 auto}.identity-story{padding:42px 52px}.identity-form-area{padding:55px 64px}.identity-story h1{font-size:40px}}@media(max-width:1100px){.identity-story{padding:30px 24px}.identity-story h1{font-size:29px}.identity-form-area{padding:35px 26px}.identity-shell{grid-template-columns:.9fr 1.1fr}.register-steps{gap:4px}.register-steps li{font-size:9px;gap:5px}.identity-perks{font-size:9px}.account-overview{grid-template-columns:1fr}.account-stats{grid-template-columns:repeat(4,1fr)}.account-stats>div{min-height:100px}}@media(max-width:800px){.identity-shell{grid-template-columns:1fr}.identity-story{padding:25px 28px}.back-home{margin-bottom:22px}.identity-story h1{font-size:27px;line-height:1.5;margin:12px 0}.identity-story h1 br{display:none}.identity-story>p{font-size:11px}.passport-preview{display:none}.identity-perks{margin-top:4px;padding-top:16px}.identity-form-area{padding:30px}.account-welcome h1{font-size:23px}.saved-game{flex-wrap:wrap}.saved-game .btn{margin-left:60px}.game-top{align-items:flex-start;flex-direction:column;gap:5px}}@media(max-width:640px){header{gap:8px}.header-right{gap:10px}.identity-link{font-size:10px;max-width:130px}.identity-link .mini-badge{width:25px;height:25px;min-width:25px;font-size:15px}.search-button{font-size:0}.search-button:before{content:'⌕';font-size:19px}.search-button kbd{display:none}.identity-shell{border-radius:15px}.identity-story{padding:22px}.identity-story h1{font-size:24px}.identity-story .eyebrow{font-size:8px;letter-spacing:1px}.identity-form-area{padding:26px 20px}.identity-form-area h2{font-size:22px}.form-intro{font-size:11px}.register-steps li{font-size:9px}.register-steps li b{width:22px;height:22px}.register-steps{gap:5px}.identity-form{gap:16px}.identity-perks{gap:8px;font-size:8px}.account-welcome{align-items:flex-start;flex-direction:column}.account-welcome h1{font-size:23px}.resident-card{padding:21px}.resident-person h2{font-size:20px}.resident-card .passport-bottom{font-size:7px;letter-spacing:0}.account-stats{gap:8px}.account-stats strong{font-size:23px}.account-stats span{font-size:9px}.account-stats>div{min-height:83px}.account-tabs{gap:20px}.account-tabs button{font-size:11px}.section-caption{align-items:flex-start;flex-direction:column;gap:8px}.record-row{gap:10px}.record-row .btn{padding:8px;font-size:10px}.record-row>span:last-child{font-size:8px}.game-panel{padding:20px 14px}.game-controls .btn{padding:10px;font-size:10px}.gate-panel h2{font-size:19px}.gate-panel p{font-size:12px}.gate-panel .actions{flex-wrap:wrap}.saved-game{padding:15px;gap:12px}.saved-game .btn{margin-left:0}.post-author strong{font-size:11px}.post-actions button{font-size:10px}.composer-person small{display:block;margin:5px 0 0}}

.medal-strip{margin:22px 0;padding:20px 24px;border:1px solid #e4e9d7;border-radius:14px;background:linear-gradient(110deg,#fffdf0,#f1f5e3);display:flex;align-items:center;justify-content:space-between;gap:20px}.medal-strip h3{margin:7px 0 0;font-size:15px;color:#526b3c}.medal-list{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.medal{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:20px;background:#fffef8;border:1px solid #e6dfbd;color:#b08a3d;font-size:18px;box-shadow:0 3px 8px #7b71330a}.medal b{font-size:10px;color:#7d805d;font-weight:500}.earned-medals{display:flex;gap:4px;margin-top:4px}.earned-medals span{font-size:14px;filter:drop-shadow(0 2px 2px #74631a22)}
@media(max-width:640px){.medal-strip{display:block;padding:17px}.medal-list{justify-content:flex-start;margin-top:13px}.medal{font-size:15px}.medal b{font-size:9px}}

.garden-panel{overflow:hidden}.garden-head{display:flex;justify-content:space-between;align-items:flex-start}.garden-head h2{margin:10px 0 7px}.garden-sun{font-size:45px;color:#d6af4c;filter:drop-shadow(0 0 12px #e7cb7188)}.garden-scene{height:210px;margin:20px -24px;background:linear-gradient(#e7f0d5,#d7e8bf);position:relative;overflow:hidden}.garden-scene:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 25%,#fff1ae 0 28px,transparent 29px),linear-gradient(165deg,transparent 55%,#b5cf98 56% 72%,#91b47b 73%)}.garden-castle{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);font-size:92px;color:#fff9df;text-shadow:4px 8px #6f925c}.garden-trees{position:absolute;bottom:50px;left:12%;font-size:55px;color:#65915d;letter-spacing:12px}.garden-path{position:absolute;bottom:-20px;left:40%;width:130px;height:120px;background:#ddc995;border-radius:50% 50% 0 0;transform:rotate(12deg)}.garden-sparkles{position:absolute;top:30px;left:35%;color:#fff8cc;font-size:20px}.garden-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.garden-action{background:#f3f5e7;border:1px solid #dce5c9;border-radius:10px;padding:14px 8px;color:#5e7846;font-size:12px}.garden-action b{display:block;font-size:9px;color:#99a886;margin-top:7px}.garden-action.primary{background:#5d8248;color:#fffef3;border-color:#5d8248}.garden-action.primary b{color:#e5efc9}.garden-action:disabled{opacity:.5}.garden-progress{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:10px;color:#899875}.garden-progress div{height:7px;flex:1;background:#e9eddf;border-radius:5px;overflow:hidden}.garden-progress i{display:block;height:100%;background:#d6ad4c;border-radius:5px}.garden-message{text-align:center;color:#7c925e;font-size:12px;margin:20px 0 0}@media(max-width:640px){.garden-scene{height:180px;margin:18px -14px}.garden-actions{grid-template-columns:1fr}.garden-progress{flex-wrap:wrap}.garden-progress div{flex-basis:100%;order:3}.garden-castle{font-size:76px}}

.garden-action.burst{background:#fff1cd;border-color:#e4c36b;color:#986d28}.garden-buildings{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.garden-buildings button{background:#fffef5;border:1px solid #e1e5cf;border-radius:8px;padding:8px 12px;color:#77865c;font-size:10px}.garden-buildings button:hover{border-color:#b8c98e;transform:translateY(-1px)}

.upgrade-tree{margin:18px 0;padding:16px 18px;border-radius:11px;background:#f8f8ed;border:1px solid #e5e9d9}.upgrade-tree h3{margin:7px 0 13px;font-size:14px;color:#617a4a}.tree-branches{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tree-branches button{padding:10px 7px;background:#fffef8;border:1px solid #dfe5d2;border-radius:8px;color:#68814c;font-size:11px}.tree-branches small{display:block;color:#9ba78c;font-size:8px;margin-top:5px}@media(max-width:640px){.tree-branches{grid-template-columns:repeat(2,1fr)}}

.battle-panel{margin:18px 0;padding:15px;border:1px solid #eadfc0;border-radius:11px;background:linear-gradient(120deg,#fff9e5,#f1eedc)}.battle-panel h3{margin:8px 0;color:#7c633a}.enemy-hp{height:8px;background:#eadbd0;border-radius:5px;overflow:hidden}.enemy-hp i{display:block;height:100%;background:#c26c5f}.battle-actions{display:flex;gap:8px;margin-top:13px}.battle-actions button{border:1px solid #ded9bc;background:#fffef4;border-radius:7px;padding:8px 11px;color:#79633c;font-size:10px}

.companion-panel{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px;border:1px solid #dfe8d1;border-radius:11px;background:#f4f7e8;margin:16px 0}.companion-panel h3{margin:7px 0}.companion-buttons{display:flex;gap:7px;flex-wrap:wrap}.companion-buttons button{border:1px solid #dce5cf;background:#fffef7;border-radius:8px;padding:8px 10px;color:#68804e;font-size:10px}.companion-buttons button:disabled{opacity:.45}@media(max-width:640px){.companion-panel{display:block}.companion-buttons{margin-top:12px}}

.route-map{margin:18px 0;padding:15px;border:1px solid #dfe8d1;border-radius:11px;background:#fbf8e9}.route-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0}.route-buttons button{padding:9px 12px;border-radius:8px;border:1px solid #deddbf;background:#fffef6;color:#6f7f55;font-size:10px}.route-buttons button:disabled{opacity:.4}.route-map small{font-size:10px;color:#9da687}

.event-overlay{position:fixed;inset:0;z-index:80;background:#33482e66;backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.event-card{position:relative;width:min(500px,100%);border:1px solid #e4d9ad;border-radius:18px;padding:30px;background:linear-gradient(145deg,#fffdf1,#f1f5e3);box-shadow:0 24px 70px #263b2540;text-align:center}.event-close{position:absolute;right:16px;top:12px;background:none;border:0;font-size:25px;color:#a2a789}.event-art{margin:17px auto;width:75px;height:75px;border-radius:50%;display:grid;place-items:center;font-size:35px;color:#d2aa4a;background:#fff4c9;box-shadow:0 0 0 10px #f9eabd55}.event-card h2{margin:16px 0 8px;color:#516b3d}.event-card>p{font-size:12px;color:#879477;line-height:1.9}.event-choices{display:grid;gap:10px;margin-top:22px}.event-choices button{display:grid;grid-template-columns:30px 1fr auto;align-items:center;text-align:left;gap:10px;padding:13px;border:1px solid #dfe6cf;border-radius:10px;background:#fffef8;color:#5d7647}.event-choices button:hover{border-color:#9eb87c;transform:translateY(-2px)}.event-choices b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#edf2dc}.event-choices small{font-size:9px;color:#a5ad92}

.feedback-pop{animation:feedbackPop .65s ease-out}.garden-action:active{transform:scale(.96)}.garden-action.primary{box-shadow:0 5px 15px #517a3a22}.garden-action.burst{box-shadow:0 5px 15px #d3a83d25}@keyframes feedbackPop{0%{opacity:.3;transform:scale(.96)}55%{opacity:1;transform:scale(1.06);color:#b0822d}100%{transform:scale(1)}}

.chapter-goal{display:inline-block;margin:0 0 8px;padding:7px 10px;border-radius:7px;background:#edf3dd;color:#718552;font-size:10px}

.garden-action.rest{background:#e8f0dc;border-color:#bfd2a3;color:#607d4e}.garden-action.rest b{color:#91a37b}

.status-bars{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;margin:10px 0;color:#8a9878;font-size:9px}.status-bars i{height:7px;background:#e7e9d9;border-radius:5px;overflow:hidden}.status-bars i b{display:block;height:100%;background:#c87262;border-radius:5px}.status-bars i.focus b{background:#d4ad4d}@media(max-width:640px){.status-bars{grid-template-columns:auto 1fr;gap:5px}}

.garden-buildings button small{display:block;color:#a4ad91;font-size:8px;margin-top:4px}

.chapter-map{margin:18px 0;padding:16px;border:1px solid #e3e8d8;border-radius:11px;background:#fbfcf3}.chapter-nodes{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:13px}.chapter-node{display:flex;align-items:center;gap:5px;min-width:0;color:#9fa88e;font-size:8px}.chapter-node b{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#e8ebdf;font-size:9px}.chapter-node.done{color:#779354}.chapter-node.done b{background:#dce9c8;color:#5e7c41}.chapter-node.current{color:#a17d31;font-weight:600}.chapter-node.current b{background:#e8c86e;color:#fff}.chapter-node.locked{opacity:.48}@media(max-width:640px){.chapter-nodes{grid-template-columns:repeat(3,1fr)}}
