@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#fff8df;background:#142925;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ffc957;outline-offset:5px}button:disabled{opacity:.5;cursor:wait}#game{width:100%;height:100svh;min-height:600px;overflow:hidden;position:relative}#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#112820b0 0%,transparent 28%,transparent 66%,#0a1a16c9 100%)}header{position:absolute;top:max(26px,env(safe-area-inset-top));left:4%;right:4%;display:flex;align-items:center;justify-content:space-between}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Outfit,sans-serif;font-size:20px;font-weight:700;letter-spacing:2px}.brand-icon{display:grid;place-items:center;background:#ffc957;color:#1d3326;width:43px;height:43px;border-radius:50%;font-size:34px;letter-spacing:-3px;padding-right:4px}.brand-small{display:block;font-size:9px;letter-spacing:2px;margin-top:3px;font-weight:500}.tools{display:flex;gap:8px}.tools button{background:#ffffff0d;border:1px solid #ffffff24;border-radius:50px;color:#fff8df;height:42px;min-width:42px}.tools span{font-size:12px;margin:0 6px}.hud{position:absolute;top:112px;left:4%;right:4%;display:flex;gap:45px;pointer-events:none}.label{font-size:10px;letter-spacing:1.7px;color:#c4cbbd;display:block}.hud strong{font-family:Outfit,sans-serif;display:block;font-size:33px;font-weight:500;margin-top:5px}.hud small{font-size:17px;color:#b6c1b0}.hud .hearts{font-size:19px;letter-spacing:3px;color:#ffd069;margin-top:13px}.card{position:absolute;top:50%;left:6%;transform:translateY(-43%);width:390px;text-shadow:0 2px 20px #11241d50}.eyebrow{font-size:10px;letter-spacing:2px;color:#f8ce77;font-weight:700}h1{font-family:Outfit,sans-serif;font-weight:500;font-size:62px;line-height:1.04;letter-spacing:-2.7px;margin:20px 0}h1 em{font-style:normal;color:#ffcd64}.card p{font-size:15px;line-height:1.8;color:#d6dfd0;margin:22px 0}.primary{background:#ffcf67;border:0;border-radius:50px;color:#22372b;font-weight:700;font-size:16px;padding:18px 31px;min-width:240px;box-shadow:0 6px 25px #08181038}.primary:hover{background:#ffe092;transform:translateY(-2px)}.instruction{display:flex;gap:8px;align-items:center;font-size:11px;color:#c2cdbb;margin-top:18px}.instruction span{font-size:20px}footer{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;gap:15px}.origin{border:1px solid #ffffff20;border-radius:15px;background:#20342ad9;color:#d5ddc9;display:flex;gap:12px;align-items:center;text-align:left;padding:7px 16px 7px 7px;font-size:9px;letter-spacing:1.4px}.origin img{width:43px;height:48px;object-fit:cover;border-radius:9px}.origin small{display:block;margin-top:5px;font-size:12px;letter-spacing:0;color:#fff5d7}#footerNote{font-size:10px;letter-spacing:2px;color:#a8b7a6}#playControls{display:flex;align-items:center;gap:22px}#playControls[hidden],[hidden]{display:none!important}.tip{font-size:10px;letter-spacing:2px;color:#c5d1bc}.dash{border:1px solid #fdd67977;background:#ffce6720;backdrop-filter:blur(12px);color:#ffda85;border-radius:40px;padding:15px 22px;font-size:20px}.dash span{font-size:14px;margin-left:6px}#toast{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;color:#fff0b8;font-weight:600;pointer-events:none;width:90%;text-shadow:0 2px 8px #000}dialog{background:#203b30;color:#fff2ce;border:1px solid #718572;border-radius:24px;padding:20px;width:min(380px,90vw);max-height:90svh}dialog::backdrop{background:#071911d9;backdrop-filter:blur(8px)}dialog>img{width:100%;max-height:52svh;object-fit:cover;border-radius:13px}dialog h2{font-family:Outfit;font-weight:500}dialog p{font-size:14px;line-height:1.7;color:#cfdbc8}#closePhoto{position:absolute;right:28px;top:28px;width:36px;height:36px;border-radius:50%;background:#142925;color:white;border:0;font-size:26px}#error{position:absolute;inset:40% 10%;background:#213d2c;padding:25px;border-radius:20px;z-index:5}body.playing .card{display:none}body.finished .card{background:#122a22dc;backdrop-filter:blur(10px);padding:28px;border:1px solid #ffffff17;border-radius:25px}body.finished h1{font-size:46px}
@media(max-width:700px){#game{min-height:540px}header{top:max(18px,env(safe-area-inset-top))}.brand{font-size:16px;gap:8px;letter-spacing:1.4px}.brand-small{font-size:8px;letter-spacing:1px}.brand-icon{width:35px;height:35px;font-size:28px}.hud{top:88px;justify-content:space-between;gap:10px}.label{font-size:9px;letter-spacing:1px}.hud strong{font-size:27px}.hud .hearts{font-size:16px}.card{top:auto;bottom:102px;left:7%;width:86%;transform:none;text-align:center}.eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:41px;letter-spacing:-1.6px;margin:10px 0}h1 br{display:none}.card p{font-size:13px;line-height:1.6;margin:12px 0}.card p br:first-child{display:none}.primary{padding:15px 28px;min-width:235px;font-size:15px}.instruction{justify-content:center;font-size:10px;margin-top:10px}.origin{padding-right:10px;font-size:8px;gap:8px}.origin img{width:34px;height:39px}.origin small{font-size:10px}footer{bottom:max(18px,env(safe-area-inset-bottom))}#footerNote{font-size:8px;max-width:100px;text-align:right;line-height:1.8}.tip{display:none}.dash{padding:13px 16px}.dash span{font-size:12px}#toast{top:25%}body.finished .card{bottom:120px;padding:22px}body.finished h1{font-size:37px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.primary:hover{transform:none}}
