:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f3eee4;background:#101a25;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:0;background:radial-gradient(ellipse at 35% 35%,#1a2b39 0,#101a25 62%);min-height:100vh}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #f4cf81;outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}.app-shell{width:min(1180px,100%);margin:auto;padding:0 34px}.topbar{height:90px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff19}.brand{display:flex;align-items:center;gap:11px}.brand-mark{color:#eabf6b;font-size:32px;line-height:1}.brand strong{display:block;font-size:13px;letter-spacing:.16em}.brand small{display:block;color:#a6b2b9;font-size:10px;letter-spacing:.27em;margin-top:4px}.top-actions{display:flex;align-items:center;gap:9px}.top-actions button{background:#ffffff0b;border:1px solid #ffffff25;color:#f5ecdd;height:38px;border-radius:10px}.text-button{padding:0 12px;font-size:12px;letter-spacing:.12em;font-weight:800}.icon-button{width:38px;font-size:22px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;padding-top:44px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px}.eyebrow{display:block;color:#d8b36c;font-size:10px;font-weight:800;letter-spacing:.22em}.section-heading h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,49px);margin:12px 0 0;letter-spacing:-.04em}.mode-badge{border:1px solid #bd9861;color:#e4c17f;border-radius:100px;font-size:10px;letter-spacing:.15em;font-weight:800;padding:9px 12px;white-space:nowrap}.board-wrap{position:relative;margin:29px auto 0;width:min(100%,600px);aspect-ratio:1;display:grid;place-items:center}.board-halo{position:absolute;inset:2%;border-radius:50%;background:radial-gradient(circle,#d3a75c22 0,#d3a75c06 55%,transparent 70%)}.board{position:relative;width:100%;aspect-ratio:1;padding:7%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:1.6%;border-radius:50%;background:radial-gradient(circle at 44% 35%,#80593e,#59402f 58%,#342b28 82%);border:8px solid #aa7b4f;box-shadow:0 22px 35px #0008,inset 0 0 0 3px #c6925b,inset 0 0 0 7px #33251f,inset 0 0 42px #251a15}.cell{position:relative;border:0;background:transparent;border-radius:50%;padding:0;min-width:0;min-height:0;display:grid;place-items:center;touch-action:manipulation}.cell.empty::before,.cell.peg::before{content:"";width:76%;aspect-ratio:1;border-radius:50%;background:#241d1a;box-shadow:inset 0 3px 5px #000b,0 1px 1px #e1b77570}.cell.peg::after{content:"";position:absolute;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 29%,#fff9df 0,#f4ddb0 18%,#d9aa6c 55%,#9a6339 100%);box-shadow:inset -3px -5px 7px #75442670,0 4px 7px #130d0b99;transition:transform .17s,filter .17s}.cell.peg:hover::after,.cell.selected::after{transform:scale(1.13);filter:brightness(1.12)}.cell.selected::before,.cell.target::before,.cell.hint-from::before,.cell.hint-to::before{box-shadow:0 0 0 3px #f1d389,inset 0 2px 4px #000}.cell.target::after,.cell.hint-to::after{content:"";position:absolute;width:26%;aspect-ratio:1;border-radius:50%;background:#eed58f;box-shadow:0 0 12px #f5cf82}.cell.hint-from::after{filter:brightness(1.3)}.cell.invalid{animation:shake .25s}.cell:focus-visible{outline:3px solid #f5d38c;outline-offset:0}@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}.under-board{text-align:center;min-height:68px}.status{font-size:14px;color:#ebcc94;min-height:24px}.keyboard-hint{font-size:12px;color:#92a0a8;margin-top:7px}.sidebar{padding-top:4px;display:flex;flex-direction:column;gap:16px}.score-card,.action-card,.mini-card{border:1px solid #ffffff1f;border-radius:16px;background:linear-gradient(145deg,#ffffff0e,#ffffff05);padding:22px 24px}.score-card{min-height:191px}.big-stat{display:flex;align-items:baseline;gap:10px;margin:12px 0 17px}.big-stat span{font-family:Georgia,serif;font-size:58px;line-height:1}.big-stat small{color:#bac2c5;font-size:15px}.progress-track{height:5px;background:#ffffff1a;border-radius:20px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#bd854b,#f4d78d);border-radius:20px;transition:width .2s}.score-bottom{display:flex;justify-content:space-between;color:#b2bec2;font-size:13px;margin-top:17px}.score-bottom strong{color:#f2e8d3}.action-card h2{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:16px 0 9px}.action-card p,.mini-card p{color:#b5c1c4;font-size:13px;line-height:1.55;margin:0 0 21px}.primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.control-button{display:flex;align-items:center;justify-content:center;gap:8px;background:#ffffff0b;color:#f3e9d8;border:1px solid #ffffff25;border-radius:9px;height:42px;font-size:12px;font-weight:700}.control-button span:first-child{font-size:19px;color:#e9c47e}.new-button,.modal-primary{border:0;background:linear-gradient(135deg,#efd49a,#d7a65f);color:#30231a;border-radius:9px;height:43px;width:100%;font-weight:800;font-size:13px;margin-top:10px;box-shadow:0 4px 16px #0004}.new-button:hover,.modal-primary:hover{filter:brightness(1.08)}.mini-card{padding-top:18px;padding-bottom:18px}.daily-row{display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:19px;margin:8px 0}.daily-star{color:#e7bd72}.mini-card p{margin-bottom:10px}.link-button,.footer-link{background:transparent;border:0;padding:0;color:#eecb84;font-size:13px;font-weight:700}.lower-section{border-top:1px solid #ffffff1b;margin:30px 0 25px;padding:22px 0;display:flex;align-items:center;gap:24px}.quote{font-family:Georgia,serif;color:#a9b4bb;font-size:15px;font-style:italic;margin-right:auto}.footer-link{color:#b6c0c1;font-weight:500}.footer-link:hover,.link-button:hover{color:#fff1c6}.modal-backdrop{position:fixed;inset:0;background:#060b10bd;display:grid;place-items:center;padding:20px;z-index:5;backdrop-filter:blur(5px)}.modal-backdrop[hidden]{display:none}.modal{position:relative;width:min(440px,100%);max-height:min(85vh,700px);overflow:auto;background:#1a2934;border:1px solid #d6ae6966;box-shadow:0 30px 80px #000a;border-radius:18px;padding:34px}.modal h2{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:10px 0 18px}.modal p,.modal li{color:#c5cfd0;font-size:14px;line-height:1.65}.modal ul{padding-left:20px}.modal-close{position:absolute;right:18px;top:16px;border:0;background:transparent;color:#d4dad8;font-size:25px}.modal-actions{display:flex;gap:10px;margin-top:18px}.modal-actions button{flex:1}.modal-secondary{height:43px;border:1px solid #ffffff3a;background:#ffffff0b;color:#f2e9d8;border-radius:9px;font-weight:700;margin-top:10px}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-tile{background:#ffffff0b;border-radius:10px;padding:13px}.stat-tile strong{display:block;font-size:23px;color:#f0d18f}.stat-tile span{font-size:11px;color:#b3c1c4}.credit{color:#f0d28f!important}@media(max-width:830px){.app-shell{padding:0 20px}.game-layout{grid-template-columns:1fr;gap:10px;padding-top:30px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-card{grid-column:1/-1}.board-wrap{width:min(100%,520px)}.lower-section{margin-top:24px}}@media(max-width:520px){.app-shell{padding:0 14px}.topbar{height:69px}.brand strong{font-size:10px}.brand small{font-size:8px}.brand-mark{font-size:25px}.top-actions{gap:5px}.top-actions button{height:34px}.icon-button{width:34px}.section-heading h1{font-size:31px}.mode-badge{font-size:8px;padding:7px 9px}.board-wrap{margin-top:20px}.board{border-width:6px}.under-board{min-height:52px}.keyboard-hint{font-size:10px}.sidebar{grid-template-columns:1fr 1fr}.score-card,.action-card,.mini-card{padding:15px}.score-card,.action-card{min-height:188px}.big-stat span{font-size:45px}.big-stat small{font-size:12px}.action-card h2{font-size:19px;margin:9px 0 5px}.action-card p{font-size:11px;line-height:1.35;margin-bottom:10px}.control-button{font-size:10px;height:38px;gap:2px}.control-button span:first-child{font-size:14px}.new-button{height:38px;font-size:11px}.lower-section{flex-wrap:wrap;gap:16px}.quote{width:100%}}
.modal-actions{flex-wrap:wrap}.modal-actions button{min-width:140px}

@media(max-width:320px){.app-shell{padding:0 8px}.topbar{height:70px;gap:6px}.brand strong{font-size:10px;letter-spacing:.08em}.brand small{letter-spacing:.1em}.brand-mark{font-size:22px}.top-actions{gap:4px}.top-actions button{height:44px}.icon-button{width:32px}.text-button{padding:0 7px}.section-heading{flex-wrap:wrap}.board{border-width:4px;padding:4%;gap:0}.score-card,.action-card,.mini-card{padding:16px}.modal{padding:18px}.modal-backdrop{padding:8px}.modal h2{font-size:27px}.cell{touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:600px) and (max-height:750px){.topbar{height:64px}.game-layout{grid-template-columns:minmax(0,1fr) 215px;gap:18px;padding-top:16px}.section-heading h1{font-size:28px;margin-top:7px}.section-heading{flex-wrap:wrap;gap:6px}.board-wrap{width:min(100%,calc(100svh - 205px));margin-top:12px}.under-board{min-height:44px}.status{font-size:12px}.keyboard-hint{font-size:10px}.sidebar{display:flex;gap:8px}.score-card,.action-card,.mini-card{padding:12px;min-height:0}.big-stat{margin:8px 0}.big-stat span{font-size:35px}.score-bottom{margin-top:8px}.action-card h2{font-size:19px;margin:8px 0}.action-card p{margin-bottom:10px}.mini-card{font-size:12px}.mini-card p{margin-bottom:5px}.primary-actions{grid-template-columns:1fr 1fr}.control-button,.new-button{min-height:44px}.daily-row{font-size:16px}}
@media(max-width:380px){.brand{min-width:0;gap:6px}.brand>div{min-width:0}.brand strong{overflow-wrap:anywhere}.top-actions{flex-shrink:0}.big-stat{flex-wrap:wrap;gap:3px}.primary-actions{grid-template-columns:1fr}.control-button,.new-button{min-height:44px}}
.game-area,.sidebar,.sidebar>div{min-width:0}@media(max-width:280px){.sidebar{grid-template-columns:1fr}.score-card,.action-card{min-height:0}.primary-actions{grid-template-columns:1fr 1fr}.mini-card{grid-column:auto}.section-heading h1{font-size:27px}}
