:root {color-scheme:light; --ink:#442b3a; --muted:#927783; --pink:#d95383; --pink-dark:#b5396b; --cream:#fffaf6; --border:#f1d7e0; --shadow:0 20px 60px rgba(143,69,94,.11); font-family: 'Trebuchet MS', 'Segoe UI', system-ui, sans-serif;}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;}body{background:linear-gradient(125deg,#fffaf6,#fff0f4 55%,#fff8eb);color:var(--ink);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid #f2a8bf;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(6px)}.ambient-one{top:17%;left:-120px;width:250px;height:250px;background:rgba(253,195,209,.25)}.ambient-two{bottom:-70px;right:-85px;width:350px;height:350px;background:rgba(250,215,162,.18)}
.site-header{max-width:1230px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;color:var(--ink);font-weight:900;letter-spacing:2px;font-size:16px;display:flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;color:#fff;background:var(--pink);border-radius:13px;width:35px;height:35px;font-size:20px;transform:rotate(-7deg)}.brand-dot{color:var(--pink)}.header-tag{font-size:10px;letter-spacing:2px;font-weight:800;color:#b58f9c}
main{min-height:calc(100vh - 135px)}.screen{width:min(100%,1120px);margin:0 auto;padding:45px 24px 65px}.welcome-screen,.auth-screen{text-align:center;max-width:820px}.eyebrow{font-size:11px;letter-spacing:3.2px;font-weight:800;color:var(--pink);text-align:center}.eyebrow.align-left{text-align:left}.sparkle{color:#f1af6c}.welcome-icon{font-size:61px;margin:27px 0 12px;filter:drop-shadow(0 9px 12px rgba(180,91,107,.1))}h1,h2,p{margin-top:0}h1{font-size:clamp(34px,5.4vw,61px);line-height:1.13;letter-spacing:-2.3px;margin-bottom:16px}.serif{font-family:Georgia, 'Times New Roman',serif;font-weight:400;font-style:italic;color:var(--pink)}.lead{font-size:16px;color:var(--muted);line-height:1.7;max-width:590px;margin:0 auto 32px}.question-card,.password-card{background:rgba(255,255,255,.83);box-shadow:var(--shadow);border:1px solid #fff;border-radius:30px;padding:33px 34px;max-width:600px;margin:0 auto}.question-text{font-size:24px;font-weight:800;line-height:1.45;max-width:470px;margin:0 auto 27px}.choice-area{height:155px;position:relative;isolation:isolate}.choice{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:136px;padding:16px;border-radius:17px;box-shadow:0 8px 21px #eaaabe33;font-weight:800;user-select:none;position:absolute;top:43px;left:calc(50% - 160px);transition:transform .2s ease,box-shadow .2s ease}.yes-choice{background:var(--pink);color:white;cursor:pointer;z-index:2}.yes-choice:hover{background:var(--pink-dark);transform:translateY(-3px)}.no-choice{left:calc(50% + 25px);color:var(--muted);background:#f9edf1;z-index:1;cursor:not-allowed;transition:left .19s cubic-bezier(.2,1.4,.5,1),top .19s cubic-bezier(.2,1.4,.5,1),transform .19s}.choice input{position:absolute;opacity:0;pointer-events:none}.fake-radio{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;position:relative;flex:none}.yes-choice input:checked+.fake-radio:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#fff}.tiny-note{font-size:12px;color:#a9949c;margin:0}.foot-whisper{font-size:10px;letter-spacing:2px;color:#bd9eaa;font-weight:700;margin-top:48px}
.auth-screen{padding-top:45px}.auth-screen .lead{margin-bottom:28px}.special-message{max-width:645px}.password-card{max-width:480px;text-align:left}.password-card label{display:block;font-size:11px;letter-spacing:2px;font-weight:900;color:var(--muted);margin-bottom:10px}.password-input-wrap{position:relative;display:flex;border-radius:14px;background:#fff9fa;border:1px solid #edd7de;align-items:center}.password-input-wrap input{width:100%;background:transparent;border:0;outline:0!important;padding:17px 75px 17px 18px;font-size:16px;color:var(--ink)}.reveal-button{position:absolute;right:13px;border:0;color:var(--pink-dark);background:transparent;font-size:12px;font-weight:800}.error-message{font-size:12px;color:#b73661;min-height:17px;margin:8px 0 7px}.primary-button{border:0;border-radius:14px;background:linear-gradient(135deg,#df6c94,#cd4776);color:white;font-size:15px;font-weight:800;box-shadow:0 12px 26px #dd709b55;padding:15px 23px;transition:filter .2s,transform .2s}.primary-button:hover{filter:brightness(1.05);transform:translateY(-2px)}.password-card .primary-button{width:100%}.text-button{border:0;background:transparent;color:var(--pink-dark);font-weight:700;font-size:13px;padding:12px}.auth-screen>.text-button{margin-top:16px}
.game-screen{padding-top:20px}.game-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.game-topline h1{font-size:clamp(25px,3.7vw,43px);margin-top:10px;margin-bottom:5px;letter-spacing:-1.4px}.game-subtitle{color:var(--muted);font-size:13px}.title-heart{color:var(--pink);font-size:28px}.icon-button,.secondary-button{border:1px solid #ecd2dd;background:rgba(255,255,255,.75);color:var(--ink);border-radius:13px;padding:11px 14px;font-weight:800;font-size:12px;white-space:nowrap}.icon-button:hover,.secondary-button:hover{background:#fff}.hud{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:11px;margin:16px 0}.hud-item{background:rgba(255,255,255,.85);padding:15px 17px;border:1px solid #f4dce3;border-radius:16px;box-shadow:0 5px 18px #8f455211;display:flex;flex-direction:column;gap:5px}.hud-item>span{color:#a5818f;font-size:10px;letter-spacing:1.4px;font-weight:800}.hud-item strong{font-size:27px;letter-spacing:1px;font-variant-numeric:tabular-nums}.lives-block strong{color:#db5c82;white-space:nowrap;font-size:25px}.milestone-dots{display:flex;gap:7px;margin-top:9px}.milestone-dots b{display:block;width:15px;height:15px;border-radius:50%;border:2px solid #e7bfd0;background:#fff0f5}.milestone-dots b.active{background:#e76b91;border-color:#e76b91;box-shadow:0 0 0 3px #f9e2ea}
.game-canvas-wrap{position:relative;overflow:hidden;isolation:isolate;background:#fce7eb;border-radius:22px;border:6px solid #fff;box-shadow:0 16px 40px #a36b8030}.game-canvas-wrap canvas{display:block;width:100%;height:auto;touch-action:manipulation}.game-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(255,238,240,.62);backdrop-filter:blur(4px);padding:16px}.overlay-card{text-align:center;max-width:360px;background:rgba(255,255,255,.94);border:1px solid #fff;border-radius:23px;box-shadow:0 14px 40px rgba(107,64,80,.16);padding:21px 26px}.overlay-emoji{font-size:34px}.overlay-card h2{font-family:Georgia,serif;font-size:27px;margin:5px 0 8px;color:#ad426f}.overlay-card p{line-height:1.45;color:#826b75;font-size:13px;margin-bottom:16px}.game-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0}.controls-help{font-size:12px;color:#9a7784}.controls-help kbd{font-size:11px;border:1px solid #ebcfd9;border-bottom-width:3px;border-radius:5px;background:white;padding:3px 5px;color:var(--ink)}.toolbar-actions{display:flex;gap:9px}.jump-control{background:var(--pink);color:#fff;border-color:var(--pink);min-width:106px}.food-legend{display:flex;flex-wrap:wrap;gap:9px}.food-legend span{border:1px solid #f1dae2;border-radius:15px;padding:10px 12px;background:#fff9fb;color:#7a6470;font-size:12px}.food-legend b{color:#b34f72}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#a4838e;font-size:12px;margin-top:8px}.site-footer{text-align:center;color:#b08b9b;font-size:12px;padding:16px}.site-footer span{color:var(--pink)}
@media(max-width:760px){.site-header{padding:18px}.header-tag{display:none}.screen{padding:30px 15px 45px}.question-card,.password-card{padding:25px 17px}.question-text{font-size:21px}.game-screen{padding-top:15px}.game-topline{align-items:center}.game-topline h1{letter-spacing:-.7px}.game-topline .eyebrow{font-size:8px;letter-spacing:1.6px}.game-topline .game-subtitle{font-size:11px}.icon-button{font-size:10px;padding:9px}.hud{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.hud-item{padding:10px 12px}.hud-item strong{font-size:22px}.hud-item>span{font-size:9px}.game-canvas-wrap{border-width:3px;border-radius:14px}.game-toolbar{align-items:stretch}.controls-help{max-width:180px;font-size:11px;line-height:1.6}.controls-help kbd{display:none}.food-legend{gap:5px}.food-legend span{font-size:10px;padding:8px}.game-footer{align-items:flex-start}.overlay-card{padding:12px 16px;max-width:85%;}.overlay-card h2{font-size:20px}.overlay-card p{font-size:11px}.overlay-emoji{font-size:26px}.overlay-card .primary-button{padding:11px 15px}}
@media(max-width:430px){.choice{min-width:118px;padding:13px}.choice.no-choice{left:calc(50% + 8px)}.choice.yes-choice{left:calc(50% - 125px)}.choice-area{height:165px}.game-screen{padding-left:9px;padding-right:9px}.game-topline h1{font-size:24px}.title-heart{font-size:18px}.lives-block strong{font-size:21px}.game-toolbar{flex-direction:column}.controls-help{max-width:none;text-align:center}.jump-control{min-width:140px}.toolbar-actions{width:100%;justify-content:space-between}.secondary-button{padding:11px 16px}.food-legend span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ambient{display:none}.choice,.primary-button{transition:none!important}}

/* In narrow portrait mode, enlarge the play area enough for tap interaction and overlays. */
@media(max-width:500px){.game-canvas-wrap canvas{height:220px}.game-overlay .overlay-card{padding:12px 16px;max-width:90%}.game-overlay .overlay-card h2{font-size:20px}.game-overlay .overlay-emoji{font-size:25px}.game-overlay .overlay-card p{font-size:11px;margin-bottom:10px}.game-overlay .primary-button{padding:10px 14px}}
