:root{--bg:#111512;--panel:#1b211c;--line:#323b31;--text:#f1f3e9;--muted:#9da79b;--accent:#d7ef8a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:14px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.13)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}header{max-width:1120px;margin:auto;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line)}.logo{font-weight:900;font-size:27px;letter-spacing:-1px}.logo span{font-size:10px;color:var(--accent);margin-left:4px}.header-note{color:var(--muted);font-size:12px}.icon{border:1px solid var(--line);border-radius:50%;background:transparent;width:36px;height:36px;font-size:19px}main{max-width:984px;margin:auto;padding:42px 24px 0}.intro{text-align:center}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}h1{font-size:36px;letter-spacing:3px;margin:15px 0}.intro p{color:var(--muted);font-size:13px}.mobile{display:none}nav{display:flex;gap:5px;width:fit-content;margin:30px auto 26px;background:#20261f;border:1px solid var(--line);border-radius:30px;padding:5px}nav button{border-radius:24px;background:none;color:var(--muted);padding:10px 27px;font-size:12px}.selected{background:var(--accent)!important;color:#20271b!important}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:18px}.habitat,.timer-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;position:relative;background:var(--panel)}.habitat{background:linear-gradient(#242e27,#1a231e 70%);padding:24px}.card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.badge{font-size:9px;letter-spacing:1.8px;border:1px solid #667552;border-radius:20px;padding:7px 10px;color:#d9e7ba}#wallet{color:var(--accent);font-variant-numeric:tabular-nums}.scene{height:215px;position:relative;margin:0 -24px;overflow:hidden}.moon{position:absolute;right:65px;top:22px;height:45px;width:45px;background:#d5dfa6;border-radius:50%;box-shadow:0 0 50px #cad9aa13}.hill{position:absolute;width:300px;height:125px;background:#2d3b2c;border-radius:50%;bottom:-40px}.hill.one{left:-80px}.hill.two{right:-100px;background:#35432f;bottom:-50px}.ground{position:absolute;bottom:15px;left:20%;width:60%;height:26px;background:#4a5636;border-radius:50%;box-shadow:0 10px 0 #28341f}.creature{position:absolute;width:150px;height:150px;left:50%;bottom:25px;transform:translateX(-50%);z-index:2;display:grid;place-items:center}.creature svg{width:100%;height:100%;animation:bob 3s ease-in-out infinite;filter:drop-shadow(0 7px 0 #0002)}.shadow{position:absolute;bottom:22px;left:37%;width:26%;height:15px;background:#141c1b66;border-radius:50%}.stars{position:absolute;left:55px;top:100px;color:#b7c58b;font-size:20px}.stars span{position:absolute;left:80px;top:-15px}.stars i{position:absolute;left:280px;top:65px}.grass{position:absolute;bottom:28px;color:#83965d}.g1{left:18%}.g2{right:18%;font-size:22px}.pet-caption{text-align:center}.pet-caption h2{font-size:23px;margin:10px 0}.pet-caption p{font-size:11px;color:var(--muted);line-height:1.8;min-height:36px;margin:8px 0 20px}.growth>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#bdc7b3}.track{height:5px;background:#384130;border-radius:10px;margin:9px 0 19px;overflow:hidden}.track span{height:100%;display:block;background:var(--accent);transition:width .4s}.secondary{border:1px solid #49543c;border-radius:12px;background:#2b3425;width:100%;padding:12px;color:#d9e8c6;font-size:12px}.secondary span{margin-left:15px;color:var(--accent)}.timer-card{padding:26px}.status{font-size:10px;color:var(--muted)}.status:before{content:'●';font-size:7px;margin-right:6px;color:var(--accent)}.task-label{display:block;font-size:11px;color:var(--muted);margin:30px 0 10px}#task{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:0 0 11px;color:var(--text);border-radius:0}#task::placeholder{color:#697365}.timer{font-size:79px;font-weight:250;letter-spacing:-3px;text-align:center;line-height:1.2;margin-top:25px;font-variant-numeric:tabular-nums}.timer span{color:#77816d}.timer-hint{text-align:center;font-size:11px;color:var(--muted);margin:9px 0 22px}.durations{display:flex;gap:7px;justify-content:center}.durations button,.durations label{background:#272e24;border-radius:8px;padding:9px 12px;font-size:11px;color:#abb4a4}.durations label{padding:8px;display:flex;align-items:center}.durations input{width:31px;border:0;background:none;color:var(--text);font-size:11px;appearance:textfield}.durations input::-webkit-inner-spin-button{appearance:none}.modes{display:flex;border:1px solid var(--line);padding:4px;border-radius:11px;margin:25px 0 9px}.modes button{flex:1;background:none;padding:10px 5px;border-radius:7px;font-size:11px;color:var(--muted)}.mode-note{text-align:center;color:var(--muted);font-size:10px;min-height:26px;line-height:1.6}.primary{background:var(--accent);color:#27301c;border-radius:12px;padding:17px;width:100%;font-weight:700;font-size:13px}.primary span{float:right}.tiny-note{text-align:center;font-size:9px;color:#838f7b;margin-top:14px}.text-btn{background:none;text-decoration:underline;font-size:11px;color:var(--muted);width:100%;padding:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid var(--line);border-radius:18px;padding:23px 0;background:#171d17}.stats>div{text-align:center;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stats span{font-size:10px;color:var(--muted);display:block;margin-bottom:9px}.stats strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.stats small{font-size:11px;margin-left:5px;color:var(--muted)}.bottom-message{display:flex;align-items:center;justify-content:center;gap:18px;padding:26px 0;color:#8f9a85}.bottom-message>span{font-size:26px;color:var(--accent)}.bottom-message p{font-size:11px;line-height:1.9}.bottom-message b{font-weight:400;color:#bcc6b2}footer{border-top:1px solid var(--line);max-width:1120px;margin:10px auto 0;padding:28px;text-align:center}footer .logo{font-size:20px}footer p,footer small{font-size:10px;color:var(--muted)}footer small{font-size:9px}.section-title{text-align:center;margin:35px 0}.section-title h2{font-size:22px}.section-title p{color:var(--muted);font-size:12px}.pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.pet-tile{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;text-align:center}.pet-tile.active{border-color:var(--accent)}.pet-tile svg{width:125px;height:125px}.pet-tile h3{margin:10px}.pet-tile p{color:var(--muted);font-size:11px}.pet-tile button{background:#333f2a;padding:9px 20px;border-radius:20px;color:var(--accent);font-size:11px}.coming{text-align:center;border:1px dashed var(--line);border-radius:15px;margin:22px 0;padding:25px;color:var(--muted);font-size:12px}.empty{text-align:center;color:var(--muted);padding:55px 20px;background:var(--panel);border-radius:20px;line-height:2}.history-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px}.history-row small{color:var(--muted);display:block;margin-top:6px}.history-row strong{color:var(--accent);white-space:nowrap}dialog{background:#222a22;color:var(--text);border:1px solid #536044;border-radius:24px;padding:35px;max-width:440px;width:calc(100% - 32px)}dialog::backdrop{background:#000a;backdrop-filter:blur(6px)}dialog h2{font-size:23px}dialog p{color:#b8c3b1;line-height:1.9;font-size:12px}dialog svg{display:block;width:160px;height:160px;margin:auto}dialog button{margin-top:10px}.dialog-close{position:absolute;right:17px;top:6px;background:none;font-size:25px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d7ef8a;color:#24311c;padding:14px 22px;border-radius:12px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;font-size:12px}.feeding svg{animation:happy .35s 3}.running .creature svg{animation:bob 2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes happy{50%{transform:translateY(-18px) rotate(8deg)}}@media(max-width:650px){header{height:70px;padding:0 20px}.header-note{font-size:10px}.logo{font-size:24px}main{padding:30px 16px 0}h1{font-size:29px;letter-spacing:2px}.intro p{font-size:11px}.eyebrow{font-size:9px}.workspace{grid-template-columns:1fr}.habitat{padding:20px}.scene{height:185px}.timer-card{padding:24px}.pet-caption p{min-height:0;margin-bottom:15px}.timer{font-size:85px}.task-label{margin-top:24px}.pet-grid{grid-template-columns:1fr 1fr}.pet-tile{padding:16px 8px}.section-title h2{font-size:19px}nav{margin:24px auto}.stats strong{font-size:25px}.scene{margin:0 -20px}.mode-note{font-size:11px}.timer-hint{font-size:12px}.tiny-note{font-size:10px}.timer-card .eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:650px){main{padding-top:24px}.intro .eyebrow{font-size:8px}.intro h1{font-size:25px;margin:12px 0}.intro p{margin:0}.scene{height:155px}.creature{width:125px;height:125px;bottom:20px}.pet-caption h2{font-size:21px;margin:7px 0}.pet-caption p{font-size:10px}.growth .track{margin-bottom:13px}.habitat{padding:17px 20px}.moon{width:32px;height:32px;right:55px}.stats{padding:19px 0}}

.rename-link{display:block;margin:0 auto 8px;background:transparent!important;color:var(--accent)!important;font-size:11px;text-decoration:underline;padding:5px 9px!important}.name-input{display:block;width:100%;margin-top:10px;padding:14px;border:1px solid #657353;border-radius:10px;background:#151b15;color:var(--text);font-size:16px}#nameForm label{font-size:12px;color:var(--muted)}#nameError{color:#f3c6a2;min-height:18px;margin:8px 0}#petName,.pet-tile h3{overflow-wrap:anywhere}
/* One screen at a time. Native horizontal swipe, with per-panel vertical overflow. */
html,body{height:100%;overflow:hidden}body{display:flex;flex-direction:column}header{width:100%;height:64px;min-height:64px}.app-shell{width:100%;max-width:650px;flex:1;min-height:0;display:flex;flex-direction:column;padding:16px 20px 0}.app-heading{text-align:center}.app-heading h1{font-size:19px;letter-spacing:1px;margin:2px 0 6px}.app-heading p{font-size:10px;color:var(--muted);margin:0}.app-shell nav{margin:16px auto 14px;width:100%;flex-shrink:0;padding:4px}.app-shell nav button{flex:1;padding:10px 4px}.screens{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;flex:1;min-height:0;overscroll-behavior-x:contain}.screens::-webkit-scrollbar{display:none}.screens .page{flex:0 0 100%;width:100%;min-width:0;overflow-y:auto;overflow-x:hidden;scroll-snap-align:start;scroll-snap-stop:always;padding:0 2px 8px;scrollbar-width:thin;scrollbar-color:#49543c transparent}.timer-card,.habitat{width:100%}.swipe-hint{text-align:center;font-size:10px;color:var(--muted);margin:10px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));flex-shrink:0}.app-shell .section-title{margin:18px 0}.app-shell .section-title h2{font-size:20px}.app-shell .section-title p{font-size:11px;line-height:1.8}.app-shell .stats{margin-bottom:20px}.app-shell .timer-card{padding:22px}.app-shell .timer{margin-top:20px}.app-shell .task-label{margin-top:22px}.app-shell .modes{margin-top:20px}.app-shell .scene{height:210px}.app-shell .creature{height:150px;width:150px}.app-shell .habitat{padding:22px}.app-shell .pet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){header{height:54px;min-height:54px}.app-shell{padding:10px 12px 0}.app-heading h1{font-size:16px}.app-heading p{font-size:10px}.app-shell nav{margin:10px auto}.app-shell nav button{padding:9px 4px;font-size:12px}.app-shell .timer-card{padding:17px}.app-shell .task-label{margin:18px 0 9px}.app-shell .timer{font-size:76px;margin-top:14px}.app-shell .timer-hint{margin:6px 0 16px;font-size:10px}.app-shell .modes{margin-top:18px}.app-shell .mode-note{min-height:20px;margin:8px 0 12px;font-size:10px}.app-shell .primary{padding:15px}.app-shell .tiny-note{margin-top:10px;font-size:9px}.app-shell .scene{height:180px}.app-shell .habitat{padding:18px}.app-shell .pet-caption p{font-size:11px}.app-shell .section-title h2{font-size:18px}.swipe-hint{margin:6px 0}.app-shell .text-btn{padding:9px}}
.goal-note{margin-top:12px;padding:10px;background:#283222;border:1px solid #3c4a31;border-radius:10px;color:#d7e9b4;font-size:11px;text-align:center;line-height:1.8}.egg-goal{margin:0 0 16px;border-top:1px solid var(--line);padding-top:12px}.egg-goal>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#bdc7b3}.egg-goal strong{color:var(--accent);font-weight:500}.egg-goal .track{margin-bottom:5px}.egg-goal small{font-size:9px;color:var(--muted)}.achievements{margin:24px 0}.achievements h3,.history-title{font-size:15px}.achievements h3{display:flex;justify-content:space-between}.achievements h3 span{color:var(--accent);font-size:12px}.achievements>p{color:var(--muted);font-size:11px}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.achievement{border:1px dashed #424b3b;border-radius:15px;background:#1a2019;padding:15px 6px;text-align:center;color:#919c89}.achievement>span{font-size:28px;display:block}.achievement h4{font-size:11px;margin:8px 0}.achievement p{font-size:9px;line-height:1.6;min-height:28px;margin:6px 0}.achievement small{font-size:9px}.achievement.earned{border:1px solid #96ad65;background:linear-gradient(150deg,#34402a,#1d281d);color:#e0f2ac}.earned-note{font-size:12px;line-height:1.8;color:var(--accent);background:#35432a;padding:12px;border-radius:12px}.guide-step{display:flex;gap:14px;align-items:flex-start;margin:18px 0}.guide-step>b{background:var(--accent);color:#26311d;border-radius:50%;padding:5px 10px;margin-top:3px}.guide-step p{margin:0}.guide-step strong{color:var(--text)}.guide-care{background:#151d15;padding:12px;border-radius:10px}dialog{max-height:calc(100dvh - 28px);overflow-y:auto}@media(max-width:650px){.goal-note{font-size:10px}.achievement{padding:12px 4px}.achievement h4{font-size:10px}dialog{padding:28px 22px}}
