:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--felt:#d8e0d8;--felt-edge:#ffffff59;--text:#1a221c;--text-muted:#1a221c8c;--border-subtle:#1a221c1f;--surface-float:#ffffffd1;--surface-float-hover:#fffffff0;--surface-panel:#fcfdfceb;--accent:#2e8f5f;--accent-deep:#217348;--tile:#c8d2c8;--tile-hi:#e4ebe4;--tile-lo:#8f9d91;--tile-open:#e8eee8;--mine:#1a221c;--flag:#b83246;--n1:#1d4ed8;--n2:#15803d;--n3:#b91c1c;--n4:#1e3a8a;--n5:#9a3412;--n6:#0f766e;--n7:#111827;--n8:#6b7280}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--felt:#0e1210;--felt-edge:#ffffff0a;--text:#e8f0ea;--text-muted:#e8f0ea80;--border-subtle:#ffffff1a;--surface-float:#1c221ee0;--surface-float-hover:#242c26f2;--surface-panel:#161c18f0;--accent:#3cb878;--accent-deep:#2a8f5c;--tile:#2a332c;--tile-hi:#3d4940;--tile-lo:#161c18;--tile-open:#141a16;--mine:#e8f0ea;--flag:#f07187;--n1:#93c5fd;--n2:#86efac;--n3:#fca5a5;--n4:#bfdbfe;--n5:#fdba74;--n6:#5eead4;--n7:#e5e7eb;--n8:#9ca3af;background-image:radial-gradient(100% 60% at 50% 0,#50785a14,#0000),radial-gradient(90% 60% at 0 100%,#00000059,#0000)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:var(--felt);background-image:radial-gradient(120% 80% at 50% -20%,#ffffff1f,#0000),radial-gradient(80% 50% at 100% 100%,#0000000a,#0000);min-height:100%;margin:0}body{min-height:100%;font-family:var(--font-sans);color:var(--text);background:var(--felt);cursor:default;background-image:radial-gradient(120% 80% at 50% -20%,#ffffff1f,#0000),radial-gradient(80% 50% at 100% 100%,#0000000a,#0000);margin:0;font-size:15px;line-height:1.45}button,input[type=button],input[type=submit],input[type=reset],[role=button]{font:inherit;color:inherit;cursor:pointer}button:disabled,[disabled]{cursor:not-allowed}html[data-theme=dark] body{background-image:radial-gradient(100% 60% at 50% 0,#50785a14,#0000),radial-gradient(90% 60% at 0 100%,#00000059,#0000)}#root{cursor:default;-webkit-user-select:none;user-select:none;min-height:100dvh}#root *{-webkit-touch-callout:none;-webkit-user-select:none!important;user-select:none!important}.mills-shell{--chrome-reserve:calc(172px + env(safe-area-inset-bottom,0px));--board-inset:clamp(12px, 2.2vw, 28px);--board:min(520px, calc(100vw - var(--board-inset) * 2), calc(100dvh - var(--chrome-reserve) - env(safe-area-inset-top,0px) - 78px));--chrome-bottom:calc(16px + max(10px, env(safe-area-inset-bottom,0px)));min-height:100dvh;padding:calc(12px + env(safe-area-inset-top,0px)) var(--board-inset) var(--chrome-reserve);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.mills-shell__title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mills-hint{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-size:14px;font-weight:650}.mills-board{width:var(--board);height:var(--board);border:1px solid var(--border-subtle);background:var(--surface-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:manipulation;border-radius:16px;position:relative;box-shadow:0 8px 28px #0000001a}.mills-board__lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mills-board__lines line{stroke:var(--text);stroke-width:1.15px;stroke-linecap:square;opacity:.55}.mills-point{z-index:1;background:var(--tile);width:7.5%;height:7.5%;box-shadow:inset 1px 1px 0 var(--tile-hi), inset -1px -1px 0 var(--tile-lo);border:2px solid #0000;border-radius:50%;padding:0;transition:transform .12s,box-shadow .12s,background .12s;position:absolute;transform:translate(-50%,-50%)}.mills-point--empty{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--tile) 82%, transparent) 0 36%, transparent 38%);box-shadow:none}.mills-point--mine{background:#f3efe6;box-shadow:inset 0 0 0 1px #0000001f,0 2px 6px #00000029}.mills-point--theirs{background:#1d2420;box-shadow:inset 0 0 0 1px #ffffff14,0 2px 6px #00000047}[data-theme=dark] .mills-point--mine{background:#efe8d8}[data-theme=dark] .mills-point--theirs{background:#0c0f0d}.mills-point--target{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 50%, transparent)}.mills-point--empty.mills-point--target{background:radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--accent) 42%, var(--tile)) 0 34%, transparent 36%);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 40%, transparent)}.mills-point--selected{border-color:var(--accent);transform:translate(-50%,-50%)scale(1.12)}.mills-point:hover:not(:disabled){transform:translate(-50%,-50%)scale(1.08)}.mills-point:disabled{cursor:default}.mills-chrome{left:50%;bottom:var(--chrome-bottom);z-index:300;border:1px solid var(--border-subtle);background:var(--surface-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;grid-template-columns:minmax(0,1fr) 64px 64px;align-items:center;gap:10px 14px;width:min(80vw,560px);padding:6px 10px 12px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 8px 28px #0000001a}.mills-diff{grid-area:1/1/auto/3;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:6px;min-width:0;height:66px;display:grid}.mills-diff__btn{box-sizing:border-box;border:1px solid var(--border-subtle);width:100%;min-width:0;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;text-align:center;background:#0000000a;border-radius:11px;justify-content:center;align-items:center;padding:4px 6px;font-size:13px;font-weight:800;line-height:1.15;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex;overflow:hidden}.mills-diff__btn:hover{color:var(--text);background:#00000012;border-color:#00000024}.mills-diff__btn:active{transform:scale(.99)}.mills-diff__btn:disabled{cursor:default;opacity:.85}.mills-diff__btn.is-active{color:var(--text);border-color:var(--accent);background:#2ea06e1f;box-shadow:0 0 0 1px #2ea06e40}[data-theme=dark] .mills-diff__btn{background:#ffffff0f}[data-theme=dark] .mills-diff__btn:hover{background:#ffffff1a}[data-theme=dark] .mills-diff__btn.is-active{background:#48c88c24;box-shadow:0 0 0 1px #48c88c4d}.mills-chrome__actions{display:contents}.mills-action-btn{box-sizing:border-box;border:1px solid var(--border-subtle);width:64px;height:66px;color:var(--text-muted);background:#0000000a;border-radius:11px;grid-area:1/2;justify-content:center;align-items:center;padding:4px 6px;font-size:1.35rem;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.mills-action-btn:hover{color:var(--text);background:#00000012;border-color:#00000024}.mills-action-btn:active{transform:scale(.99)}.mills-action-btn.is-active{color:var(--text);border-color:var(--accent);background:#2ea06e1f;box-shadow:0 0 0 1px #2ea06e40}[data-theme=dark] .mills-action-btn{background:#ffffff0f}[data-theme=dark] .mills-action-btn:hover{background:#ffffff1a}[data-theme=dark] .mills-action-btn.is-active{background:#48c88c24;box-shadow:0 0 0 1px #48c88c4d}.mills-chrome__prefs{grid-area:2/1;align-items:center;gap:8px;min-width:0;display:flex}.mills-stats{font-variant-numeric:tabular-nums;display:contents}.mills-stats__item{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:0;display:flex}.mills-stats__item:first-child{grid-area:2/2}.mills-stats__item:nth-child(2){grid-area:2/3}.mills-stats__label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600;line-height:1}.mills-stats__value{letter-spacing:.02em;color:var(--text);font-size:16px;font-weight:600;line-height:1.15}.mills-seg{box-sizing:border-box;background:#0000000d;border-radius:10px;flex:auto;align-items:stretch;gap:3px;min-width:0;height:44px;min-height:44px;max-height:44px;padding:2px 3px;display:flex;overflow:hidden}[data-theme=dark] .mills-seg{background:#ffffff0f}.mills-seg__btn{min-width:0;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1 1 0;justify-content:center;align-items:center;padding:0 4px;font-size:12px;font-weight:500;line-height:1;transition:background .15s,color .15s;display:inline-flex}.mills-seg__btn:hover{color:var(--text);background:#0000000a}[data-theme=dark] .mills-seg__btn:hover{background:#ffffff0f}.mills-seg__btn.is-active{background:var(--surface-float);color:var(--text);font-weight:600;box-shadow:inset 0 0 0 1px #0000000f}[data-theme=dark] .mills-seg__btn.is-active{background:#ffffff1a}.mills-icon-btn{box-sizing:border-box;border:1px solid var(--border-subtle);width:44px;height:44px;color:var(--text-muted);background:#0000000a;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.15rem;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.mills-icon-btn:hover{color:var(--text);background:#0000000f;border-color:#0000001f}.mills-icon-btn.is-active{color:var(--text);border-color:color-mix(in srgb, var(--accent) 45%, var(--border-subtle));background:color-mix(in srgb, var(--accent) 14%, transparent)}[data-theme=dark] .mills-icon-btn{background:#ffffff0f}[data-theme=dark] .mills-icon-btn:hover{background:#ffffff1a}.mills-icon-btn.is-open{color:var(--text);background:#0000000f;border-color:#0000001f}[data-theme=dark] .mills-icon-btn.is-open{background:#ffffff1a}.mills-new-game{box-sizing:border-box;color:#fff;background:linear-gradient(165deg, var(--accent) 0%, var(--accent-deep) 100%);border:1px solid #21734873;border-radius:11px;flex-direction:column;flex-shrink:0;grid-area:1/3;justify-content:center;align-items:center;width:64px;height:66px;padding:4px 6px;font-family:inherit;transition:filter .15s,border-color .15s,transform .1s;display:flex;box-shadow:inset 0 1px #ffffff38,0 1px 2px #0000001f}.mills-new-game:hover{filter:brightness(1.05);border-color:#217348a6}.mills-new-game:active{transform:scale(.99)}.mills-new-game__line{letter-spacing:.08em;text-transform:uppercase;text-align:center;font-size:10px;font-weight:700;line-height:1.05;display:block}[data-theme=dark] .mills-new-game{border-color:#48c88c59}[data-theme=dark] .mills-new-game:hover{border-color:#48c88c8c}.mills-lang{z-index:2;flex:none;position:relative}.mills-lang__flag{justify-content:center;align-items:center;font-size:1.35rem;line-height:1;display:inline-flex}.mills-lang__popover{border:1px solid var(--border-subtle);background:var(--surface-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:320;border-radius:12px;flex-direction:column;gap:2px;min-width:148px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 10px 32px #00000024}[data-theme=dark] .mills-lang__popover{box-shadow:0 12px 36px #00000073}.mills-lang__option{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;margin:0;padding:10px;font-size:14px;font-weight:500;line-height:1.2;transition:background .12s;display:flex}.mills-lang__option:hover{background:#0000000f}[data-theme=dark] .mills-lang__option:hover{background:#ffffff14}.mills-lang__option.is-active{background:#0000000d;font-weight:600}[data-theme=dark] .mills-lang__option.is-active{background:#ffffff0f}.mills-seg__icon{flex-shrink:0;display:block}.contact-info{left:calc(12px + env(safe-area-inset-left,0px));bottom:var(--chrome-bottom);z-index:400;position:fixed}.contact-info__btn{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--surface-panel);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex;box-shadow:0 8px 28px #0000001a}.contact-info__btn:hover,.contact-info__btn.is-open{color:var(--text);background:var(--surface-panel);border-color:#0000001f}[data-theme=dark] .contact-info__btn:hover,[data-theme=dark] .contact-info__btn.is-open{border-color:#ffffff2e}.contact-info__popover{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--surface-panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;min-width:220px;padding:12px 14px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 10px 32px #00000024}[data-theme=dark] .contact-info__popover{box-shadow:0 12px 36px #00000073}.contact-info__lead{color:var(--text);margin:0 0 6px;font-size:13px;font-weight:600;line-height:1.3}.contact-info__email{color:var(--accent);word-break:break-all;font-size:13px;font-weight:650;line-height:1.3;text-decoration:none}.contact-info__email:hover{text-decoration:underline}.win-overlay{z-index:2500;box-sizing:border-box;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.win-overlay__backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080c149e;animation:.45s cubic-bezier(.22,1,.36,1) both win-backdrop-in;position:absolute;inset:0}.win-overlay__panel{text-align:center;color:#fffffff0;background:linear-gradient(165deg,#202a3afa 0%,#121824fc 100%);border:1px solid #ffffff1f;border-radius:16px;outline:none;width:min(100%,400px);padding:28px 26px 24px;animation:.58s cubic-bezier(.22,1,.36,1) both win-panel-in;position:relative;box-shadow:0 24px 60px #00000073,0 0 0 1px #2ea06e2e}.win-overlay__panel--lost{box-shadow:0 24px 60px #00000073,0 0 0 1px #b8324638}.win-overlay__sparkles{pointer-events:none;position:absolute;inset:0;overflow:visible}.win-overlay__spark{opacity:.85;background:radial-gradient(circle,#78dcaaf2 0%,#2ea06e00 70%);border-radius:50%;width:10px;height:10px;animation:2.8s ease-in-out infinite win-spark-float;position:absolute}.win-overlay__spark--a{top:12%;left:10%}.win-overlay__spark--b{animation-delay:.45s;top:22%;right:12%}.win-overlay__spark--c{margin-left:-5px;animation-delay:.9s;bottom:18%;left:50%}.win-overlay__title{letter-spacing:-.02em;background:linear-gradient(120deg,#fff 0%,#b4e6cdf2 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 18px;font-size:clamp(1.65rem,4.5vw,2rem);font-weight:700}.win-overlay__panel--lost .win-overlay__title{background:linear-gradient(120deg,#fff 0%,#f0b4bef2 100%);-webkit-background-clip:text;background-clip:text}.win-overlay__sub{color:#ffffffb8;margin:0 0 22px;font-size:.95rem;line-height:1.45}.win-overlay__stats{justify-content:center;gap:28px;margin:0 0 24px;display:flex}.win-overlay__stat-label{text-transform:uppercase;letter-spacing:.12em;color:#ffffff73;margin:0 0 4px;font-size:.72rem}.win-overlay__stat-value{font-variant-numeric:tabular-nums;color:#c8ebd7fa;margin:0;font-size:1.35rem;font-weight:600}.win-overlay__stat-value--record{color:#b4e6cd}.win-overlay__record{letter-spacing:.1em;text-transform:uppercase;color:#b4e6cdd9;margin:-10px 0 20px;font-size:.78rem;font-weight:600}.win-overlay__btn{appearance:none;cursor:pointer;color:#fff;background:linear-gradient(#38af7d59 0%,#24825c73 100%);border:1px solid #2ea06e8c;border-radius:10px;padding:10px 18px;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s}.win-overlay__btn:hover{background:linear-gradient(#42be8c73 0%,#2891698c 100%);border-color:#50d29ba6}@keyframes win-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes win-panel-in{0%{opacity:0;filter:blur(2px);transform:translateY(18px)scale(.94)}70%{opacity:1;filter:blur();transform:translateY(-4px)scale(1.02)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes win-spark-float{0%,to{opacity:.55;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(6px,-10px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.win-overlay__backdrop,.win-overlay__panel{opacity:1!important;filter:none!important;animation:none!important;transform:none!important}.win-overlay__spark{animation:none!important}}@media (width<=640px){.contact-info{bottom:calc(var(--chrome-reserve) + 56px)}}@media (width<=520px){.mills-shell{--chrome-reserve:calc(232px + env(safe-area-inset-bottom,0px));--board-inset:8px}.mills-chrome{flex-direction:column;align-items:stretch;width:calc(100vw - 16px);display:flex}.mills-diff{justify-content:center;width:100%}.mills-chrome__actions{justify-content:center;align-items:center;gap:10px;display:flex}.mills-chrome__prefs{width:100%}.mills-stats{flex-direction:row;justify-content:center;gap:24px;display:flex}.mills-stats__item:first-child,.mills-stats__item:nth-child(2){grid-column:unset;grid-row:unset}}
