:root{--paper:#fbf8ef;--cream:#f4eddd;--green:#334c3e;--ink:#293e32;--muted:#70766b;--peach:#efc5a4;--line:#dddccc;--serif:"Kaiti TC","STKaiti","BiauKai","Noto Serif TC",serif;--sans:"PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b47b4c;outline-offset:5px}button:disabled{cursor:default}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 104px));margin-inline:auto}.section{padding-block:100px}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--green);color:white;padding:10px 20px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:10;background:rgba(251,248,239,.96);border-bottom:1px solid #e4e2d6;backdrop-filter:blur(16px)}.nav-wrap{width:min(1320px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;height:100px;gap:25px}.brand{display:flex;gap:11px;align-items:center;line-height:1.2;flex-shrink:0}.brand b{display:block;font-size:25px;letter-spacing:3px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:3.6px;margin-top:8px}.brand-symbol{display:grid;place-items:center;width:47px;height:47px;border:1.7px solid var(--green);border-radius:45% 45% 44% 44%;font-size:35px;transform:rotate(-9deg);font-family:Georgia,serif}.nav-wrap nav{display:flex;gap:35px;font-size:14px;font-weight:600;letter-spacing:1px}.nav-wrap nav a{position:relative}.nav-wrap nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--green);transition:width .2s}.nav-wrap nav a:hover:after{width:100%}.hug-nav{background:transparent;border:1px solid var(--green);border-radius:50px;padding:11px 20px;font-size:13px;font-weight:600}.hug-nav span{font-size:18px;margin-left:11px}.hero{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;min-height:660px;gap:10px;padding-block:45px 65px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:700;display:block;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:9px;letter-spacing:1.5px}.eyebrow i{width:6px;height:6px;background:#ba805a;border-radius:50%}.hero-copy{z-index:1}.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(42px,4.2vw,61px);letter-spacing:1.2px;line-height:1.55;margin:24px 0 21px;white-space:nowrap}.title-dot{color:#aa6848}.hand-underline{position:relative;z-index:0}.hand-underline:after{content:"";position:absolute;left:-2px;right:-5px;bottom:1px;height:15px;background:#e8c49d;border-radius:55% 25% 40% 35%;z-index:-1;transform:rotate(-3deg)}.hero-copy>p{font-size:15px;color:#70776a;line-height:2.1;margin:0 0 30px;letter-spacing:.8px}.hero-actions{display:flex;align-items:center;gap:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:50px;padding:14px 24px;font-size:13px;font-weight:600;line-height:1.7;border:1px solid transparent;transition:background .2s,transform .2s;letter-spacing:.5px}.button:hover{transform:translateY(-2px)}.button.primary{color:var(--paper);background:var(--green)}.button.primary:hover{background:#4d6553}.button.secondary{color:var(--green);background:transparent;border-color:#a7b09e}.button.secondary:hover{background:#eaeadd}.button span{font-size:20px;line-height:1}.text-link{border:0;background:transparent;display:inline-flex;align-items:center;gap:16px;font-size:13px;font-weight:600;padding:0;line-height:1.8}.text-link:hover{color:#9a6240}.text-link span{font-size:20px}.hero-note{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1px;margin-top:43px;color:#85816e}.tiny-flower{font-size:22px;color:#ab7a50}.hero-art{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}.hero-blob{position:absolute;background:#efe1c5;width:92%;height:90%;bottom:0;border-radius:47% 46% 39% 37%;transform:rotate(7deg)}.hero-image{position:relative;width:105%;max-width:none;z-index:1;filter:drop-shadow(0 12px 10px #a5814b0c);margin-top:54px}.art-spark{position:absolute;z-index:2;font-size:47px;font-weight:200}.spark-one{right:2%;top:10%;color:#a46b40;transform:rotate(-10deg)}.spark-two{left:4%;top:29%;color:#b07350;transform:rotate(-20deg);font-size:28px}.art-label{position:absolute;z-index:2;top:6%;left:20%;font-family:var(--serif);font-size:17px;transform:rotate(-6deg);letter-spacing:2px}.hero-art-caption{position:absolute;z-index:2;bottom:-20px;right:10%;font-size:8px;letter-spacing:2.4px;color:#8a806b}.welcome-strip{display:flex;justify-content:center;align-items:center;gap:70px;background:var(--green);color:#f1e5cb;min-height:60px;letter-spacing:3px;font-size:12px;padding:12px 25px;text-align:center}.welcome-strip span{color:#dcc299;font-size:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-heading .eyebrow{color:#7e806a}.section-heading h2{font-family:var(--serif);font-size:36px;font-weight:600;line-height:1.5;letter-spacing:1px;margin:12px 0 0}.section-heading>p{font-size:13px;line-height:2;letter-spacing:.6px;color:var(--muted);margin:0 0 4px}.heading-flower{font-family:Georgia,serif;color:#c28d64;font-size:35px;margin-left:20px;display:inline-block;vertical-align:middle}.featured-product{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ded9c8;background:#f3ecdb;border-radius:20px;overflow:hidden;margin-bottom:48px}.featured-visual{min-height:315px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 80%,#e0cea6 0,transparent 60%),#f0e6cf;padding:40px}.featured-visual img{width:245px;height:245px;object-fit:contain;filter:drop-shadow(0 8px 4px #8c693b12)}.pick-label{position:absolute;top:22px;left:25px;border-radius:20px;background:#fbf7ebbd;padding:4px 13px;font-size:10px;letter-spacing:1px}.featured-copy{padding:44px 50px;align-self:center}.featured-copy .eyebrow{color:#947750;letter-spacing:1.6px}.featured-copy h3{font-size:26px;font-family:var(--serif);letter-spacing:1px;line-height:1.5;margin:13px 0}.featured-copy p{font-size:13px;color:var(--muted);line-height:1.9;margin:0 0 23px}.purchase-note{display:block;font-size:10px;color:#8a8677;margin-top:12px}.catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tabs button,.family-tabs button{background:transparent;border:1px solid transparent;border-radius:40px;font-size:13px;padding:8px 16px;white-space:nowrap}.filter-tabs button.active{background:var(--green);color:#fff}.filter-tabs button:hover:not(.active){background:#eae6d8}.filter-tabs button span{font-size:10px;opacity:.7;margin-left:4px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #d7d6c8;border-radius:25px;padding:8px 16px;background:#fff9;min-width:220px}.search-box span{font-size:25px;line-height:1;color:#7d8574}.search-box input{background:transparent;border:0;outline:none;color:var(--green);width:175px;font-size:12px}.search-box:focus-within{outline:2px solid #a29e7f;outline-offset:2px}.catalog-status{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#838674;letter-spacing:.5px;margin:20px 0 22px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 23px}.product-card{min-width:0;position:relative}.product-visual{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1.06;background:#f0ecdf;border-radius:12px;overflow:hidden;transition:background .2s}.product-card:nth-child(4n+2) .product-visual{background:#e9ecdf}.product-card:nth-child(4n+3) .product-visual{background:#f0e5dd}.product-card:nth-child(4n+4) .product-visual{background:#e6ece8}.product-visual img{width:74%;height:80%;object-fit:contain;transition:transform .3s}.product-card:hover .product-visual img{transform:translateY(-5px) rotate(-2deg)}.product-card:hover .product-title{text-decoration:underline;text-underline-offset:5px}.product-category{display:inline-block;font-size:9px;letter-spacing:1px;color:#75806e;margin-top:13px}.product-title{font-size:14px;font-weight:600;line-height:1.7;margin:4px 0 4px;overflow-wrap:anywhere}.product-action{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#727a6b;margin-top:9px}.product-action span{font-size:20px;color:var(--green)}.pinned-tag{position:absolute;top:12px;left:12px;font-size:9px;letter-spacing:.5px;background:var(--green);color:#fff;border-radius:20px;padding:3px 10px;z-index:1}.load-more-wrap{text-align:center;margin-top:40px}.catalog-footnote{font-size:10px;color:#8a8c7c;text-align:center;margin:25px auto 0;max-width:700px}.empty-state{text-align:center;padding:60px 10px}.empty-state>span{font-size:40px;color:#bc8f69}.empty-state h3{font-size:18px;font-weight:500}.empty-state p{font-size:13px;color:var(--muted)}.empty-state button{margin-top:10px}.friends-section{background:#efecdf}.family-tabs{display:flex;justify-content:center;gap:25px;margin:0 0 30px}.family-tabs button{font-size:13px;border-radius:0;border-bottom:1px solid transparent;padding:8px 10px}.family-tabs button.active{border-bottom-color:var(--green);font-weight:700}.family-stage{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:60px;min-height:370px}.family-visual{position:relative;min-height:330px;display:flex;align-items:flex-end;justify-content:center}.family-arch{position:absolute;inset:0 7%;border-radius:50% 50% 12px 12px;background:#e8d5b2}.family-visual img{position:relative;width:100%;max-height:360px;object-fit:contain;z-index:1;margin-bottom:10px}.family-copy .eyebrow{font-size:9px;color:#8a8067}.family-copy h3{font-family:var(--serif);font-size:30px;letter-spacing:1px;line-height:1.65;margin:15px 0}.family-copy>p{font-size:13px;color:var(--muted);line-height:2;max-width:380px;margin:0}.character-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.character-pills button{border:1px solid #cfcdbb;background:#faf8f0;border-radius:25px;padding:6px 14px;font-size:11px}.character-pills button:hover{border-color:var(--green)}.all-friends-link{display:flex;width:fit-content;margin:40px auto 0;border-bottom:1px solid #b9bfac;padding-bottom:4px;font-size:12px}.story-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;max-width:1000px}.story-mark{font-family:Georgia,serif;position:relative;font-size:75px;line-height:1.1;letter-spacing:-4px;color:#8b996f;transform:rotate(-8deg);padding-left:25px}.story-mark em{font-size:65px;font-weight:400;color:#394d38}.story-mark>span{font-size:65px;position:absolute;right:40px;top:60px;color:#b98a64;transform:rotate(22deg)}.story-copy .eyebrow{color:#8b876f;font-size:9px}.story-copy h2{font-family:var(--serif);font-size:33px;line-height:1.7;letter-spacing:1px;font-weight:600;margin:16px 0 20px}.story-copy>p{font-size:13px;line-height:2.1;color:var(--muted)}.story-copy .text-link{margin-top:14px;border-bottom:1px solid #b8c0ab;padding-bottom:4px;font-size:12px}.goodbye-section{background:#e7dcc5;position:relative;overflow:hidden;text-align:center;padding:65px 0 70px}.goodbye-section .container{position:relative}.goodbye-section .eyebrow{color:#7f795f;font-size:9px}.goodbye-section h2{font-family:var(--serif);font-size:33px;line-height:1.7;letter-spacing:2px;font-weight:500;margin:20px 0 25px}.goodbye-flower{position:absolute;right:8%;top:20%;color:#b98b59;font-size:100px;transform:rotate(18deg)}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:140px}.site-footer .brand b{font-size:20px}.site-footer .brand small{font-size:7px;letter-spacing:3px}.site-footer .brand-symbol{width:37px;height:37px;font-size:27px}.site-footer>p{font-size:11px;color:#90927f;font-family:Georgia,serif;font-style:italic}.site-footer>a:last-child{font-size:11px}dialog{padding:0;border:1px solid #dedbc9;background:var(--paper);color:var(--ink);border-radius:20px;width:min(900px,calc(100% - 32px));max-height:87vh;box-shadow:0 30px 100px #21322530}dialog::backdrop{background:#243a30a6;backdrop-filter:blur(4px)}body.modal-open{overflow:hidden}.close-dialog{position:sticky;top:16px;float:right;right:16px;margin:16px 16px -54px 0;z-index:3;border:1px solid #d3d4c4;background:var(--paper);width:38px;height:38px;border-radius:50%;font-size:25px;display:grid;place-items:center;line-height:1}.dialog-body{padding:45px}.dialog-eyebrow{font-size:10px;letter-spacing:2px;color:#8c856b}.dialog-body h2{font-family:var(--serif);font-size:30px;margin:10px 0 15px;line-height:1.5}.dialog-body>p{font-size:13px;color:var(--muted)}.character-detail{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-top:30px}.character-detail>img{max-height:380px;width:100%;object-fit:contain;background:#eee6d4;border-radius:150px 150px 15px 15px;padding:20px}.character-detail h2{margin-bottom:0}.character-detail .english-name{font-family:Georgia,serif;font-size:20px;color:#929a7b;margin:5px 0 20px}.character-detail .description{font-size:14px;line-height:2}.character-detail .group-label{font-size:11px;border:1px solid #cfd1c1;padding:5px 12px;border-radius:20px;display:inline-block}.resident-tools{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.resident-tools input{border:1px solid #d4d5c6;border-radius:25px;padding:9px 15px;width:100%;background:#fff8;font-size:13px}.resident-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px 12px}.resident-button{border:0;background:transparent;padding:0;text-align:center}.resident-button img{height:145px;width:100%;object-fit:contain;background:#eee9d9;border-radius:12px;padding:10px;transition:transform .2s}.resident-button:hover img{transform:translateY(-4px)}.resident-button b{display:block;font-size:12px;font-weight:500;margin-top:8px}.resident-button small{font-size:10px;color:var(--muted)}.hug-detail{text-align:center;max-width:550px;margin:auto;padding:32px 25px 25px}.hug-detail img{height:230px;width:100%;object-fit:contain;margin:8px auto 20px}.hug-detail h2{font-size:27px;line-height:1.7}.hug-detail .hug-from{font-size:11px;color:#8c927e}.hug-detail button{margin-top:20px}.noscript{padding:25px;text-align:center}.noscript a{text-decoration:underline}.image-unavailable{color:#8a806c;font-size:12px;text-align:center;padding:25px}
.preview-work{font-size:10px;border:0;border-bottom:1px solid #c4c8b7;background:transparent;padding:4px 0;margin-top:6px;color:#687961}.preview-work:hover{color:#a26844}.resident-count{font-size:11px!important;color:#8b8b78}.sticker-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:25px}.sticker-preview-grid img{width:100%;height:170px;object-fit:contain;background:#eee9db;border-radius:12px;padding:10px}.preview-note{font-size:10px!important;margin-top:20px}.no-residents{grid-column:1/-1;text-align:center;font-size:13px;padding:25px}
@media(min-width:1600px){.hero{min-height:720px}.hero-image{width:110%}.hero h1{font-size:62px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav-wrap{width:calc(100% - 48px)}.hero{min-height:590px}.hero h1{font-size:45px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:12px;gap:7px}.hero-actions .button{padding:13px 18px;gap:16px}.art-label{left:14%;font-size:14px}.section{padding-block:75px}.featured-copy{padding:35px}.family-stage{gap:35px}.family-copy h3{font-size:27px}.story-inner{gap:55px}.story-mark{font-size:64px}.story-mark em{font-size:56px}.story-mark>span{right:0}.goodbye-flower{right:3%}}
@media(max-width:800px){.nav-wrap{height:85px}.nav-wrap nav{gap:20px;font-size:12px}.brand b{font-size:21px}.brand-symbol{height:39px;width:39px;font-size:29px}.brand small{font-size:8px;letter-spacing:2.7px}.hug-nav{font-size:11px;padding:9px 13px}.hug-nav span{margin-left:5px}.hero{grid-template-columns:1fr 1fr;min-height:540px;padding-block:35px 55px}.hero h1{font-size:38px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-copy>p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:14px}.hero-note{font-size:9px;letter-spacing:0;margin-top:25px}.hero-blob{height:75%;bottom:15%}.hero-image{width:112%;margin-top:50px}.art-label{font-size:12px;left:12%;top:14%;letter-spacing:.5px}.hero-art-caption{font-size:6px;right:0;bottom:2%}.spark-one{font-size:35px;top:22%}.spark-two{top:36%;left:-2%}.welcome-strip{gap:30px;letter-spacing:1px;font-size:11px}.section-heading h2{font-size:29px}.section-heading>p{font-size:11px}.heading-flower{font-size:27px;margin-left:10px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 18px}.catalog-controls{align-items:flex-start;gap:16px;flex-direction:column}.search-box{width:100%;max-width:330px}.search-box input{width:100%}.filter-tabs button{padding:7px 14px}.featured-copy{padding:28px}.featured-copy h3{font-size:22px}.featured-copy .button{padding:11px 16px;font-size:11px;gap:10px}.featured-copy .eyebrow{font-size:8px}.featured-visual{min-height:280px;padding:25px}.family-stage{grid-template-columns:1fr 1fr;gap:25px}.family-visual{min-height:270px}.family-copy h3{font-size:24px}.family-copy>p{font-size:12px}.story-inner{gap:50px}.story-mark{font-size:49px;letter-spacing:-2px;padding-left:0}.story-mark em{font-size:46px}.story-mark>span{font-size:40px;top:30px;right:0}.story-copy h2{font-size:28px}.story-copy>p{font-size:12px}.site-footer{flex-wrap:wrap;padding-block:30px;gap:18px;min-height:auto}.site-footer>p{order:3;flex-basis:100%;text-align:center;margin:0}.resident-grid{grid-template-columns:repeat(4,1fr)}.resident-button img{height:135px}}
@media(max-width:600px){html{scroll-padding-top:95px}.container{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 32px);height:78px;gap:12px}.brand{gap:8px}.brand b{font-size:19px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:2.3px;margin-top:6px}.brand-symbol{height:33px;width:33px;font-size:26px}.nav-wrap nav{gap:15px;margin-left:auto}.nav-wrap nav a{font-size:11px;letter-spacing:0}.hug-nav{font-size:0;padding:3px 9px;border-color:#bac0ad}.hug-nav span{font-size:23px;margin:0;line-height:1.4}.hero{display:flex;flex-direction:column;min-height:auto;padding-block:38px 30px;gap:5px;align-items:stretch}.hero-copy{text-align:center}.hero .eyebrow{justify-content:center;font-size:8px;letter-spacing:1.3px}.hero h1{font-size:42px;line-height:1.48;margin:20px 0 15px;letter-spacing:.5px}.hero-copy>p{font-size:12px;line-height:1.9;margin-bottom:22px}.hero-actions{flex-direction:row;justify-content:center;align-items:center;gap:18px}.hero-actions .button{padding:12px 18px;font-size:11px;gap:12px}.hero-actions .text-link{font-size:11px}.hero-note{justify-content:center;margin-top:20px;font-size:9px}.tiny-flower{font-size:18px}.hero-art{min-height:325px;max-width:430px;width:100%;margin:0 auto;align-self:center}.hero-blob{inset:18px 6% 0;width:auto;height:auto}.hero-image{width:96%;margin-top:34px}.art-label{top:4px;left:27%;font-size:12px}.spark-one{top:7%;right:4%;font-size:32px}.spark-two{top:27%;left:5%;font-size:23px}.hero-art-caption{bottom:-8px;right:14%;font-size:6px}.welcome-strip{font-size:9px;gap:17px;min-height:48px;letter-spacing:1px}.welcome-strip span{font-size:17px}.section{padding-block:56px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:28px;margin-top:8px;letter-spacing:.3px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.8px}.section-heading>p{font-size:11px;margin-top:13px;line-height:1.9}.section-heading>p br{display:none}.heading-flower{font-size:24px;margin-left:9px}.featured-product{grid-template-columns:1fr;margin-bottom:30px;border-radius:14px}.featured-visual{min-height:235px;padding:35px 30px 15px}.featured-visual img{width:200px;height:200px}.pick-label{top:15px;left:15px;font-size:9px}.featured-copy{padding:24px 25px 28px}.featured-copy h3{font-size:24px;margin-top:9px}.featured-copy p{font-size:12px;margin-bottom:18px}.featured-copy .button{font-size:12px;padding:12px 18px}.purchase-note{font-size:9px;margin-top:9px}.filter-tabs{gap:3px;width:100%}.filter-tabs button{padding:7px 11px;font-size:11px;flex-grow:1}.filter-tabs button span{font-size:9px;margin-left:2px}.catalog-controls{gap:14px;padding-bottom:17px}.search-box{max-width:none;padding-block:7px}.catalog-status{font-size:9px;margin:16px 0;align-items:center}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.product-visual{border-radius:10px;aspect-ratio:1}.product-visual img{width:80%;height:83%}.product-title{font-size:12px;line-height:1.7;margin-top:2px}.product-category{font-size:8px;margin-top:9px}.product-action{font-size:10px;margin-top:5px}.product-action span{font-size:17px}.pinned-tag{font-size:8px;top:8px;left:8px;padding:2px 8px}.load-more-wrap{margin-top:28px}.load-more-wrap .button{font-size:11px;padding:12px 22px}.catalog-footnote{font-size:9px;margin-top:20px;line-height:1.9}.family-tabs{gap:14px;margin-top:0;margin-bottom:20px}.family-tabs button{font-size:12px;padding:5px 10px}.family-stage{grid-template-columns:1fr;gap:27px;min-height:0}.family-visual{min-height:240px;max-height:290px;margin-inline:5px}.family-visual img{max-height:285px}.family-arch{inset:0 5%;border-radius:50% 50% 10px 10px}.family-copy{text-align:center}.family-copy h3{font-size:27px;line-height:1.5;margin:12px 0}.family-copy>p{margin-inline:auto;max-width:330px;font-size:12px}.character-pills{justify-content:center;margin-top:18px}.character-pills button{font-size:10px}.all-friends-link{margin-top:30px;font-size:11px}.story-inner{grid-template-columns:1fr;gap:40px}.story-mark{font-size:63px;line-height:1;max-width:310px;margin:12px auto 5px;width:100%;padding-left:15px}.story-mark em{font-size:55px}.story-mark>span{right:0;top:25px;font-size:56px}.story-copy{max-width:400px;margin:auto}.story-copy .eyebrow{font-size:8px}.story-copy h2{font-size:30px;line-height:1.6}.story-copy>p{font-size:12px;line-height:2}.goodbye-section{padding:46px 0 50px}.goodbye-section h2{font-size:28px;letter-spacing:1px;line-height:1.7;margin:17px 0 25px}.goodbye-section .eyebrow{font-size:7px}.goodbye-section .button{font-size:11px}.goodbye-flower{font-size:60px;right:-25px;top:40%;opacity:.4}.site-footer{padding-block:25px;gap:20px}.site-footer .brand b{font-size:18px}.site-footer .brand small{font-size:6px;letter-spacing:2.7px}.site-footer .brand-symbol{width:31px;height:31px;font-size:24px}.site-footer>a:last-child{font-size:9px}.site-footer>p{font-size:10px}.dialog-body{padding:40px 22px 25px}.dialog-body h2{font-size:26px;padding-right:20px}.character-detail{grid-template-columns:1fr;gap:22px;padding-top:8px;text-align:center}.character-detail>img{height:260px;max-width:260px;justify-self:center}.character-detail .description{font-size:13px}.character-detail h2{padding-right:0}.resident-grid{grid-template-columns:repeat(3,1fr);gap:18px 10px}.resident-button img{height:135px}.resident-button b{font-size:11px}.resident-button small{font-size:9px}.hug-detail{padding:15px 5px}.hug-detail img{height:210px}.hug-detail h2{font-size:24px;padding:0}.hug-detail .dialog-eyebrow{font-size:8px}.close-dialog{top:10px;right:10px;margin-right:10px}.dialog-body>p{font-size:12px}}
@media(max-width:600px){.hero h1{font-size:clamp(30px,10vw,42px)}.sticker-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sticker-preview-grid img{height:160px}.preview-work{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.featured-preview{margin:0 10px 12px 0}.product-card-actions{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap;margin-top:9px}.product-card-actions .preview-work{margin:0;font-size:10px}.product-card-actions .product-action{margin:0;font-size:9px;gap:5px;white-space:nowrap}.product-card-actions .product-action:hover{color:#9a6240}.product-preview-body h2{padding-right:24px;overflow-wrap:anywhere}.preview-heading-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0 22px}.preview-heading-row .preview-summary{margin:0;font-size:12px;color:var(--muted)}.preview-heading-row .button{font-size:11px;padding:10px 18px;gap:8px}.preview-switches{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:17px 0}.preview-switches button{font-size:12px;padding:7px 15px;border:1px solid #c9cbbb;border-radius:24px;background:transparent}.preview-switches button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--paper)}.preview-switches button:hover:not([aria-pressed="true"]){background:#eee9da}.preview-hint{font-size:11px;color:#888b78;margin:20px 0 12px}.product-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:15px 0}.preview-tile{min-width:0;border:0;padding:0;background:transparent;display:flex;flex-direction:column;align-items:stretch;text-align:center}.preview-image-wrap{display:grid;place-items:center;aspect-ratio:1;background:#efeadc;border-radius:12px;overflow:hidden;padding:10px;transition:background .2s}.preview-tile:hover .preview-image-wrap{background:#e7e1cf}.preview-image-wrap img{width:100%;height:100%;object-fit:contain}.preview-number{font-size:10px;letter-spacing:1px;color:#898d7a;margin-top:5px}.theme-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.theme-preview-grid .preview-image-wrap{aspect-ratio:auto;padding:10px;min-height:260px}.theme-preview-grid img{width:100%;height:auto;border-radius:6px}.enlarged-preview{margin-top:23px}.preview-back{font-size:11px;margin-bottom:15px}.enlarged-image-wrap{display:grid;place-items:center;background:#efeadc;border-radius:14px;min-height:300px;padding:25px}.enlarged-image-wrap img{max-height:56vh;width:100%;object-fit:contain}.enlarged-theme .enlarged-image-wrap img{width:auto;max-width:100%;max-height:62vh}.preview-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.preview-pagination .button{font-size:11px;padding:9px 16px}.preview-pagination .button:disabled{opacity:.4;transform:none}.preview-pagination>span{font-size:12px;color:#7b846f}.product-preview-body>.preview-note{padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:600px){.featured-preview{margin-bottom:12px;font-size:12px!important;padding:12px 18px!important}.product-card-actions{gap:2px 10px;margin-top:7px}.product-card-actions .preview-work{font-size:9px}.product-card-actions .product-action{font-size:9px}.product-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.preview-image-wrap{padding:7px;border-radius:9px}.theme-preview-grid{gap:12px}.theme-preview-grid .preview-image-wrap{min-height:180px;padding:5px}.preview-heading-row{gap:10px;margin-top:12px;margin-bottom:15px}.preview-heading-row .preview-summary{font-size:10px}.preview-heading-row .button{font-size:10px;padding:9px 13px}.preview-switches{gap:6px;margin:14px 0}.preview-switches button{font-size:10px;padding:6px 11px}.preview-hint{font-size:10px}.preview-number{font-size:9px}.enlarged-image-wrap{padding:15px;min-height:250px}.preview-pagination{gap:10px}.preview-pagination .button{font-size:10px;padding:8px 12px}.preview-pagination>span{font-size:11px}}
.hug-bank-note{display:block;font-size:11px;line-height:1.8;color:#838976;margin-top:12px}.hug-collection-count{display:block;font-size:11px;letter-spacing:1px;color:#7f886f;margin:12px 0 0}.hug-detail .hug-serial{font-size:10px;letter-spacing:1.2px;color:#8c927e;margin:14px 0 0}.hug-detail h2{overflow-wrap:anywhere}.hug-detail button{margin-top:22px}
@media(max-width:600px){.hug-bank-note{font-size:10px}.hug-collection-count{font-size:10px;letter-spacing:.5px;margin-top:10px}.hug-detail img{height:180px;margin-block:10px 14px}.hug-detail h2{font-size:22px;line-height:1.8}.hug-detail .hug-from{font-size:10px;margin-block:10px}.hug-detail .hug-serial{font-size:9px;margin-top:12px}.hug-detail button{margin-top:18px}}
.hug-dialog-body{padding:24px 32px}.hug-dialog-body .hug-detail{padding:8px 12px 12px}.hug-dialog-body .hug-detail img{height:180px;margin:10px auto 12px}.hug-dialog-body .hug-from{margin:8px 0 10px}.hug-dialog-body .hug-detail h2{font-size:24px;line-height:1.75;margin:12px 0}.hug-dialog-body .hug-serial{margin-top:10px}.hug-dialog-body .hug-detail button{margin-top:18px}
@media(max-width:600px){.hug-dialog-body{padding:32px 20px 22px}.hug-dialog-body .hug-detail{padding:3px 0 8px}.hug-dialog-body .hug-detail img{height:150px;margin:8px auto 12px}.hug-dialog-body .hug-detail h2{font-size:21px;line-height:1.8}.hug-dialog-body .hug-from{font-size:10px}}

/* Keep sticker pixels out of the frame's intrinsic size calculation. */
.product-preview-grid:not(.theme-preview-grid) .preview-image-wrap {
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1;
  min-width:0;
  min-height:0;
  flex:none;
  padding:0;
}
.product-preview-grid:not(.theme-preview-grid) .preview-image-wrap img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  padding:10px;
  object-fit:contain;
  object-position:center;
}
.big-sticker-preview-grid:not(.theme-preview-grid) .preview-image-wrap {
  aspect-ratio:2 / 3;
}
.enlarged-image-wrap {
  min-width:0;
  grid-template-columns:minmax(0,1fr);
}
.enlarged-image-wrap img {
  width:auto;
  height:auto;
  max-width:100%;
  min-width:0;
  min-height:0;
  justify-self:center;
  object-position:center;
}
@media(max-width:600px) {
  .product-preview-grid:not(.theme-preview-grid) .preview-image-wrap img { padding:7px; }
}

.sale-badge{display:inline-flex;margin:0 16px 12px;padding:5px 9px;border-radius:999px;color:#744727;background:#f5e5ce;font-size:12px;line-height:1.4}.sale-period-note{margin:0 0 20px;padding:12px 15px;border-radius:12px;background:#f2eee5;color:#5e655b;font-size:14px;line-height:1.8;overflow-wrap:anywhere}#monitor-status{color:#52644f}

@media(max-width:900px){
  .nav-wrap{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;height:auto;gap:8px 12px;padding-block:12px}
  .nav-wrap nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:24px;margin:0;width:100%}
  .nav-wrap nav a{white-space:nowrap}
  .hug-nav{grid-column:2;grid-row:1;justify-self:end}
}
@media(max-width:600px){
  .nav-wrap nav{gap:20px}
}

/* Homepage character catalogue. Append after the existing site styles. */
.residents-catalog {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
  scroll-margin-top: 104px;
}
.resident-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}
.resident-heading .eyebrow {
  color: #757a62;
  font-size: 9px;
  letter-spacing: 1.8px;
}
.resident-heading h3 {
  margin: 10px 0 0;
  font-family: var(--serif);
  font-size: clamp(22px, 2.5vw, 29px);
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .5px;
}
.resident-heading > p {
  flex-shrink: 0;
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.9;
}
.resident-catalog-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.resident-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}
.resident-filter-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid #c7cbb8;
  border-radius: 24px;
  background: #faf8ef;
  color: var(--green);
  font-size: 12px;
  line-height: 1.5;
  transition: background .18s, border-color .18s, color .18s;
}
.resident-filter-tabs button > span {
  font-size: 10px;
  font-variant-numeric: tabular-nums;
  opacity: .7;
}
.resident-filter-tabs button[aria-pressed="true"] {
  border-color: var(--green);
  background: var(--green);
  color: var(--paper);
}
.resident-filter-tabs button[aria-pressed="true"] > span { opacity: .85; }
.resident-search-box {
  display: flex;
  flex: 0 1 238px;
  align-items: center;
  gap: 9px;
  min-width: 180px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #c7cbb8;
  border-radius: 24px;
  background: #faf8ef;
}
.resident-search-box > span {
  color: #65745b;
  font-size: 23px;
  line-height: 1;
}
.resident-search-box input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
}
.resident-search-box input::placeholder { color: #767e6d; opacity: 1; }
.resident-search-box:focus-within {
  outline: 3px solid #b47b4c;
  outline-offset: 3px;
}
.resident-search-box input:focus-visible { outline: none; }
.resident-catalog-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 22px 0 24px;
}
.resident-catalog-status > p {
  margin: 0;
  color: #68715f;
  font-size: 12px;
  line-height: 1.7;
}
.resident-selects {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
}
.resident-selects label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #68715f;
  font-size: 11px;
}
.resident-selects select {
  min-height: 44px;
  max-width: 100%;
  padding: 9px 28px 9px 11px;
  border: 1px solid #c7cbb8;
  border-radius: 10px;
  background-color: #faf8ef;
  color: var(--green);
  font: inherit;
  font-size: 12px;
}
.character-catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px 20px;
}
.character-card {
  display: flex;
  min-width: 0;
  border: 1px solid #d8d8c8;
  border-radius: 17px;
  background: var(--paper);
}
.character-open {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  -webkit-tap-highlight-color: #334c3e18;
}
.character-art {
  position: relative;
  display: block;
  flex: none;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1 / 1.04;
  border-radius: 16px 16px 32px 16px;
  background: #e8e6d6;
}
.character-card:nth-child(4n + 2) .character-art { background: #ede3d3; }
.character-card:nth-child(4n + 3) .character-art { background: #e3e8d9; }
.character-card:nth-child(4n) .character-art { background: #eae6dd; }
.character-art > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  padding: 22px 17px 15px;
  object-fit: contain;
  object-position: center;
  transition: transform .2s ease;
}
.character-new {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 9px;
  border: 1px solid #c5cdb9;
  border-radius: 20px;
  background: #fbf8eff2;
  color: #475d3d;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .3px;
}
.character-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  min-width: 0;
  padding: 19px 19px 17px;
  overflow-wrap: anywhere;
}
.character-group {
  margin-bottom: 6px;
  color: #737b63;
  font-size: 10px;
  line-height: 1.6;
  letter-spacing: .6px;
}
.character-name { display: block; width: 100%; }
.character-name b {
  display: block;
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .5px;
}
.character-name small {
  display: block;
  margin-top: 2px;
  color: #747d68;
  font-family: Georgia, serif;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: .2px;
}
.character-birthday {
  display: block;
  max-width: 100%;
  margin: 12px 0 10px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #eeeee2;
  color: #4e6145;
  font-size: 11px;
  line-height: 1.8;
  font-variant-numeric: tabular-nums;
}
.character-birthday > span { margin-right: 2px; color: #967654; }
.character-card-description {
  display: block;
  flex: 1;
  color: #67705f;
  font-size: 12px;
  line-height: 1.95;
}
.character-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 17px;
  padding-top: 11px;
  border-top: 1px solid #e0e1d3;
  color: var(--green);
  font-size: 11px;
  line-height: 1.6;
}
.character-more > span { color: #8d997b; font-size: 15px; }
.resident-filter-tabs button:focus-visible,
.resident-selects select:focus-visible,
.character-open:focus-visible {
  outline: 3px solid #b47b4c;
  outline-offset: 4px;
}
.character-open:focus-visible .character-more { text-decoration: underline; text-underline-offset: 4px; }
.resident-empty { padding: 46px 16px 20px; }
.resident-empty > h4 { margin: 8px 0; font-family: var(--serif); font-size: 21px; }
.character-card[hidden], .resident-empty[hidden] { display: none; }

/* The same birthday information stays visible in the character dialog. */
.character-birthday-detail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 20px 0 17px;
  padding: 12px 15px;
  border: 1px solid #d9ddcc;
  border-radius: 12px;
  background: #efeee1;
}
.character-birthday-detail > span {
  color: #6c775d;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: .8px;
}
.character-birthday-detail > b {
  color: var(--green);
  font-family: var(--serif);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.6;
  font-variant-numeric: tabular-nums;
}
.birthday-story {
  margin: 13px 0 0;
  padding: 2px 0 2px 13px;
  border-left: 2px solid #c4ceb3;
  color: #6e7862;
  font-size: 12px;
  line-height: 1.95;
}
.character-traits {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #dddfd0;
}
.character-traits > span {
  display: block;
  color: #5c7050;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: .8px;
}
.character-traits > p {
  margin: 7px 0 0;
  color: #727a68;
  font-size: 12px;
  line-height: 1.95;
}

@media (hover: hover) {
  .resident-filter-tabs button:hover { border-color: var(--green); }
  .resident-filter-tabs button[aria-pressed="false"]:hover { background: #e7eadb; }
  .character-open:hover .character-art > img { transform: translateY(-3px); }
  .character-open:hover .character-more { text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 1000px) {
  .character-catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 17px; }
  .resident-heading { display: block; }
  .resident-heading > p { margin-top: 9px; }
  .resident-catalog-controls { flex-wrap: wrap; }
  .resident-search-box { flex: 1 1 210px; max-width: 310px; }
  .resident-catalog-status { align-items: flex-start; }
  .resident-selects { justify-content: flex-end; }
}
@media (max-width: 600px) {
  .residents-catalog { margin-top: 0; padding-top: 0; scroll-margin-top: 110px; }
  .resident-heading { margin-bottom: 22px; }
  .resident-heading .eyebrow { font-size: 8px; letter-spacing: 1.2px; }
  .resident-heading h3 { font-size: 22px; letter-spacing: .1px; }
  .resident-heading > p { font-size: 11px; }
  .resident-catalog-controls { display: grid; grid-template-columns: minmax(0, 1fr); gap: 13px; }
  .resident-filter-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .resident-filter-tabs button { min-width: 0; padding: 9px 8px; font-size: 12px; }
  .resident-search-box { width: 100%; min-width: 0; max-width: none; }
  .resident-search-box input { font-size: 16px; }
  .resident-catalog-status { display: flex; flex-direction: column; align-items: stretch; gap: 13px; margin: 18px 0 20px; }
  .resident-catalog-status > p { font-size: 12px; }
  .resident-selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .resident-selects label { display: grid; align-items: start; gap: 4px; min-width: 0; font-size: 11px; }
  .resident-selects select { width: 100%; min-width: 0; padding-left: 10px; font-size: 16px; }
  .character-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 12px; }
  .character-card { border-radius: 13px; }
  .character-open { border-radius: 12px; }
  .character-art { border-radius: 12px 12px 25px 12px; aspect-ratio: 1 / 1.12; }
  .character-art > img { padding: 21px 9px 9px; }
  .character-new { top: 8px; right: 7px; padding: 3px 6px; font-size: 10px; }
  .character-card-body { padding: 13px 11px 12px; }
  .character-group { margin-bottom: 5px; font-size: 10px; letter-spacing: .1px; }
  .character-name b { font-size: 18px; letter-spacing: .2px; }
  .character-name small { font-size: 11px; }
  .character-birthday { margin: 10px 0 9px; padding: 5px 6px; font-size: 11px; line-height: 1.8; }
  .character-card-description { font-size: 12px; line-height: 1.85; }
  .character-more { margin-top: 13px; padding-top: 9px; font-size: 11px; }
  .character-birthday-detail { justify-content: center; margin: 17px 0 14px; padding: 10px 12px; }
  .character-birthday-detail > b { font-size: 18px; }
  .birthday-story { padding-left: 0; border-left: 0; }
  .character-traits { margin-top: 17px; padding-top: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .resident-filter-tabs button, .character-art > img { transition: none; }
  .character-open:hover .character-art > img { transform: none; }
}
