*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;background:#fbf6ed;color:#291c43;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #f2c57c;outline-offset:3px}.shell{max-width:1140px;margin:auto;padding:clamp(17px,4vw,42px) clamp(12px,3vw,30px) 70px}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:900;color:#ad73a4}h1{font-size:clamp(3rem,8vw,5.6rem);letter-spacing:-.07em;line-height:1.05;margin:8px 0}h1 em{font-family:Georgia,serif;color:#df7e77;font-weight:400}header p{font-size:1.13rem;color:#77707e;margin:8px 0 24px}.layout{display:grid;grid-template-columns:minmax(0,740px) minmax(245px,1fr);gap:20px;align-items:start}.game{min-width:0;background:#3d285e;color:#fff;padding:clamp(14px,3vw,27px);border-radius:22px;box-shadow:0 18px 32px #2e244539}.modes{display:flex;gap:8px}.modes button,.actions button{border:2px solid #9779b2;background:#624383;color:#fff;border-radius:11px;padding:9px 13px;min-height:46px;font-weight:850}.modes button[aria-pressed=true]{background:#f5d18e;color:#312245;border-color:#ffe9bb}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:14px 0 9px}.stats div{border:1px solid #9174a9;background:#5a3c79;border-radius:11px;padding:7px 9px}.stats small{display:block;color:#e3cfed;font-size:.6rem;font-weight:900;letter-spacing:.06em}.stats strong{font-size:1.35rem}.bar{height:12px;background:#73548e;border-radius:20px;overflow:hidden}.bar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#f1a6a0,#f9d787)}.stage{margin:17px 0;background:#fff9ef;color:#312245;text-align:center;padding:clamp(15px,3vw,30px);border-radius:18px;min-height:375px}.stage>p{font-weight:800;min-height:1.5em}.entry{display:flex;justify-content:center;gap:5px;min-height:54px;margin:17px auto}.entry span{border-bottom:4px solid #c6a8d9;background:#f1e8f0;min-width:43px;height:53px;border-radius:6px;display:grid;place-items:center;font-size:1.5rem;font-weight:950}.wheel{position:relative;width:min(286px,75vw);height:min(286px,75vw);margin:0 auto;touch-action:manipulation}.wheel:before{content:"";position:absolute;inset:12%;background:#ead8e8;border-radius:50%;border:4px solid #e5b7a7}.wheel button{position:absolute;left:50%;top:50%;width:clamp(53px,14vw,68px);height:clamp(53px,14vw,68px);border-radius:50%;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(calc(-1 * min(104px,27vw))) rotate(calc(0deg - var(--angle)));border:3px solid #fff0d0;background:#865abc;color:#fff;font-size:1.55rem;font-weight:900;box-shadow:0 4px 0 #5a3a8f;touch-action:manipulation}.wheel button:disabled{opacity:.36}.wheel:after{content:"✦";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:2.2rem;color:#8458ad;pointer-events:none}.feedback{color:#674974;min-height:2.8em;margin:7px 0}.progress{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.72rem;font-weight:900;color:#6f5778}.progress strong{color:#a57683}.progress strong.done{color:#368769}.actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.actions .primary{background:#f5c486;color:#382345;border-color:#ffdeb0}.actions button:disabled{opacity:.48;cursor:default}.found{border-top:1px solid #9376ac;margin-top:20px}.found h2{font-size:1rem}.found div{display:flex;gap:6px;flex-wrap:wrap;color:#e6dbee}.found b{padding:4px 9px;background:#684a88;border-radius:12px}aside{background:#fff;border-radius:19px;border:1px solid #e7d9df;padding:24px}aside h2{margin:8px 0;font-size:1.8rem}aside p{color:#746c7d}aside strong{color:#9a58a8}.foot a{font-weight:850;color:#8052a1}@media(max-width:930px){.layout{grid-template-columns:1fr}aside{max-width:740px}}@media(max-width:510px){.stats{gap:3px}.stats div{padding:5px}.stats small{font-size:.47rem}.stats strong{font-size:1rem}.entry span{min-width:35px;height:46px}.wheel{width:260px;height:260px}.wheel button{width:58px;height:58px;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-94px) rotate(calc(0deg - var(--angle)))}.modes button{flex:1}}
