html{height:100%}body{box-sizing:border-box;color:#f1f1f1;background:#101314;flex-direction:column;align-items:center;gap:1.5rem;min-height:100vh;margin:0;padding:1.5rem 1rem 2.5rem;font-family:system-ui,sans-serif;line-height:1.6;display:flex}header,main{width:100%;max-width:60rem}nav a{color:#7fd1ff}main{flex-direction:column;align-items:center;gap:1rem;display:flex}h1{text-align:center;margin:0;font-size:clamp(1.5rem,4vw,2.25rem)}.game{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.table{aspect-ratio:2;background:radial-gradient(circle at 50% 45%,#146b45,#0c4a30 75%);border:clamp(.6rem,2vw,1.5rem) solid #6b4226;border-radius:.75rem;width:min(92vw,900px);position:relative;box-shadow:0 .5rem 1.5rem #00000080}.pocket{aspect-ratio:1;background:#05070a;border-radius:50%;width:7%;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 0 .3rem #000000d9}.pocket--top-left{top:0;left:0}.pocket--top-mid{top:0;left:50%}.pocket--top-right{top:0;left:100%}.pocket--bottom-left{top:100%;left:0}.pocket--bottom-mid{top:100%;left:50%}.pocket--bottom-right{top:100%;left:100%}.ball{aspect-ratio:1;border-radius:50%;width:6%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 .15rem .3rem #00000073}.ball--target-1{background:#e63946;top:38%;left:68%}.ball--target-2{background:#f4a300;top:50%;left:76%}.ball--target-3{background:#3a86ff;top:62%;left:68%}.ball--cue{cursor:grab;touch-action:none;background:radial-gradient(circle at 35% 30%,#fff,#d6d6d6 70%);top:50%;left:22%;box-shadow:0 .15rem .4rem #00000080,0 0 0 .2rem #ffffff26}.ball--cue:active{cursor:grabbing}.aim-line{transform-origin:0;pointer-events:none;background:#ffffffb3;height:2px;display:none;position:absolute;top:0;left:0}.first-move-cue{clip-path:polygon(0% 32%,55% 32%,55% 8%,100% 50%,55% 92%,55% 68%,0% 68%);filter:drop-shadow(0 0 2px #000000e6)drop-shadow(0 2px 3px #0000008c);pointer-events:none;background:#fdf6e3;width:clamp(2.6rem,8vw,4rem);height:clamp(1.1rem,3.6vw,1.7rem);animation:1.6s ease-in-out infinite first-move-cue-pulse;position:absolute;top:36%;left:15%;transform:translate(-50%,-50%)rotate(45deg)}@keyframes first-move-cue-pulse{0%,to{opacity:.8;transform:translate(-50%,-50%)rotate(45deg)translate(0)}50%{opacity:1;transform:translate(-50%,-50%)rotate(45deg)translate(.4rem)}}@media (prefers-reduced-motion:reduce){.first-move-cue{opacity:.9;animation:none}}.ball--cue--emphasis:after{content:"";pointer-events:none;border:clamp(.12rem,.5vw,.22rem) solid #fff9;border-radius:50%;animation:1.2s ease-in-out 2 cue-emphasis-pulse;position:absolute;inset:clamp(-.75rem,-3vw,-.4rem)}@keyframes cue-emphasis-pulse{0%,to{opacity:.25;transform:scale(.92)}50%{opacity:.7;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.ball--cue--emphasis:after{opacity:.5;animation:none}}.hud{font-variant-numeric:tabular-nums;text-align:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:999px;min-width:10rem;padding:.4rem 1rem;font-size:.95rem}.controls{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.control-button{color:#b8bcc0;font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff26;border-radius:999px;padding:.35rem .85rem;font-size:.8rem}.control-button:hover:not(:disabled){color:#f1f1f1;background:#ffffff17}.control-button:disabled{opacity:.4;cursor:not-allowed}
