@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--bg-main: #050505;--bg-secondary: #0f0d0a;--glass: rgba(18, 15, 11, .9);--border: rgba(201, 169, 110, .2);--text: #f0e6d3;--subtle: rgba(240, 230, 211, .58);--accent: #c9a96e;--accent-warm: #e0c58f;--danger: #d47568;--success: #97c18c;font-family:Inter,sans-serif;color:var(--text);background:radial-gradient(circle at 0% 0%,rgba(201,169,110,.12),transparent 40%),radial-gradient(circle at 100% 0%,rgba(201,169,110,.08),transparent 42%),linear-gradient(165deg,#060606,#090806 56%,#060504)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:transparent;font-feature-settings:"tnum" 1;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.62) 100%)}button,input,select{font:inherit}button{border:1px solid var(--border);border-radius:12px;padding:.54rem .8rem;color:var(--text);background:linear-gradient(180deg,#1e1912e6,#120e0af2);transition:.16s ease;cursor:pointer;font-weight:600}button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #00000073;border-color:#c9a96e8c}input,select{border:1px solid rgba(201,169,110,.22);border-radius:10px;background:#110e0ae0;color:var(--text);padding:.48rem .68rem}.app-shell{min-height:100vh;max-width:1680px;margin:0 auto;padding:1rem}.top-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.9rem;padding:.8rem 1rem;border:1px solid rgba(201,169,110,.2);border-radius:16px;background:linear-gradient(165deg,#14100cf0,#0a0806f2);box-shadow:0 18px 38px #00000073}.brand h1{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.2rem,2vw,1.75rem);letter-spacing:.06em;font-weight:600}.brand p{margin:.2rem 0 0;color:var(--subtle);font-size:.85rem}.top-meta{display:flex;gap:.7rem;align-items:center;color:var(--subtle)}.dot{padding:.2rem .55rem;border-radius:999px;border:1px solid rgba(201,169,110,.28);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700}.dot--online{color:var(--success);border-color:#97c18c70}.dot--connecting{color:var(--accent-warm);border-color:#e0c58f75}.dot--offline{color:var(--danger);border-color:#e5676170}.layout-grid{display:grid;grid-template-columns:minmax(260px,320px) 1fr minmax(300px,360px);gap:1rem;align-items:start}.layout-grid--game-only{grid-template-columns:minmax(0,1100px);justify-content:center}.layout-grid--no-right{grid-template-columns:minmax(260px,320px) minmax(680px,920px);justify-content:center}.layout-col,.layout-main{display:grid;gap:1rem}.layout-main--game-only{width:min(1100px,100%)}.board-stage{display:grid;grid-template-columns:52px 1fr;gap:.9rem;min-height:500px}.board-with-clocks{display:grid;gap:.55rem}.board-clock{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(201,169,110,.24);border-radius:12px;padding:.45rem .62rem;background:#0a0806b8}.board-clock span{color:var(--subtle);font-size:.84rem;font-weight:600}.board-clock strong{font-family:Cormorant Garamond,serif;font-size:1rem;letter-spacing:.03em}.board-clock--active{border-color:#c9a96eb8;box-shadow:inset 0 0 0 1px #c9a96e57}.board-wrap{border-radius:20px;border:1px solid rgba(201,169,110,.2);overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(201,169,110,.16),transparent 58%),linear-gradient(180deg,#140f0a,#090705);box-shadow:inset 0 1px #ffffff14,0 20px 44px #00000057;min-height:500px}.board-wrap--2d{display:grid;place-items:center;padding:.9rem}.board2d{width:min(100%,640px);aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;border:1px solid rgba(201,169,110,.28);box-shadow:0 16px 40px #00000059;display:grid;grid-template-columns:repeat(8,minmax(0,1fr))}.board2d__square{border:none;border-radius:0;margin:0;padding:0;position:relative;display:grid;place-items:center;width:100%;min-height:100%;transition:.12s ease;box-shadow:none;touch-action:manipulation}.board2d__square:hover{transform:none;box-shadow:none}.board2d__square--light{background:#f0d9b5}.board2d__square--dark{background:#b58863}.board2d__square--last{box-shadow:inset 0 0 0 999px #e7f0605e}.board2d__square--selected{box-shadow:inset 0 0 0 4px #c9a96ed1}.board2d__square--legal:after{content:"";width:26%;aspect-ratio:1 / 1;border-radius:999px;background:#c9a96e59;position:absolute}.board2d__piece{position:relative;z-index:1;width:86%;height:86%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35)) contrast(1.02)}.board-fallback{min-height:500px;border-radius:20px;border:1px solid rgba(201,169,110,.2);background:radial-gradient(circle at 30% 10%,rgba(201,169,110,.16),transparent 62%),linear-gradient(180deg,#140f0a,#090705);padding:1rem;display:grid;align-content:center;justify-items:center;text-align:center;gap:.55rem}.board-fallback h4{margin:0;font-family:Cormorant Garamond,serif;letter-spacing:.05em}.board-fallback p{margin:0;max-width:42ch;color:var(--subtle)}.eval-bar{position:relative;border-radius:14px;border:1px solid rgba(201,169,110,.25);overflow:hidden;display:flex;flex-direction:column;background:#0a0908}.eval-bar__fill{width:100%;transition:height .16s ease}.eval-bar__fill--black{background:linear-gradient(180deg,#0f0d0c,#1a1613)}.eval-bar__fill--white{background:linear-gradient(180deg,#f2e3c8,#fff4de)}.eval-bar__label{position:absolute;inset:auto 0 6px 0;text-align:center;font-size:.72rem;font-weight:700;color:#f8fcff;text-shadow:0 1px 5px rgba(0,0,0,.5)}.glass-panel{border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,var(--glass),rgba(9,8,6,.92));box-shadow:inset 0 1px #ffffff14,0 20px 44px #00000057;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.glass-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-bottom:1px solid rgba(201,169,110,.22)}.glass-panel__header h3{margin:0;font-size:.93rem;letter-spacing:.03em;font-family:Cormorant Garamond,serif;font-weight:600;letter-spacing:.05em}.glass-panel__content{padding:.8rem}.inline-tabs{display:flex;gap:.35rem}.inline-tabs button{font-size:.78rem;padding:.3rem .55rem}.inline-tabs button.active{border-color:#c9a96ed1;background:#c9a96e33}.control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.48rem}.control-grid.inputs{margin-top:.55rem;grid-template-columns:1fr auto 1fr auto}.analysis-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.45rem;color:var(--subtle)}.eval-graph{margin-top:.45rem}.move-list{max-height:220px;overflow-y:auto;display:grid;gap:.24rem}.move-list__item{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:.45rem;padding:.36rem .45rem;border-radius:10px;border:1px solid rgba(201,169,110,.2);background:#0d0a07b8;text-align:left}.move-list__item--active{border-color:#c9a96eb8;background:#c9a96e2e}.move-list__num,.move-list__class{color:var(--subtle);font-size:.78rem}.move-list__san{font-weight:700}.captured-pieces{display:grid;gap:.62rem}.captured-pieces h4{margin:0 0 .2rem;color:var(--subtle);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.captured-pieces__row{display:grid;gap:.35rem}.captured-pieces__list{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;min-height:30px}.captured-pieces__list img{width:28px;height:28px;border-radius:8px;padding:2px;background:#100c09eb;border:1px solid rgba(201,169,110,.22)}.captured-pieces__empty{color:var(--subtle);font-size:.88rem}.leaderboard{display:grid;gap:.32rem}.leaderboard__row{display:grid;grid-template-columns:42px 1.1fr 52px 75px 72px;gap:.45rem;align-items:center;padding:.38rem .45rem;border-radius:10px;background:#0c0907a8;border:1px solid rgba(201,169,110,.16);font-size:.82rem}.leaderboard__name{font-weight:700}.profile-head{display:flex;align-items:center;gap:.66rem;margin-bottom:.65rem}.avatar{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(140deg,#c9a96e5c,#c9a96e29);border:1px solid rgba(201,169,110,.44);font-weight:700}.profile-head h4,.profile-head p{margin:0}.profile-head p{color:var(--subtle);font-size:.82rem}.profile-stats{display:flex;flex-wrap:wrap;gap:.44rem;margin-bottom:.5rem}.profile-stats span{border:1px solid rgba(201,169,110,.2);border-radius:999px;padding:.22rem .5rem;font-size:.76rem}.spectator-list{display:grid;gap:.5rem}.spectator-list__card{display:flex;justify-content:space-between;align-items:center;gap:.4rem;border-radius:12px;padding:.54rem;border:1px solid rgba(201,169,110,.2);background:#0c0907a6}.spectator-list__card h4,.spectator-list__card p{margin:0}.spectator-list__card p{font-size:.76rem;color:var(--subtle)}.chat-log{max-height:130px;overflow-y:auto;display:grid;gap:.24rem;margin-bottom:.45rem}.chat-log p{margin:0;font-size:.82rem}.chat-form{display:grid;grid-template-columns:1fr auto;gap:.44rem}.subtle{margin:0;color:var(--subtle);font-size:.8rem}.error-text{margin:0;color:var(--danger);font-size:.82rem}.opening-name{margin:0 0 .45rem;color:#e8d5b7;font-weight:700}.opening-tree__row{display:flex;justify-content:space-between;border-bottom:1px dashed rgba(201,169,110,.2);padding:.34rem 0;font-size:.83rem}.trainer-grid{display:grid;gap:.4rem}.trainer-grid p{margin:0}.cheat-row{margin-bottom:.45rem}.cheat-row p{margin:.15rem 0}.register-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#070a0f9e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:40}.register-card{width:min(380px,calc(100% - 2rem));border-radius:18px;border:1px solid rgba(201,169,110,.3);background:linear-gradient(145deg,#14100cf7,#090806f7);padding:1rem;display:grid;gap:.6rem}.register-card h3{margin:0;font-family:Cormorant Garamond,serif}.register-card p{margin:0;color:var(--subtle)}.terminal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#02060cb8;display:grid;place-items:center}.terminal{width:min(720px,calc(100% - 2rem));border:1px solid rgba(201,169,110,.42);border-radius:14px;background:#0d0b09f5;box-shadow:0 20px 80px #0000006b;overflow:hidden}.terminal header{display:flex;justify-content:space-between;align-items:center;padding:.55rem .7rem;border-bottom:1px solid rgba(201,169,110,.22)}.terminal header h4{margin:0;font-family:Cormorant Garamond,serif;letter-spacing:.06em}.online-list{display:grid;gap:.35rem;max-height:220px;overflow-y:auto}.online-list__row{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(201,169,110,.2);background:#0e0b08cc;border-radius:10px;padding:.38rem .5rem;font-size:.84rem;gap:.45rem}.online-list__meta{display:flex;align-items:center;gap:.45rem;min-width:0}.online-list__meta span:first-child{font-weight:600}.start-hero{display:grid;gap:.7rem}.start-hero h2{margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(1.25rem,2.1vw,1.65rem)}.start-hero p{margin:0}.start-hero__actions{display:flex;flex-wrap:wrap;gap:.45rem}.primary-btn{background:linear-gradient(165deg,#c9a96e,#a9874f);color:#191410;border-color:#c9a96eb8}.invite-live{margin-top:.65rem;display:grid;gap:.4rem}.invite-live__row{display:flex;justify-content:space-between;align-items:center;gap:.45rem;border:1px solid rgba(201,169,110,.2);border-radius:10px;background:#0f0b08d6;padding:.34rem .48rem}.game-only-actions{display:grid;gap:.55rem}.game-only-actions__buttons{display:flex;gap:.45rem;flex-wrap:wrap}.terminal__output{padding:.7rem;max-height:260px;overflow-y:auto;font-family:Courier New,monospace;color:#e5cfa7;font-size:.82rem}.terminal__output p{margin:0 0 .28rem}.terminal__hint{color:#c9a96e}.terminal form{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:center;border-top:1px solid rgba(201,169,110,.26);padding:.55rem .7rem;font-family:Courier New,monospace}.terminal form input{border:none;padding:.3rem;background:transparent;color:#f0e6d3;outline:none}@media(max-width:1280px){.layout-grid,.layout-col,.layout-main{grid-template-columns:1fr}.board-stage{grid-template-columns:42px 1fr}}@media(max-width:760px){.app-shell{padding:.65rem}.top-bar{flex-direction:column;align-items:flex-start;gap:.55rem}.control-grid{grid-template-columns:1fr 1fr}.control-grid.inputs{grid-template-columns:1fr auto}.board-wrap,.board-fallback{min-height:380px}.leaderboard__row{grid-template-columns:36px 1fr 48px;gap:.32rem}.leaderboard__row span:nth-child(4),.leaderboard__row span:nth-child(5){display:none}}
