:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f3ede0;background:#102d32;font-synthesis:none}*{box-sizing:border-box}html{min-width:320px}body{margin:0;min-height:100vh;background:radial-gradient(circle at 76% 4%,#24545b 0,transparent 34%),radial-gradient(circle at 8% 87%,#164148 0,transparent 35%),#102d32}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #f5c06d;outline-offset:3px}.hidden{display:none!important}.shell{max-width:1320px;min-height:100vh;margin:auto;padding:0 clamp(16px,3.8vw,56px);display:flex;flex-direction:column}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20}.brand{display:flex;align-items:center;gap:12px;letter-spacing:.17em;font-size:15px;line-height:1.1}.brand small{display:block;color:#bdc9c6;font-size:10px;letter-spacing:.35em;margin-top:5px}.brand-mark{display:grid;place-items:center;position:relative;width:40px;height:40px;border:1px solid #d7ab69;border-radius:10px;color:#e2b878;font-family:Georgia,serif;font-size:28px;font-weight:bold;letter-spacing:-.15em;padding-right:5px}.brand-mark span{font-size:11px;position:absolute;right:5px;bottom:4px}.top-actions{display:flex;gap:8px}.top-button{height:38px;min-width:42px;padding:0 12px;border:1px solid #ffffff38;background:#ffffff0e;color:#f3ede0;border-radius:8px;font-size:14px;font-weight:700}.top-button:hover,.secondary-button:hover,.game-tools button:hover{background:#ffffff1d}main{flex:1}.screen{animation:appear .24s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.home-screen{min-height:min(680px,calc(100vh - 140px));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px}.hero-copy{position:relative;z-index:2;padding:35px 0 54px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;color:#d9b579;font-weight:800}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(48px,6.5vw,90px);line-height:1.02;letter-spacing:-.045em;margin:20px 0 21px;max-width:600px}.hero-copy p{font-size:clamp(17px,1.8vw,21px);line-height:1.55;color:#c5d5d1;max-width:480px;margin-bottom:30px}.hero-actions,.secondary-actions,.result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.primary-button,.secondary-button{border-radius:9px;min-height:46px;padding:11px 22px;font-weight:800}.primary-button{background:#d9ab68;border:1px solid #e6bf83;color:#152f33;box-shadow:0 7px 20px #03181a33}.primary-button:hover{background:#e8bd80}.secondary-button{background:#ffffff0b;border:1px solid #d2d9cf60;color:#f3ede0}.text-button{background:none;border:0;color:#d6e1de;padding:9px 0;margin-right:20px;text-decoration:underline;text-decoration-color:#d8b47688;text-underline-offset:5px}.text-button:hover{color:#f4c77f}.secondary-actions{margin-top:28px}.hero-art{height:550px;position:relative;display:flex;align-items:center;justify-content:center;transform:rotate(-6deg)}.art-card{width:205px;height:295px;border-radius:16px;background:#f8f3e8;box-shadow:0 28px 40px #00181a80;color:#bb3444;border:8px solid #f8f3e8;position:absolute;display:flex;flex-direction:column;justify-content:space-between;font-family:Georgia,serif;font-weight:bold;font-size:82px;padding:8px;z-index:1}.art-card span:last-child{align-self:center;font-size:120px}.art-one{transform:translate(-84px,-38px) rotate(-17deg)}.art-two{transform:translate(36px,5px) rotate(5deg);color:#1d3033}.art-three{transform:translate(136px,52px) rotate(19deg);color:#1d3033}.card-back{transform:translate(-170px,-66px) rotate(-31deg);background:repeating-linear-gradient(45deg,#b77557 0 5px,#f3d1a8 5px 7px);border:8px solid #f5ebd7}.art-glow{width:400px;height:400px;background:#9aa87b27;filter:blur(65px);border-radius:50%;position:absolute}.game-screen{padding:28px 0 56px}.game-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.game-heading h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,46px);font-weight:400;margin:3px 0 18px}.compact{min-height:38px;padding:7px 14px}.game-hud{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff28;border-radius:12px;background:#ffffff0b;margin-bottom:14px}.hud-stat{padding:13px 20px;border-right:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.hud-stat:last-child{border-right:0}.hud-stat span{color:#b6ccc7;font-size:13px}.hud-stat strong{font-size:23px;font-variant-numeric:tabular-nums}.game-tools{display:flex;gap:8px;align-items:center}.game-tools button{background:#ffffff10;border:1px solid #ffffff35;color:#f3ede0;border-radius:8px;min-height:39px;padding:6px 15px;font-weight:700}.game-tools button:disabled{opacity:.4;cursor:default}.tool-spacer{flex:1}.daily-date{font-size:13px;color:#c6d5d2}.instruction{color:#c7d8d2;font-size:14px;min-height:22px;margin:16px 0 12px}.board{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:clamp(3px,.45vw,7px);background:#0a2529a8;border:1px solid #ffffff22;padding:clamp(8px,1.3vw,16px);border-radius:15px;box-shadow:inset 0 2px 12px #00191a55;min-height:390px}.pile{position:relative;aspect-ratio: .72;min-width:0;border-radius:6px;background:#f8f4e9;border:2px solid #e6ddca;color:#172d33;box-shadow:0 3px 8px #00171977;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:5px;text-align:left;transition:transform .12s,border-color .12s,box-shadow .12s}.pile.red{color:#b23443}.pile:hover{transform:translateY(-3px)}.pile.selected{border:3px solid #f4be70;box-shadow:0 0 0 3px #f4be7066,0 9px 15px #00171988;transform:translateY(-4px)}.pile.target{border:3px solid #80d8aa;box-shadow:0 0 0 3px #80d8aa66}.pile.hint-source{animation:hintPulse .6s ease-in-out 2}.pile.hint-target{animation:hintPulse .6s ease-in-out 2;animation-delay:.15s}@keyframes hintPulse{50%{box-shadow:0 0 0 6px #f4be70aa;transform:translateY(-4px)}}.card-corner{font-family:Georgia,serif;font-weight:bold;font-size:clamp(11px,1.4vw,18px);line-height:1;display:flex;flex-direction:column;align-items:center;gap:1px}.card-symbol{font-family:Georgia,serif;font-size:clamp(20px,3vw,40px);line-height:1;align-self:center;margin-bottom:5px}.pile-size{position:absolute;right:3px;top:3px;border-radius:10px;padding:1px 5px;background:#1a3a3d;color:white;font-size:11px;font-weight:800}.result{margin-top:20px;padding:30px;text-align:center;border:1px solid #e0b67677;border-radius:15px;background:#153d42}.result-icon{font-size:35px;color:#e6bd78}.result h2{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:8px 0}.result p{color:#d0dcd8}.result-actions{justify-content:center;margin-top:20px}.modal{position:fixed;inset:0;z-index:10;background:#001418b9;display:grid;place-items:center;padding:20px}.modal-panel{width:min(100%,560px);max-height:min(85vh,760px);overflow:auto;background:#183b40;border:1px solid #ddbd835c;box-shadow:0 20px 70px #0008;border-radius:16px;padding:30px;position:relative}.modal-panel h2{font-family:Georgia,serif;font-size:34px;font-weight:400;margin:7px 0 20px}.modal-panel p,.modal-panel li{color:#d6e0db;line-height:1.55}.modal-panel ol{padding-left:22px}.modal-panel li{margin-bottom:9px}.modal-close{position:absolute;right:16px;top:12px;background:none;border:0;color:white;font-size:30px;line-height:1}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats-grid div{padding:14px;background:#ffffff0c;border-radius:8px}.stats-grid span{display:block;color:#bdd0ca;font-size:13px}.stats-grid strong{font-size:25px}.toast{position:fixed;z-index:20;left:50%;bottom:25px;transform:translateX(-50%);background:#f4d69c;color:#152c31;border-radius:8px;padding:10px 16px;font-weight:750;box-shadow:0 8px 28px #0005;max-width:90vw;text-align:center}footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ffffff20;min-height:58px;color:#a8bcb7;font-size:12px}footer button{background:none;border:0;color:#cbd9d5;text-decoration:underline;text-underline-offset:3px}@media(max-width:900px){.home-screen{grid-template-columns:1fr}.hero-copy{padding:45px 0 15px}.hero-art{height:350px;transform:rotate(-6deg) scale(.75);margin-top:-55px}.board{grid-template-columns:repeat(8,minmax(0,1fr))}.hud-stat{padding:11px}}@media(max-width:560px){.shell{padding:0 12px}.topbar{height:64px}.brand{font-size:12px}.brand-mark{width:32px;height:32px;font-size:21px}.hero-copy h1{font-size:55px}.hero-art{height:260px;transform:rotate(-6deg) scale(.53);margin-top:-70px;margin-bottom:-20px}.secondary-actions{gap:0}.text-button{margin-right:14px}.game-screen{padding-top:19px}.game-heading h1{font-size:29px}.game-hud{grid-template-columns:1fr 1fr}.hud-stat:nth-child(2){border-right:0}.hud-stat:nth-child(-n+2){border-bottom:1px solid #ffffff20}.hud-stat{padding:8px 11px}.hud-stat strong{font-size:19px}.game-tools{flex-wrap:wrap}.game-tools button{flex:1;padding:6px 7px;font-size:13px}.tool-spacer,.daily-date{display:none}.board{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:7px;min-height:0}.pile{padding:5px;aspect-ratio:.8}.card-corner{font-size:17px}.card-symbol{font-size:30px}.instruction{font-size:13px}.modal-panel{padding:24px}.stats-grid{gap:7px}.stats-grid div{padding:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Narrow embedded viewport; wrap controls instead of clipping content. */
html{min-width:0}.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:64px;padding:10px 0}.top-actions{margin-left:auto}.game-heading{flex-wrap:wrap;gap:10px}.game-heading>*{min-width:0}footer{flex-wrap:wrap;gap:8px}.modal-panel{max-width:100%}@media(max-width:300px){.hero-copy h1{font-size:42px}.hero-art{display:none}.game-tools button{flex:1 1 80px}.shell{padding:0 8px}.card-corner{font-size:15px}.card-symbol{font-size:26px}.pile-size{font-size:9px}}
@media(max-width:560px){.game-hud{grid-template-columns:repeat(2,minmax(0,1fr))}.hud-stat{min-width:0;flex-wrap:wrap;gap:4px}.hud-stat span{overflow-wrap:anywhere}}

/* Avoid painting blank copy and controls before localization initializes. */
.booting .shell{visibility:hidden}
html{scrollbar-gutter:stable}
