:root{--ink:#293d2c;--red:#891d27;--paper:#fffaf0;--line:#ded2b9}*{box-sizing:border-box}body{margin:0;background:#f4eedf;color:var(--ink);font:17px/1.6 Georgia,serif;background-image:radial-gradient(#b6a98120 1px,transparent 1px);background-size:6px 6px}button,a,input,select{touch-action:manipulation}a{color:inherit}button,.btn{font:600 15px/1.4 system-ui;cursor:pointer;border:1px solid var(--line);border-radius:30px;padding:12px 22px;background:var(--paper);color:var(--ink);text-decoration:none;display:inline-block}button:hover,.btn:hover{border-color:var(--red);color:var(--red)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b57832;outline-offset:4px}.primary{background:var(--red);color:white;border-color:var(--red)}.primary:hover{background:#68141c;color:white}header{max-width:1300px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid var(--line);gap:24px}.brand{text-decoration:none;font-weight:bold;font-size:23px;white-space:nowrap}.brand span{color:var(--red)}nav{display:flex;gap:26px;align-items:center;font:14px system-ui}nav a{text-decoration:none}main{min-height:75vh;max-width:1200px;margin:auto;padding:28px}h1,h2,h3{line-height:1.15}h1{font-size:clamp(36px,5vw,64px);font-weight:500;margin:12px 0 24px}h2{font-size:34px;font-weight:500}h3{font-size:24px;margin:10px 0}p{max-width:740px}.eyebrow{font:12px system-ui;text-transform:uppercase;letter-spacing:3px;color:var(--red)}.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;min-height:510px;position:relative}.hero-copy{padding:20px 20px 35px 0}.logo{width:100%;max-width:580px;display:block;margin:0 auto 20px}.hero-copy>p{text-align:center;margin:10px auto 25px;font-size:23px;max-width:490px}.hero-actions{text-align:center}.guide-wrap{height:520px;overflow:hidden;position:relative;border-radius:50% 50% 8px 8px;background:radial-gradient(ellipse,#e7d6b0,transparent 68%)}.guide{width:100%;height:100%;object-fit:contain;object-position:center bottom;animation:arrive .7s ease}.caption{font:12px system-ui;color:#726d5e}.seasons{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.season{border-radius:14px;text-align:left;padding:23px;background:#fdf9ee;box-shadow:0 5px 15px #45362008}.season span{display:block;font-size:30px;margin-bottom:10px}.season b{font:25px Georgia}.season small{display:block;font-weight:400;margin-top:8px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}.card{background:var(--paper);border:1px solid var(--line);padding:26px;border-radius:16px;position:relative}.card .symbol{font-size:44px}.card p{font-size:16px}.card a{margin-top:10px}.wide{grid-column:span 2}.intro{max-width:800px}.back{font:14px system-ui;text-decoration:none;display:block;margin-bottom:24px}.divider{text-align:center;color:var(--red);font-size:25px;margin:25px 0}.note{background:#e8eddf;padding:18px 24px;border-radius:12px;font-size:15px}.game{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.cake-area{text-align:center}.cake{width:100%;max-width:450px;filter:drop-shadow(0 15px 12px #42281833)}.cake button{padding:0}.palette{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.palette button.active{background:var(--ink);color:white}.cakeSpot{cursor:pointer;stroke:#7c4c2730;stroke-width:2}.cakeSpot:focus{outline:none;stroke:var(--red);stroke-width:4}.status{min-height:50px;font-weight:bold}.dictionary{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.dictionary dl{display:grid;grid-template-columns:115px 1fr;font-size:16px;gap:7px}.dictionary dt{color:#706d60}.dictionary dd{margin:0}input{font:17px system-ui;padding:15px;border:1px solid var(--line);border-radius:12px;width:100%;margin:15px 0 24px;background:#fffdf7}.source{font-size:14px;overflow-wrap:anywhere}.place-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.place-list .card{border-left:5px solid #a98445}.partner{width:125px;border-radius:8px;vertical-align:middle;margin-right:24px}.credits{padding:20px 0;border-bottom:1px solid var(--line)}.credits p{margin:4px 0}.ribbons{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ribbons button{font-size:34px;border-radius:16px;min-height:90px}footer{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center;padding:25px;font:14px system-ui}footer small{width:100%;text-align:center;color:#726d5e}dialog{border:1px solid var(--line);border-radius:20px;padding:30px;max-width:560px;width:calc(100% - 28px);max-height:85vh;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#14221799}.close{float:right;font-size:24px;padding:4px 15px}dialog li{margin:12px 0}button[hidden]{display:none}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:760px){header{padding:16px;display:block}.brand{display:block;text-align:center}nav{justify-content:center;gap:12px;flex-wrap:wrap;margin-top:15px}nav button{padding:8px 12px}main{padding:20px 16px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:10px 0}.guide-wrap{height:270px;position:relative;max-width:270px;margin:15px auto 0;order:2}.hero-copy>p{font-size:20px}.seasons{grid-template-columns:1fr 1fr}.season{padding:18px}.cards,.game,.place-list,.dictionary{grid-template-columns:1fr}.wide{grid-column:auto}.cards{gap:12px}h1{font-size:38px}h2{font-size:30px}.card{padding:22px}.ribbons{grid-template-columns:repeat(3,1fr)}footer{gap:16px}.logo{max-width:500px}}
