@import url('/game-assets/classic.css');
@import url('/game-assets/spatial.css');
@import url('/game-assets/hidden.css');

:root{color-scheme:dark;--bg:#101715;--panel:#17201c;--panel2:#1c2722;--line:#ffffff14;--ink:#eaece4;--muted:#98a79e;--subtle:#6f8578;--accent:#dac49e;--aqua:#87bbae;--danger:#e0a49e;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.6;letter-spacing:.005em}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -30%,#28392d60,transparent 66%),var(--bg);color:var(--ink);min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.38;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--aqua);outline-offset:4px}button{transition:background .16s,transform .16s,border-color .16s}button:active:not(:disabled){transform:translateY(1px)}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 4.8%;border-bottom:1px solid var(--line);gap:28px}.brand{display:flex;align-items:center;gap:13px;font-size:21px;letter-spacing:.02em}.brand-divider{color:#567060;margin:0 12px}.brand-light{font-weight:300;color:#a8b7aa}.main-nav{display:flex;align-items:center;gap:32px;font-size:13px}.main-nav a,.nav-button{color:#a4b3a9;background:none;padding:12px 0}.main-nav a:hover,.nav-button:hover{color:var(--ink)}.host-link{font-size:12px}.identity-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:100px;background:#18231d;padding:10px 17px;min-height:44px;font-size:12px}.connection-dot{width:6px;height:6px;background:#788b7e;border-radius:50%}.connected .connection-dot{background:var(--aqua);box-shadow:0 0 0 4px #87bbae0c}#main{width:min(1440px,91%);margin:0 auto;min-height:calc(100vh - 190px);outline:0}.initial-loading{padding:120px;text-align:center;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:650;text-transform:uppercase;color:var(--aqua)}.hero{display:grid;grid-template-columns:1.25fr 1fr;align-items:center;min-height:390px;padding:48px 0 42px;border-bottom:1px solid var(--line);gap:60px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,72px);line-height:1.07;font-weight:400;letter-spacing:-.04em;margin:18px 0 22px}.hero h1 em{font-weight:400;color:var(--accent)}.hero p{max-width:480px;color:var(--muted);font-size:15px;line-height:1.85;margin:0 0 27px}.hero-art{min-height:280px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-art svg{width:min(380px,100%);filter:drop-shadow(0 30px 24px #0004);transform:rotate(-6deg)}.hero-note{position:absolute;bottom:9px;right:25px;border:1px solid #c3d1b51c;border-radius:9px;padding:10px 15px;background:#1b2822f0;color:#b6c4b9;font-size:11px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn{min-height:44px;padding:11px 19px;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:550;background:#26392d;border:1px solid #78968125;color:#d9e5d8}.btn:hover{background:#324a3a}.btn.primary{background:var(--accent);border-color:transparent;color:#272d23}.btn.primary:hover{background:#ecdabb}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}.btn.ghost:hover{background:#ffffff08;color:var(--ink)}.btn.danger{color:var(--danger);background:#542e291e;border-color:#d6998b20}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:32px 0 18px;gap:20px}.section-heading h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0}.section-heading p{color:var(--muted);font-size:12px;margin:0}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:25px 0}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{padding:9px 15px;background:transparent;color:#91a398;font-size:11px;border-radius:100px;border:1px solid transparent;min-height:38px}.filter.active{background:#293b2f;color:#dbe6d8;border-color:#a5b69421}.search{max-width:210px;background:#142018;border:1px solid var(--line);border-radius:8px;padding:10px 13px;color:var(--ink);width:100%;font-size:12px}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;margin:22px 0 50px}.game-card{background:linear-gradient(160deg,#20302699,#17201c);border:1px solid var(--line);border-radius:14px;padding:0 21px 21px;overflow:hidden;transition:border .2s,transform .2s,background .2s;display:block;position:relative}.game-card:hover{border-color:#a0b48b55;transform:translateY(-4px);background:linear-gradient(160deg,#2a3c2c,#1a261f)}.card-art{height:135px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #ffffff0a;margin-bottom:19px}.card-art svg{height:109px;width:100%;opacity:.87}.card-number{position:absolute;right:15px;top:13px;font-size:9px;color:#859e8870;letter-spacing:.1em}.card-category{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8aab96;margin:0 0 7px}.game-card h3{font-family:Georgia,serif;font-weight:400;letter-spacing:-.02em;font-size:24px;margin:0 0 8px}.game-card p{font-size:11px;line-height:1.8;color:#95a99a;margin:0;min-height:60px}.card-bottom{margin-top:17px;display:flex;justify-content:space-between;align-items:center;color:#a8b69e;font-size:10px}.tag{display:inline-flex;padding:4px 9px;border-radius:100px;border:1px solid var(--line);font-size:10px;color:var(--muted);gap:6px;align-items:center}.resume-list{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 34px}.resume-card{border:1px solid var(--line);background:#1c2a214d;border-radius:12px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.resume-card:hover{border-color:#b9c4a93a}.resume-card h3{margin:0;font-size:14px;font-weight:500}.resume-card p{margin:4px 0 0;font-size:11px;color:var(--muted)}.small-label{font-size:10px;color:var(--subtle)}.empty-state{padding:34px;border:1px dashed #89a0802c;border-radius:12px;color:var(--muted);font-size:13px}.page-footer{padding:28px 4.8%;border-top:1px solid var(--line);color:#718b79;display:flex;justify-content:space-between;align-items:center;font-size:10px;gap:20px}.page-footer>span:first-child{letter-spacing:.18em;font-size:9px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--accent);color:#172019;padding:10px}.skip-link:focus{top:12px}.breadcrumbs{display:flex;gap:10px;color:#758c7d;font-size:11px;margin:25px 0 19px}.breadcrumbs a:hover{color:var(--ink)}.match-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 25px}.match-heading h1{font-family:Georgia,serif;font-size:46px;font-weight:400;letter-spacing:-.03em;line-height:1.1;margin:0 0 10px}.match-heading .subtitle{font-size:12px;color:var(--muted);margin:0}.match-heading .eyebrow{margin-bottom:8px}.saved-indicator{color:var(--subtle);font-size:10px;margin-left:3px}.match-layout{display:grid;grid-template-columns:minmax(0,1fr) 322px;align-items:start;gap:24px;padding-bottom:42px}.game-table{background:radial-gradient(ellipse at center,#28352b70,#17211b);border:1px solid #8b9e752b;border-radius:20px;overflow:hidden;position:relative;min-height:550px}.table-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:15px 22px;gap:10px;min-height:65px}.turn-badge{display:flex;align-items:center;gap:9px;font-size:12px}.turn-light{height:7px;width:7px;border-radius:50%;background:var(--accent)}.your-turn .turn-light{background:var(--aqua);animation:breathing 3s ease-in-out infinite}.table-actions{display:flex;align-items:center;gap:6px}.icon-btn{background:transparent;color:#8eab97;min-width:38px;min-height:38px;border:1px solid transparent;border-radius:7px;font-size:14px}.icon-btn:hover{background:#ffffff08;border-color:var(--line)}.board-viewport{width:100%;overflow:auto;padding:22px;min-height:390px;display:flex;justify-content:center;align-items:center;scrollbar-color:#6b8a72 #162118}.board-viewport>div{width:100%;margin:auto}.board-viewport.zoomed>div{min-width:850px}.board-viewport .game-board{width:100%;height:auto;max-height:640px;display:block;margin:auto;overflow:visible;user-select:none;-webkit-user-select:none}.board-target{cursor:pointer;outline:none;touch-action:manipulation}.board-target:focus-visible{filter:drop-shadow(0 0 5px #f4e4b9);outline:none}.board-target:hover{filter:brightness(1.12)}.board-target[aria-disabled=true]{cursor:default}.game-board text{font-family:inherit}.game-stone{filter:drop-shadow(0 2px 3px #0002)}.table-caption{padding:15px 23px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:10px;color:#88a190}.board-hint{max-width:70%}.seat-list{display:flex;gap:12px;flex-wrap:wrap}.seat{display:flex;align-items:center;gap:6px;white-space:nowrap}.seat-dot{width:7px;height:7px;border-radius:50%;background:var(--seat-color)}.side-panel{display:grid;gap:16px}.panel{background:#18221cb3;border:1px solid var(--line);border-radius:13px;padding:19px}.panel h2{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:550;color:#9bb4a3;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between}.panel-note{font-size:11px;color:var(--muted);margin:0 0 13px;line-height:1.7}.action-list{display:flex;gap:7px;flex-wrap:wrap;max-height:228px;overflow:auto;padding:3px}.action-button{font-size:11px;padding:9px 11px;min-height:40px;background:#25362a;color:#c7d8c5;border:1px solid #95ab8625;border-radius:7px;text-align:left;flex-grow:1}.action-button:hover{background:#344c38;border-color:#a4bf9440}.action-list.empty{padding:14px 0;color:var(--muted);font-size:12px}.action-more{width:100%;background:none;color:var(--aqua);font-size:11px;min-height:38px}.panel textarea,.panel input,.modal-body input,.modal-body select{width:100%;border:1px solid #ffffff1a;background:#111c15;color:var(--ink);border-radius:8px;padding:10px 12px;font-size:12px;outline-offset:2px}.panel textarea{resize:vertical;min-height:87px;line-height:1.7}.panel .btn{font-size:11px;min-height:38px;padding:9px 13px}.notes-footer{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}.privacy-label{font-size:9px;color:#738e7b}.saved-note{font-size:11px;color:#b0c6af;border-left:2px solid #86aa8550;padding:0 0 0 11px;margin:14px 0 0;line-height:1.75}.saved-note time{display:block;color:#698572;font-size:9px;margin-top:5px}.history-tabs{display:flex;border-bottom:1px solid var(--line);gap:20px;margin-bottom:12px}.history-tab{padding:0 0 9px;background:transparent;font-size:11px;color:var(--muted);border-bottom:1px solid transparent}.history-tab.active{color:var(--accent);border-color:var(--accent)}.history-list{max-height:250px;overflow:auto;list-style:none;padding:0;margin:0}.history-list li{padding:10px 0;border-bottom:1px solid #ffffff07;display:grid;grid-template-columns:24px 1fr;gap:8px;font-size:11px}.move-number{color:#698070;font-size:9px;padding-top:2px}.move-actor{font-size:9px;color:#799685;margin-bottom:3px}.move-copy{color:#bdcabb}.history-empty{font-size:11px;color:var(--subtle);padding:8px 0}.quiet-divider{height:1px;background:var(--line);margin:15px 0}.management{display:flex;flex-wrap:wrap;gap:6px}.management .btn{flex:1;font-size:10px;white-space:nowrap}.result-banner{background:#adc59413;border:1px solid #acba8247;border-radius:11px;padding:17px 20px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.result-banner h2{margin:0;font-family:Georgia,serif;font-weight:400;font-size:23px}.result-banner p{margin:3px 0 0;color:var(--muted);font-size:12px}.replay-bar{padding:14px 20px;display:flex;align-items:center;gap:14px;background:#111c15;border-bottom:1px solid var(--line)}.replay-bar input{flex:1;accent-color:var(--accent);min-width:50px}.replay-bar span{font-size:11px;color:var(--accent);white-space:nowrap}.symbols-form{display:grid;gap:12px}.symbol-inputs{display:flex;gap:5px}.symbol-select{width:100%;min-width:0;background:#121c16;border:1px solid #718d7750;border-radius:8px;padding:9px 3px;font-size:15px;text-align:center;color:var(--accent)}.symbols-form .btn{width:100%}.orders-note{font-size:11px;color:var(--accent);padding:8px 0}.message-recipients{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:9px}.message-recipients label{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.message-recipients input{width:auto;accent-color:var(--aqua)}.message-entry{padding:12px;border-radius:8px;background:#ffffff04;margin:10px 0;font-size:11px;color:#b6c9ba;white-space:pre-wrap;overflow-wrap:anywhere}.message-entry small{display:block;color:#799782;font-size:9px;margin-bottom:5px}.messages-log{max-height:220px;overflow:auto}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);max-width:min(90vw,540px);background:#d8dfcd;color:#203123;border:1px solid #f4f5e7;border-radius:11px;padding:14px 21px;box-shadow:0 15px 70px #0007;font-size:12px;z-index:80;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#f0d0c9;color:#492922}.toast a{text-decoration:underline}dialog{color:var(--ink);background:#1a261f;border:1px solid #93aa8340;border-radius:18px;box-shadow:0 24px 100px #0009;padding:0;width:min(580px,93vw);max-height:90vh}dialog::backdrop{background:#070e0bd9;backdrop-filter:blur(5px)}.modal-header{padding:23px 26px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-header h2{font-family:Georgia,serif;font-size:29px;font-weight:400;margin:0}.modal-body{padding:24px 26px;overflow:auto;max-height:72vh}.modal-body p{font-size:12px;color:var(--muted);line-height:1.8}.modal-body label.field{display:block;font-size:11px;color:var(--muted);margin:16px 0 7px}.modal-body .btn{margin-top:16px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.participants-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 16px}.participant-choice{padding:11px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;font-size:12px}.participant-choice input{width:auto;accent-color:var(--aqua)}.participant-choice small{color:var(--subtle);display:block;font-size:9px}.rules-prose{font-size:12px;line-height:1.8;white-space:pre-wrap;color:#b1c3b5}.rules-prose h2{font-family:Georgia,serif;font-size:23px;font-weight:400;color:var(--ink);margin:24px 0 8px}.rules-prose h3{font-size:14px;color:var(--accent);margin:20px 0 7px}.rules-prose pre{overflow:auto;background:#101a14;border:1px solid var(--line);padding:12px;border-radius:8px;font-size:11px}.modal-error{color:var(--danger);font-size:12px;min-height:20px}.stats-strip{display:flex;gap:25px;flex-wrap:wrap;margin:14px 0 30px}.stat strong{font-family:Georgia,serif;font-size:32px;font-weight:400;display:block;color:var(--accent)}.stat span{color:var(--muted);font-size:10px}.board-caption,.board-legend{color:var(--muted);font-size:11px}.type-rules{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.busy{pointer-events:none;opacity:.65}.page-error{padding:70px 0;max-width:660px}.page-error h1{font-family:Georgia,serif;font-size:42px;font-weight:400}.page-error p{color:var(--muted)}.game-table:fullscreen{background:#101b14;padding:10px;overflow:auto}.game-table:fullscreen .board-viewport .game-board{max-height:calc(100vh - 160px)}
@keyframes breathing{50%{box-shadow:0 0 0 5px #87bbae12}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.turn-badge{min-width:0}.table-actions{flex-shrink:0}.accord-board .accord-score>span:last-child,.cipher-board .cipher-opponent>div:first-child{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.turn-badge{flex-wrap:wrap;gap:6px}}
@media(min-width:1650px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{min-height:440px}.card-art{height:160px}.card-art svg{height:135px}}
@media(max-width:1150px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.match-layout{grid-template-columns:minmax(0,1fr) 285px;gap:16px}.panel{padding:15px}.board-viewport{padding:13px}.hero{gap:25px}.main-nav{gap:20px}.resume-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.topbar{height:72px;padding:0 4%;gap:15px}.main-nav{gap:17px}.host-link{display:none}.hero{grid-template-columns:1.2fr 1fr;min-height:320px;gap:10px}.hero h1{font-size:46px}.hero-art{min-height:230px}.hero-note{display:none}.match-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:1fr 1fr;align-items:start}.side-panel>.panel:first-child{grid-column:1/-1}.game-table{min-height:0}.board-viewport .game-board{max-height:600px}.game-grid{gap:13px}.game-card{padding:0 16px 16px}.card-art{height:115px}.card-art svg{height:92px}.page-footer>span:nth-child(2){display:none}.match-heading h1{font-size:39px}.action-list{max-height:185px}.board-hint{max-width:65%}}
@media(max-width:600px){:root{font-size:13px}.topbar{gap:8px}.brand{font-size:18px;gap:8px}.brand img{width:30px;height:30px}.brand-divider{margin:0 7px}.main-nav{display:none}.identity-button{padding:8px 11px;font-size:10px;max-width:168px}.hero{display:block;min-height:0;padding:39px 0 29px}.hero h1{font-size:46px;max-width:370px}.hero p{font-size:13px;max-width:380px}.hero-art{display:none}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-art{height:98px}.card-art svg{height:82px}.game-card h3{font-size:21px}.game-card p{font-size:10px;min-height:70px;line-height:1.7}.game-card{padding:0 13px 14px}.card-category{font-size:8px}.card-bottom{font-size:8px;gap:6px}.card-bottom .tag{font-size:8px;padding:3px 6px}.collection-toolbar{display:block;margin:20px 0}.search{max-width:100%;margin-top:12px}.filter{font-size:10px;padding:8px 12px}.resume-list{grid-template-columns:1fr}.section-heading{margin:25px 0 14px;align-items:center}.section-heading h2{font-size:23px}.section-heading p{display:none}.match-heading{align-items:flex-start;gap:12px}.match-heading h1{font-size:35px}.match-heading .subtitle{font-size:10px;max-width:240px}.match-heading .button-row{justify-content:flex-end;max-width:115px}.match-heading .btn{padding:8px 10px;font-size:10px;min-height:36px}.saved-indicator{font-size:9px;width:100%;text-align:right}.side-panel{grid-template-columns:1fr}.side-panel>.panel:first-child{grid-column:auto}.table-toolbar{padding:10px 12px}.turn-badge{font-size:11px}.board-viewport{padding:9px;min-height:280px;justify-content:flex-start}.table-caption{padding:12px;font-size:9px;display:block}.board-hint{max-width:none;display:block;margin-bottom:7px}.seat-list{font-size:9px}.game-table{border-radius:13px}.result-banner{padding:14px;align-items:flex-start}.result-banner h2{font-size:20px}.result-banner p{font-size:10px}.result-banner .btn{font-size:10px;padding:8px 10px}.option-grid{grid-template-columns:1fr}.modal-body{padding:18px 20px}.modal-header{padding:18px 20px 13px}.modal-header h2{font-size:25px}.participants-choices{grid-template-columns:1fr 1fr}.participant-choice{padding:9px;font-size:11px}.page-footer{font-size:9px;padding:24px 4%}.replay-bar{padding:10px;gap:8px}.replay-bar span{font-size:10px}.replay-bar .icon-btn{min-width:30px}.action-button{min-height:44px}.stats-strip{gap:19px}.stat strong{font-size:29px}}
