@font-face{font-family:Umare;src:url('fonts/umare-jp.ttf');font-display:swap}*{box-sizing:border-box}html{background:#fbf8ef;color:#193f3d;font-family:Umare,'Hiragino Kaku Gothic ProN',sans-serif}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #bd603f;outline-offset:5px}header{max-width:1200px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #193f3d22}.logo{font:italic 38px Georgia,serif;color:inherit;text-decoration:none;letter-spacing:-2px}.logo span{display:block;font:9px sans-serif;letter-spacing:3px;text-transform:uppercase;margin:4px 0 0 4px}select{background:transparent;border:1px solid #193f3d33;border-radius:30px;padding:9px 14px;color:inherit}main{max-width:1120px;margin:auto;padding:55px 5% 65px;min-height:74vh}h1,h2{font-family:Georgia,Umare,serif;font-weight:500;letter-spacing:-.045em;line-height:1.45}h1{font-size:clamp(35px,4.8vw,61px);margin:22px 0}h2{font-size:clamp(25px,3.2vw,40px);margin:15px 0 22px}p{font-size:15px;line-height:2;white-space:pre-line}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#658175}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.hero img{width:100%;animation:float 7s ease-in-out infinite}.hero .intro{max-width:430px;color:#5a6d61}.primary{background:#193f3d;color:#fffaf0;border:0;border-radius:100px;padding:19px 30px;min-height:58px;box-shadow:0 8px 20px #193f3d14}.primary:hover{background:#2c5d53;transform:translateY(-2px)}.secondary{background:transparent;color:#193f3d;border:1px solid #193f3d44;border-radius:100px;padding:15px 24px}.small{font-size:12px;color:#6d7e73;line-height:1.9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.pill{display:inline-block;background:#eee8d8;padding:7px 12px;border-radius:20px;font-size:11px;margin:5px 4px 5px 0}.note{padding:22px 0;border-top:1px solid #193f3d22;margin-top:28px}.center{text-align:center;max-width:730px;margin:auto}.reveal-art{width:220px;height:212px;display:block;margin:10px auto}.family{background:#f1eadb;padding:30px;border-radius:24px;margin:22px 0;text-align:left}.family p{margin-bottom:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0}.stat{font-size:10px;color:#60746a}.track{height:5px;background:#193f3d14;border-radius:8px;margin-top:9px;overflow:hidden}.track i{display:block;height:100%;background:#bd785b;transition:width .6s}.game{max-width:740px;margin:auto}.topline{display:flex;justify-content:space-between;align-items:center}.age{font:48px Georgia,serif}.age span{font:12px Umare,sans-serif;margin-left:8px}.progress{height:3px;background:#193f3d16;margin:20px 0 35px}.progress i{display:block;background:#193f3d;height:100%;transition:width .4s}.context{background:#eeeade;border-left:3px solid #c88e6f;padding:14px 18px;font-size:12px;line-height:1.9;margin-bottom:20px}.choices{display:grid;gap:12px;margin-top:25px}.choice{display:flex;align-items:center;gap:18px;border:1px solid #193f3d28;border-radius:14px;padding:20px;background:#fffdf7;text-align:left;color:#193f3d;line-height:1.6;transition:transform .2s,background .2s}.choice:hover{background:#f2e4c9;transform:translateX(4px)}.choice b{font:italic 24px Georgia,serif;color:#bc7d61}.choice.chosen{background:#193f3d;color:#fff9ee}.choice:disabled{cursor:default;transform:none}.reply{background:#e6edde;border-radius:18px;padding:20px;margin-top:20px;animation:rise .4s both}.reply p{font-size:13px;margin:0 0 16px}.memory{border-left:1px solid #b6c1ae;padding:0 0 26px 24px;position:relative;text-align:left}.memory:before{content:'';position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;background:#b67d5f}.memory h3{font-size:14px;font-weight:500;margin:5px 0}.memory p{font-size:12px;margin:0;color:#657569}.ending{background:#193f3d;color:#fbf8ef;padding:35px;border-radius:24px;text-align:left;margin:25px 0}.ending .eyebrow{color:#d8bc84}.ending p{color:#e0e5d5}.share{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.share button,.share a{background:#f0e8d7;border:0;padding:12px 18px;color:#193f3d;border-radius:30px;font-size:12px;text-decoration:none}.section-title{text-align:left;margin:45px 0 25px;font-size:20px}.enter{animation:rise .45s both}footer{text-align:center;padding:25px 20px 35px;color:#778276;letter-spacing:2px;font-size:9px;line-height:2}footer span{letter-spacing:0}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#193f3d;color:white;padding:12px 22px;border-radius:15px;max-width:90%;z-index:20;font-size:12px}#notice:empty{display:none}details{text-align:left;padding:16px 0;border-top:1px solid #193f3d22}summary{cursor:pointer;font-size:12px}details p{font-size:12px}button{transition:background .2s,transform .2s}.share button:disabled{opacity:.5}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes float{50%{transform:translateY(-8px)}}@media(max-width:700px){header{padding:18px 6%}main{padding:28px 6% 45px}.hero{display:flex;flex-direction:column;gap:20px}.hero>div{width:100%}.hero img{width:80%;max-width:330px;order:-1}.hero h1{font-size:36px}.hero .intro{font-size:13px}.hero .actions{margin:20px 0 10px}.stats{gap:9px}.stat{font-size:9px}.family,.ending{padding:23px}.choice{padding:17px 15px}.reply .primary{width:100%}.reveal-art{width:170px;height:165px}h2{font-size:27px}.game p{font-size:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.family-context{font-size:12px!important;line-height:1.85;color:#718073;border-top:1px solid #193f3d1a;padding-top:18px}.pause{font-size:11px;padding:7px 14px;margin-left:auto;margin-right:20px}.change-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:22px 10px;background:#eee8d8;border-radius:18px}.change-grid span{display:block;font-size:10px;color:#718073}.change-grid strong{display:block;font:27px Georgia,serif;margin-top:10px}.change-grid small{font-size:14px;color:#9a7259}.closing{padding:10px 10px 20px;text-align:left;font-size:14px}.choice.chosen b{color:#e2c98e}.reply{scroll-margin-bottom:20px}header{background:#fbf8ef}.game .primary{min-width:190px}@media(max-width:450px){.change-grid{grid-template-columns:repeat(2,1fr);gap:20px}.pause{margin-right:10px}.age{font-size:42px}.family-context{font-size:11px!important}.reply{padding:18px}}
.parent-ending:empty{display:none}.parent-ending{border:1px solid #bc7d6144;background:#f2e8d8;border-radius:18px;padding:25px;text-align:left;margin-bottom:24px}.parent-ending h3{font-size:20px;font-weight:500;line-height:1.7}.parent-ending p{font-size:13px}.family-context{max-height:125px;overflow:auto}
/* WORLD EDITION */
html{--ink:#173d40;--lime:#d9ff93;--paper:#f9f7ee;--coral:#ef9b7b;background:var(--paper);color:var(--ink)}header{max-width:1320px;padding:23px 5%}.logo{font-size:40px}.logo span{font-size:8px;letter-spacing:2.7px}main{max-width:1240px}.hero{gap:32px;grid-template-columns:1.05fr 1fr;min-height:570px}.hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.5;letter-spacing:-.055em}.hero .eyebrow{font-size:9px;letter-spacing:2px}.hero .intro{font-size:16px;line-height:2}.hero .primary{font-size:14px;padding:21px 28px}.world-visual{position:relative;min-width:0}.world-visual img{width:100%;filter:drop-shadow(0 25px 24px #112f3520);animation:world-breathe 12s ease-in-out infinite}.orbit-label{position:absolute;z-index:2;font-size:9px;letter-spacing:2px;color:#697f6d}.orbit-top{left:5%;top:8%}.orbit-bottom{right:1%;bottom:8%;font-size:8px}.world-coordinate{position:absolute;left:12%;bottom:0;background:#173d40;color:#edf2df;padding:12px 18px;border-radius:5px;font:9px monospace;letter-spacing:1px;box-shadow:0 10px 25px #173d4020}.world-coordinate i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#d9ff93;margin:0 8px;animation:beacon 3s infinite}.primary{box-shadow:0 8px 0 #102d3010,0 18px 30px #193f3d16}.primary:active{transform:translateY(2px)}.note{margin-top:45px}.concept-note{margin-top:14px}.concept-note p{color:#6e7b70}.birth-scene{display:grid;grid-template-columns:.8fr 1fr;gap:36px;align-items:center;max-width:1080px;margin:auto}.birth-orbit{position:relative}.birth-orbit img{width:100%;animation:globe-arrive 1s both}.birth-mark{position:absolute;left:75%;top:43%;font-size:18px;color:#ef9b7b;animation:beacon 2s infinite}.birth-ticket{background:#fffdf7;border:1px solid #d5ddcb;box-shadow:0 20px 70px #15383b14;border-radius:18px;padding:30px;position:relative;animation:ticket-arrive .7s .15s both}.ticket-top{display:flex;align-items:center;justify-content:space-between}.ticket-top .eyebrow{font-size:8px;letter-spacing:1.6px}.ticket-seal{border:1px solid #a2b5a4;border-radius:100%;width:50px;height:50px;display:grid;place-items:center;font:10px Georgia,serif;transform:rotate(-12deg);color:#68846f}.coordinates{font:10px monospace;color:#789080;letter-spacing:1.3px;margin-top:25px}.birth-place{font-size:36px;line-height:1.4;margin:12px 0}.birth-place span{display:block;font-family:Umare,sans-serif;font-size:14px;letter-spacing:0;margin-top:7px;color:#6a7e70}.ticket-divider{margin:23px -30px;border-top:1px dashed #bdcbb8;position:relative}.ticket-divider:before,.ticket-divider:after{content:'';position:absolute;width:18px;height:18px;top:-10px;border-radius:50%;background:var(--paper);border:1px solid #d5ddcb}.ticket-divider:before{left:-9px}.ticket-divider:after{right:-9px}.parent-profile{display:flex;align-items:center;gap:14px}.parent-profile h3{font-size:17px;margin:4px 0;font-weight:500}.parent-profile .eyebrow{font-size:8px;letter-spacing:2px}.parent-avatar{width:49px;height:49px;background:#d9e5d0;border-radius:50%;display:grid;place-items:center;font-size:22px}.birth-ticket h2{font-size:23px;margin:23px 0 10px}.birth-ticket p{font-size:12px;line-height:1.9}.birth-ticket .primary{width:100%;font-size:13px}.game{max-width:790px;background:#fffdf7;border:1px solid #dce1d2;padding:32px 40px 25px;border-radius:22px;box-shadow:0 16px 60px #1b443a07}.location-strip{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#587967;border-bottom:1px solid #e0e5d8;padding-bottom:20px;margin-bottom:23px;line-height:1.7}.location-strip>span:last-child{font-size:8px;letter-spacing:1px;text-align:right}.location-strip span span{color:#8a9789}.chapter-track{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#8a9789;margin-top:24px}.game .progress{margin:10px 0 25px}.age{font-size:59px;color:#244d45}.game .context{font-size:11px;background:#f0f2e7;border:0;border-radius:8px;padding:12px 16px}.game .family-context{margin-top:0;border:0;padding-top:0;max-height:none;overflow:visible;font-size:11px!important;line-height:1.7}.game h2{font-size:30px;line-height:1.55;margin:13px 0 20px}.game>.eyebrow{font-size:9px;letter-spacing:1px}.game p{font-size:14px;line-height:2}.choice{border-radius:10px;padding:16px 20px;min-height:76px;background:#fbfbf3}.choice b{color:#849d76;font-size:22px}.choice:hover{background:#edf3df;transform:translateX(3px);border-color:#a5be8b}.choice-hint{display:block;font-size:9px;color:#7b8d70;letter-spacing:1px;margin-top:6px}.choice.chosen .choice-hint{color:#d9ff93}.choice.chosen{border-color:#173d40;background:#173d40}.turning-point{font-size:9px;letter-spacing:2px;color:#a16d44;background:#f5e8d2;width:fit-content;padding:6px 10px;border-radius:5px;margin:14px 0 7px;animation:rise .4s both}.change-chips{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.change-chips span{font-size:9px;border-radius:20px;padding:6px 10px;animation:gain-in .5s both}.gain{background:#dfecc9;color:#425c37}.cost{background:#f1dbc9;color:#936348}.reply{background:#f1f4e7}.reply .stats{margin:16px 0 22px}.milestones{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:28px 0}.milestones span{background:#e8eedb;color:#4e6645;font-size:10px;padding:10px 13px;border-radius:6px}.result-place{font:27px Georgia,Umare,serif;margin-top:25px}.result-place span{font:13px Umare,sans-serif;color:#77876f}.ending{position:relative;overflow:hidden;background:#163b3d;border-radius:20px}.ending:after{content:'';position:absolute;width:230px;height:230px;border:1px solid #d9ff9317;border-radius:50%;right:-90px;top:-70px;pointer-events:none}.ending h2{position:relative;z-index:1}.memory{animation:rise .4s both}.share button:hover,.share a:hover{background:#dce8cb}.enter{animation-duration:.3s}footer{max-width:900px;margin:auto}html[data-view="birth"] main{padding-top:38px}@keyframes world-breathe{50%{transform:translateY(-8px) rotate(3deg)}}@keyframes globe-arrive{from{opacity:0;transform:rotate(-16deg) scale(.8)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes ticket-arrive{from{opacity:0;transform:translateY(28px) rotate(2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes beacon{50%{opacity:.4;transform:scale(.8)}}@keyframes gain-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){main{padding:25px 5% 40px}.hero{min-height:0;display:flex;gap:25px}.hero h1{font-size:39px;line-height:1.5;margin:18px 0}.hero .intro{font-size:13px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero .world-visual{order:-1;width:85%;max-width:340px;margin:auto}.hero .world-visual img{width:100%;max-width:none}.orbit-label{font-size:6px}.orbit-bottom{font-size:6px}.world-coordinate{font-size:7px;padding:9px 12px}.hero .primary{font-size:12px;padding:18px 21px;width:100%}.hero .actions{gap:10px}.hero .secondary{font-size:11px}.hero .small{font-size:10px}.note{margin-top:28px}.birth-scene{display:block}.birth-orbit{width:180px;margin:-5px auto -15px}.birth-ticket{padding:25px;max-width:550px;margin:auto}.ticket-divider{margin-left:-25px;margin-right:-25px}.birth-place{font-size:32px}.game{padding:24px 20px;border-radius:16px}.game h2{font-size:25px}.game p{font-size:13px}.age{font-size:46px}.choice{padding:15px 12px;gap:12px;font-size:13px}.choice-hint{font-size:8px}.location-strip{font-size:9px;gap:8px}.location-strip>span:last-child{font-size:7px}.chapter-track{font-size:7px;letter-spacing:0}.result-place{font-size:24px}.change-grid strong{font-size:25px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
