:root{--ink:#171717;--muted:#777;--line:#d0d0ce;--paper:#fff;--bg:#f0f0ed;--radius:17px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{min-height:42px;border:1.5px solid var(--ink);border-radius:9px;background:#fff;padding:8px 15px;font-weight:600}button:hover,.outline-link:hover{background:#efefec}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #767676;outline-offset:4px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:10px 12px;min-height:44px;border:1px solid #bcbcb9;background:white;border-radius:8px}textarea{resize:vertical;min-height:70px}label{display:block;font-size:13px;font-weight:600;margin:0 0 15px}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}h1,h2,h3,p,dl,dd{margin:0}h2{font-size:21px;letter-spacing:-.5px;font-weight:750}h3{font-size:15px}.muted{color:var(--muted);font-size:13px}.dashboard-shell{max-width:1184px;margin:42px auto 28px;background:#fafaf9;border:1px solid #d7d7d4;border-radius:23px;box-shadow:0 12px 48px #0000000a;overflow:hidden}.topbar{min-height:76px;display:flex;align-items:center;gap:28px;padding:14px 30px;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;font-size:16px;font-weight:750;letter-spacing:-.5px;white-space:nowrap;gap:8px}.brand img{width:41px;height:30px;object-fit:contain;image-rendering:pixelated}.brand small{font-size:11px;color:#777;align-self:flex-end;margin:0 0 5px -3px}.main-nav{display:flex;align-items:center;gap:13px;margin-left:24px}.main-nav a{display:flex;align-items:center;gap:8px;padding:7px 13px;font-size:14px;font-weight:650;border-radius:8px}.main-nav .active{color:white;background:#171717}.main-nav .icon{width:18px;height:18px}#sync-status{margin-left:auto}.sync-status{font-size:12px;min-height:36px;border:0;padding:4px;background:none;white-space:nowrap;color:#444}.sync-status .icon{width:16px;height:16px;margin-right:5px}.logout button{border:1px solid #b4b4b1;border-radius:50%;font-size:20px;width:31px;min-height:31px;padding:0;line-height:1}.dashboard-shell main{padding:0 28px}.hero{position:relative;min-height:190px;display:flex;align-items:center;justify-content:space-between;padding:23px 12px 20px;gap:20px;overflow:hidden}.eyebrow{font-size:9px;letter-spacing:2px;color:#888;font-weight:650;margin-bottom:8px}.hero h1{font-family:"Courier New",Consolas,monospace;font-size:43px;letter-spacing:-1.6px;line-height:.96;font-weight:900;position:relative;z-index:1}.hero-copy p{margin-top:12px;font-size:15px;letter-spacing:1px}.mountains{position:absolute;left:27%;bottom:16px;width:43%;height:132px;object-fit:contain;opacity:.85}.clock{text-align:right;z-index:1;align-self:center}.clock>div{font-size:17px;font-weight:700;letter-spacing:-.3px}.clock>div span{margin-left:7px}#clock{display:block;font-family:Consolas,"Courier New",monospace;font-size:64px;font-weight:800;letter-spacing:-4px;line-height:1.12;font-variant-numeric:tabular-nums}.timezone{font-size:8px;color:#8a8a86;letter-spacing:1.8px}.mode-notice{display:flex;align-items:center;gap:7px;color:#555;font-size:10px;margin:-3px 3px 13px}.mode-notice>span:last-child{color:#8a8a86;margin-left:auto}.status-dot{width:5px;height:5px;background:#666;border-radius:50%}.information-row{display:flex;gap:18px;align-items:stretch}.card{border:1px solid #bfbfbc;border-radius:var(--radius);background:var(--paper);box-shadow:0 3px 0 #00000006;padding:21px 23px}.information-row>.card{width:50%;min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.card-heading h2{display:flex;align-items:center;gap:11px;white-space:nowrap}.card-heading .icon{width:26px;height:26px}.mini-label{font-size:10px;color:#888;white-space:nowrap}.weather-main{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:12px 0 6px}.weather-current{display:flex;gap:15px;align-items:center}.weather-icon{width:79px;height:66px;stroke:var(--ink);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.temperature{font-size:43px;line-height:1.1;font-weight:700;letter-spacing:-2px}.temperature span{font-size:32px;letter-spacing:-2px}.weather-current p{font-size:17px;margin-top:1px;font-weight:600}.weather-details{font-size:13px;min-width:95px}.weather-details>div{display:flex;gap:12px;margin:3px 0}.weather-details dt{color:#777}.weather-details dd{font-weight:600}.weather-footer{display:flex;justify-content:space-between;gap:5px;color:#999;font-size:9px;margin-top:9px}.weather-footer a{font-size:9px}.weather-unavailable{display:flex;align-items:center;gap:20px;min-height:101px}.weather-unavailable small{font-size:11px;color:#888}.outline-link{border:1.5px solid #333;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:650;white-space:nowrap;display:flex;gap:7px;align-items:center}.outline-link .icon{width:15px;height:15px}.workspace-row{display:flex;gap:18px;margin-top:19px;align-items:flex-start}.tasks-card{width:48%;flex-shrink:0;min-height:335px;padding-bottom:17px}.task-count{font-size:19px;margin-left:7px;letter-spacing:1px}.progress-track{margin:12px 0 10px;line-height:0}.progress-track progress{display:block;width:100%;height:3px;border:0;appearance:none;background:#ecece9;color:#262626;border-radius:5px;overflow:hidden}.progress-track progress::-webkit-progress-bar{background:#ecece9}.progress-track progress::-webkit-progress-value{background:#262626}.progress-track progress::-moz-progress-bar{background:#262626}.task-tabs{display:flex;gap:20px;margin-bottom:9px}.task-tabs a{font-size:11px;padding:4px 0;color:#999;border-bottom:1.5px solid transparent}.task-tabs a.active{color:#171717;border-bottom-color:#171717;font-weight:700}.task-list{padding:0 0 12px}.task-row{display:flex;align-items:center;gap:10px;position:relative;padding:5px 0;min-height:43px}.toggle-form{line-height:0}.task-check{width:24px;height:24px;min-height:24px;padding:0;border:1.5px solid #171717;border-radius:5px;font-size:19px;line-height:21px;font-weight:700;position:relative}.task-check:before{content:"";position:absolute;inset:-8px}.task-check.checked{background:#171717;color:white}.task-content{flex:1;min-width:0}.task-title{font-size:15px;font-weight:600;overflow-wrap:anywhere}.is-done .task-title{color:#666}.task-meta{font-size:9px;color:#999;margin-top:1px}.priority{font-size:21px;line-height:1;color:#222}.priority.low{color:#aaa}.task-menu summary{list-style:none;min-width:29px;min-height:36px;text-align:center;font-weight:700;line-height:32px;color:#888}.task-menu summary::-webkit-details-marker{display:none}.task-menu[open]{position:static}.task-menu[open]>summary{color:#171717}.task-editor{position:absolute;z-index:5;right:0;top:43px;width:330px;max-width:100%;padding:18px;background:#fff;border:1.5px solid #777;border-radius:12px;box-shadow:0 8px 20px #0002}.form-pair{display:flex;gap:12px}.form-pair>label{width:50%;min-width:0}.delete-form{margin-top:12px}.delete-form button{font-size:12px;color:#666;border-color:#ccc}.add-task>summary{list-style:none;display:block;text-align:center;min-height:43px;padding:8px 10px;border:1.5px solid #222;border-radius:8px;font-size:14px;font-weight:750}.add-task>summary::-webkit-details-marker{display:none}.add-task[open]>summary{background:#f4f4f1;margin-bottom:15px}.add-task form{padding-top:3px}.full{width:100%}.primary{background:#171717;color:white;border-color:#171717}.primary:hover{background:#3a3a3a}.empty-state{text-align:center;padding:18px 4px;color:#999}.empty-state>p{font-size:12px;margin:6px 0}.pet-card{flex:1;min-width:0}.pet-scene{height:286px;position:relative;overflow:hidden}.picture{position:absolute;left:25px;top:38px;width:76px;height:86px;padding:4px;border:2px solid #222;background:#fff}.picture:before{content:"";width:28px;height:28px;position:absolute;left:20px;top:-17px;border-left:1px solid #aaa;border-top:1px solid #aaa;transform:rotate(45deg);z-index:0}.picture img{width:100%;height:100%;object-fit:cover;position:relative;background:#222}.plant{position:absolute;bottom:2px;left:5px;width:86px;height:142px}.books{position:absolute;bottom:1px;left:77px;width:69px;height:56px}.books span{display:block;position:absolute;background:#f6f6f3;border:2px solid #222;border-radius:3px;height:15px;width:65px;bottom:0}.books span:after{content:"";height:4px;width:35px;position:absolute;right:4px;top:3px;border-top:1px solid #888;border-bottom:1px solid #aaa}.books span:nth-child(2){bottom:16px;left:5px;width:57px}.books span:nth-child(3){bottom:32px;left:11px;width:47px}.hanging-lamp{position:absolute;right:113px;top:0;height:70px;border-left:2px solid #222}.hanging-lamp span{position:absolute;bottom:0;left:-23px;width:46px;height:26px;border:2px solid #222;border-radius:30px 30px 0 0;background:#d0d0cd}.hanging-lamp span:after{content:"";position:absolute;width:12px;height:6px;border:1.5px solid #222;border-radius:0 0 9px 9px;left:14px;bottom:-9px;background:#fff}.shelf{position:absolute;right:1px;top:82px;width:62px;border-bottom:5px double #222;font-size:26px;height:34px;letter-spacing:-3px}.pet-bubble{position:absolute;top:58px;left:34%;border:1.5px solid #222;background:#fff;border-radius:14px;padding:10px 15px;font-size:13px;font-weight:600;line-height:1.6;z-index:2}.pet-bubble:after{content:"";position:absolute;bottom:-7px;left:24px;width:11px;height:11px;background:white;border-bottom:1.5px solid #222;border-right:1.5px solid #222;transform:skewY(35deg)}.terrarium{position:absolute;right:0;bottom:1px;width:88px;height:92px}.pet-traveller{position:absolute;left:32%;bottom:0;width:220px;height:140px;z-index:1;transition:left 3s ease-in-out;pointer-events:none}.pet-traveller img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.floor{position:absolute;bottom:1px;left:0;right:0;height:2px;background:#292929}.pet-controls{display:flex;gap:11px;justify-content:space-between;padding:17px 6px 0}.pet-controls button{display:flex;gap:9px;justify-content:center;align-items:center;min-width:0;flex:1;padding:10px 8px;font-size:15px;font-weight:650;background:#fff;border-color:#aaa;box-shadow:0 2px 0 #00000006}.pet-controls .icon{width:24px;height:24px}.pet-caption{display:flex;justify-content:space-between;font-size:9px;color:#999;margin:12px 7px 0}.pet-caption>span:last-child{color:#777}.dashboard-shell footer{display:flex;gap:22px;align-items:center;border-top:1px solid #dededb;margin-top:28px;padding:16px 0 19px;font-size:10px;color:#888}.dashboard-shell footer>span{font-size:8px;letter-spacing:2px;margin-right:auto}.dashboard-shell footer button{font-size:10px;color:#777;border:0;min-height:24px;padding:0;background:none;font-weight:400}.notice{padding:10px 14px;border:1px solid #999;border-radius:8px;font-size:12px;margin:12px 0;background:#f4f4f2}.notice.error{border-width:2px;font-weight:650}.conflict-box{border:2px solid #444;padding:12px;margin-top:15px;font-size:11px}.conflict-box h3{font-size:13px}.conflict-box details{margin-top:10px}.conflict-box p{padding:10px 0;overflow-wrap:anywhere}.conflict-box button{font-size:11px;padding:6px;min-height:36px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#222;color:white;font-size:13px;border-radius:9px;max-width:90%;padding:10px 18px;z-index:20;display:none}.toast.visible{display:block}.login-wrap{max-width:390px;margin:11vh auto;padding:0 20px}.login-brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;margin-bottom:23px}.login-brand img{width:65px;image-rendering:pixelated}.login-brand small{font-size:10px;color:#888}.login-card{padding:30px}.login-card h1{font-size:29px;margin-bottom:9px}.login-card>.muted{margin-bottom:28px}.login-card .primary{display:flex;justify-content:space-between}.login-note{font-size:10px;text-align:center;color:#999;margin-top:24px}.settings-wrap{max-width:660px;margin:40px auto;padding:0 20px 40px}.settings-wrap>h1{font-size:32px;margin:18px 0}.settings-wrap .card{margin-bottom:20px}.settings-wrap h2{margin-bottom:20px;font-size:20px}.settings-wrap p{margin:12px 0;font-size:13px}.back-link{font-size:13px}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:19px;height:19px;min-height:0;margin:0;accent-color:#222}
@media(min-width:1400px){.dashboard-shell{margin-top:6vh}}
@media(max-width:1050px){.dashboard-shell{margin:20px;max-width:none}.topbar{padding:15px 22px;gap:15px}.main-nav{margin-left:auto;gap:5px}#sync-status{margin-left:0}.brand{font-size:14px}.outline-link{font-size:11px;padding:8px}.pet-controls{gap:7px}.pet-controls button{gap:6px;font-size:13px}.pet-traveller{left:24%;width:200px}.task-title{font-size:14px}.tasks-card .mini-label{display:none}.weather-card .mini-label{display:none}.pet-bubble{left:28%;font-size:12px}.temperature{font-size:37px}.weather-current{gap:9px}.weather-icon{width:64px}.weather-details{font-size:12px;min-width:80px}.card{padding:18px}.card-heading h2{font-size:19px}}
@media(max-width:760px){.dashboard-shell{margin:0;border:0;border-radius:0;box-shadow:none;min-height:100vh}.topbar{min-height:60px;padding:10px 19px;gap:12px;flex-wrap:wrap}.brand{font-size:14px;gap:6px}.brand img{width:29px;height:24px}.brand small{font-size:9px}.main-nav{gap:0}.main-nav a{padding:5px 6px;font-size:0}.main-nav .icon{width:20px;height:20px}.logout{display:none}#sync-status{margin-left:0;flex:1;text-align:right}.sync-status{font-size:10px;min-height:24px}.dashboard-shell main{padding:0 19px}.hero{min-height:161px;padding:21px 3px;align-items:flex-start}.hero .eyebrow{font-size:7px;letter-spacing:1px}.hero h1{font-size:31px;letter-spacing:-1.5px}.hero-copy p{font-size:11px;letter-spacing:0;margin-top:9px}.mountains{width:47%;height:92px;left:27%;bottom:9px;opacity:.65}.clock{align-self:flex-start;margin-top:8px}.clock>div{font-size:10px}.clock>div span{margin-left:3px}#clock{font-size:36px;letter-spacing:-2px;margin-top:3px}.timezone{font-size:6px;letter-spacing:.5px}.mode-notice{font-size:9px;flex-wrap:wrap;gap:5px;margin-bottom:12px}.mode-notice>span:last-child{font-size:8px;margin-left:0}.information-row{display:block}.information-row>.card{width:100%;margin-bottom:12px}.card{padding:16px 17px;border-radius:14px}.card-heading h2{font-size:17px;gap:8px}.card-heading .icon{width:23px;height:23px}.weather-card .mini-label{display:block}.weather-main{margin-top:7px;margin-bottom:1px}.weather-icon{width:68px;height:55px}.weather-current{gap:13px}.temperature{font-size:37px}.temperature span{font-size:28px}.weather-current p{font-size:14px}.weather-details{font-size:12px}.weather-details>div{margin:2px 0}.weather-footer{font-size:8px;margin-top:6px}.weather-footer a{font-size:8px}.outline-link{font-size:10px;padding:8px;gap:5px}.outline-link .icon{width:13px;height:13px}.workspace-row{display:block;margin-top:0}.tasks-card{width:100%;min-height:0;padding-bottom:15px}.task-count{font-size:16px;margin-left:7px}.task-tabs{margin-bottom:6px}.task-row{min-height:44px;gap:11px}.task-title{font-size:14px}.task-meta{font-size:9px}.task-menu summary{min-width:30px}.task-editor{top:42px;width:100%;max-width:100%}.task-check{width:23px;height:23px;min-height:23px}.priority{font-size:20px}.pet-card{margin-top:5px}.pet-scene{height:226px}.picture{top:30px;left:13px;width:55px;height:65px}.picture:before{left:13px;width:22px;height:22px;top:-12px}.plant{width:65px;height:108px}.books{left:52px;transform:scale(.8);transform-origin:left bottom}.terrarium{width:66px;height:74px}.hanging-lamp{right:67px;height:49px}.hanging-lamp span{transform:scale(.8);transform-origin:center bottom}.shelf{top:64px;transform:scale(.8);transform-origin:right top}.pet-bubble{top:26px;left:31%;font-size:12px;padding:9px 12px}.pet-traveller{width:204px;height:133px;left:24%;bottom:0}.pet-controls{padding:13px 0 0;gap:10px}.pet-controls button{padding:10px 7px;min-height:47px;gap:6px;font-size:13px}.pet-controls .icon{width:22px;height:22px}.pet-caption{font-size:8px;margin:10px 2px 0}.dashboard-shell footer{margin-top:22px;gap:15px;flex-wrap:wrap;padding-bottom:21px}.dashboard-shell footer>span{width:100%;font-size:7px}.dashboard-shell footer button,.dashboard-shell footer a{font-size:9px}}
@media(max-width:370px){.topbar{gap:6px;padding:10px 13px}.brand small{display:none}.dashboard-shell main{padding:0 13px}.outline-link{font-size:9px}.clock>div{font-size:9px}#clock{font-size:31px}.hero h1{font-size:29px}.pet-controls button{gap:4px;font-size:12px}.pet-controls{gap:6px}.pet-traveller{left:19%}}
/* E-ink: all content stays server rendered. No timers or continuous effects. */
.kindle body{background:#fff;color:#000}.kindle .dashboard-shell{max-width:800px;margin:0 auto;border:0;border-radius:0;box-shadow:none;background:white}.kindle .topbar{padding:11px 18px;min-height:56px;gap:14px}.kindle .brand{font-size:14px}.kindle .main-nav{margin-left:auto}.kindle .card{border:1.5px solid #000;box-shadow:none;border-radius:10px;padding:15px}.kindle .hero{min-height:142px;padding:20px 3px}.kindle .hero .eyebrow,.kindle .timezone{display:none}.kindle .hero h1{font-size:32px}.kindle .hero-copy p{font-size:12px}.kindle .clock>div{font-size:13px}.kindle #clock{font-size:43px;letter-spacing:-2px}.kindle .mountains{bottom:8px;height:95px}.kindle .mode-notice{color:#000;margin-bottom:10px}.kindle .mode-notice>span:last-child{color:#333}.kindle .information-row{display:table;width:100%;border-spacing:0}.kindle .information-row>.card{display:table-cell;width:49%;vertical-align:top}.kindle .weather-card{border-right-width:1px}.kindle .card-heading h2{font-size:16px;gap:7px}.kindle .card-heading .icon{width:21px;height:21px}.kindle .weather-main{margin:8px 0 0;gap:5px}.kindle .weather-icon{width:46px;height:42px}.kindle .weather-current{gap:6px}.kindle .temperature{font-size:29px}.kindle .temperature span{font-size:23px}.kindle .weather-current p{font-size:12px}.kindle .weather-details{font-size:11px;min-width:69px}.kindle .weather-details>div{gap:7px}.kindle .weather-footer{font-size:8px;display:block;color:#333}.kindle .weather-footer a{font-size:8px;margin-left:7px}.kindle .workspace-row{display:block;margin-top:12px}.kindle .tasks-card{width:100%;min-height:0}.kindle .task-tabs a,.kindle .task-meta,.kindle .mini-label,.kindle .task-menu summary{color:#333}.kindle .is-done .task-title{color:#000}.kindle .tasks-card .mini-label{display:none}.kindle .task-list{padding-bottom:7px}.kindle .task-row{min-height:36px;padding:3px 0}.kindle .task-count{font-size:15px}.kindle .progress-track{margin:8px 0 3px}.kindle .task-tabs{margin-bottom:5px}.kindle .task-tabs a{padding:3px 0}.kindle .add-task>summary{min-height:39px;padding:6px}.kindle .pet-card{margin-top:0}.kindle .pet-scene{height:191px}.kindle .picture,.kindle .books,.kindle .shelf,.kindle .hanging-lamp{display:none}.kindle .plant{width:69px;height:108px}.kindle .pet-bubble{top:18px;left:38%;font-size:11px;padding:7px 11px}.kindle .pet-traveller{width:219px;height:138px;left:32%;bottom:0;transition:none}.kindle .terrarium{width:80px;height:87px}.kindle .pet-controls{padding:10px 0 0;gap:12px}.kindle .pet-controls button{border:1.5px solid black;border-radius:6px;box-shadow:none;min-height:43px;font-size:14px}.kindle .pet-caption{color:#333;font-size:8px}.kindle footer{margin-top:15px;padding:12px 0;color:#222;gap:16px}.kindle footer>span{display:none}.kindle footer button{color:#000}.kindle *, .kindle *:before,.kindle *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.kindle .priority.low{color:#333}.kindle .task-editor{border:2px solid black;box-shadow:none}.kindle .toast{display:none}
@media(max-width:520px){.kindle .information-row,.kindle .information-row>.card{display:block;width:100%}.kindle .information-row>.card{margin-bottom:10px}.kindle .pet-traveller{left:20%}.kindle .topbar{flex-wrap:wrap}.kindle .clock>div{font-size:10px}.kindle #clock{font-size:34px}.kindle .weather-card{border-right-width:1.5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@font-face{font-family:LittlePixel;src:url('../images/little-pixel.ttf') format('truetype');font-weight:400;font-display:swap}
.hero h1{font-family:LittlePixel,monospace;font-size:47px;font-weight:400;letter-spacing:0;line-height:1.02}
#clock{font-family:LittlePixel,monospace;font-size:75px;font-weight:400;letter-spacing:0;line-height:1.05;margin-top:7px}
.shelf{white-space:nowrap;font-size:22px;letter-spacing:-3px}
@media(max-width:760px){.hero h1{font-size:32px}#clock{font-size:41px;margin-top:7px}.shelf{font-size:22px}.hero{min-height:164px}}
.kindle .hero h1{font-family:LittlePixel,monospace;font-size:32px}
.kindle #clock{font-family:LittlePixel,monospace;font-size:47px;letter-spacing:0}
@media(max-width:370px){.hero h1{font-size:28px}#clock{font-size:34px}}
/* Compact Kindle layout keeps controls large without continuous repaints. */
.kindle .topbar{min-height:47px;padding:8px 18px}
.kindle .hero{min-height:113px;padding:15px 3px}
.kindle .hero h1{font-size:29px;line-height:1.05}
.kindle .hero-copy p{margin-top:7px;font-size:11px}
.kindle .clock>div{font-size:11px}
.kindle #clock{font-size:43px}
.kindle .mountains{height:80px}
.kindle .information-row>.card{padding:12px}
.kindle .task-row{min-height:33px}
.kindle .tasks-card{padding:12px 15px}
.kindle .task-title{font-size:13px}
.kindle .pet-scene{height:135px}
.kindle .pet-traveller{width:187px;height:119px;left:32%}
.kindle .pet-bubble{top:2px;left:34%;padding:5px 10px;font-size:10px}
.kindle .plant{height:91px;width:59px}
.kindle .terrarium{height:77px;width:71px}
.kindle .pet-controls{padding-top:8px}
.kindle .pet-caption{margin-top:5px}
.kindle footer{margin-top:10px;padding:8px 0}
@media(max-width:520px){.kindle .pet-traveller{left:23%}.kindle .hero h1{font-size:26px}.kindle #clock{font-size:34px}}
/* v1.1 replaces only the former account card; all surrounding layout is retained. */
#clock-seconds{display:inline-block;font-size:26px;margin-left:10px;min-width:32px;vertical-align:baseline}
.health-grid{display:flex;flex-wrap:wrap;margin-top:10px;gap:8px 18px}
.health-metric{width:calc(50% - 9px);min-width:0}
.health-metric>span{display:block;font-size:10px;color:#777}
.health-metric>span small{font-size:9px;margin-left:3px}
.health-metric strong{display:block;font-size:24px;line-height:1.3;letter-spacing:-.5px;overflow-wrap:anywhere}
.health-metric strong small{font-size:12px;font-weight:400;color:#777;letter-spacing:0}
.health-metric strong.sleep-value{font-size:19px;line-height:1.65}
.health-metric progress{display:block;appearance:none;width:100%;height:3px;border:0;margin:3px 0;background:#eee;color:#222}
.health-metric progress::-webkit-progress-bar{background:#eee}.health-metric progress::-webkit-progress-value{background:#222}
.health-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #eee;margin-top:10px;padding-top:7px;font-size:10px}
.health-footer b{margin-left:7px}.health-footer>span:last-child{font-size:8px;color:#888}
.health-card .card-heading h2{font-size:20px}.clock>div #clock-date{margin-left:0}
@media(max-width:760px){#clock-seconds{font-size:15px;min-width:19px;margin-left:5px}.health-card .card-heading h2{font-size:17px}.health-grid{gap:5px 18px;margin-top:8px}.health-metric strong{font-size:22px}.health-metric strong.sleep-value{font-size:17px}.health-footer{margin-top:7px;padding-top:6px}.health-card .mini-label{font-size:8px}}
.kindle #clock-seconds{display:none}.kindle .health-card .card-heading h2{font-size:15px}
.kindle .health-card .mini-label{display:none}.kindle .health-grid{margin-top:6px;gap:4px 8px}
.kindle .health-metric{width:calc(50% - 4px)}.kindle .health-metric>span{font-size:9px;color:#333}
.kindle .health-metric strong{font-size:19px}.kindle .health-metric strong.sleep-value{font-size:13px;line-height:1.9}
.kindle .health-footer{font-size:9px;margin-top:5px;padding-top:4px}.kindle .health-footer>span:last-child{font-size:7px;color:#333}
/* v1.2: complete independent frames, with an explicit visible baseline. */
.pet-sprite{display:block;position:absolute;inset:0;width:100%;height:100%;padding:0;pointer-events:none;background-repeat:no-repeat;image-rendering:pixelated;filter:none;clip-path:none}
.gecko-logo{display:inline-block;flex-shrink:0;width:41px;height:30px;background:url('../images/pet-v12/C01-front-idle.png') center 74% / 120% auto no-repeat;image-rendering:pixelated}
.login-brand .gecko-logo{width:65px;height:47px}
@media(max-width:760px){.brand .gecko-logo{width:29px;height:23px}}
.pet-preview-wrap{max-width:1080px;margin:28px auto;padding:20px}.pet-preview-wrap h1{font-size:25px;margin-bottom:7px}.pose-grid{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}.pose-grid figure{width:calc(25% - 11px);margin:0;border:1px solid #bbb;border-radius:12px;background:white;text-align:center}.pose-box{position:relative;width:100%;padding-top:100%;overflow:hidden}.pose-box .pet-sprite{bottom:0}.pose-grid figcaption{font-size:14px;font-weight:600;padding:0 8px 16px}@media(max-width:600px){.pose-grid figure{width:calc(50% - 7px)}}
#clock{white-space:nowrap}
@media(max-width:760px){.normal .hero{gap:4px}.normal .hero-copy{flex:0 0 54%;min-width:0}.normal .clock{flex:1;min-width:0}.normal .hero h1{font-size:30px}.normal #clock{font-size:36px}.normal #clock-seconds{font-size:13px;min-width:16px;margin-left:4px}.normal .health-card{padding:14px 17px}.normal .health-grid{gap:2px 18px}.normal .health-metric strong{font-size:20px;line-height:1.25}.normal .health-metric strong.sleep-value{font-size:16px;line-height:1.55}.normal .health-footer{padding-top:4px;margin-top:4px}}
@media(max-width:370px){.normal .hero h1{font-size:26px}.normal #clock{font-size:32px}.normal #clock-seconds{font-size:12px}}
/* Pet behavior v2: movement is driven by real sprite frames, within this clipped scene. */
.pet-traveller{transition:none!important;pointer-events:none}
.pet-snack{position:absolute;bottom:2px;width:25px;height:19px;image-rendering:pixelated;pointer-events:none}
.pet-snack[hidden]{display:none!important}#pet-trace[hidden]{display:none!important}
.pet-demo-wrap{max-width:1160px;margin:30px auto;padding:20px}.pet-demo-wrap h1{font-size:27px;margin:15px 0 8px}.pet-demo-panels{display:flex;gap:18px;margin:23px 0}.demo-panel{width:50%;min-width:0}.demo-panel h2{font-size:20px}.demo-scene{height:265px}.demo-scene .pet-bubble{left:30%;top:5px;font-size:11px}.demo-scene .pet-traveller{width:200px;height:150px}.demo-scene .plant{height:110px;width:65px}.demo-state{font-size:12px;color:#777;margin-top:5px}.demo-actions{display:flex;gap:8px;margin:12px 0}.demo-actions button{font-size:11px;padding:6px 10px}.demo-panel .pet-controls{gap:7px;padding:15px 0 0}.demo-panel .pet-controls button{font-size:12px}.demo-trace{display:block;white-space:pre-wrap;overflow:auto;max-height:72px;font:10px/1.4 monospace;color:#888;margin-top:12px}.demo-panel[data-paused=true]{border:2px dashed #555}@media(max-width:760px){.pet-demo-panels{display:block}.demo-panel{width:100%;margin-bottom:16px}.pet-demo-wrap{padding:15px}}

/* Keep speech outside the mirrored sprite. All modes share the 240:170 canvas. */
.pet-scene .pet-traveller{width:220px;height:155.8333px;bottom:2px}
.pet-scene .pet-sprite{bottom:0}
.pet-bubble{left:0;top:0;max-width:calc(100% - 8px);width:max-content;overflow-wrap:anywhere;pointer-events:none;transform:none;font-size:12px;padding:8px 12px}
.pet-bubble:after{left:var(--pet-tail-x,24px);width:9px;height:9px;bottom:-6px;transform:rotate(45deg)}
.pet-bubble[hidden]{display:none!important}
.pose-box{padding-top:70.833333%}
.demo-actions{flex-wrap:wrap}
.pet-demo-wrap .demo-scene{height:265px}
@media(max-width:760px){.pet-scene .pet-traveller{width:200px;height:141.6667px}}
.kindle .pet-scene .pet-traveller{width:220px;height:155.8333px}
.kindle .pet-card .pet-scene{height:210px}
.kindle .pet-scene .pet-sprite{bottom:0}
.kindle .pet-bubble{font-size:11px;padding:7px 11px}

.pet-sprite.pose-look{background-image:url("../images/pet-v12/C01-front-idle.png");background-size:120% auto;background-position:center 74%}
