@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700;900&family=Inter:wght@300;400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:#03060f;font-family:Inter,sans-serif;color:#c8d8f0;min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 12% 12%,rgba(29,78,216,.2) 0%,transparent 48%),radial-gradient(ellipse at 88% 88%,rgba(14,40,120,.25) 0%,transparent 48%),radial-gradient(ellipse at 50% 50%,#07102df2,#03060f)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#01030cf0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:1000;display:flex;align-items:center;justify-content:center}.modal{background:linear-gradient(160deg,#070d1e,#04091a);border:1px solid rgba(59,130,246,.28);border-radius:18px;padding:52px 56px;text-align:center;max-width:500px;width:92%;box-shadow:0 0 0 1px #3b82f612,0 32px 90px #000000f2,0 0 70px #1d4ed81f}.modal-icon{font-size:54px;display:block;margin-bottom:20px;filter:drop-shadow(0 0 22px rgba(96,165,250,.55))}.modal-title{font-family:Cinzel,serif;font-size:26px;font-weight:900;letter-spacing:.09em;background:linear-gradient(135deg,#60a5fa,#93c5fd,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.modal-sub{font-size:14px;color:#3a5888;font-style:italic;margin-bottom:10px}.modal-ask{font-family:Cinzel,serif;font-size:12px;letter-spacing:.16em;color:#4a6898;margin-bottom:30px;text-transform:uppercase}.color-row{display:flex;gap:18px;justify-content:center}.color-btn{flex:1;padding:26px 16px;border-radius:14px;border:1px solid rgba(59,130,246,.18);background:#080e22e6;cursor:pointer;transition:all .22s;display:flex;flex-direction:column;align-items:center;gap:11px;position:relative;overflow:hidden}.color-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .22s;background:radial-gradient(ellipse at 50% 110%,rgba(59,130,246,.13),transparent 70%)}.color-btn:hover:before{opacity:1}.color-btn:hover{border-color:#60a5fa80;transform:translateY(-4px);box-shadow:0 18px 44px #0000008c,0 0 24px #1d4ed824}.color-btn img{width:56px;height:56px;object-fit:contain;position:relative;z-index:1}.color-btn-label{font-family:Cinzel,serif;font-size:13px;letter-spacing:.15em;color:#6090c8;font-weight:700;z-index:1}.color-btn-desc{font-size:11px;color:#2a4060;z-index:1}.header{padding:14px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(59,130,246,.1);background:#03060ff5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.header-logo{display:flex;align-items:center;gap:12px}.header-icon{font-size:22px;filter:drop-shadow(0 0 9px rgba(96,165,250,.6))}.header-title{font-family:Cinzel,serif;font-size:17px;font-weight:900;letter-spacing:.09em;background:linear-gradient(135deg,#60a5fa,#93c5fd,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header-sub{font-size:9px;letter-spacing:.3em;color:#1e3050;text-transform:uppercase}.header-right{display:flex;align-items:center;gap:9px}.player-badge{display:flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;border:1px solid rgba(59,130,246,.2);background:#3b82f60d;font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;color:#4a72a8;cursor:pointer;transition:all .18s}.player-badge:hover{background:#3b82f61f;border-color:#60a5fa66;color:#93c5fd}.live-badge{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;border:1px solid rgba(59,130,246,.14);background:#3b82f608;font-family:Cinzel,serif;font-size:10px;letter-spacing:.12em;color:#2a4870}.live-dot{width:7px;height:7px;border-radius:50%;background:#3b82f6;animation:livePulse 2s infinite}@keyframes livePulse{0%,to{box-shadow:0 0 #3b82f680}50%{box-shadow:0 0 0 5px #3b82f600}}.main{display:flex;gap:22px;padding:22px 28px;flex:1;max-width:1380px;margin:0 auto;width:100%}.board-panel{flex:0 0 auto;display:flex;flex-direction:column;gap:12px}.board-outer{display:flex}.rank-labels{display:flex;flex-direction:column;width:20px}.rank-label{display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-size:10px;color:#60a5fa4d;-webkit-user-select:none;user-select:none}.board-col{display:flex;flex-direction:column}.file-labels{display:flex;height:18px}.file-label{display:flex;align-items:center;justify-content:center;font-family:Cinzel,serif;font-size:10px;color:#60a5fa4d;-webkit-user-select:none;user-select:none}.board-wrap{position:relative;border:2px solid rgba(59,130,246,.32);border-radius:4px;overflow:hidden;cursor:pointer;box-shadow:0 0 0 1px #3b82f612,0 0 50px #000000e6,0 0 30px #1d4ed82e,inset 0 0 40px #0003}.board-grid{display:grid}.sq{display:flex;align-items:center;justify-content:center;position:relative}.sq.light{background:#d9e8fa}.sq.dark{background:#1a2d52}.sq.selected{background:#fad22899!important}.sq.last-from{background:#3b82f640!important}.sq.last-to{background:#3b82f66b!important}.sq.legal:after{content:"";position:absolute;width:33%;height:33%;border-radius:50%;background:#3b82f652;pointer-events:none;z-index:2}.sq.legal.has-piece:after{top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border:4px solid rgba(59,130,246,.32);background:transparent;width:auto;height:auto}.piece-img{object-fit:contain;position:relative;z-index:3;pointer-events:none;transition:transform .1s;image-rendering:auto;display:block}.sq:hover .piece-img{transform:scale(1.1)}.arrow-svg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10}.turn-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:9px;background:#050916f5;border:1px solid rgba(59,130,246,.09)}.turn-info{display:flex;align-items:center;gap:8px}.turn-dot{width:11px;height:11px;border-radius:50%;border:2px solid rgba(59,130,246,.22)}.turn-dot.w{background:#e8eef8;box-shadow:0 0 5px #dce8f847}.turn-dot.b{background:#080f1e}.turn-text{font-family:Cinzel,serif;font-size:11px;letter-spacing:.11em;color:#2a4060}.turn-text.my-turn{color:#60a5fa;font-weight:700}.move-history-wrap{padding:9px 13px;border-radius:8px;background:#050916f5;border:1px solid rgba(59,130,246,.08)}.move-history-title{font-family:Cinzel,serif;font-size:9px;letter-spacing:.24em;color:#3b82f638;text-transform:uppercase;margin-bottom:6px}.move-history{display:flex;flex-wrap:wrap;gap:3px;max-height:58px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(59,130,246,.16) transparent}.move-chip{padding:2px 7px;border-radius:3px;font-family:Inter,monospace;font-size:11px;color:#2a4868;background:#3b82f60a;border:1px solid rgba(59,130,246,.08)}.move-chip.curr{color:#60a5fa;border-color:#3b82f647;background:#1d4ed814}.move-chip.num{color:#3b82f62e;border:none;background:none;padding-right:0}.analysis-panel{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0}.card{background:#050916f5;border:1px solid rgba(59,130,246,.11);border-radius:10px;overflow:hidden;box-shadow:0 4px 24px #00000073}.card-header{padding:10px 16px;border-bottom:1px solid rgba(59,130,246,.07);display:flex;align-items:center;justify-content:space-between;background:#1d4ed808}.card-title{font-family:Cinzel,serif;font-size:10px;letter-spacing:.18em;color:#3a6898;text-transform:uppercase;display:flex;align-items:center;gap:6px}.card-body{padding:14px 16px}.eco-tag{display:inline-block;padding:2px 9px;border-radius:3px;background:#3b82f612;border:1px solid rgba(59,130,246,.2);font-family:Cinzel,serif;font-size:10px;color:#3a6888;letter-spacing:.08em}.stream-bar{height:2px;background:#3b82f60f;overflow:hidden;position:relative}.stream-fill{height:100%;background:linear-gradient(90deg,transparent,#3b82f6,transparent);animation:shimmer 1s linear infinite;width:40%}@keyframes shimmer{0%{transform:translate(-200%)}to{transform:translate(400%)}}.your-turn-badge{display:flex;align-items:center;gap:7px;padding:7px 13px;border-radius:7px;background:#1d4ed812;border:1px solid rgba(59,130,246,.18);font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;color:#60a5fa;margin-bottom:12px;animation:badgeGlow 2.5s ease-in-out infinite}@keyframes badgeGlow{0%,to{box-shadow:0 0 #3b82f61f}50%{box-shadow:0 0 14px 2px #3b82f61a}}.your-turn-dot{width:7px;height:7px;border-radius:50%;background:#3b82f6;animation:livePulse 1.6s infinite}.best-move-row{display:flex;align-items:center;gap:14px;margin-bottom:12px}.move-badge{font-family:Cinzel,serif;font-size:28px;font-weight:900;background:linear-gradient(135deg,#60a5fa,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;border:1px solid rgba(59,130,246,.28);border-radius:8px;padding:8px 18px;min-width:108px;text-align:center;letter-spacing:.04em;box-shadow:0 0 22px #3b82f61a,inset 0 0 22px #1d4ed80f}.move-badge.waiting{-webkit-text-fill-color:rgba(59,130,246,.22);border-color:#3b82f61a}.move-meta{flex:1}.move-label{font-family:Cinzel,serif;font-size:9px;letter-spacing:.2em;color:#1e3050;text-transform:uppercase;margin-bottom:3px}.move-idea{font-size:12px;color:#3a5878;font-style:italic;margin-bottom:6px;min-height:16px}.eval-row{display:flex;align-items:center;gap:8px}.eval-track{flex:1;height:4px;border-radius:2px;background:#3b82f614;overflow:hidden}.eval-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,#1d4ed8,#60a5fa);transition:width .5s ease}.eval-label{font-family:Cinzel,serif;font-size:11px;color:#3a6890;min-width:58px;text-align:right}.engine-badge{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:6px;margin-bottom:12px;background:#1d4ed80f;border:1px solid rgba(59,130,246,.14)}.engine-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;flex-shrink:0}.engine-name{font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;color:#2a5080}.engine-source{font-size:10px;color:#1a3050;font-style:italic;margin-left:auto}.alt-moves{display:flex;flex-direction:column;gap:5px;margin-top:10px}.alt-row{display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:6px;background:#1d4ed808;border:1px solid rgba(59,130,246,.07);transition:all .15s}.alt-row:hover{background:#1d4ed817;border-color:#3b82f62e}.alt-move{font-family:Cinzel,serif;font-size:13px;color:#4a7ab8;min-width:58px;font-weight:700}.alt-eval{font-size:11px;color:#2a5070;min-width:44px;font-family:Cinzel,serif}.alt-comment{font-size:12px;color:#2a4460;font-style:italic;flex:1}.acc-row{display:flex;align-items:center;gap:14px}.acc-ring-wrap{position:relative;flex-shrink:0}.acc-ring-wrap svg{transform:rotate(-90deg)}.acc-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.acc-number{font-family:Cinzel,serif;font-size:17px;font-weight:900;color:#60a5fa}.acc-pct{font-size:8px;letter-spacing:.14em;color:#1e3050;text-transform:uppercase}.acc-detail{flex:1}.acc-sub{font-family:Cinzel,serif;font-size:9px;letter-spacing:.18em;color:#3b82f640;text-transform:uppercase;margin-bottom:5px}.quality-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-family:Cinzel,serif;font-size:10px;letter-spacing:.07em;margin-bottom:4px}.q-Brilliant{background:#00c8ff14;border:1px solid rgba(0,200,255,.32);color:#00c8ff}.q-Excellent{background:#3b82f614;border:1px solid rgba(59,130,246,.32);color:#60a5fa}.q-Good{background:#60a5fa12;border:1px solid rgba(96,165,250,.25);color:#93c5fd}.q-Inaccuracy{background:#eab30812;border:1px solid rgba(234,179,8,.25);color:#fbbf24}.q-Mistake{background:#f9731612;border:1px solid rgba(249,115,22,.25);color:#fb923c}.q-Blunder{background:#ef444412;border:1px solid rgba(239,68,68,.25);color:#f87171}.acc-move-name{font-size:11px;color:#1e3858;font-style:italic}.opening-name{font-family:Cinzel,serif;font-size:14px;font-weight:700;color:#60a5fa;margin-bottom:4px}.opening-var{font-size:12px;color:#2a4868;font-style:italic;margin-bottom:8px}.strategy-text{font-size:13px;line-height:1.9;color:#5a7aaa;font-weight:300}.strategy-text strong{color:#93c5fd;font-weight:600}.threat-box{margin-top:9px;padding:7px 12px;border-radius:5px;background:#ef44440a;border:1px solid rgba(239,68,68,.14);font-size:12px;color:#f87171;font-style:italic}.wait-state{display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px;text-align:center}.wait-icon{font-size:24px;opacity:.3}.wait-title{font-family:Cinzel,serif;font-size:10px;letter-spacing:.14em;color:#1a2e50;text-transform:uppercase}.wait-sub{font-size:11px;color:#101e38;font-style:italic}.empty{text-align:center;padding:20px 0;color:#3b82f62e;font-style:italic;font-size:13px}.error-msg{color:#f87171;font-size:11px;font-style:italic;padding:7px 0}.btn{padding:5px 14px;border-radius:5px;border:1px solid rgba(59,130,246,.2);background:#3b82f60d;color:#3a6898;font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:all .18s;text-transform:uppercase}.btn:hover{background:#3b82f61f;border-color:#60a5fa61;color:#93c5fd}
