[hidden]{display:none!important}
.home-screen{padding:38px 0 0}
.home-grid{display:grid;grid-template-columns:1fr 370px;gap:72px;align-items:center}
.home-welcome{min-width:0;padding:8px 0 0 10px;position:relative}
.home-welcome .eyebrow{letter-spacing:2px;font-size:9px;margin-bottom:17px}
.home-welcome h1{font-size:43px;line-height:1.25;letter-spacing:1px;margin:0 0 15px}
.home-welcome h1 span{color:#a18bc6}
.home-subtitle{font-size:12px;color:#919780;line-height:1.9;margin:0}
.home-fruits{height:179px;position:relative;max-width:390px;margin-top:4px;pointer-events:none}
.fruit-orbit{display:none}
.brand strong{white-space:nowrap}
@media(max-width:640px){body[data-screen="home"] .brand{gap:7px}body[data-screen="home"] .brand strong{font-size:16px;letter-spacing:0}body[data-screen="home"] .brand small{font-size:7px;letter-spacing:1.4px}body[data-screen="home"] .brand-icon{width:29px;height:29px}body[data-screen="home"] .header-actions .offline{display:none}}
.home-fruit{position:absolute;object-fit:contain;filter:none}
.fruit-apple{width:99px;height:99px;left:14px;top:43px;transform:rotate(-12deg)}
.fruit-grapes{width:112px;height:112px;left:102px;top:13px;transform:rotate(6deg)}
.fruit-orange{width:98px;height:98px;left:204px;top:51px;transform:rotate(8deg)}
.fruit-pear{width:70px;height:70px;left:302px;top:54px;transform:rotate(18deg)}
.fruit-spark{position:absolute;color:#bba778;font-size:25px}.spark-one{left:35px;top:10px}.spark-two{left:280px;top:17px;font-size:15px}
.garden-note{position:absolute;left:66px;bottom:-2px;font-size:10px;color:#a3a789;letter-spacing:2px}
.resume-card{background:#fffefa;border:1px solid #e7e5db;border-radius:24px;padding:24px;box-shadow:0 12px 35px #74754e07}
.resume-heading{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#797e6d;font-weight:600;margin-bottom:24px}
.save-badge{font-size:9px;letter-spacing:1px;background:#eef2e7;color:#8b9a76;border-radius:12px;padding:5px 9px;font-weight:400}
.resume-card .eyebrow{font-size:8px;letter-spacing:1.6px;color:#b0a4bd;margin-bottom:9px}
.resume-card h2{font-size:20px;line-height:1.4;margin:0;color:#636651;letter-spacing:.3px}
.resume-description{font-size:10px;color:#a0a38f;line-height:1.8;margin:9px 0 17px}
.resume-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f6f5ef;border-radius:13px;padding:13px 12px}
.resume-stats span{display:block;font-size:9px;color:#a0a28f;margin-bottom:6px}.resume-stats strong{font-size:19px;font-weight:600;color:#828d6b;font-variant-numeric:tabular-nums}
.save-time{font-size:9px;line-height:1.6;color:#afb09f;margin:13px 0 17px}
.home-primary,.home-secondary{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px;font-weight:600;padding:15px 18px;border-radius:13px;letter-spacing:.5px}
.home-primary{background:#9b83c1;color:#fff;box-shadow:0 4px 0 #8c75b0}.home-primary:hover:not(:disabled){background:#9076b8}.home-primary:disabled{background:#e7e3ed;color:#afa4b9;box-shadow:none;opacity:1}
.home-secondary{border:1px solid #e4e7d8;background:#f2f4eb;color:#818d6e;margin-top:13px}.home-secondary:hover{background:#e9eedf}
.home-primary span,.home-secondary span{font-size:18px;font-weight:400}
.history-link{display:flex;align-items:center;gap:7px;justify-content:center;width:100%;padding:16px 0 5px;background:none;color:#9a8baa;font-size:10px}
.history-link>span:first-child{display:grid;place-items:center;min-width:17px;height:17px;background:#f0ebf6;border-radius:50%;font-size:9px}.history-link>span:last-child{margin-left:3px}
.resume-footnote{font-size:8px;color:#b4b3a8;text-align:center;margin:11px 0 0;line-height:1.7}
.home-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 3px;margin-top:30px;color:#9ba38a;font-size:10px}
.home-summary strong{color:#898471;font-size:15px;font-weight:500;margin:0 4px;font-variant-numeric:tabular-nums}
.home-summary>span:last-child{font-size:9px;color:#abad9b}
.history-panel{padding-top:25px;scroll-margin-top:25px;outline:none}.history-panel:focus-visible{outline:2px solid #d0c3e2;outline-offset:6px;border-radius:12px}
.history-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:17px}.history-heading .eyebrow{font-size:8px;margin-bottom:7px;color:#aaac99}.history-heading h2{font-size:19px;margin:0;font-weight:600;color:#6b735f}
.history-heading>p{font-size:9px;color:#a6aa98;margin:0 0 2px;line-height:1.7}
.history-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.save-card{display:flex;flex-direction:column;align-items:stretch;gap:14px;background:#fffdf9;border:1px solid #e5e7dd;border-radius:15px;padding:16px 14px;min-width:0}
.save-card-summary{display:flex;align-items:center;gap:13px;min-width:0}
.save-number{font-size:17px;color:#b2a0cd;background:#efeaf5;min-width:39px;height:43px;border-radius:11px;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.save-details{min-width:0;flex:1}.save-details h3{font-size:12px;font-weight:600;margin:0 0 7px;color:#7c8270}.save-details h3 small{font-size:8px;font-weight:400;margin-left:7px;color:#a6aa97}.save-details p{font-size:9px;color:#9fa18c;margin:0 0 6px;line-height:1.6}.save-details time{font-size:8px;color:#b2b3a6}
.load-save{flex-shrink:0;border-radius:10px;background:#f0edF5;color:#9681b1;font-size:10px;padding:10px}.load-save:hover{background:#e8e1f1}.load-save span{font-size:12px;margin-left:2px}
.history-empty{border:1px dashed #dfe3d3;background:#f4f5ed75;border-radius:17px;text-align:center;padding:24px 15px;color:#a8ad99}.history-empty>span{display:block;font-size:27px;color:#babca8;margin-bottom:8px}.history-empty b{font-size:12px;font-weight:500}.history-empty p{font-size:10px;margin:9px 0 0;line-height:1.8}
.home-message{font-size:11px;color:#8d8160;background:#f5efdf;border-radius:10px;padding:12px 15px;margin:18px 0 0}
.home-nav-button{font-size:11px;color:#8b799f;background:#efeaf5;border:1px solid #e3dceb;border-radius:20px;padding:9px 13px;white-space:nowrap}
.checkpoint-button{font-size:10px;background:transparent;border:1px dashed #d5d9cb;color:#8f987f;border-radius:11px;padding:11px 8px;margin-top:-6px}
.new-save-button{font-size:11px;color:#827397;background:#eee8f5;border:1px solid #e3daed;border-radius:11px;padding:12px 15px;min-height:44px}
.new-save-button:disabled{color:#a8a49d;background:#eeeee8;border-color:#e5e5dc}
.history-capacity{font-size:11px;color:#8b7c9e;margin:0 0 7px}.history-explainer{font-size:10px;color:#a0a58f;line-height:1.7;margin:0 0 16px}
.save-kind{display:inline-block;font-size:8px;color:#929b80;background:#f0f2e9;border-radius:5px;padding:3px 6px;margin-bottom:7px}.save-kind.manual{color:#9a83b5;background:#f1ebf8}
.save-card-actions{display:flex;gap:8px;border-top:1px solid #eeeee5;padding-top:11px}.save-card-actions button{min-height:38px;flex:1;font-size:11px;border-radius:9px;padding:8px}
.overwrite-save{background:#edf0e4;color:#889476}.delete-save{background:#f8eeea;color:#ad8376}.save-card-actions button:disabled{opacity:.4;cursor:default}
.save-card.is-confirming{border-color:#cbbbde;background:#fffefa}.save-confirm{padding:12px;background:#f6f2e9;border-radius:10px}.save-confirm p{font-size:11px;color:#8b826f;line-height:1.8;margin:0 0 10px}.save-confirm>div{display:flex;justify-content:flex-end;gap:9px}.save-confirm button{font-size:11px;min-height:38px;min-width:75px;border-radius:8px;padding:9px 12px}.save-cancel{background:#fffefa;color:#959281}.save-confirm-button{background:#e9e1f3;color:#9276b1}.save-confirm-button.delete-save{background:#f1dcd4;color:#a46f5c}
.save-tools{display:flex;gap:8px}.save-tools .checkpoint-button{flex:1;margin:0;min-height:42px}
/* The landing page keeps the level and actions; scores remain in the game. */
body[data-screen="home"] #resume-stats{display:none!important}
@media(max-width:640px){.history-heading{gap:8px}.new-save-button{font-size:10px;padding:10px;max-width:62%;line-height:1.5}.history-explainer{font-size:9px}.save-tools{order:5;width:100%}.save-card-actions button{min-height:44px}.save-confirm button{min-height:44px}.save-card-summary{gap:11px}}
body[data-screen="home"] .app{max-width:1060px}body[data-screen="home"] footer{margin-top:27px}
@media(min-width:901px) and (max-height:850px){.home-screen{padding-top:28px}.home-grid{gap:50px;grid-template-columns:1fr 340px}.home-welcome h1{font-size:38px}.home-fruits{height:148px;transform:scale(.88);transform-origin:left top;margin-bottom:-16px}.resume-card{padding:20px}.resume-heading{margin-bottom:19px}.home-summary{margin-top:24px}.history-panel{padding-top:21px}.home-welcome{padding-left:0}}
@media(max-width:900px){.home-grid{grid-template-columns:1fr 320px;gap:25px}.home-screen{padding-top:28px}.home-welcome{padding-left:0}.home-welcome h1{font-size:35px}.home-welcome .eyebrow{font-size:7px;letter-spacing:1px}.home-fruits{transform:scale(.75);transform-origin:left top;width:390px;margin-bottom:-43px}.resume-card{padding:20px}.resume-card h2{font-size:18px}.save-card{gap:8px;padding:13px 10px}.save-number{min-width:29px;font-size:14px;height:36px}.history-heading h2{font-size:17px}.load-save{padding:8px}.home-summary{margin-top:28px}}
@media(max-width:640px){.home-grid{grid-template-columns:1fr;gap:12px}.home-welcome{padding:4px 5px;min-height:173px;overflow:hidden}.home-welcome h1{font-size:31px;line-height:1.25;position:relative;z-index:1;margin-bottom:11px}.home-welcome h1 br{display:none}.home-subtitle{font-size:11px;position:relative;z-index:1}.home-welcome .eyebrow{font-size:7px;position:relative;z-index:1;margin-bottom:11px}.home-fruits{position:absolute;right:-148px;top:51px;transform:scale(.61);transform-origin:left top;opacity:.6}.garden-note{display:none}.resume-card{padding:23px;border-radius:19px}.resume-heading{margin-bottom:19px}.resume-card h2{font-size:21px}.resume-description{font-size:11px}.home-primary,.home-secondary{font-size:13px}.home-summary{padding:14px 1px;gap:10px}.home-summary>span:last-child{font-size:8px}.history-list{grid-template-columns:1fr}.history-heading{align-items:center}.history-heading>p{max-width:118px;text-align:right;font-size:8px}.save-card{padding:15px;gap:12px}.save-number{min-width:37px;height:41px;font-size:16px}.save-details h3{font-size:12px}.save-details p{font-size:9px}.home-nav-button{padding:8px;font-size:10px}.header-actions{gap:5px}.header-actions .help-button{padding:0 9px}.checkpoint-button{order:5;margin:0;width:100%}body[data-screen="game"] .brand small{letter-spacing:1.5px}body[data-screen="game"] .brand strong{font-size:16px}body[data-screen="game"] .brand-icon{width:29px;height:29px}body[data-screen="game"] .header-actions .offline{display:none}}

/* A phone landing page occupies its visible viewport, including safe areas.
   Decoration yields space before any text or primary touch target does. */
@media(max-width:640px){
 body[data-screen="home"]{min-width:0;height:100svh;height:100dvh;overflow:hidden}
 body[data-screen="home"] .app{width:100%;max-width:none;height:100%;min-height:0;margin:0;display:flex;flex-direction:column;gap:8px;padding:calc(6px + var(--home-safe-top,env(safe-area-inset-top,0px))) max(12px,env(safe-area-inset-right,0px)) calc(8px + var(--home-safe-bottom,env(safe-area-inset-bottom,0px))) max(12px,env(safe-area-inset-left,0px))}
 body[data-screen="home"] .ambient,body[data-screen="home"] footer{display:none}
 body[data-screen="home"] .topbar{flex:none;min-height:52px;padding:0 0 7px;gap:8px}
 body[data-screen="home"] .brand{min-width:0;gap:6px}
 body[data-screen="home"] .brand strong{font-size:15px;letter-spacing:0}
 body[data-screen="home"] .brand small{font-size:7px;letter-spacing:1.2px}
 body[data-screen="home"] .brand-icon{width:28px;height:28px;flex:none}
 body[data-screen="home"] .header-actions{flex:none;gap:5px}
 body[data-screen="home"] .icon-button{width:44px;height:44px}
 body[data-screen="home"] .help-button{height:44px;min-width:58px;padding:0 8px;gap:5px;font-size:11px}
 body[data-screen="home"] .home-screen{flex:1;min-height:0;padding:0;display:flex;flex-direction:column;gap:8px}
 body[data-screen="home"] .home-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:12px;width:100%;max-width:420px;margin:0 auto}
 body[data-screen="home"] .home-welcome{min-height:0;padding:0 4px;overflow:visible}
 body[data-screen="home"] .home-welcome h1{font-size:25px;line-height:1.3;letter-spacing:0;margin:0}
 body[data-screen="home"] .home-welcome .eyebrow,body[data-screen="home"] .home-subtitle,body[data-screen="home"] .home-fruits{display:none}
 body[data-screen="home"] .resume-card{min-width:0;padding:18px;border-radius:18px}
 body[data-screen="home"] .resume-heading{font-size:11px;line-height:18px;margin-bottom:10px}
 body[data-screen="home"] .resume-card>.eyebrow{display:none}
 body[data-screen="home"] .resume-card h2{font-size:clamp(16px,4.6vw,20px);line-height:1.4;letter-spacing:0;overflow-wrap:anywhere}
 body[data-screen="home"] .resume-description{font-size:11px;line-height:1.65;margin:8px 0 10px}
 body[data-screen="home"] .save-time{font-size:10px;line-height:1.5;margin:0 0 12px}
 body[data-screen="home"] .home-primary,body[data-screen="home"] .home-secondary{min-height:44px;padding:11px 14px;font-size:13px;line-height:20px;border-radius:12px}
 body[data-screen="home"] .home-message{flex:none;font-size:11px;line-height:1.5;padding:9px 12px;margin:0;overflow-wrap:anywhere}
 body[data-screen="home"] .home-screen:has(#history-panel:not([hidden])) .home-grid{display:none}
 body[data-screen="home"] #history-panel{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 2px 18px}
}
@media(max-width:640px) and (max-height:650px){
 body[data-screen="home"] .home-grid{gap:8px}
 body[data-screen="home"] .home-welcome h1{font-size:22px}
 body[data-screen="home"] .resume-card{padding:14px}
 body[data-screen="home"] .resume-heading{margin-bottom:7px}
 body[data-screen="home"] .resume-description{margin:6px 0 8px}
 body[data-screen="home"] .save-time{margin-bottom:10px}
}
