:root{color-scheme:light;--paper:#f8f2e6;--ink:#315540;--muted:#73806a;--green:#3c7053}*{box-sizing:border-box}body.island-opening{margin:0;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}#welcome-screen{overflow:hidden;background:radial-gradient(ellipse at 15% 15%,#fffbed 0,transparent 45%),var(--paper)}.welcome-hero{max-width:1500px;margin:auto;min-height:min(900px,100svh);padding:26px clamp(24px,5vw,76px) 18px;display:flex;flex-direction:column}.welcome-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}.welcome-brand{display:flex;align-items:center;gap:11px}.welcome-brand>span{display:grid;gap:2px}.welcome-brand b{font-size:20px;letter-spacing:.08em}.welcome-brand small{font-size:9px;letter-spacing:.16em;color:var(--muted)}.welcome-note{font-size:12px;color:#7c876e;letter-spacing:.06em}.welcome-layout{display:grid;grid-template-columns:37% 63%;grid-template-rows:1fr auto;position:relative;margin:auto 0;align-items:end;padding:26px 0 16px}.welcome-intro{grid-column:1;grid-row:1;position:relative;z-index:2;padding:24px 0 0}.welcome-eyebrow{font-size:10px;letter-spacing:.22em;color:#9a9068;margin:0 0 18px}.welcome-intro h1{position:relative;font:700 clamp(40px,4.8vw,70px)/1.25 "Songti SC","STSong","Noto Serif CJK SC",serif;letter-spacing:.02em;margin:0 0 20px;white-space:nowrap}.welcome-intro h1 span{color:#497451}.welcome-intro h1 i{font:400 22px/1 serif;display:inline-block;vertical-align:top;margin:6px 0 0 8px;color:#c5a45c}.welcome-description{font-size:15px;line-height:1.9;color:#73806a;margin:0 0 21px}.welcome-subjects{display:flex;gap:8px}.welcome-subjects span{font-size:12px;letter-spacing:.08em;padding:5px 13px;border:1px solid #cdd0b4;border-radius:30px;background:#fff9eccc}.welcome-subjects span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;background:#95b18b;border-radius:50%;vertical-align:middle}.welcome-subjects span:nth-child(2):before{background:#d5af63}.welcome-subjects span:nth-child(3):before{background:#87b6bd}.welcome-collage{grid-column:2;grid-row:1/3;position:relative;aspect-ratio:1.18;width:100%;align-self:center;margin:0 0 8px}.welcome-scene{position:absolute;inset:0 -3% 0 -6%;overflow:hidden;border-radius:42% 40% 33% 24%/20% 25% 28% 26%;mask-image:linear-gradient(#000 89%,transparent);-webkit-mask-image:linear-gradient(#000 89%,transparent)}.welcome-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:48% 50%}.dragon-note{position:absolute;top:2%;right:8%;font-size:11px;letter-spacing:.03em;color:#576e53;background:#fff7dfeb;padding:7px 11px;border:1px solid #c6c8a3;border-radius:30px;transform:rotate(3deg)}.brothers-photo{position:absolute;right:-2%;bottom:5%;width:37%;margin:0;padding:9px 9px 0;background:#fffdf5;box-shadow:0 5px 0 #8b815b0a,0 12px 30px #5a65313b;transform:rotate(6deg);z-index:2;border:1px solid #e8dcc2}.brothers-photo:before{content:"";position:absolute;top:-11px;left:29%;width:44%;height:22px;background:#e4c98bc4;transform:rotate(-9deg);z-index:1;clip-path:polygon(0 8%,100% 0,97% 100%,3% 93%)}.photo-window{aspect-ratio:1.02;overflow:hidden;background:#dedec7}.photo-window img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}.brothers-photo figcaption{font:13px/2.6 "Songti SC","STSong",serif;text-align:center;color:#817653;letter-spacing:.12em}.brothers-photo figcaption span{color:#b69961;margin-left:6px}.welcome-friends{position:absolute;bottom:2%;left:-5%;width:68%;height:31%;display:flex;align-items:flex-end;filter:drop-shadow(0 4px 2px #4c693f22);z-index:3}.welcome-friends img{height:100%;width:27%;object-fit:contain;object-position:center bottom;filter:drop-shadow(2px 0 0 #fffdf3) drop-shadow(-2px 0 0 #fffdf3) drop-shadow(0 -2px 0 #fffdf3)}.welcome-friends .sticker-nobita{height:109%;width:23%;margin-left:-2%}.welcome-friends .sticker-shinchan{height:82%;width:24%;margin-left:-3%}.welcome-friends .sticker-pikachu{height:83%;width:29%;margin-left:-2%}.welcome-start{grid-column:1;grid-row:2;align-self:start;position:relative;z-index:4;padding:27px 0 38px;max-width:325px}.welcome-enter{display:flex;align-items:center;justify-content:center;gap:13px;min-height:61px;border:1px solid #356348;border-radius:17px;padding:14px 21px;background:var(--green);box-shadow:0 6px 0 #2a52321a,0 13px 25px #3d68351a;color:#fff9e4;font-size:19px;font-weight:700;letter-spacing:.04em;text-decoration:none;transition:transform .16s,background .16s}.welcome-enter>span:first-child{font-size:24px;line-height:1}.welcome-arrow{font-weight:400;margin-left:auto;font-size:25px}.welcome-enter:hover{background:#305d44;transform:translateY(-2px)}.welcome-enter:active{transform:translateY(1px)}.welcome-enter:focus-visible{outline:3px solid #b88b3d;outline-offset:5px}#welcome-status{font-size:12px;line-height:1.6;color:#7c866e;margin:14px 0 0;text-align:center}.welcome-scroll{text-align:center;font-size:11px;letter-spacing:.12em;color:#92947b;margin:4px 0 0}.welcome-scroll span{display:block;margin-top:6px;font-size:17px}.welcome-album{position:relative;max-width:1180px;margin:0 auto;padding:65px 30px 38px}.welcome-album:before{content:"";position:absolute;top:15px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#cbd0b8,transparent)}.album-heading{text-align:center;margin-bottom:30px}.album-number{font-size:11px;letter-spacing:.13em;color:#9c926e}.album-heading h2{font:700 clamp(25px,3vw,34px)/1.4 "Songti SC","STSong",serif;margin:12px 0;color:#496e4e}.album-heading p{font-size:13px;color:#8a8a73;margin:0;line-height:1.8}.friend-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:15px}.friend-card{margin:0;text-align:center;border:1px solid #e7dfc9;border-radius:45% 45% 15px 15px/33% 33% 15px 15px;background:#fffaf0;box-shadow:0 5px 0 #dcd5b41f;padding:10px 7px 11px;min-width:0}.friend-card:nth-child(3n+2){background:#f0f3e7}.friend-card:nth-child(3n){background:#f6f0df}.friend-art{display:block;position:relative;aspect-ratio:1/1.12;overflow:hidden;border-radius:24px;margin:0 auto 8px}.friend-art img{display:block;width:100%;height:100%;object-fit:contain}.friend-atlas{background-image:url('assets/welcome-friends/storybook-friends.webp');background-size:400% 200%;background-position:var(--portrait-x) var(--portrait-y)}.friend-name{font-size:12px;color:#617257;white-space:nowrap}.album-note{text-align:center;font-size:12px;color:#969278;line-height:1.8;margin:28px 0 0}.welcome-footer{max-width:1120px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:22px 24px max(25px,env(safe-area-inset-bottom));border-top:1px solid #d8dbc6;margin:auto;font-size:11px;letter-spacing:.08em;color:#9a9b81}.welcome-footer small{font:inherit;font-size:10px;letter-spacing:0}
@media(min-width:1500px){.welcome-layout{padding-top:50px;padding-bottom:50px}.welcome-intro{padding-top:60px}.welcome-collage{aspect-ratio:1.18}.welcome-start{padding-bottom:70px}}
@media(max-width:1000px) and (min-width:701px){.welcome-hero{min-height:auto;padding-bottom:20px}.welcome-layout{padding-top:40px;padding-bottom:35px}.welcome-intro h1{font-size:46px}.welcome-description{font-size:13px}.welcome-collage{aspect-ratio:.95}.welcome-enter{font-size:16px;gap:8px;padding-inline:12px}.welcome-start{padding-bottom:10px}.brothers-photo{width:42%;bottom:9%}.welcome-friends{bottom:7%;height:23%}.friend-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.welcome-album{padding-top:45px}}
@media(max-width:700px){.welcome-hero{min-height:100svh;padding:18px 22px 12px;max-width:530px}.welcome-brand{gap:8px}.welcome-brand img{width:31px;height:31px}.welcome-brand b{font-size:17px}.welcome-brand small{font-size:7px;letter-spacing:.14em}.welcome-note{font-size:10px;letter-spacing:0}.welcome-layout{display:flex;flex-direction:column;align-items:center;padding:16px 0 0;margin:auto 0;width:100%}.welcome-intro{text-align:center;padding:0;width:100%}.welcome-eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:8px}.welcome-intro h1{font-size:clamp(34px,9.2vw,46px);line-height:1.13;margin-bottom:12px}.welcome-intro h1 br{display:none}.welcome-intro h1 i{font-size:17px;margin-left:3px}.welcome-description{font-size:12px;line-height:1.7;margin-bottom:10px}.welcome-description br{display:none}.welcome-subjects{justify-content:center;gap:7px}.welcome-subjects span{font-size:10px;padding:4px 11px}.welcome-collage{width:100%;height:clamp(230px,36svh,340px);aspect-ratio:auto;margin:16px 0 6px}.welcome-scene{inset:0 -14% 0 -13%;border-radius:33% 35% 24% 26%/15% 17% 20% 20%}.welcome-scene img{object-fit:cover;object-position:center}.dragon-note{top:2%;right:1%;font-size:8px;padding:4px 7px}.brothers-photo{right:-1%;bottom:7%;width:39%;padding:6px 6px 0;transform:rotate(6deg)}.brothers-photo:before{height:15px;top:-7px}.brothers-photo figcaption{font-size:9px;line-height:2.5;letter-spacing:.03em}.welcome-friends{left:-8%;bottom:1%;height:37%;width:75%}.welcome-start{padding:4px 0 8px;width:min(100%,330px);max-width:none;align-self:center}.welcome-enter{min-height:58px;font-size:18px;gap:13px}.welcome-arrow{margin-left:9px}#welcome-status{font-size:11px;margin-top:11px}.welcome-scroll{font-size:10px;margin:6px 0 0}.welcome-scroll span{font-size:14px;margin-top:3px}.welcome-album{padding:46px 20px 25px}.album-heading{margin-bottom:23px}.album-heading h2{margin:10px 0}.album-heading p{font-size:12px}.album-number{font-size:10px}.friend-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 9px}.friend-card{padding:7px 5px 10px}.friend-art{margin-bottom:5px;border-radius:15px}.friend-name{font-size:11px}.album-note{font-size:11px;margin:23px 0 0}.welcome-footer{margin:0 20px;padding:20px 0 max(23px,env(safe-area-inset-bottom));font-size:10px}.welcome-footer small{font-size:9px;width:100%;text-align:center;color:#aeaa92}}
@media(max-width:700px) and (max-height:680px){.welcome-hero{padding-top:12px;padding-bottom:9px}.welcome-layout{padding-top:12px}.welcome-eyebrow{margin-bottom:5px;font-size:7px}.welcome-intro h1{font-size:32px;margin-bottom:8px}.welcome-description{font-size:11px;margin-bottom:8px}.welcome-subjects span{padding:3px 10px}.welcome-collage{height:224px;margin-top:12px;margin-bottom:3px}.welcome-enter{min-height:54px;font-size:17px}.welcome-start{padding-top:2px}#welcome-status{margin-top:8px;font-size:10px}.welcome-scroll{margin-top:2px}.welcome-scroll span{margin-top:0}.dragon-note{font-size:7px}}
@media(prefers-reduced-motion:reduce){.welcome-enter{transition:none}.welcome-enter:hover{transform:none}}
@supports(padding:env(safe-area-inset-top)){.welcome-hero{padding-top:max(18px,env(safe-area-inset-top));padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}@media(min-width:701px){.welcome-hero{padding:26px clamp(24px,5vw,76px) 18px}}@media(max-width:700px) and (max-height:680px){.welcome-hero{padding-top:max(12px,env(safe-area-inset-top))}}}
/* Frame the tall source portraits without changing their artwork. */
.friend-card[data-friend="bluey"] .friend-art img,.friend-card[data-friend="bingo"] .friend-art img{transform:scale(1.8);transform-origin:43% bottom}.friend-atlas{aspect-ratio:1/1.12}
