:root{--green:#16a34a;--green-soft:#1c7a3e;--grey:#6b7280;--grey-soft:#565d68;--bg:#0b0d10;--panel:#141921;--line:#232a33;--fg:#e7e9ee;--muted:#9aa3af}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:720px;margin:0 auto;padding:32px 20px 64px;text-align:center}h1{font-size:30px;letter-spacing:.06em;margin:0 0 2px}h1 .accent{color:var(--green)}.tagline{color:var(--muted);margin:0 0 24px;letter-spacing:.04em}.game{display:inline-flex;flex-direction:column;align-items:center;gap:18px}.hud{gap:14px;width:100%;justify-content:center}.hud,.side{display:flex}.side{flex-direction:column;align-items:flex-start;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px;font-weight:600;min-width:190px;transition:border-color .16s}.side small{font-weight:400;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.side .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:middle}.side.green .dot{background:var(--green)}.side.grey .dot{background:var(--grey)}.side.green.active{border-color:var(--green)}.side.grey.active{border-color:var(--grey)}.grid{display:grid;position:relative}.board-bg{background:#1a1f26;border-radius:12px;box-shadow:inset 0 0 0 1px #20262f}.stones{position:relative;z-index:2}.stone-wrap{position:absolute;top:0;left:0;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.stone{width:100%;height:100%;border-radius:10px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.28);animation:stoneIn .2s ease-out}.stone.green{background:var(--green)}.stone.grey{background:var(--grey)}@keyframes stoneIn{0%{transform:scale(.5);opacity:.2}to{transform:scale(1);opacity:1}}.ghost{position:absolute;border-radius:10px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.28);animation-duration:.45s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:forwards}.ghost.green{background:var(--green)}.ghost.grey{background:var(--grey)}.ghost.drop-L{animation-name:dropRight}.ghost.drop-R{animation-name:dropLeft}.ghost.drop-T{animation-name:dropDown}.ghost.drop-B{animation-name:dropUp}@keyframes dropRight{to{transform:translateX(75%);opacity:0}}@keyframes dropLeft{to{transform:translateX(-75%);opacity:0}}@keyframes dropDown{to{transform:translateY(75%);opacity:0}}@keyframes dropUp{to{transform:translateY(-75%);opacity:0}}.overlay{z-index:5;justify-content:center;border-radius:12px;background:rgba(11,13,16,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.overlay,.overlay-card{display:flex;align-items:center}.overlay-card{flex-direction:column;gap:12px;padding:24px 28px}.overlay-card .big{font-size:26px;font-weight:700}.overlay-card .big.green{color:var(--green)}.overlay-card .big.grey{color:#c7ccd4}.overlay-card .reason{color:var(--muted);font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slot{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#3b424d;font-size:22px;cursor:pointer;padding:0;border-radius:8px;transition:color .12s,background .12s,transform .12s}.slot.sel,.slot:hover:not(:disabled){color:var(--green)}.slot.sel{background:rgba(22,163,74,.14);transform:scale(1.18)}.slot:disabled{cursor:default;opacity:.5}.status{min-height:22px;color:var(--muted);font-size:15px}.status code{background:#0d1117;border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--fg);font-size:13px}.status .win{font-size:18px}.status .win.green{color:var(--green)}.status .win.grey{color:#9aa3af}.status .reason{color:var(--muted);font-weight:400}.settings{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:center}.settings label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:12px;color:var(--muted)}.settings select{background:#0d1117;padding:7px 10px}.settings select,button{border:1px solid #2b323c;border-radius:8px;color:var(--fg);font-size:14px}button{background:transparent;padding:8px 16px;cursor:pointer}.newgame,button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.newgame{font-weight:600}.rules{margin:36px auto 0;max-width:560px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 20px}.rules summary{cursor:pointer;padding:12px 0;font-weight:600}.rules ul{margin:0 0 16px;padding-left:18px;color:var(--muted);line-height:1.55}.rules code{background:#0d1117;border:1px solid var(--line);border-radius:5px;padding:1px 6px;color:var(--fg);font-size:13px}