@font-face{font-family:'Maloo Home';font-display:swap;font-style:normal;font-weight:45 920;src:url('/assets/maloo/fonts/pretendard-home.woff2?v=11d2df1f985b') format('woff2')}
@font-face{font-family:Pretendard;font-style:normal;font-display:swap;font-weight:45 920;src:url('/assets/maloo/fonts/pretendard-core.woff2?v=da32cc189566') format('woff2')}
:root{--forest:#173b2c;--forest-deep:#10251b;--paper:#f5f0e6;--cream:#fffdf7;--ink:#243b2d;--muted:#565f4f;--gold:#e6b85c;--line:#dcdccf;--radius:6px;font-family:Pretendard,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:100px}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;display:block}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.28;letter-spacing:-.045em;word-break:keep-all}p{word-break:keep-all}h1{font-size:54px}h2{font-size:40px}h3{font-size:22px}em{font-style:normal;color:#526b49}a,button{transition:background .2s,color .2s,transform .2s,border-color .2s}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ad7830;outline-offset:4px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:16px;top:-100px;z-index:200;background:var(--cream);padding:12px 18px}.skip-link:focus{top:16px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.18em;color:#53664a;line-height:1.6;margin-bottom:20px}.section-wrap{width:min(1240px,calc(100% - 112px));margin:auto}.text-link{display:inline-flex;align-items:center;gap:36px;font-size:13px;font-weight:700;border-bottom:1px solid var(--line);padding:12px 0}.text-link:hover{color:#987035;gap:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 25px;border-radius:3px;font-weight:700;font-size:14px;min-height:54px}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#27301c}.button-gold:hover{background:#f0c978}.button-dark{background:var(--forest);color:var(--cream)}.button-outline{border:1px solid #bac5b3;background:transparent}.button span{font-size:20px;line-height:1}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 48px;background:var(--forest-deep);color:var(--cream);position:relative;z-index:20;border-bottom:1px solid #ffffff18}.brand{display:inline-flex;align-items:center;gap:11px;flex-shrink:0}.brand>span{font-size:22px;font-weight:800;letter-spacing:-.06em;line-height:1.1}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:.3em;margin-top:6px;color:#bfc9ac}.brand img{flex-shrink:0}.desktop-nav{display:flex;gap:30px;font-size:12px;color:#e0e3d5}.desktop-nav a[aria-current]{color:var(--gold)}.desktop-nav a:hover{color:var(--gold)}.header-actions{display:flex;align-items:center;gap:21px;font-size:11px}.nav-shop{color:#b6c3ad}.nav-login{background:none;color:inherit;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 0;font-size:11px}.nav-play{border:1px solid #ffffff3b;padding:10px 18px;display:flex;gap:25px;align-items:center}.nav-play:hover{border-color:var(--gold);color:var(--gold)}.mobile-menu{display:none}.home-page .site-header{position:absolute;inset:0 0 auto;background:#10251b50}.maloo-hero{position:relative;color:var(--cream);min-height:850px;height:min(980px,100svh);isolation:isolate;background:var(--forest-deep)}.hero-picture,.hero-vignette{position:absolute;inset:0;z-index:-2}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-vignette{z-index:-1;background:linear-gradient(90deg,rgba(9,24,16,.8),rgba(9,24,16,.5) 36%,transparent 80%),linear-gradient(0deg,rgba(9,24,16,.9),transparent 22%)}.hero-content{padding:190px 0 140px max(64px,calc((100% - 1240px)/2));max-width:820px}.hero-kicker{font-size:9px;letter-spacing:.2em;display:flex;gap:10px;align-items:center;color:#d5cfb5;margin-bottom:28px}.tiny-stump{width:6px;height:6px;background:var(--gold);border-radius:50%}.hero-name{font-size:16px;font-weight:800;color:var(--gold);letter-spacing:-.04em;display:flex;align-items:center;gap:14px;margin-bottom:14px}.hero-name span{font-size:9px;letter-spacing:.28em;font-weight:400;color:#e2cf9d}.hero-content h1{font-size:clamp(42px,4.2vw,65px);font-weight:650;line-height:1.26;letter-spacing:-.06em}.hero-content h1 em{color:var(--gold)}.hero-description{font-size:15px;color:#e1e2d2;line-height:1.9;margin:27px 0 34px}.hero-actions{display:flex;align-items:center;gap:26px}.hero-discord{font-size:11px;color:#e4dfcb;display:flex;gap:14px;border-bottom:1px solid #ffffff40;padding:12px 0}.hero-status{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.05em;margin-top:31px;color:#e0dfce}.status-dot{width:6px;height:6px;border-radius:50%;background:#e6b85c;display:inline-block}.status-dot.online{background:#9ac388}.status-separator{color:#819078;margin:0 3px}.hero-status-detail{font-size:10px;color:#c1c5b4;margin-top:8px}.hero-bottom{position:absolute;bottom:34px;left:max(64px,calc((100% - 1240px)/2));right:48px;display:flex;align-items:end;justify-content:space-between;gap:16px}.scroll-cue{font-size:10px;letter-spacing:.06em;display:flex;gap:30px}.scroll-cue span{font-size:19px}.art-caption{font-size:8px;color:#d3d2c4;letter-spacing:.08em}.server-copy{background:#f5f0e60e;border:1px solid #ffffff35;backdrop-filter:blur(8px);color:var(--cream);display:flex;gap:45px;align-items:center;text-align:left;padding:14px 20px;min-width:245px}.server-copy small{display:block;font-size:8px;letter-spacing:.16em;color:#cfccb4}.server-copy strong{font-size:17px;letter-spacing:.02em}.server-copy b{font-size:9px;font-weight:500}.intro-section{padding:100px max(56px,calc((100% - 1240px)/2)) 105px;background:var(--paper)}.intro-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.intro-top .eyebrow{margin:0}.chapter{font-size:10px;color:#626653;letter-spacing:.05em}.intro-copy{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:start;margin-bottom:55px}.intro-copy h2{font-size:41px;line-height:1.4;font-weight:650}.intro-copy>div{padding-top:8px}.intro-copy p{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:13px}.intro-copy .text-link{margin-top:8px}.life-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.life-card{position:relative;min-height:400px;overflow:hidden;border-radius:3px;color:var(--cream);background:var(--forest)}.life-card>img{height:400px;width:100%;object-fit:cover;transition:transform .7s}.life-card:hover>img{transform:scale(1.035)}.life-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#10251be8,transparent 75%);pointer-events:none}.life-card>div{position:absolute;left:30px;right:30px;bottom:28px;z-index:1}.life-card span{font-size:9px;letter-spacing:.18em;color:#e1cea5}.life-card h3{font-size:26px;margin:10px 0}.life-card p{font-size:12px;color:#e4e1cf}.life-card b{position:absolute;right:0;top:30px;width:38px;height:38px;border:1px solid #ffffff55;border-radius:50%;display:grid;place-items:center;font-weight:400}.section-footnote{font-size:10px;color:var(--muted);margin-top:16px}.together-section{position:relative;isolation:isolate;overflow:hidden;background:var(--forest);color:var(--cream);text-align:center;padding:90px 32px 96px}.together-label{display:flex;flex-direction:column;align-items:center;gap:24px}.together-label .eyebrow{color:#c3c9ad}.together-section h2{font-size:46px;line-height:1.4}.together-section h2 em{color:var(--gold)}.together-section>p{font-size:13px;line-height:1.9;color:#d2d8c7;margin-top:24px}.together-links{display:flex;justify-content:center;gap:35px;margin-top:34px}.together-links a{font-size:11px;display:flex;gap:25px;border-bottom:1px solid #7a927d;padding-bottom:10px}.tree-rings{position:absolute;z-index:-1;width:750px;height:750px;border-radius:50%;top:-100px;right:-390px;background:repeating-radial-gradient(ellipse at center,transparent 0,transparent 32px,#ffffff08 33px,#ffffff08 34px);transform:rotate(20deg) scaleX(1.2)}.news-section{padding-top:95px;padding-bottom:100px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:12px}.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.news-card{padding:30px;background:#fffdf755;border:1px solid var(--line);border-radius:3px;min-height:250px;display:flex;flex-direction:column}.news-card:hover{border-color:#829476;background:#fffdf7}.news-card>span:first-child{font-size:10px;color:#526746;letter-spacing:.06em}.news-card h3,.news-card h2{font-size:23px;margin:20px 0 13px}.news-card p{font-size:13px;color:var(--muted);margin-bottom:30px}.news-card-bottom{margin-top:auto;display:flex;justify-content:space-between;font-size:10px;color:#5e6b54}.news-card-bottom b{font-size:18px;font-weight:400}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;padding-bottom:105px}.faq-heading .eyebrow{margin-bottom:15px}.faq-heading>p:not(.eyebrow){margin:22px 0;color:var(--muted);font-size:13px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;padding:23px 0;cursor:pointer;font-size:14px;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:22px;font-weight:300;color:#7e906d}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{padding:0 32px 25px 0;font-size:13px;color:var(--muted);line-height:1.9}.community-banner{display:grid;grid-template-columns:1fr 1fr;background:#dfdfcc;min-height:450px}.community-banner>div{padding:70px max(56px,calc((100vw - 1240px)/2));padding-right:32px}.community-banner h2{font-size:46px}.community-banner p:not(.eyebrow){font-size:13px;color:var(--muted);margin:20px 0 28px}.community-banner>img{width:100%;height:100%;object-fit:cover}.community-banner .eyebrow{margin-bottom:15px}footer{background:var(--forest-deep);color:#e6e8d9;padding:64px max(56px,calc((100% - 1240px)/2)) 24px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:45px}.footer-brand>p{font-size:11px;color:#bac5b1;margin:19px 0 14px}.footer-discord{font-size:11px;color:#e4c780}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:14px 40px;align-content:start;font-size:11px}.footer-legal{font-size:9px;color:#acb8a1;display:flex;flex-wrap:wrap;gap:4px 18px;max-width:1000px;line-height:1.8}.footer-bottom{margin-top:30px;padding-top:20px;border-top:1px solid #ffffff15;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;color:#abb59d}
.page-heading{padding:70px 0 45px}.page-heading h1{margin-bottom:22px}.page-heading p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9}.page-hero{padding:90px max(56px,calc((100% - 1240px)/2));min-height:510px}.scenic-hero{position:relative;color:var(--cream);background:linear-gradient(90deg,#10251be6,#10251b55),url('/assets/maloo/hero.webp?v=06a1d5d2d94f') center/cover}.scenic-hero em{color:var(--gold)}.scenic-hero p{margin-top:24px;color:#d9decb;font-size:14px}.scenic-hero .eyebrow{color:var(--gold);margin:0 0 23px}.scenic-hero .art-caption{position:absolute;right:30px;bottom:20px}.world-story{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding-top:90px;padding-bottom:90px;align-items:center}.world-story img{border-radius:3px;aspect-ratio:1.45;object-fit:cover;width:100%}.world-story p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:25px}.world-story .notice{font-size:11px!important;border-left:2px solid #bac4a5;padding-left:15px}.world-story.reverse>img{order:2}.simple-cta{text-align:center;padding:65px 24px 85px;border-top:1px solid var(--line)}.simple-cta .button{margin-top:25px}.news-page{padding-bottom:90px;min-height:650px}.launch-notice{padding:16px 22px;font-size:12px;border-left:3px solid #a78339;background:#e8e4d4;margin-bottom:35px}.edition-tabs{display:flex;border-bottom:1px solid var(--line);gap:4px}.edition-tabs button{padding:20px 28px;background:transparent;color:var(--muted);font-size:17px;font-weight:700;border-bottom:2px solid transparent}.edition-tabs button[aria-selected=true]{color:var(--forest);border-color:var(--forest)}.edition-tabs small{font-size:10px;font-weight:400;margin-left:12px}.edition-panel{padding:35px 0}.connect-card{background:var(--forest);color:var(--cream);padding:35px;display:flex;justify-content:space-between;gap:25px;align-items:center}.connect-card .eyebrow{color:#c7d1b5;margin-bottom:10px}.connect-card h2{letter-spacing:0}.connect-card h2 small{font-size:22px;color:#d5d9c5}.connect-card p:not(.eyebrow){font-size:11px;color:#d5d9c5;margin-top:12px}.connect-card .button{background:var(--gold);color:var(--ink)}.guide-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:42px 0}.guide-steps li{display:flex;gap:18px}.guide-steps li>span{font-size:13px;color:#5e714a;font-weight:700}.guide-steps h3{font-size:18px;margin-bottom:15px}.guide-steps p{font-size:12px;color:var(--muted)}code{background:#e5e6d7;padding:3px 7px;border-radius:3px;font-size:.9em;color:#36573a}.guide-help{padding:35px 0 80px}.guide-help .faq-list{margin-top:30px;margin-bottom:20px}#copy-feedback{font-size:12px;min-height:20px;color:var(--forest)}
.document-page,.residents-page,.mypage{width:min(1120px,calc(100% - 80px));margin:auto;padding:65px 0 85px;min-height:580px}.document-page>h1{font-size:45px}.document-lead{margin:22px 0 35px;color:var(--muted);font-size:14px}.document-page .eyebrow{margin-bottom:15px}.document-page>p:not(.eyebrow){margin-bottom:25px}.document-page a:not(.product-card){text-decoration:underline;text-underline-offset:4px}.policy-card{padding:28px 32px;border:1px solid var(--line);background:var(--cream);margin:18px 0}.policy-card h2{font-size:23px;margin-bottom:15px}.policy-card h3{font-size:18px;margin:20px 0 10px}.policy-card p,.policy-card li{font-size:13px;color:#58654e}.policy-nav{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.policy-nav a{padding:10px 14px;border:1px solid var(--line);font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0 35px}.product-card{display:flex;align-items:center;flex-direction:column;background:var(--cream);border:1px solid var(--line);padding:24px 18px;border-radius:5px;text-align:center;position:relative}.product-card:hover{border-color:#648157;transform:translateY(-4px);box-shadow:0 10px 25px #173b2c0a}.product-card img{width:150px;height:150px;object-fit:contain;margin-bottom:16px}.product-card strong{font-size:15px}.product-card b{font-size:22px;line-height:1.5;margin-top:8px}.product-card small{font-size:11px;color:#50613f;background:#eeefe4;padding:3px 10px;border-radius:2px;margin-top:12px}.charge-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:start}.charge-card,.charge-aside,.charge-info,.order-card{border:1px solid var(--line);background:var(--cream);padding:30px;border-radius:5px}.charge-card h2,.charge-aside h2,.charge-info h2,.order-card h2{font-size:20px;margin:20px 0 15px}.charge-card label{display:block;font-size:13px;margin:17px 0}.charge-card input:not([type=checkbox]):not([type=radio]),.charge-card textarea,input[type=password],input[type=text],input[type=email],input:not([type]),select{width:100%;background:#faf9f2;border:1px solid #c8cfbb;border-radius:3px;padding:13px 14px;color:var(--ink);min-width:0}.charge-card label>input:not([type=checkbox]):not([type=radio]){margin-top:8px}.charge-card input[type=checkbox],input[type=radio]{accent-color:var(--forest);width:17px;height:17px;vertical-align:middle;flex-shrink:0}.field-help{font-size:11px;color:var(--muted);margin:12px 0}.player-lookup,.charge-submit,.auth-submit{padding:14px 20px;background:var(--forest);color:var(--cream);border-radius:3px;font-weight:600}.charge-submit{width:100%;margin-top:18px}.charge-summary,.player-confirm,#recovery-panel{background:#edf0e4;padding:18px;font-size:13px;margin:15px 0}.payment-method-picker,.receipt-picker{border:1px solid var(--line);margin:25px 0;padding:18px}.payment-method-picker label,.receipt-options label{display:inline-flex;gap:8px;align-items:center;margin-right:18px}.receipt-options{display:flex;flex-wrap:wrap;gap:4px}.terms-check{display:flex!important;gap:10px;align-items:start;font-size:12px!important}.terms-check input{margin-top:4px}.charge-aside p,.charge-info p{font-size:12px;color:var(--muted);margin:15px 0}.package-summary{display:flex;align-items:center;gap:20px}.selected-package-art{width:110px;height:110px;object-fit:contain}.order-card{max-width:800px;margin:25px auto}.order-card h1{font-size:28px}.order-card p{font-size:13px;margin:10px 0}.order-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-state{display:inline-flex;align-items:center;padding:6px 12px;background:#e8eedf;color:var(--forest);border-radius:3px;font-size:13px}.order-card a,.retry-order,.order-refresh{display:inline-block;padding:12px 18px;border:1px solid var(--line);background:var(--cream);margin:8px 8px 8px 0;font-size:12px}.auth-layer{position:fixed;inset:0;z-index:100;background:#071b14bb;backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}.auth-layer.open{display:flex}.auth-modal{background:var(--cream);padding:35px;width:480px;max-width:100%;max-height:calc(100dvh - 40px);overflow:auto;position:relative;border-radius:6px;box-shadow:0 30px 100px #0005}.auth-close{position:absolute;top:15px;right:18px;background:transparent;font-size:25px;color:var(--ink)}.auth-modal-header{margin-bottom:20px}.auth-modal-header img{width:44px;height:44px;margin-bottom:15px}.auth-modal-header h2{font-size:28px}.auth-modal-header .eyebrow{margin:15px 0 7px}.auth-lead{font-size:12px;color:var(--muted);margin-top:13px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:15px 0 20px}.auth-tabs button{flex:1;background:transparent;padding:12px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.auth-tabs button.active{border-color:var(--forest);color:var(--forest)}.auth-modal form>label{display:block;font-size:12px;margin-top:16px}.auth-modal label>input:not([type=checkbox]){margin-top:7px}.auth-modal input[type=password]{width:100%;min-width:0}.auth-submit{width:100%;margin-top:22px}.auth-divider{display:flex;align-items:center;gap:15px;font-size:10px;color:var(--muted);margin:22px 0 12px}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-provider{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:13px;border:1px solid var(--line);background:transparent;margin:9px 0;font-size:12px}.auth-provider img{width:18px;height:18px}.auth-provider:hover{background:#eeefe4}.auth-message,.field-error{font-size:12px;color:#a84231;margin:12px 0}.password-row{position:relative;display:flex;gap:8px}.password-toggle{background:transparent;color:var(--muted);font-size:11px}.auth-options,.auth-account{font-size:13px}.auth-account>strong{font-size:23px;display:block}.auth-account>span{display:block;color:var(--muted);margin:8px 0}.auth-account button:not(.auth-provider){padding:10px 16px;border:1px solid var(--line);background:transparent;margin:10px 5px 0 0}.auth-dashboard-link{display:block;margin:18px 0}.privacy-settings{border:1px solid var(--line);padding:17px;margin:15px 0}.privacy-settings label{display:block;margin-top:8px;font-size:12px}.auth-meta,.auth-remember{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin:13px 0}.auth-meta button,.auth-helper button,.auth-secondary{background:transparent;text-decoration:underline;font-size:11px;color:var(--muted)}.auth-helper{font-size:11px;color:var(--muted);margin-top:15px}.auth-checks{margin-top:15px}.auth-checks label{font-size:11px;display:flex;gap:9px;margin:10px 0}.auth-checks input{flex-shrink:0}.auth-password-hint{font-size:11px;color:var(--muted);margin-top:6px}.residents-hero,.mypage-hero{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:40px}.residents-hero h1,.mypage-hero h1{font-size:44px}.residents-hero p:not(.eyebrow),.mypage-hero p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:20px;max-width:650px}.residents-hero>img{width:100px;opacity:.8}.resident-search-panel,.resident-ranking,.resident-card,.mypage-section,.mypage-card{border:1px solid var(--line);background:var(--cream);padding:28px;margin:24px 0;border-radius:4px}.resident-search-panel h2,.resident-ranking h2,.mypage-heading h2,.mypage-card h2{font-size:24px}.resident-search-panel .eyebrow,.resident-ranking .eyebrow,.mypage-section .eyebrow{margin-bottom:10px}.resident-search-panel form{display:flex;gap:12px;margin:25px 0 15px}.resident-search-panel form button{background:var(--forest);color:var(--cream);padding:13px 25px;white-space:nowrap;border-radius:3px}.resident-search-note,.resident-ranking-description,#my-public-rank{font-size:11px;color:var(--muted);margin-top:12px}.resident-ranking-head{display:flex;justify-content:space-between;gap:20px}.resident-tabs button{padding:8px 17px;background:#e8eddd;color:var(--forest);font-size:11px;border-radius:3px}.resident-ranking-list{padding:0;margin:25px 0 0;list-style:none}.resident-ranking-list>li{display:flex;align-items:center;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.resident-rank{font-size:19px;color:#5e714a;width:35px}.resident-avatar{width:44px;height:44px;border-radius:50%;background:#e8eddd;display:flex;align-items:center;justify-content:center;overflow:hidden}.resident-avatar img{width:28px;height:28px;object-fit:contain}.resident-ranking-list strong{font-size:14px}.resident-value{margin-left:auto;font-size:17px}.resident-value small{font-size:10px;color:var(--muted);margin-right:15px}.resident-empty{flex-direction:column;gap:12px!important;text-align:center;padding:40px!important}.resident-empty img{width:55px}.resident-empty span{font-size:12px;color:var(--muted)}.resident-result{margin-top:20px;padding:20px;background:#edf0e4;font-size:13px}.resident-result-head{display:flex;gap:15px;align-items:center}.resident-result-head strong{font-size:20px;display:block}.resident-result dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.resident-result dl>div{display:flex;justify-content:space-between;gap:15px}.resident-result dd{margin:0;font-weight:700}.resident-card-main{display:flex;align-items:center;gap:25px}.mypage-avatar{width:80px;height:80px;overflow:hidden;background:#eef0e2;border-radius:8px;display:grid;place-items:center}.mypage-avatar img{max-width:55px;max-height:65px;object-fit:contain}.resident-label,.skin-status{font-size:11px;color:var(--muted)}.resident-card h2{font-size:26px;margin:7px 0}.mypage-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.mypage-heading p,.mypage-copy{font-size:11px;color:var(--muted)}.mypage-heading a{font-size:11px}.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.wallet-item{display:flex;align-items:center;gap:17px;background:#f0f0e6;padding:20px;border-radius:3px}.wallet-icon img{width:32px;height:32px}.wallet-item small{font-size:11px;display:block}.wallet-item strong{font-size:23px;display:block}.wallet-item em{font-size:10px;display:block;color:var(--muted);margin-top:5px}.activity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.activity-grid>article{display:flex;flex-direction:column;align-items:center;background:#f0f0e6;padding:20px 12px}.activity-icon img{width:28px;height:28px;margin-bottom:14px}.activity-grid small,.activity-grid em{font-size:11px}.activity-grid strong{font-size:22px}.mypage-columns,.mypage-settings{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mypage-card label{font-size:12px;display:block;margin-top:12px}.mypage-card button,.mypage-card a,.history-pager button,.mypage-logout{padding:10px 15px;border:1px solid var(--line);background:transparent;font-size:11px;margin-top:15px}.card-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.card-orb{color:#728366;font-size:23px}.provider-list{display:flex;gap:12px;flex-wrap:wrap}.provider-list img,#provider-list img{width:18px;height:18px;display:inline-block;vertical-align:middle}.provider-item{display:inline-flex;align-items:center;gap:8px;font-size:12px}.mypage-guest{padding:40px;display:flex;align-items:center;gap:40px;background:var(--cream);border:1px solid var(--line);margin:30px 0}.mypage-guest img{width:90px}.mypage-guest h2{font-size:28px}.mypage-guest p:not(.eyebrow){font-size:12px;margin:17px 0;color:var(--muted)}.mypage-guest a{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.history-filter{font-size:12px;display:flex;gap:15px;align-items:center;margin:20px 0}.history-filter select{max-width:200px}.history-row,.mypage-order-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.history-row small,.mypage-order-row small{display:block;font-size:10px;color:var(--muted)}.history-row strong,.mypage-order-row strong{font-size:13px}.history-empty{padding:25px 0;color:var(--muted);font-size:12px}.history-pager{display:flex;gap:15px;align-items:center;font-size:12px}.mypage-empty,.mypage-loading{font-size:13px;color:var(--muted)}.mobile-join{display:none!important}
@media(min-width:1700px){.hero-content{padding-top:230px}.maloo-hero{min-height:950px}}@media(max-width:1100px){.site-header{padding:0 28px}.desktop-nav{gap:18px}.header-actions{gap:15px}.nav-shop{display:none}.section-wrap{width:calc(100% - 64px)}.hero-content{padding-left:44px}.hero-bottom{left:44px;right:28px}.intro-section{padding-left:32px;padding-right:32px}.intro-copy{gap:35px}.intro-copy h2{font-size:35px}.life-card,.life-card>img{min-height:360px;height:360px}.community-banner>div{padding-left:32px}.product-grid{grid-template-columns:repeat(3,1fr)}footer{padding-left:32px;padding-right:32px}.charge-layout{grid-template-columns:1.4fr 1fr}.wallet-item{padding:16px;gap:10px}.wallet-item strong{font-size:20px}.guide-steps{gap:20px}.world-story{gap:35px}}
@media(max-width:780px){h1{font-size:40px}h2{font-size:32px}.site-header{height:74px;padding:0 22px}.brand>span{font-size:21px}.desktop-nav,.nav-play{display:none}.header-actions{gap:22px}.mobile-menu{display:block}.mobile-menu summary{display:flex;flex-direction:column;gap:6px;cursor:pointer;padding:10px 0}.mobile-menu summary>span{width:20px;height:1px;background:var(--cream)}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;top:74px;left:0;right:0;background:var(--forest-deep);padding:24px;display:flex;flex-direction:column;gap:19px;font-size:14px;border-bottom:1px solid #ffffff33;box-shadow:0 20px 40px #0004}.maloo-hero{height:850px;min-height:850px}.hero-picture img{object-position:59% center}.hero-vignette{background:linear-gradient(90deg,#091810bd,#0918103d),linear-gradient(0deg,#091810f5,transparent 55%)}.hero-content{padding:170px 28px 170px;max-width:620px}.hero-content h1{font-size:48px}.hero-description{font-size:14px}.hero-kicker{font-size:8px}.hero-actions{gap:20px}.hero-actions .button{gap:25px;padding:15px 20px;font-size:12px}.hero-discord{font-size:10px}.hero-bottom{left:28px;right:28px;bottom:28px;align-items:center;flex-wrap:wrap}.hero-bottom .art-caption{order:3;width:100%;font-size:7px;margin-top:5px}.server-copy{min-width:220px;gap:20px;padding:12px 15px}.section-wrap{width:calc(100% - 48px)}.intro-section{padding:65px 24px}.intro-top{align-items:start;gap:20px}.chapter{font-size:8px}.intro-top .eyebrow{font-size:8px}.intro-copy{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.intro-copy h2{font-size:35px}.intro-copy>div{padding:0}.life-grid{gap:17px}.life-card,.life-card>img{height:330px;min-height:330px}.life-card>div{left:20px;right:20px;bottom:22px}.life-card h3{font-size:21px}.life-card p{font-size:11px}.life-card b{display:none}.together-section{padding:65px 24px}.together-section h2{font-size:37px}.news-section{padding-top:65px;padding-bottom:65px}.news-card{padding:24px}.news-card h3{font-size:21px}.faq-section{grid-template-columns:1fr;gap:30px;padding-bottom:65px}.faq-heading>p:not(.eyebrow){display:none}.faq-heading .text-link{margin-top:8px}.community-banner{grid-template-columns:1fr 1fr;min-height:380px}.community-banner>div{padding:45px 24px}.community-banner h2{font-size:34px}.community-banner .button{gap:20px;font-size:12px;padding:13px 17px}.footer-top{gap:30px}.footer-links{gap:15px 20px}.document-page,.residents-page,.mypage{width:calc(100% - 48px);padding:45px 0 65px}.document-page>h1,.residents-hero h1,.mypage-hero h1{font-size:36px}.charge-layout{grid-template-columns:1fr}.charge-card,.charge-aside,.charge-info{padding:25px}.product-grid{grid-template-columns:repeat(2,1fr);gap:14px}.world-story{grid-template-columns:1fr;padding:55px 0;gap:32px}.world-story.reverse>img{order:0}.page-hero{padding:65px 24px;min-height:470px}.guide-steps{grid-template-columns:1fr;gap:30px}.connect-card{padding:25px}.connect-card h2{font-size:30px}.connect-card .button{font-size:12px;gap:15px;padding:13px 18px}.page-heading{padding:50px 0 35px}.wallet-grid{grid-template-columns:1fr}.wallet-item{padding:20px}.activity-grid{grid-template-columns:repeat(3,1fr)}.mypage-columns,.mypage-settings{grid-template-columns:1fr;gap:0}.resident-ranking-head{flex-direction:column}.resident-search-panel,.resident-ranking,.resident-card,.mypage-section,.mypage-card{padding:23px}.residents-hero>img{display:none}.mypage-guest{padding:25px;gap:25px}.mypage-guest img{width:65px}.mypage-heading{align-items:start;flex-direction:column}.order-card dl{grid-template-columns:1fr}}
@media(max-width:520px){.maloo-hero{height:820px;min-height:820px}.hero-content{padding:145px 24px 170px}.hero-content h1{font-size:40px;line-height:1.32}.hero-kicker{font-size:7px;letter-spacing:.12em;margin-bottom:26px}.hero-description{font-size:13px;margin:23px 0 28px}.hero-actions{flex-direction:column;align-items:start;gap:14px}.hero-actions .button{padding:15px 22px;min-width:220px}.hero-discord{padding:7px 0}.hero-status{margin-top:25px;font-size:8px;gap:8px}.hero-status-detail{font-size:9px}.hero-bottom{left:24px;right:24px;gap:20px;bottom:23px}.scroll-cue{font-size:8px;gap:16px}.server-copy{min-width:0;gap:15px;padding:10px 13px}.server-copy strong{font-size:14px}.server-copy small{font-size:6px}.server-copy b{font-size:8px}.intro-copy h2{font-size:30px}.life-grid{grid-template-columns:1fr}.life-card,.life-card>img{height:340px;min-height:340px}.life-card h3{font-size:24px}.section-footnote{font-size:9px;line-height:1.8}.together-section h2{font-size:32px}.together-section>p{font-size:12px}.together-links{gap:22px}.together-links a{font-size:10px;gap:15px}.news-grid{grid-template-columns:1fr}.section-head h2{font-size:29px}.section-head .text-link{font-size:11px;gap:12px}.community-banner{grid-template-columns:1fr}.community-banner>div{padding:50px 24px}.community-banner>img{height:230px}.community-banner h2{font-size:39px}.footer-top{flex-direction:column;padding-bottom:30px}.footer-links{grid-template-columns:repeat(2,1fr);gap:15px}.footer-bottom{font-size:7px;gap:20px}.footer-bottom span:last-child{display:none}footer{padding:45px 24px 24px}.document-page,.residents-page,.mypage{width:calc(100% - 36px)}.product-card{padding:18px 10px}.product-card img{width:125px;height:125px}.product-card strong{font-size:12px}.product-card b{font-size:20px}.product-grid{gap:12px}.charge-card,.charge-aside,.charge-info{padding:20px}.connect-card{align-items:start;flex-direction:column}.connect-card .button{width:100%;margin-top:8px}.edition-tabs button{padding:17px 15px;font-size:15px}.edition-tabs small{display:block;margin:5px 0 0;font-size:9px}.page-heading h1{font-size:34px}.page-heading p:not(.eyebrow){font-size:13px}.auth-layer{padding:12px}.auth-modal{padding:28px 22px;max-height:calc(100dvh - 24px)}.auth-modal-header h2{font-size:25px}.auth-modal-header img{width:34px;height:34px}.auth-tabs button{font-size:10px;padding:12px 8px}.auth-modal input{font-size:14px}.auth-helper{font-size:10px}.resident-search-panel form{gap:8px}.resident-search-panel form button{font-size:11px;padding:12px}.resident-search-panel form input{font-size:12px}.resident-ranking-list>li{gap:10px}.resident-avatar{width:33px;height:33px}.resident-value{font-size:14px}.resident-value small{display:none}.resident-ranking-list strong{font-size:12px}.resident-rank{font-size:16px;width:25px}.resident-result dl{grid-template-columns:1fr}.mypage-guest{flex-direction:column;align-items:start}.mypage-guest h2{font-size:25px}.resident-card-main{gap:15px}.mypage-avatar{width:60px;height:60px}.activity-grid{grid-template-columns:repeat(2,1fr)}.policy-card{padding:22px}.history-row,.mypage-order-row{flex-wrap:wrap}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}@media(prefers-reduced-motion:no-preference){.hero-content{animation:hero-in 1s ease both}@keyframes hero-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}

.provider-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.provider-row>div{flex:1}.provider-row small{display:block;font-size:10px;color:var(--muted)}.provider-row em{font-size:11px;color:#526b49}.provider-icon img{width:22px;height:22px}.mypage-order{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:12px}.mypage-order>div{display:flex;flex-direction:column;gap:8px}.mypage-order strong{font-size:17px}.mypage-order small{font-size:10px;color:var(--muted)}.order-pill{font-size:10px;background:#e7ecd9;color:var(--forest);padding:4px 9px;align-self:start;border-radius:3px}.order-pill.review{background:#f0e0cb;color:#7c4c27}.order-pill.complete{background:#e1ebd9}.wallet-row{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.wallet-row small{display:block;font-size:10px;color:var(--muted)}.auth-footer{font-size:11px;color:var(--muted);margin-top:15px}.auth-footer button{font-size:11px;background:none;color:var(--muted);text-decoration:underline}.auth-remember label{display:flex;gap:6px;align-items:center}.auth-links{display:flex;gap:12px;font-size:11px;justify-content:center;margin-top:20px}.auth-links button{background:none;font-size:11px;color:var(--muted)}

.error-symbol{margin:0 auto 25px}.simple-cta>p:not(.eyebrow){margin-top:20px;color:var(--muted);font-size:14px}.header-actions a,.nav-login{min-height:40px;display:inline-flex;align-items:center}.hero-discord{min-height:40px}.footer-links a{min-height:25px}.guide-steps li>span{color:#5e714a}

@media(max-width:780px){.server-copy{backdrop-filter:none}}
@media(max-width:780px){.header-actions .nav-play{display:none}.desktop-nav{display:none}}

@media(prefers-reduced-motion:no-preference){.hero-content{animation:none}.scroll-cue span{animation:scroll-hint 2.5s ease-in-out infinite}@keyframes scroll-hint{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}}

.home-page{font-family:'Maloo Home',Pretendard,system-ui,sans-serif}.home-page .auth-layer{font-family:Pretendard,system-ui,sans-serif}
.charge-notice{padding:28px;border:1px solid var(--line);background:#eeeee0;border-radius:4px}.charge-notice h2{font-size:22px;margin-bottom:16px}.charge-notice h3{font-size:18px;margin:25px 0 12px}.charge-notice p,.charge-notice a{font-size:12px;line-height:1.9;color:var(--muted)}#selected-package{display:flex;gap:20px;align-items:center;padding-bottom:25px;margin-bottom:10px;border-bottom:1px solid var(--line)}#selected-package img{flex-shrink:0}#selected-package strong{font-size:20px}#selected-package p{font-size:12px;color:var(--muted);margin-top:7px}.charge-summary h2{margin-top:0}.charge-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;font-size:12px}.charge-summary dd{margin:0;font-weight:600}.mypage-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mypage-settings-grid .mypage-card{margin:0}.wallet-history-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.wallet-history-row small{font-size:10px;color:var(--muted)}.mypage-password-form label{display:block;font-size:12px;margin-top:15px}.mypage-password-form input{margin-top:8px}.resident-farm,.resident-card-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin-top:20px}.result-actions{display:flex;gap:14px;flex-wrap:wrap}.result-actions button,.result-actions a{padding:12px 18px;border:1px solid var(--line);background:var(--cream);font-size:12px;border-radius:3px}.error-symbol{margin:0 auto 25px}
@media(max-width:780px){.mypage-settings-grid{grid-template-columns:1fr}.wallet-history-row{align-items:start;flex-wrap:wrap}.charge-notice{padding:25px}}

/* MALOO illustrated theme */
/* MALOO village field guide — authoritative visual system, edition 14. */
:root {
  --forest: #304d3f; --forest-deep: #22392f;
  --paper: #faf6ea; --cream: #fffdf5; --ink: #473b2b;
  --muted: #736950; --gold: #efc774; --line: #ddd3b8;
  --sage: #e7ebd8; --oat: #f0e7cf; --radius: 18px;
  background: var(--paper); color: var(--ink); scroll-padding-top: 110px;
}
body { display: flex; flex-direction: column; min-height: 100svh; font-size: 15px; line-height: 1.85; background: var(--paper) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); }
body>main { flex: 1; }
h1,h2,h3 { color: var(--ink); letter-spacing: -.055em; font-weight: 800; }
em { color: var(--forest); }
::selection { color: var(--ink); background: #ead49b; }
:is(a,button,summary,input,textarea,select):focus-visible { outline: 3px solid #976629; outline-offset: 5px; }
.section-wrap { width: min(1200px,calc(100% - 96px)); margin-inline: auto; }
.eyebrow,.maru-overline { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #766344; margin-bottom: 15px; }
.button { padding: 15px 25px; border-radius: 12px; min-height: 56px; font-size: 14px; font-weight: 750; gap: 26px; }
.button-gold { background: var(--gold); color: #4f3c23; border: 1px solid #cba052; box-shadow: 0 4px 0 #b48a46, inset 0 1px 0 #ffe6ae; }
.button-gold:hover { background: #f7d589; transform: translateY(-2px); }
.button-dark { color: var(--cream); background: var(--forest); border: 1px solid var(--forest-deep); box-shadow: 0 4px 0 var(--forest-deep),inset 0 1px 0 #718a58; }
.button-dark:hover { background: #3e604c; }
.button-outline { color: var(--ink); background: #fffdf4f2; border: 1px solid #c1ae84; box-shadow: 0 3px 0 #d1bf96; }
.button-outline:hover { background: #fffdf5; border-color: #907041; }
.text-link { display: inline-flex; align-items: center; padding: 10px 0; gap: 22px; font-size: 14px; font-weight: 700; color: var(--forest); border-bottom: 1px solid #b6ba97; text-underline-offset: 5px; }
.text-link:hover { color: var(--forest-deep); gap: 26px; }

/* A small floating paper navigation, rather than a full-width web-app bar. */
.site-header,.home-page .site-header { position: sticky; inset: auto; top: 16px; z-index: 60; flex-shrink: 0; width: min(1320px,calc(100% - 48px)); height: 80px; padding: 0 27px; margin: 16px auto 0; color: var(--ink); background: #fffdf5fa; border: 1px solid #d4c6a7; border-radius: 17px; box-shadow: 0 4px 0 #d4c6a745,0 10px 28px #65522d0a; gap: 24px; }
.home-page .site-header { margin-bottom: -96px; }
.site-header.is-scrolled { box-shadow: 0 4px 0 #d4c6a750,0 12px 30px #59482b17; }
.brand { gap: 0; align-items: center; }
.brand .brand-mark { display: none; }
.site-header .brand-wordmark { width: 108px; height: auto; object-fit: contain; }
.desktop-nav { display: flex; gap: 29px; font-size: 14px; font-weight: 650; color: var(--ink); }
.desktop-nav a { padding: 17px 0; position: relative; }
.desktop-nav a:hover,.desktop-nav a[aria-current="page"] { color: var(--forest); }
.desktop-nav a[aria-current="page"]::after { content: ''; position: absolute; bottom: 8px; left: 42%; width: 7px; height: 7px; border-radius: 50%; background: var(--forest); }
.header-actions { display: flex; align-items: center; gap: 22px; font-size: 12px; font-weight: 650; }
.header-actions .nav-shop { color: var(--ink); display: inline-flex; align-items: center; gap: 6px; }
.header-actions .nav-shop[aria-current="page"] { color: var(--forest); text-decoration: underline; text-underline-offset: 5px; }
.nav-shop::before { content: ''; width: 15px; height: 18px; background: url('/assets/maloo/icon-crystal.svg?v=a2661f164324') center/contain no-repeat; }
.nav-login { padding: 9px 0; font-size: 12px; color: var(--ink); max-width: 100px; }
.nav-login[aria-disabled="true"] { color: #6c6149; cursor: default; }
.header-actions .nav-play { display: inline-flex; padding: 10px 17px; gap: 18px; border-radius: 9px; background: var(--forest); color: var(--cream); border: 1px solid var(--forest-deep); box-shadow: 0 2px 0 var(--forest-deep); }
.header-actions .nav-play:hover { background: var(--forest-deep); color: var(--cream); }
.mobile-menu { display: none; }
.mobile-menu summary { list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary>span { height: 2px; width: 21px; background: var(--ink); border-radius: 2px; }
.preview-notice { order: -1; margin: 0; padding: 8px 20px; text-align: center; font-size: 11px; line-height: 1.7; color: #615537; background: #eee6cf; border-bottom: 1px solid #d7c9a9; }
.preview-notice strong { color: var(--ink); }

/* Opening illustration, with a original illustrated village title and live HTML copy. */
.maru-hero { position: relative; isolation: isolate; overflow: hidden; height: clamp(840px,62vw,1030px); min-height: 840px; background: #f8f1de; }
.maru-hero .hero-picture { position: absolute; inset: 0; z-index: -1; }
.maru-hero .hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.maru-hero-content { width: min(850px,100%); margin: auto; text-align: center; padding: 126px 24px 0; }
.maru-hero-content .maru-overline { display: inline-flex; align-items: center; gap: 10px; padding: 0; border: 0; color: #635136; font-size: 11px; letter-spacing: .13em; margin-bottom: 0; background: none; }
.hero-label-sprout { display: inline-block; width: 12px; height: 14px; background: url('/assets/maloo/icon-farm.svg?v=68143491edb1') center/contain no-repeat; }
.maru-hero-content h1 { width: min(620px,100%); line-height: 1; margin: 24px auto 15px; }
.maru-hero-content h1 img { width: 100%; height: auto; }
.maru-hero-caption { color: #605039; font-size: 20px; font-weight: 550; line-height: 1.75; letter-spacing: -.035em; }
.maru-hero .hero-actions { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 13px; margin-top: 22px; }
.maru-hero .hero-actions .button { min-width: 170px; justify-content: space-between; font-size: 14px; padding: 13px 23px; }
.maru-hero .button-gold { background: var(--forest); color: var(--cream); border-color: var(--forest-deep); box-shadow: 0 4px 0 var(--forest-deep),inset 0 1px 0 #8d9d68; }
.maru-hero .button-gold:hover { background: #3e604c; }
.maru-hero .hero-status { display: flex; justify-content: center; align-items: center; gap: 9px; color: #5f563f; letter-spacing: 0; font-size: 11px; font-weight: 650; margin-top: 23px; }
.maru-hero .status-dot { width: 7px; height: 7px; background: #a57830; box-shadow: none; }
.maru-hero .status-dot.online { background: var(--forest); }
.maru-hero .hero-status-detail { font-size: 11px; color: #6d624a; margin-top: 4px; }
.hero-availability { width: fit-content; max-width: 100%; margin: 23px auto 0; padding: 8px 18px; border: 1px solid #c8b795; border-radius: 5px; background: #fffaedf2; box-shadow: 0 2px 0 #c8b79540; }
.maru-hero .hero-availability .hero-status { margin-top: 0; }
.maru-hero-bottom { position: absolute; bottom: 78px; left: max(48px,calc((100% - 1200px)/2)); right: max(48px,calc((100% - 1200px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.maru-hero-bottom .scroll-cue { display: inline-flex; align-items: center; gap: 17px; border-radius: 30px; padding: 10px 17px; color: #4e412c; background: #fff9e9ee; border: 1px solid #ac9262; font-size: 11px; }
.server-copy { display: inline-flex; align-items: center; text-align: left; color: #4c3921; background: #f8e5b9; border: 2px solid #987744; border-radius: 12px 8px 11px 7px; padding: 10px 20px; min-width: 263px; gap: 35px; box-shadow: 0 4px 0 #886539; backdrop-filter: none; }
.server-copy small { color: #715535; font-size: 10px; letter-spacing: .02em; margin-bottom: 1px; }
.server-copy strong { font-size: 21px; letter-spacing: -.02em; }
.server-copy b { color: #574d2d; font-size: 11px; font-weight: 650; }
.server-copy:hover { background: #ffecc3; transform: translateY(-1px); }
.maru-shortcuts { position: relative; z-index: 2; width: min(1200px,calc(100% - 96px)); margin: -41px auto 0; display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid #cdbb94; border-radius: 17px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 5px 0 #dfd3b4,0 14px 22px #75613409; }
.maru-shortcuts>a { position: relative; display: flex; align-items: center; padding: 26px 30px; gap: 18px; border-radius: 17px; }
.maru-shortcuts>a+a::before { content: ''; position: absolute; left: 0; width: 1px; height: 42px; background: var(--line); }
.maru-shortcuts>a:hover { background: #f4efdF; }
.maru-shortcuts strong { display: block; font-size: 15px; font-weight: 750; }
.maru-shortcuts small { display: block; font-size: 11px; color: var(--muted); margin-top: 2px; }
.maru-shortcuts b { margin-left: auto; font-size: 18px; color: #8e7b54; font-weight: 400; }
.shortcut-symbol { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border: 1px solid #d5c5a3; border-radius: 12px; background: #f3eddc; transform: rotate(-4deg); }
.shortcut-symbol img { width: 28px; height: 28px; transform: rotate(4deg); }

/* Two illustrated pages, each with its own landscape palette and chapter. */
.maru-life { padding: 105px 0 92px; }
.life-intro { display: grid; grid-template-columns: 1.25fr 1fr; align-items: center; gap: 70px; margin-bottom: 46px; }
.life-intro h2 { font-size: clamp(39px,4.3vw,58px); line-height: 1.33; letter-spacing: -.06em; }
.life-intro .maru-overline { margin-bottom: 21px; }
.life-intro-note { max-width: 365px; margin-left: auto; padding-top: 10px; }
.life-intro-note>img { margin-bottom: 17px; }
.life-intro-note p { font-size: 15px; line-height: 1.9; color: var(--muted); }
.life-intro-note .text-link { margin-top: 15px; }
.storybook-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.storybook { position: relative; overflow: hidden; border: 1px solid #c8c3a1; border-radius: 21px 21px 13px 13px; background: #edf0dd url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 5px 0 #d7d8bf; }
.river-book { background-color: #e9efE6; border-color: #c7cfbd; box-shadow: 0 5px 0 #d5dfd1; }
.book-topline { display: flex; align-items: center; justify-content: space-between; padding: 19px 30px 0; font-size: 11px; color: #6c7051; letter-spacing: .015em; }
.book-topline>span:first-child { border-bottom: 1px solid #a3ac80; padding-bottom: 3px; font-weight: 650; }
.book-art { position: relative; padding: 13px 18px 0; }
.book-art img { width: 100%; height: auto; mix-blend-mode: multiply; }
.book-art-caption { display: block; position: relative; text-align: right; margin: -10px 20px 0; font-size: 10px; color: #747558; }
.book-copy { margin: 24px 35px 0; padding: 25px 0 32px; border-top: 1px solid #bfc5a2; }
.river-book .book-copy { border-color: #c0cbbb; }
.book-kicker { font-size: 11px; font-weight: 650; letter-spacing: .035em; color: #697348; margin-bottom: 12px; }
.book-copy h3 { font-size: clamp(25px,2.55vw,35px); line-height: 1.45; margin-bottom: 17px; }
.book-copy>p:not(.book-kicker) { color: #6b6b51; font-size: 14px; line-height: 1.9; }
.book-copy .text-link { margin-top: 17px; font-size: 13px; }
.section-footnote { text-align: center; font-size: 11px; color: #766e59; margin-top: 25px; line-height: 1.8; }

/* The village noticeboard has paper notes, a pin and a little illustrated host. */
.maru-news { padding: 82px 0 84px; background: var(--oat) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); border-block: 1px solid #ded1b1; }
.village-board { display: grid; grid-template-columns: .8fr 1.45fr; gap: 55px; align-items: center; }
.board-intro { position: relative; }
.board-intro h2 { font-size: 40px; line-height: 1.4; margin-bottom: 19px; }
.board-intro>p:not(.maru-overline) { font-size: 14px; color: var(--muted); }
.board-intro>.text-link { margin-top: 13px; }
.board-illustration { width: min(330px,100%); margin: 17px 0 -28px -15px; }
.board-illustration img { width: 100%; height: auto; mix-blend-mode: multiply; }
.news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.news-card { position: relative; display: flex; flex-direction: column; min-height: 342px; padding: 35px 27px 24px; border: 1px solid #d4c39a; border-radius: 3px 3px 18px 3px; background: #fffdf4 url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 5px 0 #ccb98e45,4px 7px 12px #75634208; transform: rotate(-1deg); }
.news-card:nth-child(even) { transform: rotate(1deg); background-color: #faf7e8; }
.news-card::before { content: ''; position: absolute; top: -6px; left: calc(50% - 7px); width: 14px; height: 14px; border: 1px solid #837344; border-radius: 50%; background: #c7b77f; box-shadow: 0 2px 0 #7c67302b,inset 0 1px 0 #e6d7a7; }
.news-card:hover { transform: translateY(-4px) rotate(0); border-color: #a48c56; background-color: #fffef6; }
.news-card>span:first-child { color: #74613c; font-size: 11px; font-weight: 650; letter-spacing: 0; }
.news-card h3,.news-card h2 { font-size: 25px; line-height: 1.45; margin: 22px 0 16px; }
.news-card p { font-size: 14px; color: var(--muted); line-height: 1.9; margin-bottom: 27px; }
.news-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: #655738; font-size: 11px; border-top: 1px dashed #d8c9aa; padding-top: 17px; margin-top: auto; }
.news-card-bottom b { font-weight: 400; font-size: 20px; }
.maru-first-day { display: grid; grid-template-columns: .9fr 1.25fr; gap: 90px; padding: 95px 0 108px; }
.maru-faq-symbol { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 21px; font-size: 24px; font-weight: 700; color: #68734a; background: #eceddc; border: 1px solid #b9be9a; border-radius: 15px; transform: rotate(-5deg); box-shadow: 0 3px 0 #d4d8bd; }
.maru-first-heading h2 { font-size: 38px; line-height: 1.35; margin: 14px 0 19px; }
.maru-first-heading>p:not(.maru-overline) { color: var(--muted); font-size: 15px; }
.maru-first-heading .text-link { margin-top: 18px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px 0; font-size: 15px; font-weight: 650; color: var(--ink); list-style: none; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary>span { width: 28px; height: 28px; display: inline-grid; place-items: center; flex-shrink: 0; border: 1px solid #d8ceb3; background: #f4efdf; border-radius: 50%; font-weight: 400; font-size: 20px; color: #736947; transition: transform .2s; }
.faq-list details[open] summary>span { transform: rotate(45deg); }
.faq-list p { padding: 0 20px 23px 0; font-size: 14px; line-height: 1.9; color: var(--muted); }
.maru-community { position: relative; isolation: isolate; min-height: 580px; overflow: hidden; background: #f8f2de; border-top: 1px solid #dcd3b8; }
.community-picture { position: absolute; inset: 0; z-index: -1; }
.community-picture img { width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.maru-community-inner { display: block; width: min(650px,calc(100% - 40px)); margin: auto; text-align: center; padding: 54px 0 245px; }
.maru-community h2 { font-size: 48px; line-height: 1.3; margin: 14px 0 18px; }
.maru-community p:not(.maru-overline) { color: #655b43; font-size: 15px; line-height: 1.9; }
.maru-community .button { margin-top: 24px; }

/* All inner pages share a designed masthead and paper surfaces. */
.document-page,.residents-page,.mypage { width: min(1160px,calc(100% - 96px)); padding: 75px 0 92px; margin: auto; min-height: 600px; }
.page-heading { padding: 78px 0 46px; }
.page-heading h1,.document-page>h1,.residents-hero h1,.mypage-hero h1 { font-size: clamp(38px,4vw,52px); line-height: 1.35; }
.page-heading h1 { margin-bottom: 20px; }
.page-heading p:not(.eyebrow),.document-lead { color: var(--muted); font-size: 15px; line-height: 1.9; max-width: 700px; }
.page-heading .eyebrow,.document-page>.eyebrow { margin-bottom: 15px; }
.document-lead { margin: 19px 0 32px; }
.page-masthead { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.page-masthead>div { max-width: 700px; }
.page-masthead-art { width: 230px; height: 180px; object-fit: contain; mix-blend-mode: multiply; flex-shrink: 0; }
.document-page a:not(.product-card):not(.button):not(.checkout-steps a) { text-underline-offset: 4px; }
.policy-card,.charge-card,.charge-summary,.charge-notice,.mypage-card,.mypage-section,.resident-search-panel,.resident-ranking,.resident-card,.order-card { border: 1px solid var(--line); border-radius: 17px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 3px 0 #e1d7bd60; }
.policy-card { padding: 35px 40px; max-width: 940px; border-top: 4px solid #9ca67c; }
.policy-card h2 { font-size: 23px; margin-top: 34px; }
.policy-card h2:first-child { margin-top: 0; }
.policy-card h3 { font-size: 18px; margin-top: 24px; }
.policy-card p,.policy-card li { font-size: 14px; line-height: 1.95; color: #6c634f; }
.policy-nav { gap: 10px; }
.policy-nav a { display: inline-flex; align-items: center; min-height: 44px; border-radius: 9px; background: #f4eddc; font-size: 12px; padding: 9px 16px; border-color: #d6c7a4; }
.policy-nav a[aria-current] { background: var(--forest); color: var(--cream); border-color: var(--forest); }
.policy-reading { display: grid; grid-template-columns: minmax(0,1fr) 225px; align-items: start; gap: 28px; }
.policy-reading .policy-card { max-width: none; }
.policy-contents { position: sticky; top: 122px; padding: 24px 20px; margin-top: 18px; border: 1px solid #d7c9a8; border-radius: 13px; background: #f1e9d4; }
.policy-contents summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; font-size: 13px; font-weight: 700; color: #665637; cursor: pointer; list-style: none; }
.policy-contents summary::-webkit-details-marker { display: none; }
.policy-contents nav { display: flex; flex-direction: column; gap: 13px; margin-top: 21px; }
.document-page .policy-contents nav a { color: #6b6047; font-size: 12px; line-height: 1.6; text-decoration: none; }
.document-page .policy-contents nav a:hover { color: var(--forest); text-decoration: underline; }
.policy-contents p { color: #685d42; font-size: 11px; margin: 22px 0 13px; padding-top: 19px; border-top: 1px solid #d8c9a8; }
.policy-contents .policy-contact { font-size: 12px; color: var(--forest); }
.lost-page { margin: 66px auto 72px; border: 1px solid #c5cdad; border-radius: 22px; padding: 38px 25px 50px; }
.lost-page-art { width: 300px; height: auto; margin: auto auto 25px; mix-blend-mode: multiply; }
.lost-page h1 { font-size: 40px; }
.lost-page p:not(.eyebrow) { margin: 20px 0; color: #67704f; font-size: 14px; }
.payment-failure-card { position: relative; }
.failure-letter { margin-bottom: 25px; padding: 8px; width: 62px; height: 62px; background: #efe8d5; border: 1px solid #d8c8a0; border-radius: 14px; }
.launch-notice { background: #f2e9d0; border: 1px solid #d6c197; border-left: 4px solid #a18a4f; border-radius: 11px; padding: 17px 22px; font-size: 13px; line-height: 1.85; color: #6b5832; }

/* World: an opening landscape and two richly illustrated chapters. */
.maru-world-heading { position: relative; text-align: center; padding: 79px 20px 46px; }
.maru-world-heading h1 { font-size: clamp(38px,4vw,54px); line-height: 1.4; margin: 15px 0 21px; }
.maru-world-heading>p:last-child { color: var(--muted); font-size: 15px; }
.maru-world-panorama { width: min(1320px,calc(100% - 48px)); height: 470px; margin: auto; overflow: hidden; border: 1px solid #c6c7a4; border-radius: 24px; box-shadow: 0 6px 0 #dcd5b9; }
.maru-world-panorama img { width: 100%; height: 100%; object-fit: cover; object-position: center 72%; }
.maru-world .maru-life { padding: 50px 0 65px; }
.maru-life-row { display: grid; grid-template-columns: 1fr 1.12fr; gap: 45px; align-items: center; margin-top: 38px; border: 1px solid #cdd0ac; background: #eff0df url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); border-radius: 20px; padding: 35px 38px; box-shadow: 0 4px 0 #dce0c7; }
.maru-life-row.reverse { background-color: #ebefe4; grid-template-columns: 1.12fr 1fr; }
.maru-life-row.reverse .maru-life-copy { grid-column: 2; grid-row: 1; }
.maru-life-row.reverse .maru-life-art { grid-column: 1; grid-row: 1; }
.maru-chapter { display: block; color: #68764c; font-size: 11px; font-weight: 650; margin-bottom: 19px; }
.maru-life-copy h2,.maru-life-copy h3 { font-size: 37px; line-height: 1.4; margin-bottom: 20px; }
.maru-life-copy p { color: #6e6b50; font-size: 14px; line-height: 1.95; }
.maru-life-copy .text-link { margin-top: 20px; }
.maru-life-art img { width: 100%; height: auto; mix-blend-mode: multiply; }
.maru-art-note { display: block; color: #77735b; text-align: right; font-size: 11px; margin-top: 10px; }
.simple-cta { background: #e7ebd8 url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); padding: 65px 24px 72px; text-align: center; border-block: 1px solid #c8cdaf; }
.simple-cta h2 { font-size: 36px; }

/* Edition selection and the actual connection instructions. */
.edition-tabs { display: flex; gap: 12px; margin-bottom: 12px; border-bottom: 0; }
.edition-tabs button { border: 1px solid #ccb990; border-radius: 12px; background: #f0e8d4; color: #685a3e; padding: 16px 25px; min-height: 66px; font-size: 17px; }
.edition-tabs button small { color: inherit; font-size: 12px; font-weight: 450; }
.edition-tabs button[aria-selected="true"] { background: var(--forest); color: var(--cream); border-color: var(--forest-deep); box-shadow: 0 3px 0 var(--forest-deep); }
.edition-panel { padding: 25px 0; }
.connect-card { color: var(--ink); background: #e7ebd7 url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); border: 1px solid #b5be97; border-radius: 15px; padding: 32px 35px; box-shadow: 0 4px 0 #d0d7b9; }
.connect-card .eyebrow { color: #66714a; font-size: 11px; margin-bottom: 8px; }
.connect-card h2 { font-size: 38px; color: var(--forest-deep); letter-spacing: -.025em; }
.connect-card h2 small { color: #637449; font-size: 23px; }
.connect-card p:not(.eyebrow) { color: #62684b; font-size: 13px; line-height: 1.85; }
.connect-card .button { background: var(--cream); border: 1px solid #a8b183; color: var(--forest-deep); box-shadow: 0 3px 0 #b8c29b; }
.guide-steps { padding: 31px; list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; margin: 28px 0; border: 1px solid var(--line); border-radius: 16px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); }
.guide-steps li { display: block; }
.guide-steps li>span { display: grid; place-items: center; width: 34px; height: 34px; background: #f2e6c8; color: #7d6336; border: 1px solid #ccb789; border-radius: 11px; margin-bottom: 18px; font-size: 12px; }
.guide-steps h3 { font-size: 18px; line-height: 1.5; margin-bottom: 11px; }
.guide-steps p { font-size: 14px; line-height: 1.85; color: var(--muted); }
code { background: #ece8d5; color: #596342; border-radius: 5px; }
.guide-help { padding: 33px 0 65px; }
.guide-help h2 { font-size: 33px; }
.guide-help .faq-list { margin-top: 28px; }
.news-page { padding-bottom: 90px; }
.news-page .page-heading { padding-bottom: 47px; }
.news-page .news-grid { gap: 30px; }
.news-page .news-card { min-height: 295px; }

/* A real package catalogue with seven distinct painted silhouettes. */
.catalog-heading { display: flex; justify-content: space-between; align-items: center; gap: 35px; padding-bottom: 12px; }
.catalog-heading h1 { font-size: 49px; line-height: 1.35; }
.catalog-heading .document-lead { max-width: 580px; margin-top: 19px; }
.catalog-hero-art { width: 240px; height: 185px; object-fit: contain; flex-shrink: 0; }
.checkout-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; list-style: none; padding: 20px 24px; margin: 24px 0 22px; background: #efe9d6; border: 1px solid #ded1b2; border-radius: 13px; font-size: 13px; color: #665b40; }
.checkout-steps li,.document-page .checkout-steps a { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.checkout-steps span { display: inline-grid; place-items: center; width: 29px; height: 29px; font-size: 11px; font-weight: 700; border: 1px solid #c4b38a; border-radius: 50%; color: #6b5b36; flex-shrink: 0; }
.checkout-steps li[aria-current="step"] { color: var(--forest); font-weight: 750; }
.checkout-steps li[aria-current="step"] span { color: var(--cream); background: var(--forest); border-color: var(--forest); }
.package-catalog #catalog-status { font-size: 13px; color: #766c56; min-height: 24px; }
.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin: 26px 0 35px; }
.product-card { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid #d4c59f; border-radius: 16px; padding: 24px 22px 20px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 4px 0 #e0d3b4; }
.product-card:hover { transform: translateY(-5px); background-color: #fffdf6; border-color: #a0a779; box-shadow: 0 5px 0 #bdc69f,0 13px 22px #566a3910; }
.product-card img { display: block; width: 174px; height: 145px; object-fit: contain; margin: 0 0 18px; }
.product-card .product-caption { color: #8c7651; font-size: 10px; letter-spacing: .04em; margin-bottom: 5px; }
.product-card strong { color: #5a5239; font-size: 16px; font-weight: 650; }
.product-card b { font-size: 26px; font-weight: 800; color: var(--ink); margin-top: 11px; }
.product-card small { background: #e9eddb; border: 1px solid #d4dcbf; color: #4d6035; border-radius: 30px; padding: 4px 11px; margin-top: 12px; font-size: 11px; }
.product-card .product-action { display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 12px; font-weight: 700; color: var(--forest); padding-top: 15px; margin-top: 22px; border-top: 1px solid var(--line); }
.product-info { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 28px; border: 1px dashed #bba877; border-radius: 16px; background: #eee8d4 url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); }
.product-info img { margin-bottom: 23px; }
.product-info h2 { font-size: 23px; margin-bottom: 15px; }
.product-info p { font-size: 13px; line-height: 1.95; color: #706348; }
.product-info a { font-size: 12px; margin-top: 24px; color: var(--forest); }

/* Checkout surfaces deliberately keep functional input areas quiet. */
.charge-layout { grid-template-columns: minmax(0,1.65fr) minmax(260px,1fr); gap: 28px; }
.charge-card { padding: 33px; }
.charge-card label { font-size: 14px; }
.charge-card input:not([type=checkbox]):not([type=radio]),.charge-card textarea,.auth-modal input:not([type=checkbox]),input[type=text],input[type=email],input:not([type]),select { background: #fffdf5; border-color: #cfc1a0; border-radius: 9px; padding: 13px 15px; color: var(--ink); font-size: 14px; }
input[type=checkbox],input[type=radio] { accent-color: var(--forest); }
input:disabled,textarea:disabled { cursor: not-allowed; background-color: #eeebdf; }
button:disabled { cursor: not-allowed; }
.charge-card fieldset { border: 1px solid #d6c8a6; border-radius: 12px; padding: 19px 20px; margin-top: 26px; }
.charge-card fieldset legend { color: #6c5a37; font-size: 13px; padding: 0 8px; }
.charge-card h2 { color: #5b5239; font-size: 20px; }
.charge-card .field-help { font-size: 12px; line-height: 1.85; }
.selected-package-art { width: 132px; height: 122px; }
.package-summary { gap: 22px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.player-lookup,.charge-submit,.auth-submit { border-radius: 10px; background: var(--forest); color: var(--cream); min-height: 47px; box-shadow: 0 3px 0 var(--forest-deep); font-size: 14px; }
.charge-summary,.player-confirm,#recovery-panel { border-radius: 11px; background: #e9edda; border: 1px solid #c1cba8; padding: 19px; font-size: 13px; }
.charge-notice { position: sticky; top: 120px; padding: 29px; background-color: #efe9d4; border-color: #d8c8a0; }
.charge-notice h2 { color: var(--ink); font-size: 24px; margin: 15px 0; }
.charge-notice h3 { font-size: 18px; }
.charge-notice p { color: #716449; font-size: 13px; line-height: 1.95; margin: 15px 0; }
.charge-notice hr { border: 0; border-top: 1px solid #d7c8a8; margin: 25px 0; }
.charge-notice a { font-size: 13px; color: var(--forest); }
.order-card { padding: 33px; border-top: 5px solid #a7b084; border-radius: 17px; }
.order-card h2 { font-size: 24px; }
.order-card p { color: var(--muted); font-size: 14px; line-height: 1.9; }
.order-state { background: #e7edd8; color: var(--forest); border-radius: 8px; }
.order-card a,.order-refresh,.retry-order { border-radius: 9px; background: #f4ecd8; border-color: #cbbb94; color: #5e5134; font-size: 13px; }
.error-symbol { width: 75px; height: 75px; background: #ece5d0; border: 1px solid #d2c199; border-radius: 18px; color: #80623a; }

/* Residents and the private account notebook. */
.residents-hero { margin-bottom: 37px; }
.residents-hero>img { width: 230px; height: 170px; object-fit: contain; mix-blend-mode: multiply; }
.residents-hero p:not(.eyebrow) { font-size: 15px; line-height: 1.9; color: var(--muted); }
.resident-search-panel { padding: 30px; border-top: 4px solid #b3bd91; }
.resident-search-panel h2,.resident-ranking h2 { font-size: 26px; }
.resident-search-panel form { margin-top: 24px; }
.resident-search-panel button { background: var(--forest); color: var(--cream); border-radius: 10px; font-size: 13px; }
.resident-search-note,.resident-ranking-description { color: var(--muted); font-size: 13px; }
.resident-ranking { padding: 30px; }
.resident-tabs button { color: #6a5e3e; background: #eee6d1; border-color: #d7c79f; border-radius: 9px; font-size: 13px; }
.resident-tabs button[aria-selected=true] { background: var(--forest); color: var(--cream); border-color: var(--forest); }
.resident-ranking-list>li { border-color: var(--line); background: #fcf9ee; }
.resident-ranking-list>li:nth-child(even) { background: #f5f1e3; }
.resident-rank-badge { background: #e6dfc6; color: #6c5e37; }
.resident-result,.resident-profile { color: var(--ink); }
.mypage-hero { margin-bottom: 36px; }
.mypage-hero-motif { background: transparent; border: 0; width: 190px; height: 150px; }
.mypage-hero-motif>img { width: 190px; height: 145px; object-fit: contain; mix-blend-mode: multiply; }
.mypage-hero-motif>span,.card-orb { display: none; }
.mypage-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 25px; align-items: start; }
.mypage-grid .mypage-card { margin: 0; }
.mypage-card,.mypage-section { padding: 29px; margin-top: 25px; }
.mypage-card h2,.mypage-heading h2 { font-size: 25px; }
.mypage-copy,.mypage-heading p,.credential-note,.skin-status { color: var(--muted); font-size: 13px; line-height: 1.85; }
.mypage .resident-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 24px; padding: 30px; border: 1px solid #b9c29c; background: #e9edd9 url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); border-radius: 18px; box-shadow: 0 4px 0 #ced7b9; }
.mypage .resident-label { font-size: 11px; color: #667447; letter-spacing: .07em; }
.mypage .mypage-avatar { background: #dae2c2; border: 1px solid #aab88c; border-radius: 13px; }
.mypage .resident-card-level { padding: 10px 24px; border-left: 1px solid #c0c9a3; color: #6c7253; font-size: 12px; }
.mypage .resident-card-level strong { color: var(--forest); display: block; font-size: 32px; }
.mypage .resident-card-level small { color: #717659; font-size: 11px; }
.resident-actions { grid-column: 1 / -1; display: flex; gap: 24px; padding-top: 17px; border-top: 1px solid #c5cda9; font-size: 13px; color: var(--forest); }
.wallet-item { padding: 22px 24px; border: 1px solid #d8c7a3; border-radius: 14px; background: var(--cream); }
.wallet-item.gold { background: #f3e9c9; }
.wallet-item.ruby { background: #f1e2d7; border-color: #dcc7b7; }
.wallet-item.crystal { background: #e7ecd5; border-color: #c3cea3; }
.wallet-item strong { color: var(--ink); font-size: 29px; }
.wallet-item small,.wallet-item em { color: #645c43; }
.wallet-item img { width: 37px; height: 37px; }
.mypage-switches>label { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 0; border-bottom: 1px solid var(--line); margin-top: 0; }
.mypage-switches b,.mypage-switches small { display: block; }
.mypage-switches b { color: var(--ink); font-size: 13px; }
.mypage-switches small { color: var(--muted); font-size: 11px; margin-top: 3px; }
.mypage-card button,.mypage-card a,.history-pager button { min-height: 42px; border-radius: 9px; font-size: 13px; }
.mypage-card .mypage-primary { background: var(--forest); color: var(--cream); border-color: var(--forest-deep); box-shadow: 0 2px 0 var(--forest-deep); }
.mypage-card .mypage-primary:disabled { opacity: .7; }
.provider-list>div,.provider-row { background: #f4efdf; border-color: #ddd0b1; border-radius: 10px; }
.mypage-guest { display: flex; align-items: center; gap: 36px; padding: 35px; border: 1px solid #c4cba8; background: #eff0df url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); border-radius: 18px; }
.mypage-guest>img { width: 270px; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.mypage-guest h2 { font-size: 30px; }
.mypage-guest p:not(.eyebrow) { color: var(--muted); font-size: 14px; }
.mypage-guest a { font-size: 14px; color: var(--forest); }
.mypage-account-footer button { border-radius: 9px; border: 1px solid #c7b58e; background: transparent; color: var(--ink); padding: 11px 22px; min-height: 44px; font-size: 13px; }

/* Authentication is a compact paper dialogue, including all existing states. */
.auth-layer { background: #3e382b80; backdrop-filter: blur(5px); }
.auth-modal { border: 1px solid #c9b88f; border-radius: 21px; border-top: 5px solid #9baa79; padding: 32px 35px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 7px 0 #b8a47c,0 24px 80px #332b2933; }
.auth-close { top: 15px; right: 17px; width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid #ddd1b3; border-radius: 50%; background: #f3eddc; font-size: 23px; }
.auth-modal-header { padding-top: 4px; }
.auth-modal-header img { width: 46px; height: 46px; margin-bottom: 15px; }
.auth-modal-header .eyebrow { display: none; }
.auth-modal h2 { font-size: 30px; }
.auth-lead,.auth-help { color: var(--muted); font-size: 12px; line-height: 1.9; }
.auth-tabs { background: #efead8; padding: 5px; border-radius: 11px; border: 1px solid #d9cdae; gap: 5px; margin-top: 23px; }
.auth-tabs button { border: 0; border-radius: 7px; color: #655537; font-size: 13px; font-weight: 650; }
.auth-tabs button.active { color: var(--forest-deep); background: var(--cream); box-shadow: 0 2px 0 #cdbf9e; border: 0; }
.auth-modal form>label { color: #5d5035; font-size: 12px; font-weight: 600; }
.auth-provider { background: #f8f5ea; border-color: #d6c9a9; border-radius: 10px; color: var(--ink); padding: 13px; font-size: 13px; }
.auth-provider:hover { background: #eee9d8; }
.auth-text-button,.password-toggle { color: #75684e; }
.auth-divider { color: #847455; }
.auth-account>span,.auth-account small { color: var(--muted); }

/* The footer is the last page of the same village guide. */
footer { color: #f4f1df; background: #4a5d3d url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); padding: 60px max(48px,calc((100vw - 1200px)/2)) 24px; border-top: 5px solid #75835b; }
.footer-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 50px; padding-bottom: 35px; }
.footer-brand .brand { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.footer-brand .brand-wordmark { width: 164px; height: auto; }
.footer-brand>p { color: #e1e3ce; font-size: 13px; margin: 19px 0 8px; }
.footer-discord { color: #ffe1a5; display: inline-flex; align-items: center; gap: 16px; font-size: 13px; min-height: 40px; }
.footer-links { display: grid; grid-template-columns: repeat(2,minmax(155px,1fr)); gap: 55px; font-size: 12px; }
.footer-links>div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-nav-heading { color: #d0d7b5; font-size: 11px; font-weight: 700; letter-spacing: .03em; margin-bottom: 6px; }
.footer-links a { color: #f0f0dc; min-height: 26px; }
.footer-links a:hover { color: #ffe1a5; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 6px 19px; max-width: none; padding-top: 25px; border-top: 1px solid #91a17b60; color: #d6ddc4; font-size: 10px; line-height: 1.85; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border: 0; margin: 0; padding-top: 24px; font-size: 10px; color: #d6ddc4; letter-spacing: .025em; }
.footer-bottom a { min-height: 30px; }

@media (max-width: 1180px) {
 .site-header,.home-page .site-header { padding: 0 22px; gap: 18px; }
 .desktop-nav { font-size: 13px; gap: 20px; }
 .header-actions { gap: 16px; }
 .header-actions .nav-play { gap: 10px; padding-inline: 13px; }
 .village-board { gap: 37px; grid-template-columns: .8fr 1.4fr; }
 .board-intro h2 { font-size: 34px; }
 .news-card { padding-inline: 24px; }
 .news-card h3 { font-size: 23px; }
 .maru-shortcuts>a { padding-inline: 22px; gap: 14px; }
 .storybook-grid { gap: 24px; }
 .book-copy { margin-inline: 28px; }
 .product-card { padding-inline: 17px; }
}
@media (max-width: 980px) {
 .desktop-nav,.header-actions .nav-play { display: none; }
 .mobile-menu { display: block; }
 .mobile-menu summary { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 42px; height: 42px; cursor: pointer; }
 .mobile-menu[open] nav { display: grid; }
 .mobile-menu nav { position: absolute; top: calc(100% + 9px); left: 0; right: 0; padding: 21px; grid-template-columns: 1fr 1fr; gap: 8px; border: 1px solid #cabb98; border-radius: 15px; background: var(--cream) url('/assets/maloo/paper-grain.svg?v=54e81b44d946'); box-shadow: 0 5px 0 #cdbd9b,0 15px 25px #57472a14; color: var(--ink); }
 .mobile-menu nav a { padding: 10px 13px; min-height: 44px; font-size: 14px; border-radius: 8px; }
 .mobile-menu nav a:hover { background: #efe8d5; }
 .mobile-menu nav a[aria-current="page"] { background: #e8ecd9; color: var(--forest); font-weight: 700; }
 .mobile-menu nav [data-discord] { grid-column: 1 / -1; border-top: 1px solid var(--line); margin-top: 6px; padding-top: 15px; color: var(--forest); }
 .maru-hero { height: 850px; min-height: 850px; }
 .maru-hero-content { padding-top: 120px; }
 .maru-hero-content h1 { width: 570px; max-width: 100%; }
 .maru-hero-caption { font-size: 19px; }
 .life-intro { gap: 40px; }
 .maru-first-day { gap: 48px; grid-template-columns: .9fr 1.3fr; }
 .maru-first-heading h2 { font-size: 32px; }
 .village-board { grid-template-columns: 1fr; gap: 45px; }
 .board-intro { padding-right: 330px; min-height: 230px; }
 .board-illustration { position: absolute; right: -10px; bottom: -20px; margin: 0; width: 310px; }
 .board-intro h2 br { display: none; }
 .news-card { min-height: 300px; padding: 33px 30px 25px; }
 .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .product-info { grid-column: span 2; }
 .catalog-heading h1 { font-size: 43px; }
 .catalog-hero-art { width: 190px; height: 165px; }
 .residents-hero>img { width: 200px; height: 155px; }
}
@media (max-width: 780px) {
 .section-wrap,.document-page,.residents-page,.mypage { width: calc(100% - 48px); }
 .site-header,.home-page .site-header { width: calc(100% - 32px); height: 70px; padding: 0 17px; top: 12px; margin-top: 12px; border-radius: 14px; }
 .home-page .site-header { margin-bottom: -82px; }
 .brand .brand-mark { width: 27px; height: 27px; }
 .site-header .brand-wordmark { width: 100px; height: auto; }
 .header-actions { gap: 20px; }
 .maru-hero { min-height: 810px; height: 810px; }
 .maru-hero-content { padding-top: 113px; }
 .maru-hero-content h1 { width: 520px; margin-top: 23px; }
 .maru-hero .hero-picture img { object-position: center bottom; }
 .maru-hero-bottom { left: 24px; right: 24px; bottom: 70px; }
 .maru-hero-bottom .scroll-cue { padding: 10px 14px; }
 .server-copy { min-width: 240px; padding: 9px 16px; gap: 25px; }
 .maru-shortcuts { width: calc(100% - 48px); }
 .maru-shortcuts>a { padding: 23px 15px; gap: 11px; }
 .shortcut-symbol { width: 37px; height: 37px; border-radius: 10px; }
 .shortcut-symbol img { width: 25px; height: 25px; }
 .maru-shortcuts strong { font-size: 12px; }
 .maru-shortcuts small { font-size: 10px; }
 .maru-shortcuts b { display: none; }
 .maru-life { padding: 80px 0 72px; }
 .life-intro { gap: 28px; margin-bottom: 35px; }
 .life-intro h2 { font-size: 39px; }
 .life-intro-note p { font-size: 13px; }
 .life-intro-note .text-link { font-size: 12px; }
 .storybook-grid { gap: 20px; }
 .book-topline { padding: 16px 21px 0; font-size: 10px; }
 .book-topline>span:last-child { font-size: 9px; }
 .book-art { padding: 12px 6px 0; }
 .book-art-caption { font-size: 9px; margin-right: 12px; }
 .book-copy { margin: 19px 22px 0; padding: 22px 0 25px; }
 .book-copy h3 { font-size: 24px; }
 .book-copy>p:not(.book-kicker) { font-size: 13px; }
 .book-copy p br { display: none; }
 .book-copy .text-link { font-size: 12px; }
 .maru-news { padding: 65px 0; }
 .board-intro { padding-right: 280px; }
 .board-illustration { width: 270px; }
 .board-intro h2 { font-size: 32px; }
 .board-intro h2 br { display: inline; }
 .board-intro>p:not(.maru-overline) { font-size: 13px; }
 .maru-first-day { padding: 75px 0 83px; grid-template-columns: 1fr; gap: 30px; }
 .maru-first-heading { display: grid; grid-template-columns: 1fr auto; }
 .maru-faq-symbol { grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0 10px 0 25px; width: 58px; height: 58px; }
 .maru-first-heading h2 { grid-column: 1; font-size: 33px; margin-top: 0; }
 .maru-first-heading>p:not(.maru-overline) { font-size: 14px; }
 .maru-first-heading>p:not(.maru-overline) br { display: none; }
 .maru-first-heading .text-link { grid-column: 1; justify-self: start; margin-top: 11px; }
 .maru-community { min-height: 580px; }
 .maru-community h2 { font-size: 42px; }
 .community-picture img { object-position: 45% bottom; }
 .document-page,.residents-page,.mypage { padding: 60px 0 75px; }
 .page-heading { padding: 60px 0 35px; }
 .page-masthead-art { width: 185px; height: 155px; }
 .page-heading h1,.document-page>h1,.residents-hero h1,.mypage-hero h1 { font-size: 37px; }
 .guide-steps { grid-template-columns: 1fr; gap: 25px; padding: 26px; }
 .guide-steps li { display: flex; gap: 18px; }
 .guide-steps li>span { flex-shrink: 0; margin-bottom: 0; }
 .connect-card { padding: 27px; }
 .connect-card h2 { font-size: 31px; }
 .charge-layout { grid-template-columns: 1fr; }
 .charge-notice { position: static; }
 .mypage-grid { grid-template-columns: 1fr; gap: 22px; }
 .mypage-guest { gap: 25px; padding: 28px; }
 .mypage-guest>img { width: 200px; }
 .mypage-guest h2 { font-size: 27px; }
 .residents-hero>img { width: 170px; height: 140px; }
 .maru-world-heading { padding: 58px 20px 39px; }
 .maru-world-panorama { width: calc(100% - 32px); height: 340px; border-radius: 18px; }
 .maru-life-row,.maru-life-row.reverse { padding: 28px; gap: 25px; }
 .maru-life-copy h2,.maru-life-copy h3 { font-size: 27px; }
 .maru-life-copy p { font-size: 13px; }
 .policy-card { padding: 29px; }
 .policy-reading { grid-template-columns: 1fr; gap: 7px; }
 .policy-contents { position: static; grid-row: 1; margin-top: 12px; }
 .policy-contents nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
 .policy-contents>p,.policy-contents>.policy-contact { display: none; }
 footer { padding: 45px 24px 23px; }
 .footer-links { gap: 33px; grid-template-columns: repeat(2,minmax(130px,1fr)); }
}
@media (max-width: 560px) {
 .site-header,.home-page .site-header { width: calc(100% - 24px); padding: 0 13px; height: 65px; top: 9px; margin-top: 9px; border-radius: 13px; gap: 10px; }
 .home-page .site-header { margin-bottom: -74px; }
 .brand { gap: 4px; }
 .brand .brand-mark { width: 25px; height: 25px; }
 .site-header .brand-wordmark { width: 94px; height: auto; }
 .header-actions { gap: 13px; }
 .header-actions .nav-shop { display: none; }
 .nav-login { font-size: 11px; max-width: 82px; }
 .mobile-menu summary { width: 36px; height: 42px; }
 .mobile-menu summary>span { width: 19px; }
 .mobile-menu nav { padding: 15px; gap: 7px; }
 .mobile-menu nav a { font-size: 13px; }
 .preview-notice { padding: 7px 18px; font-size: 10px; }
 .section-wrap,.document-page,.residents-page,.mypage { width: calc(100% - 40px); }
 .maru-hero { height: 795px; min-height: 795px; }
.maru-hero-content { padding: 107px 14px 0; }
 .maru-hero-content .maru-overline { font-size: 10px; padding: 0; gap: 7px; letter-spacing: .06em; }
 .maru-hero-content h1 { width: 94%; max-width: 380px; margin: 23px auto 17px; }
 .maru-hero-caption { font-size: 17px; line-height: 1.8; }
 .maru-hero .hero-actions { gap: 10px; margin-top: 22px; }
 .maru-hero .hero-actions .button { min-width: 0; gap: 16px; padding: 12px 16px; font-size: 12px; min-height: 48px; border-radius: 10px; }
 .maru-hero .hero-status { font-size: 10px; gap: 8px; margin-top: 24px; }
 .maru-hero .hero-status-detail { font-size: 10px; margin-top: 5px; }
 .hero-availability { margin-top: 23px; padding: 7px 12px; }
 .maru-hero-bottom { left: 20px; right: 20px; bottom: 66px; }
 .maru-hero-bottom .scroll-cue { display: none; }
 .server-copy { min-width: 0; width: 255px; margin: auto; padding: 8px 17px; justify-content: space-between; gap: 17px; }
 .server-copy small { font-size: 9px; }
 .server-copy strong { font-size: 19px; }
 .server-copy b { font-size: 10px; }
 .maru-shortcuts { width: calc(100% - 40px); display: grid; grid-template-columns: 1fr 1fr; margin-top: -37px; border-radius: 15px; }
 .maru-shortcuts>a { padding: 18px 14px; gap: 12px; }
 .maru-shortcuts .shortcut-first { grid-column: 1 / -1; padding: 18px 22px; border-bottom: 1px solid var(--line); }
 .maru-shortcuts>a+a::before { display: none; }
 .maru-shortcuts>a:last-child::before { display: block; height: 30px; }
 .maru-shortcuts .shortcut-first strong { font-size: 14px; }
 .maru-shortcuts .shortcut-first small { font-size: 11px; }
 .maru-shortcuts strong { font-size: 12px; }
 .maru-shortcuts small { font-size: 9px; }
 .shortcut-symbol { width: 33px; height: 33px; }
 .shortcut-symbol img { width: 21px; height: 21px; }
 .maru-shortcuts .shortcut-first .shortcut-symbol { width: 39px; height: 39px; }
 .maru-shortcuts .shortcut-first b { display: block; }
 .maru-life { padding: 67px 0 62px; }
 .life-intro { display: block; margin-bottom: 30px; }
 .life-intro h2 { font-size: 38px; }
 .life-intro .maru-overline { font-size: 10px; margin-bottom: 18px; }
 .life-intro-note { position: relative; margin: 22px 0 0; padding: 0 65px 0 0; max-width: none; }
 .life-intro-note>img { position: absolute; right: 0; top: 8px; width: 51px; }
 .life-intro-note p { font-size: 13px; line-height: 1.9; }
 .life-intro-note .text-link { font-size: 13px; }
 .storybook-grid { grid-template-columns: 1fr; gap: 27px; }
 .book-topline { padding: 18px 25px 0; font-size: 10px; }
 .book-topline>span:last-child { font-size: 10px; }
 .book-art { padding: 12px 11px 0; }
 .book-art-caption { margin-top: -4px; margin-right: 13px; font-size: 9px; }
 .book-copy { margin: 23px 25px 0; padding: 23px 0 28px; }
 .book-copy h3 { font-size: 28px; line-height: 1.4; }
 .book-copy .text-link { font-size: 13px; }
 .book-copy>p:not(.book-kicker) { font-size: 13px; }
 .book-copy p br { display: inline; }
 .book-kicker { font-size: 10px; }
 .section-footnote { font-size: 10px; text-align: left; margin-top: 22px; }
 .maru-news { padding: 57px 0 62px; }
 .village-board { gap: 33px; }
 .board-intro { min-height: 230px; padding-right: 95px; }
 .board-intro h2 { font-size: 32px; }
 .board-intro .maru-overline { font-size: 10px; }
 .board-intro>p:not(.maru-overline) { font-size: 12px; }
 .board-intro>.text-link { font-size: 12px; }
 .board-illustration { width: 156px; right: -15px; bottom: -10px; }
 .news-grid { grid-template-columns: 1fr; gap: 26px; }
 .news-card { min-height: 285px; padding: 31px 27px 24px; }
 .news-card h3,.news-card h2 { font-size: 24px; margin-top: 17px; }
 .news-card p { font-size: 13px; }
 .news-card-bottom { font-size: 11px; }
 .maru-first-day { padding: 65px 0 73px; gap: 26px; }
 .maru-first-heading h2 { font-size: 29px; }
 .maru-first-heading .maru-overline { font-size: 10px; }
 .maru-first-heading>p:not(.maru-overline) { font-size: 12px; }
 .maru-faq-symbol { width: 46px; height: 46px; margin-left: 13px; margin-right: 0; font-size: 21px; }
 .faq-list summary { padding: 21px 0; font-size: 13px; gap: 13px; }
 .faq-list p { font-size: 12px; padding-right: 8px; }
 .maru-community { min-height: 590px; }
 .maru-community-inner { padding: 44px 0 260px; }
 .maru-community h2 { font-size: 38px; line-height: 1.35; }
 .maru-community .maru-overline { font-size: 10px; }
 .maru-community p:not(.maru-overline) { font-size: 13px; }
 .maru-community .button { min-height: 49px; font-size: 13px; padding: 12px 21px; }
 .community-picture img { object-position: 36% bottom; }
 .document-page,.residents-page,.mypage { padding: 47px 0 60px; }
 .page-heading { padding: 49px 0 32px; }
 .page-heading h1,.document-page>h1,.residents-hero h1,.mypage-hero h1 { font-size: 33px; }
 .page-heading p:not(.eyebrow),.document-lead { font-size: 13px; }
 .page-masthead { position: relative; display: block; padding-right: 0; }
 .page-masthead>div { position: relative; z-index: 1; }
 .page-masthead-art { width: 135px; height: 105px; margin: 21px 0 0 auto; }
 .launch-notice { font-size: 12px; padding: 15px 17px; margin-bottom: 26px; }
 .edition-tabs { gap: 10px; }
 .edition-tabs button { min-height: 73px; width: 50%; padding: 11px 9px; font-size: 14px; text-align: center; }
 .edition-tabs button small { display: block; font-size: 11px; margin: 2px 0 0; }
 .connect-card { display: block; padding: 25px; }
 .connect-card h2 { font-size: 31px; }
 .connect-card h2 small { font-size: 19px; }
 .connect-card .button { margin-top: 21px; font-size: 12px; min-height: 45px; padding: 10px 18px; }
 .connect-card p:not(.eyebrow) { font-size: 12px; }
 .guide-steps { padding: 25px 22px; gap: 27px; }
 .guide-steps li { gap: 15px; }
 .guide-steps li>span { width: 29px; height: 29px; border-radius: 9px; font-size: 11px; }
 .guide-steps h3 { font-size: 16px; margin-bottom: 9px; }
 .guide-steps p { font-size: 12px; }
 .guide-help h2 { font-size: 27px; }
 .catalog-heading { display: block; position: relative; }
 .catalog-heading h1 { font-size: 34px; }
 .catalog-heading .document-lead { font-size: 13px; margin-bottom: 17px; padding-right: 30px; }
 .catalog-hero-art { width: 147px; height: 119px; margin: 11px 10px 0 auto; }
 .checkout-steps { padding: 15px 12px; gap: 8px; font-size: 11px; margin-top: 20px; }
 .checkout-steps li,.document-page .checkout-steps a { gap: 6px; }
 .checkout-steps span { width: 23px; height: 23px; font-size: 9px; }
 .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 13px; }
 .product-card { padding: 17px 12px 16px; border-radius: 13px; }
 .product-card img { width: 136px; height: 109px; margin-bottom: 12px; }
 .product-card .product-caption { font-size: 9px; }
 .product-card strong { font-size: 12px; }
 .product-card b { font-size: 22px; margin-top: 8px; }
 .product-card small { font-size: 9px; padding: 4px 8px; margin-top: 10px; }
 .product-card .product-action { font-size: 11px; padding-top: 12px; margin-top: 17px; }
 .product-info { grid-column: auto; padding: 20px 15px; }
 .product-info img { width: 32px; height: 32px; margin-bottom: 19px; }
 .product-info h2 { font-size: 19px; }
 .product-info p { font-size: 11px; }
 .product-info a { font-size: 10px; margin-top: 20px; }
 .charge-card,.charge-notice { padding: 24px 20px; }
 .charge-card label { font-size: 13px; }
 .charge-card fieldset { padding: 16px 14px; }
 .charge-card .field-help { font-size: 11px; }
 .charge-card input:not([type=checkbox]):not([type=radio]),.charge-card textarea { font-size: 13px; }
 .selected-package-art { width: 103px; height: 96px; }
 .package-summary { gap: 16px; }
 .charge-submit { font-size: 12px; padding-inline: 12px; }
 .charge-notice p { font-size: 12px; }
 .residents-hero { position: relative; display: block; margin-bottom: 26px; }
 .residents-hero>img { width: 150px; height: 111px; margin: 20px 0 0 auto; }
 .residents-hero p:not(.eyebrow) { font-size: 13px; }
 .resident-search-panel,.resident-ranking { padding: 23px 20px; }
 .resident-search-panel h2,.resident-ranking h2 { font-size: 23px; }
 .resident-search-panel form { gap: 9px; }
 .resident-search-panel button { padding: 10px 13px; font-size: 11px; min-width: 77px; }
 .resident-search-panel input { font-size: 12px; padding-inline: 12px; }
 .resident-search-note,.resident-ranking-description { font-size: 12px; }
 .mypage-hero { position: relative; margin-bottom: 25px; }
 .mypage-hero-motif { width: 100px; height: 86px; }
 .mypage-hero-motif>img { width: 100px; height: 86px; }
 .mypage .resident-card { padding: 24px 21px; grid-template-columns: 1fr; gap: 18px; }
 .mypage .resident-card-level { border-left: 0; border-top: 1px solid #c0c9a3; padding: 13px 0 0; }
 .mypage .resident-card-level strong { display: inline; margin-left: 10px; font-size: 27px; }
 .resident-actions { gap: 18px; font-size: 12px; }
 .wallet-item { padding: 19px 14px; }
 .wallet-item strong { font-size: 23px; }
 .wallet-item img { width: 28px; height: 28px; }
 .mypage-card,.mypage-section { padding: 23px 21px; }
 .mypage-card h2,.mypage-heading h2 { font-size: 22px; }
 .mypage-copy,.mypage-heading p,.credential-note { font-size: 12px; }
 .mypage-guest { flex-direction: column; gap: 19px; align-items: flex-start; padding: 26px; }
 .mypage-guest>img { width: 235px; margin: auto; }
 .mypage-guest h2 { font-size: 28px; }
 .mypage-guest p:not(.eyebrow),.mypage-guest a { font-size: 12px; }
 .auth-layer { padding: 15px; }
 .auth-modal { padding: 27px 25px; max-height: calc(100dvh - 30px); border-radius: 18px; }
 .auth-modal h2 { font-size: 27px; }
 .maru-world-heading { padding: 49px 20px 33px; }
 .maru-world-heading h1 { font-size: 35px; }
 .maru-world-heading>p:last-child { font-size: 13px; }
 .maru-world-panorama { height: 285px; width: calc(100% - 24px); border-radius: 16px; }
 .maru-world .maru-life { padding-top: 24px; }
 .maru-life-row,.maru-life-row.reverse { display: flex; flex-direction: column-reverse; gap: 22px; padding: 22px 25px 30px; margin-top: 28px; }
 .maru-life-copy { width: 100%; padding: 0; }
 .maru-life-copy h2,.maru-life-copy h3 { font-size: 28px; }
 .maru-chapter { margin-bottom: 13px; }
 .maru-art-note { font-size: 10px; }
 .simple-cta { padding: 48px 24px 57px; }
 .simple-cta h2 { font-size: 29px; }
 .policy-card { padding: 27px 23px; }
 .policy-card h2 { font-size: 21px; }
 .policy-card p,.policy-card li { font-size: 13px; }
 .policy-nav { gap: 8px; }
 .policy-nav a { font-size: 11px; padding: 8px 11px; }
 .policy-contents { padding: 20px; }
 .document-page .policy-contents nav a { font-size: 11px; }
 .lost-page { margin-top: 42px; padding: 30px 20px 40px; }
 .lost-page-art { width: 230px; }
 .lost-page h1 { font-size: 28px; }
 .lost-page p:not(.eyebrow) { font-size: 12px; }
 .order-card { padding: 26px 22px; }
 .order-card p { font-size: 12px; }
 footer { padding: 42px 22px 20px; }
 .footer-top { flex-direction: column; gap: 32px; padding-bottom: 29px; }
 .footer-brand .brand-wordmark { width: 156px; height: auto; }
 .footer-brand>p { font-size: 12px; margin-top: 17px; }
 .footer-links { width: 100%; gap: 25px; grid-template-columns: 1fr 1fr; font-size: 12px; }
 .footer-links>div { gap: 8px; }
 .footer-nav-heading { font-size: 10px; }
 .footer-legal { font-size: 9px; gap: 5px; display: block; padding-top: 23px; }
 .footer-legal>span { display: block; margin-bottom: 5px; }
 .footer-bottom { font-size: 9px; }
}
@media (max-width: 350px) {
 .site-header .brand-wordmark { width: 88px; }
 .brand .brand-mark { width: 22px; height: 22px; }
 .header-actions { gap: 8px; }
 .nav-login { max-width: 73px; }
 .maru-hero .hero-actions .button { padding: 11px 12px; gap: 12px; font-size: 11px; }
 .maru-shortcuts>a { gap: 8px; padding-inline: 10px; }
 .maru-shortcuts .shortcut-first { padding-inline: 18px; }
 .book-copy { margin-inline: 21px; }
 .book-copy h3 { font-size: 25px; }
 .book-copy>p:not(.book-kicker) br { display: none; }
 .board-illustration { width: 130px; }
 .board-intro { padding-right: 70px; }
 .board-intro h2 { font-size: 29px; }
 .checkout-steps { padding-inline: 9px; gap: 5px; font-size: 10px; }
 .checkout-steps li,.document-page .checkout-steps a { gap: 4px; }
 .product-card strong { font-size: 11px; }
 .product-card b { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
 :root { scroll-behavior: auto; }
 *,*::before,*::after { animation: none !important; transition: none !important; }
 .news-card,.news-card:nth-child(even),.news-card:hover { transform: none; }
}
