:root{font-family:Inter,Yu Gothic UI,Meiryo,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18202a;background:#eef1f4;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}button{min-width:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:980px;min-height:720px}button{font:inherit}.hiddenInput{display:none}.appShell{width:100%;min-width:0;height:100vh;display:grid;grid-template-columns:360px minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:1px;overflow:hidden;background:#aeb6bf}.gameStrip{grid-column:1;grid-row:1 / 3;background:#f8fafb;min-height:150px;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;padding:12px 16px 14px;overflow:hidden}.workspace,.statsViewContainer{grid-column:2;grid-row:1;min-height:0;min-width:0}.controlBar{grid-column:2;grid-row:2;background:#f8fafb;min-width:0}.boardPanel,.insightPanel{background:#f8fafb}.pathBar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:10px;margin-bottom:10px}.pathBar label{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 58px;align-items:center;gap:8px;color:#617083;font-size:13px;font-weight:700}.pathBar input{width:100%;height:32px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 9px;color:#1e2937;background:#fff;font:inherit}.pathButton{height:32px;border:1px solid #c6ced6;border-radius:6px;color:#1e2937;background:#fff;cursor:pointer}.pathButton:hover{background:#edf5ff;border-color:#92b9de}.workspace{min-height:0;display:grid;grid-template-columns:minmax(500px,59%) minmax(0,1fr);gap:1px;overflow:hidden}.boardPanel,.insightPanel{min-height:0;min-width:0;padding:14px 16px}.insightPanel{overflow-y:auto;overscroll-behavior:contain}.panelHeader{width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px;position:relative}.panelHeader>div{display:flex;align-items:center;gap:10px;min-width:0}.loadProgress{width:100%;height:4px;overflow:hidden;border-radius:999px;background:#dce3ea}.loadProgress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2878bd,#64a34f);transition:width .18s ease}.panelHeader h1,.panelHeader h2{margin:0;line-height:1}.panelHeader h1{font-size:19px}.panelHeader h2{font-size:18px}.panelIndex{width:30px;height:30px;display:grid;place-items:center;border:2px solid #1a64a5;border-radius:50%;font-weight:800;background:#fff}.loadStatus{min-width:0;color:#617083;font-size:13px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.loadStatusPanel{display:grid;gap:7px;margin-bottom:10px;border:1px solid #d7dee5;border-radius:8px;padding:8px 10px;background:#fff;box-shadow:0 1px 3px #0f172a0d}.compact{margin-bottom:14px}.headerActions,.moveControls,.modeControls{display:flex;align-items:center;gap:8px;min-width:0}.headerActions,.modeControls{max-width:100%}.gameStrip .panelHeader{gap:8px}.gameStrip .headerActions{flex:0 1 auto;justify-content:flex-end}.gameStrip .headerActions .toolButton{padding-inline:9px;white-space:nowrap}.gameStrip .headerLanguagePicker{flex:0 1 92px;min-width:0;min-height:32px;padding-inline:6px;gap:4px}.gameStrip .headerLanguagePicker select{width:100%;min-width:0;font-size:12px}.rapfiSettingField{height:36px;display:grid;grid-template-columns:auto 64px;align-items:center;gap:6px;color:#617083;font-size:12px;font-weight:800}.rapfiSettingField input{width:64px;height:32px;border:1px solid #c6ced6;border-radius:6px;padding:0 6px;color:#1e2937;background:#fff;font:inherit;text-align:right}.toolButton,.iconButton{height:36px;border:1px solid #c6ced6;background:#fff;color:#1e2937;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.toolButton{padding:0 12px;border-radius:6px;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap}.toolButton span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iconButton{width:36px;border-radius:6px}.toolButton:hover,.iconButton:hover,.gameRow:hover{background:#edf5ff;border-color:#92b9de}.primary{color:#fff;border-color:#245f9e;background:#245f9e}.primary:hover{background:#1c4f86}.danger{color:#fff;border-color:#dc2626;background:#dc2626}.danger:hover{background:#b91c1c}.gameTable{min-height:0;overflow:hidden;border:1px solid #d7dee5;border-radius:8px}.gameRow{width:100%;min-height:30px;display:grid;grid-template-columns:112px minmax(180px,1.2fr) minmax(260px,1.4fr) 70px minmax(160px,1fr);align-items:center;gap:12px;padding:0 12px;border:0;border-bottom:1px solid #e2e7ec;background:#fff;color:#24303d;text-align:left}.gameRow.outcome-win{background:#edf8ef;border-left:4px solid #3f9a58}.gameRow.outcome-draw{background:#eef7ff;border-left:4px solid #2878bd}.gameRow.outcome-loss{background:#fff0f1;border-left:4px solid #c84b5a}.gameRow.outcome-win:hover{background:#dff2e3}.gameRow.outcome-draw:hover{background:#def0ff}.gameRow.outcome-loss:hover{background:#ffe1e4}.gameRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameHead{min-height:32px;color:#596676;background:#eef3f7;font-size:13px;font-weight:700}.emptyRow{min-height:34px;display:flex;align-items:center;padding:0 12px;color:#617083;background:#fff;font-size:14px}.gameStripFooter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;padding-top:8px}.gameStripFooter .toolButton{width:100%;padding-inline:8px;font-size:12px;white-space:nowrap}.gameStripFooter .toolButton:nth-child(3),.gameStripFooter>span{grid-column:1 / -1}.gameStripFooter.wasm{grid-template-columns:1fr}.gameStripFooter.wasm .toolButton{grid-column:1}.gameStripFooter span{color:#617083;font-size:13px}.boardFrame{height:calc(100% - 50px);min-height:420px;display:grid;place-items:center}.boardGrid{--board-padding: 34px;--point-size: clamp(29px, 6.8%, 42px);width:min(100%,80vh);max-width:680px;aspect-ratio:1;position:relative;padding:var(--board-padding);border:1px solid #9b7748;border-radius:8px;background:#d9ad70;box-shadow:inset 0 0 0 1px #ffffff47}.compactBoard{--board-padding: 26px;--point-size: clamp(18px, 5.4%, 28px);width:min(100%,440px);max-width:440px}.boardInner{position:relative;width:100%;height:100%}.boardLines{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#5f3f1b 1px,transparent 1px),linear-gradient(90deg,#5f3f1b 1px,transparent 1px);background-size:calc(100% / 14) calc(100% / 14);background-position:0 0;box-shadow:inset -1px 0 #5f3f1b,inset 0 -1px #5f3f1b;pointer-events:none}.boardLines:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 21.4286% 21.4286%,#523716 0 4px,transparent 5px),radial-gradient(circle at 78.5714% 21.4286%,#523716 0 4px,transparent 5px),radial-gradient(circle at 50% 50%,#523716 0 4px,transparent 5px),radial-gradient(circle at 21.4286% 78.5714%,#523716 0 4px,transparent 5px),radial-gradient(circle at 78.5714% 78.5714%,#523716 0 4px,transparent 5px)}.coordLabel{position:absolute;z-index:3;color:#3f2a12;font-size:12px;font-weight:700;line-height:1;text-transform:uppercase;pointer-events:none}.fileLabel{top:calc(-1 * var(--board-padding) + 10px);transform:translate(-50%)}.rankLabel{left:calc(-1 * var(--board-padding) + 4px);transform:translateY(-50%);width:calc(var(--board-padding) - 8px);text-align:right}.boardPoint{position:absolute;z-index:2;width:var(--point-size);height:var(--point-size);transform:translate(-50%,-50%);border:0;background:transparent;padding:0;border-radius:50%;cursor:pointer}.stone,.candidate{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;display:grid;place-items:center}.stone.black{background:radial-gradient(circle at 35% 30%,#545d67,#050607 68%)}.stone.white{background:radial-gradient(circle at 35% 30%,#fff,#d7dde4 72%);border:1px solid #7d8792}.stone em{color:#fff;font-size:14px;font-style:normal;font-weight:900;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.65)}.stone.white em{color:#17202b;text-shadow:none}.candidate{grid-template-rows:1fr 1fr;padding:4px 2px 3px;line-height:1;font-size:11px;border:1px solid rgba(28,79,134,.38);color:#102235;cursor:pointer;--candidate-lightness: 62%;--candidate-white-lightness: 66%}.candidate.black{background:hsl(208 72% var(--candidate-lightness))}.candidate.white{border-color:#2e7e4b73;background:hsl(139 52% var(--candidate-white-lightness))}.candidate.rapfiSaved.black{border-color:#7a5c00c7;background:#facc15}.candidate.rapfiSaved.white{border-color:#5a6370c7;background:#fff}.candidate strong,.candidate em{font-style:normal;font-weight:900;letter-spacing:-.2px}.candidate strong{font-size:12px}.candidate em{font-size:11px}.compactBoard .candidate{padding:4px 2px}.compactBoard .stone em,.compactBoard .candidate strong{font-size:10px}.compactBoard .candidate em{font-size:9px}.candidateTooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:10;min-width:92px;display:none;transform:translate(-50%);padding:8px 9px;border:1px solid #b7c5d3;border-radius:6px;color:#18202a;background:#fffffffa;box-shadow:0 8px 24px #1422302e;pointer-events:none}.candidate:hover .candidateTooltip{display:grid;gap:4px}.candidateTooltip b,.candidateTooltip small{line-height:1.1;white-space:nowrap}.candidateTooltip b{font-size:12px}.candidateTooltip small{color:#455465;font-size:11px}.positionMeta{color:#617083;font-size:14px}.scoreBand{height:46px;display:flex;overflow:hidden;border-radius:8px;border:1px solid #d3dbe3;background:#fff}.scoreSegment{min-width:58px;display:grid;place-items:center;color:#fff;font-weight:800}.problemMoveBadge{position:absolute;z-index:8;right:-7px;width:20px;height:20px;display:grid;place-items:center;border:2px solid #ffffff;border-radius:50%;color:#fff;font-size:10px;font-style:normal;font-weight:900;box-shadow:0 1px 4px #0f172a59;pointer-events:none}.problemMoveBadge.actual{top:-7px;background:#dc2626}.problemMoveBadge.correct{bottom:-7px;background:#2563eb}.threatMoveBadge{position:absolute;z-index:9;left:50%;top:50%;min-width:24px;height:24px;display:grid;place-items:center;transform:translate(-50%,-50%);border:2px solid #fff7ed;border-radius:999px;background:#f97316;color:#fff;font-size:10px;font-style:normal;font-weight:900;box-shadow:0 2px 8px #7c2d1259;pointer-events:none}.problemCreationView{height:100%;min-height:0;display:flex;flex-direction:column;padding:18px;overflow:hidden;background:#fff}.problemCreationHeader,.problemPanelTitle{display:flex;align-items:center;justify-content:space-between;gap:12px}.problemCreationHeader{padding-bottom:12px;border-bottom:1px solid #d8e0e7}.problemCreationHeader h2{margin:0 0 3px}.problemCreationHeader span,.problemPanelTitle span{color:#64748b;font-size:13px}.problemCreationColumns{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(480px,1.35fr) minmax(320px,.9fr);gap:18px;padding-top:18px}.problemPositionPanel,.problemBoardPanel,.problemSettingsPanel{min-height:0;display:flex;flex-direction:column;border:1px solid #d8e0e7;border-radius:8px;background:#f8fafc;overflow:hidden}.problemPanelTitle{min-height:46px;padding:10px 14px;border-bottom:1px solid #d8e0e7;background:#fff}.problemFilters{display:grid;grid-template-columns:auto 58px 16px 58px;align-items:center;gap:6px;padding:10px;border-bottom:1px solid #e2e8f0}.problemFilters>input:first-child{grid-column:1 / -1}.problemFilters input,.problemFormBlock input,.problemFormBlock select{min-width:0;height:34px;border:1px solid #cbd5e1;border-radius:5px;padding:0 8px;background:#fff;font:inherit}.problemFilters label{color:#475569;font-size:12px;font-weight:800}.problemPositionList{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:8px;overflow-y:auto}.problemPositionList>button{display:flex;flex-direction:column;gap:3px;border:1px solid #d8e0e7;border-radius:6px;padding:9px 10px;text-align:left;background:#fff;cursor:pointer}.problemPositionList>button:hover,.problemPositionList>button.active{border-color:#3b82f6;background:#eff6ff}.problemPositionList span,.problemPositionList em{overflow:hidden;color:#64748b;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.problemBoardWrap{flex:1;min-height:0;position:relative;padding:12px}.problemBoardWrap .boardFrame{height:100%}.threatProblemModal{width:min(1380px,calc(100vw - 28px));height:min(920px,calc(100vh - 28px))}.threatCreationColumns{grid-template-columns:minmax(310px,1fr) minmax(310px,1fr) minmax(300px,.85fr);gap:14px;overflow:hidden}.threatInputPanel,.threatPreviewPanel,.threatSettingsPanel{overflow-y:auto}.threatBoardWrap{flex:0 0 auto;min-height:0;padding:10px}.threatBoardWrap .boardFrame{height:auto;min-height:0}.threatBoardWrap .boardGrid{--board-padding: clamp(20px, 4vw, 30px);--point-size: clamp(16px, 4.7%, 28px);width:min(100%,46vh,430px);max-width:430px}.threatNotationBlock{flex:0 0 auto;padding-top:8px}.threatNotationBlock textarea{min-height:58px;max-height:90px;resize:vertical}.threatActionControls{flex:0 0 auto;padding:10px 14px 14px;background:#f8fafc;border-top:1px solid #e2e8f0}.problemBoardLoading{position:absolute;z-index:20;top:12px;right:12px;bottom:12px;left:12px;display:grid;place-items:center;color:#475569;background:#f8fafcd1;font-weight:800}.problemEmptySelection{flex:1;display:grid;place-items:center;padding:30px;color:#64748b;text-align:center}.problemLegend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px;border-top:1px solid #d8e0e7;background:#fff;color:#475569;font-size:12px}.problemLegend b{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:50%;color:#fff}.problemLegend b.actual{background:#dc2626}.problemLegend b.correct{background:#2563eb}.problemSettingsPanel{padding-bottom:12px;overflow-y:auto}.problemFormBlock{display:flex;flex-direction:column;gap:7px;padding:12px 14px 0}.problemFormBlock>label,.problemSavedHeader>strong{color:#334155;font-size:13px;font-weight:800}.problemCategoryMode{display:flex;gap:12px;font-size:12px}.problemCategoryMode label{display:flex;align-items:center;gap:4px}.problemOptionPreview{display:flex;flex-wrap:wrap;gap:6px}.problemOptionPreview span{border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;color:#475569;background:#fff;font-size:12px}.problemOptionPreview span.correct{border-color:#2563eb;color:#1d4ed8;background:#dbeafe;font-weight:800}.problemSaveButton{margin:16px 14px 0}.problemSavedList{display:flex;flex-direction:column;gap:6px;margin:16px 14px 0;padding-top:12px;border-top:1px solid #d8e0e7}.problemSavedHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.problemSavedList>div{display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #e2e8f0;border-radius:5px;padding:6px 8px;background:#fff;font-size:12px}.problemSavedList>.problemSavedHeader{border:0;padding:0;background:transparent}.problemSavedList>div span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.problemSavedList>div.activeSavedProblem{border-color:#3b82f6;background:#eff6ff}.problemSavedList>div>.textButton{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.problemSavedActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.problemSavedQuestion{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto}.problemSavedQuestion input{width:16px;height:16px;margin:0}.problemSavedList em{color:#94a3b8;font-size:12px;font-style:normal}.ratingQuizColumns{flex:1;min-height:0;display:grid;grid-template-columns:minmax(230px,.65fr) minmax(520px,1.5fr) minmax(330px,.9fr);gap:18px;padding-top:18px}.ratingQuizPoolPanel{min-height:0;display:flex;flex-direction:column;border:1px solid #d8e0e7;border-radius:8px;background:#f8fafc;overflow:hidden}.ratingQuizSideFilter{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px;border-bottom:1px solid #e2e8f0}.ratingQuizSideFilter button{min-height:32px;border:1px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer}.ratingQuizSideFilter button.active{border-color:#2563eb;color:#1d4ed8;background:#dbeafe;font-weight:800}.ratingQuizBandList{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px;padding:8px;overflow-y:auto}.ratingQuizBandList button{display:grid;grid-template-columns:1fr auto;gap:3px 8px;border:1px solid #d8e0e7;border-radius:6px;padding:8px 10px;text-align:left;background:#fff;cursor:pointer}.ratingQuizBandList button.active{border-color:#2563eb;background:#eff6ff}.ratingQuizBandList em{grid-column:1 / -1;color:#94a3b8;font-size:11px;font-style:normal}.ratingQuizPoolToolbar{display:flex;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0}.ratingQuizPoolToolbar input{flex:1;min-width:0;height:34px;border:1px solid #cbd5e1;border-radius:5px;padding:0 9px}.ratingQuizMoveFilter{display:grid;grid-template-columns:auto 72px 16px 72px;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid #e2e8f0;color:#475569;font-size:12px}.ratingQuizMoveFilter input{min-width:0;height:31px;border:1px solid #cbd5e1;border-radius:5px;padding:0 7px}.ratingQuizChoiceList{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px;padding:9px;overflow-y:auto}.ratingQuizChoiceList>button{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:3px 7px;align-items:center;border:1px solid #d8e0e7;border-radius:6px;padding:8px;text-align:left;background:#fff;cursor:pointer}.ratingQuizChoiceList>button.selected{border-color:#2563eb;background:#dbeafe}.ratingQuizChoiceList>button.used{opacity:.58}.ratingQuizChoiceList>button>span:not(.sideBadge),.ratingQuizChoiceList>button>em{grid-column:2 / -1;overflow:hidden;color:#64748b;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.ratingQuizChoiceList>button>b{color:#1d4ed8}.ratingQuizChoiceList>button>small{grid-column:1 / -1;color:#b45309}.ratingQuizSelected{display:flex;flex-direction:column;gap:6px;margin:14px 14px 0;padding-top:12px;border-top:1px solid #d8e0e7}.ratingQuizSelected>button{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #cbd5e1;border-radius:5px;padding:7px 8px;background:#fff;cursor:pointer}.ratingQuizSelected em{color:#1d4ed8;font-style:normal;font-weight:800}.ratingQuizCurrentDistribution{display:grid;gap:8px;margin:14px 14px 0;padding:10px;border:1px solid #d8e0e7;border-radius:7px;background:#f8fafc}.ratingQuizCurrentDistribution>div:first-child{display:grid;gap:2px}.ratingQuizCurrentDistribution strong{color:#24303d;font-size:13px}.ratingQuizCurrentDistribution span,.ratingQuizCurrentDistribution em{color:#64748b;font-size:11px;font-style:normal}.ratingQuizCurrentDistributionRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.ratingQuizCurrentDistributionRows span{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;border-radius:5px;background:#fff}.ratingQuizCurrentDistributionRows b{color:#334155;font-size:11px}.ratingQuizCurrentDistributionRows em{color:#1d4ed8;font-weight:800}.ratingQuizSaveActions{display:grid;gap:7px;margin:16px 14px 0}.ratingQuizBatchBuilder{display:flex;flex-direction:column;gap:7px;margin:14px 14px 0;padding:12px;border:1px solid #bfdbfe;border-radius:7px;background:#eff6ff}.ratingQuizDeckPath{display:block;margin-top:8px;color:var(--muted);overflow-wrap:anywhere}.ratingQuizBatchProgress{border:1px solid #93c5fd;border-radius:5px;padding:8px 10px;color:#1e3a8a;background:#dbeafe;font-size:12px;font-weight:700}.ratingQuizBatchHeader{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:center;gap:8px;color:#1e3a8a;font-size:13px}.ratingQuizBatchHeader label{min-width:0;display:grid;grid-template-columns:1fr minmax(92px,120px);align-items:center;gap:5px;font-weight:800}.ratingQuizBatchHeader input{width:100%;min-width:0;height:30px;border:1px solid #93c5fd;border-radius:5px;padding:0 6px}.ratingQuizFormatDescription{margin:0;color:#475569;font-size:12px;line-height:1.65}.ratingQuizSlotCondition{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(110px,.8fr);gap:6px;align-items:center}.ratingQuizSlotCondition b{color:#475569;font-size:12px}.ratingQuizSlotCondition select{min-width:0;height:32px;border:1px solid #93c5fd;border-radius:5px;padding:0 6px;background:#fff}.ratingQuizDetailModal{width:min(1120px,calc(100vw - 48px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:10px;background:#fff;box-shadow:0 24px 70px #0f172a59;overflow:hidden}.ratingQuizDetailBody{min-height:0;display:grid;grid-template-columns:minmax(460px,1.2fr) minmax(360px,.8fr);gap:18px;padding:16px;overflow-y:auto}.ratingQuizDetailBoard{min-height:560px;display:flex;flex-direction:column}.ratingQuizDetailBoard .boardFrame{flex:1;height:auto}.ratingQuizDetailControls{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:10px}.ratingQuizDetailStats{min-width:0;display:flex;flex-direction:column;gap:14px}.ratingQuizDetailMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ratingQuizDetailMetrics>div{display:flex;flex-direction:column;gap:3px;border:1px solid #d8e0e7;border-radius:6px;padding:8px 10px;background:#f8fafc}.ratingQuizDetailMetrics span{color:#64748b;font-size:11px}.ratingQuizDetailMetrics strong{color:#1e293b;font-size:16px}.ratingQuizKifu{min-height:180px;display:flex;flex-direction:column;gap:7px}.ratingQuizKifu textarea{flex:1;min-height:160px;border:1px solid #cbd5e1;border-radius:6px;padding:10px;resize:vertical;background:#f8fafc;font-family:Consolas,monospace;line-height:1.55}@media (max-width: 1250px){.problemCreationView{overflow-y:auto}.problemCreationColumns{grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr)}.problemSettingsPanel{grid-column:1 / -1;min-height:420px}.threatCreationColumns{grid-template-columns:repeat(2,minmax(300px,1fr))}.threatSettingsPanel{grid-column:1 / -1;min-height:320px}.threatBoardWrap .boardGrid{width:min(100%,42vh,400px)}.ratingQuizColumns{grid-template-columns:minmax(230px,.65fr) minmax(520px,1.35fr)}.ratingQuizColumns .problemSettingsPanel{grid-column:1 / -1}.ratingQuizDetailBody{grid-template-columns:1fr}}@media (max-width: 820px){.threatCreationColumns{grid-template-columns:minmax(0,1fr)}.threatBoardWrap .boardGrid{width:min(100%,380px)}}.scoreSegment.win{background:#2878bd}.scoreSegment.draw{background:#768393}.scoreSegment.loss{background:#b24d5a}.rapfiPositionNotice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;margin:10px 0;padding:10px;border:1px solid #c8d8e6;border-radius:8px;background:#f5f9fc}.rapfiPositionNotice.warning{border-color:#e6a8b0;background:#fff4f5}.rapfiPositionNotice div{min-width:0;display:grid;gap:3px}.rapfiPositionNotice span{color:#617083;font-size:12px;font-weight:800}.rapfiPositionNotice strong{color:#1f5f98;font-size:22px;line-height:1;font-weight:900}.rapfiPositionNotice.warning strong{color:#9b3442}.rapfiPositionNotice em,.rapfiPositionNotice p{margin:0;color:#526173;font-size:12px;font-style:normal}.rapfiPositionNotice p{grid-column:1 / -1;color:#9b3442;font-weight:800}.statsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.statBox{min-height:68px;display:grid;align-content:center;gap:5px;padding:10px 12px;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.statBox span{color:#647386;font-size:13px}.statBox strong{font-size:22px}.statBase{color:#647386;font-size:11px;font-style:normal;font-weight:800;line-height:1.1}.sectionBlock{margin-top:16px}.sectionBlock h3{margin:0 0 8px;font-size:15px}.openingSectionHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.sectionCount{color:#617083;font-size:12px;font-weight:800}.playerList,.candidateList{display:grid;gap:6px}.emptyPanel{min-height:34px;display:flex;align-items:center;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;color:#617083;background:#fff;font-size:14px}.playerRow,.candidateRow{min-height:34px;display:grid;align-items:center;gap:10px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;background:#fff}.playerRow{grid-template-columns:28px minmax(0,1fr) 70px}.candidateRow{grid-template-columns:52px minmax(0,1fr) 54px}.playerRow strong,.candidateRow strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playerRow span,.candidateRow span{color:#607085}.playerRow em,.candidateRow em{color:#455465;font-style:normal;text-align:right}.ratingBandChart{display:grid;gap:6px}.ratingBandRow{min-height:30px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 8px;border:1px solid #dce3ea;border-radius:6px;background:#fff}.ratingBandRow span,.ratingBandRow strong{color:#455465;font-size:12px;font-weight:800}.ratingBandLinks{display:flex;gap:4px}.ratingBandLinks button,.playerResultRow button{min-height:24px;border:1px solid #cbd5df;border-radius:5px;padding:0 6px;color:#1f5f98;background:#fff;font-size:11px;font-weight:900;cursor:pointer}.ratingBandLinks button:hover,.playerResultRow button:hover{border-color:#2878bd;background:#eef6fd}.playerResultRow{grid-template-columns:24px minmax(0,1fr) auto auto auto 52px}.compactMoreButton{min-height:28px;justify-content:center}.ratingBandTrack{height:12px;overflow:hidden;border-radius:999px;background:#e4eaf0}.ratingBandBar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2878bd,#64a34f)}.underdogList{display:grid;gap:6px}.underdogRow{min-height:34px;display:grid;grid-template-columns:minmax(80px,.7fr) minmax(110px,1fr) minmax(140px,1.1fr);align-items:center;gap:8px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;color:#24303d;background:#fff;font:inherit;text-align:left;cursor:pointer}.underdogRow:hover{border-color:#2878bd;background:#eef6fd}.underdogRow span,.underdogRow strong,.underdogRow em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.underdogRow span,.underdogRow em{color:#617083;font-size:12px;font-style:normal}.underdogRow strong{font-size:13px}.controlBar{min-height:64px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:8px 12px}.moveControls{flex-shrink:0}.modeControls{flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px;overflow:visible}.wasmDistribution .modeControls{justify-content:flex-start}.controlBar .toolButton{height:32px;padding-inline:9px;font-size:12px;white-space:nowrap}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#1018226b}.gameModal{width:min(1040px,96vw);max-height:min(780px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.listModal{width:min(1120px,96vw);max-height:min(760px,94vh);display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.openingDetailModal{width:calc(100vw - 24px);height:calc(100vh - 24px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.openingDetailLoading{display:grid;place-items:center;color:#64748b;font-weight:700}.openingDetailBody{min-height:0;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(640px,1.5fr);gap:16px;padding:16px;overflow:hidden}.openingDetailAllRankings,.openingDetailSide,.openingSelectedDetail{min-height:0;border:1px solid #dce3ea;border-radius:8px;background:#fff}.openingDetailAllRankings{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:10px;padding:14px;overflow:hidden}.openingDetailAllRankings>p{margin:0;color:#64748b;font-size:12px;line-height:1.5}.openingOverallSummary{display:grid;gap:9px;padding:11px;border:1px solid #bfdbfe;border-radius:7px;background:#f8fbff}.openingScoreCards.compact>div{padding:8px 10px}.openingScoreCards.compact strong{font-size:19px}.openingOverallPatterns{display:grid;gap:4px;color:#475569;font-size:12px}.openingOverallPatterns>strong{color:#334155;font-size:12px}.openingOverallPatterns>div{display:flex;justify-content:space-between;gap:10px}.openingOverallPatterns em{color:#1d4f7a;font-style:normal;font-weight:800;white-space:nowrap}.openingDetailSide{display:grid;grid-template-rows:minmax(180px,.7fr) minmax(0,1.3fr);gap:16px;padding:14px;overflow:hidden}.openingKindRankings{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.openingKindRankings>div{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px}.openingDetailSectionHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.openingDetailSectionHeader h3{margin:0;color:#24303d;font-size:16px}.openingDetailSectionHeader span{color:#64748b;font-size:12px;font-weight:700}.openingDetailRanking{min-height:0;display:grid;align-content:start;gap:6px;overflow-y:auto}.openingDetailRankRow{min-height:36px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;background:#f8fafb}.openingDetailRankRow.withScoreRanges{grid-template-columns:32px minmax(150px,1fr) minmax(250px,.9fr) auto}.openingDetailRankRow>span{color:#64748b;font-size:12px;text-align:center}.openingDetailRankRow strong{min-width:0;overflow:hidden;color:#24303d;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.openingDetailRankRow button{min-height:26px;border:1px solid #93b9dc;border-radius:5px;padding:0 8px;color:#165d96;background:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:800}.openingScoreRanges{display:grid;gap:4px}.openingScoreLabels{display:flex;justify-content:space-between;gap:8px}.openingScoreLabels span{color:#475569;font-size:11px;font-weight:800}.openingScoreBar{width:100%;height:14px;display:flex;overflow:hidden;border:1px solid #94a3b8;border-radius:999px;background:#fff}.blackScoreSegment{min-width:0;background:#1f2937}.whiteScoreSegment{min-width:0;background:#fff}.openingSelectedDetail{min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);gap:12px;padding:14px;overflow:hidden}.openingSelectedDetail h4{margin:0;color:#334155;font-size:14px}.openingScoreCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.openingScoreCards>div{display:grid;gap:4px;padding:12px;border-radius:7px;background:#eff6ff}.openingScoreCards span{color:#64748b;font-size:12px;font-weight:700}.openingScoreCards strong{color:#1d4f7a;font-size:24px}.openingScoreCards small{color:#64748b;font-size:12px;font-weight:700}.openingResultBreakdown{padding:9px 12px;border:1px solid #dce3ea;border-radius:6px;color:#475569;background:#f8fafb;font-size:13px;font-weight:700}.openingPlayerStats{min-height:0;display:grid;align-content:start;overflow-y:auto;border:1px solid #dce3ea;border-radius:6px}.openingPlayerStatHead,.openingPlayerStatRow{display:grid;grid-template-columns:100px minmax(150px,1fr) 76px 84px 100px;align-items:center;gap:10px;min-height:36px;padding:0 10px}.openingPlayerStatHead{position:sticky;top:0;z-index:1;color:#64748b;background:#f1f5f9;font-size:12px;font-weight:800}.openingPlayerStatRow{border-top:1px solid #e2e8f0;color:#475569;font-size:13px}.openingPlayerStatRow strong{min-width:0;overflow:hidden;color:#24303d;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 980px){.openingDetailBody{grid-template-columns:1fr;overflow-y:auto}.openingDetailAllRankings,.openingDetailSide{min-height:420px}}.modalPagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 18px;background:#f1f5f9;border-bottom:1px solid #d8e0e7}.paginationText{font-size:13px;font-weight:700;color:#334155;min-width:120px;text-align:center}.iconButton:disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9;border-color:#cbd5e1}.toolButton:disabled{opacity:.55;cursor:not-allowed}.filterModal{width:min(760px,94vw);max-height:min(720px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.pgnHeadToHeadModal{width:min(1280px,96vw);height:min(780px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.pgnHeadToHeadBody{min-height:0;display:grid;align-content:start;gap:16px;overflow:auto;padding:18px}.pgnHeadToHeadSelector{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr) auto;align-items:end;gap:10px;padding:14px;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.pgnHeadToHeadSelector label{display:grid;gap:6px;color:#617083;font-size:13px;font-weight:700}.pgnHeadToHeadSelector input{width:100%;height:36px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit}.pgnHeadToHeadVersus{align-self:end;display:grid;place-items:center;height:36px;color:#64748b;font-weight:800}.pgnHeadToHeadError{padding:10px 12px;border:1px solid #fecaca;border-radius:7px;color:#991b1b;background:#fef2f2}.pgnHeadToHeadEmpty{display:grid;place-items:center;min-height:220px;color:#64748b;border:1px dashed #cbd5e1;border-radius:8px;background:#fff}.pgnHeadToHeadResults{min-height:0;display:grid;gap:12px}.pgnHeadToHeadNames{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0;font-size:16px}.pgnHeadToHeadNames strong{min-width:0;overflow-wrap:anywhere}.pgnHeadToHeadNames span{color:#64748b;font-size:12px;font-weight:800;text-transform:uppercase}.pgnHeadToHeadChartPanel{display:grid;gap:8px;padding:12px;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.pgnHeadToHeadChartHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.pgnHeadToHeadLegend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 16px;color:#64748b;font-size:12px}.pgnHeadToHeadLegend span{display:inline-flex;align-items:center;gap:5px}.pgnHeadToHeadLegend i{width:18px;height:3px;border-radius:999px;background:#64748b}.pgnHeadToHeadLegend i.playerA{background:#2563eb}.pgnHeadToHeadLegend i.playerB{background:#e8590c}.pgnHeadToHeadLegend i.games{height:10px;border-radius:2px;background:#cbd5e1}.pgnHeadToHeadChartScroll{overflow-x:auto;overflow-y:hidden;border-radius:6px;background:#fbfdff}.pgnHeadToHeadChartScroll svg{display:block}.pgnHeadToHeadGridLine{stroke:#dbe3ec;stroke-width:1}.pgnHeadToHeadAxisLabel,.pgnHeadToHeadMonthLabel,.pgnHeadToHeadGamesLabel{fill:#64748b;font-family:inherit;font-size:11px}.pgnHeadToHeadGamesLabel{fill:#475569;font-size:10px;font-weight:700}.pgnHeadToHeadGamesBar{fill:#cbd5e1;opacity:.62}.pgnHeadToHeadLine{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.pgnHeadToHeadLine.playerA,.pgnHeadToHeadPoint.playerA{stroke:#2563eb}.pgnHeadToHeadLine.playerB,.pgnHeadToHeadPoint.playerB{stroke:#e8590c}.pgnHeadToHeadPoint{fill:#fff;stroke-width:2.5}.pgnHeadToHeadChartMonth{cursor:pointer;outline:none}.pgnHeadToHeadChartMonth:hover .pgnHeadToHeadGamesBar,.pgnHeadToHeadChartMonth:focus .pgnHeadToHeadGamesBar{fill:#94a3b8;opacity:.9}.pgnHeadToHeadChartPanel>small{color:#64748b;font-size:11px}.pgnHeadToHeadTableWrap{min-height:0;overflow:auto;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.pgnHeadToHeadTable{width:100%;min-width:1040px;border-collapse:collapse;font-size:13px}.pgnHeadToHeadTable th,.pgnHeadToHeadTable td{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:right;white-space:nowrap}.pgnHeadToHeadTable thead th{position:sticky;top:0;z-index:1;color:#475569;background:#eef2f6;font-size:12px}.pgnHeadToHeadTable th:first-child{text-align:left}.pgnHeadToHeadTable tbody tr.total{color:#172033;background:#eaf3fb;font-weight:800}.pgnHeadToHeadTable tbody tr:hover{background:#f8fafc}.pgnHeadToHeadTable tbody tr.total:hover{background:#e1eef9}.pgnHeadToHeadGameCount{padding:0;border:0;color:#1769aa;background:transparent;font-weight:800;text-decoration:underline;cursor:pointer}.pgnHeadToHeadGameCount:disabled{color:#94a3b8;text-decoration:none;cursor:default}@media (max-width: 820px){.pgnHeadToHeadSelector{grid-template-columns:minmax(0,1fr)}.pgnHeadToHeadVersus{height:auto}}.formulaSettingsModal{width:min(640px,94vw);max-height:min(720px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.loadSettingsWindow{width:min(760px,94vw);max-height:min(620px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.loadSettingsBody{display:grid;gap:14px;padding:18px;overflow-y:auto}.loadSettingsGrid{display:grid;gap:12px}.loadSettingsGrid label{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) 78px;align-items:center;gap:10px;color:#617083;font-size:13px;font-weight:700}.loadSettingsGrid input{width:100%;height:34px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 9px;color:#1e2937;background:#fff;font:inherit}.loadSettingsActions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.languagePicker{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 9px;border:1px solid #c6ced6;border-radius:6px;background:#fff;color:#334155}.languagePicker select{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;outline:none}.formulaSettingsBody{display:grid;gap:12px;padding:18px;overflow-y:auto}.formulaSettingField{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:14px;align-items:center;padding:12px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.formulaSettingField span{display:grid;gap:4px;min-width:0}.formulaSettingField strong{color:#24303d;font-size:14px}.formulaSettingField small,.formulaSettingsBody p{color:#64748b;font-size:12px;line-height:1.55}.formulaSettingField input{width:100%;height:34px;border:1px solid #c6ced6;border-radius:6px;padding:0 8px;text-align:right;font:inherit}.formulaSettingsBody p{margin:0;padding:10px 12px;border-radius:8px;background:#eff6ff;color:#1e3a8a}.modalFooter{display:flex;justify-content:flex-end;gap:10px;padding:12px 18px;border-top:1px solid #d8e0e7;background:#f1f5f9}.ratingScrapeModal{width:min(560px,94vw)}.scrapeNotice{min-height:38px;display:flex;align-items:center;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;color:#617083;background:#fff;font-size:13px}.analysisModal{width:min(1360px,96vw);height:min(940px,98vh);min-height:min(720px,98vh);max-height:98vh;display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.rapfiModal{width:min(1720px,98vw);min-height:min(780px,96vh);max-height:min(940px,96vh)}.rankingModal{width:min(1280px,96vw);height:98vh;min-width:min(760px,96vw);min-height:min(760px,98vh);max-width:98vw;max-height:98vh;resize:both}.rankingModal .analysisHeader{min-height:0;padding:6px 12px;border-bottom:1px solid #d8e0e7}.rankingModal .analysisHeader .eyebrow{margin:0;font-size:10px;line-height:1}.rankingModal .analysisHeader h2{margin:1px 0 0;font-size:16px;line-height:1.15}.trendModal{width:min(1200px,96vw);max-height:min(860px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.rapfiBoardModal{width:min(1520px,96vw);height:min(940px,98vh);max-height:min(940px,98vh);display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.rapfiBoardBody{min-height:0;flex:1;display:flex;justify-content:center;align-items:center;overflow:auto;padding:14px 18px 18px}.rapfiBoardGrid{min-height:0;flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:14px;overflow:auto;padding:14px 18px 18px}.rapfiBoardWorkerPane{min-width:0;width:100%;display:grid;grid-template-rows:auto auto 1fr;gap:8px;justify-items:center;align-items:center}.rapfiBoardGameLabel{width:100%;color:#334155;font-size:12px;font-weight:700;line-height:1.35;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.rapfiBoardGameLabel:hover,.rapfiBoardGameLabel:focus-visible{color:#155f9b;text-decoration:underline;outline:none}.rapfiBoardMeta{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;background:#fff;color:#617083;font-size:12px;font-weight:800}.rapfiBoardMeta strong{color:#1f5f98;font-size:15px}.rapfiBoardMeta em{color:#455465;font-style:normal}.rapfiBoardModal .boardFrame{width:100%;height:auto;min-height:0}.rapfiBoardModal .compactBoard{width:100%;max-width:540px;--board-padding: 30px;--point-size: clamp(20px, 5.6%, 32px)}.fullGameTable{min-height:0;overflow:auto;padding:12px 18px 18px}.fullGameTable .gameRow{grid-template-columns:48px 112px minmax(180px,1.2fr) minmax(260px,1.4fr) 70px minmax(160px,1fr) 82px}.gameListSelectionBar{display:flex;align-items:center;gap:12px;padding:10px 18px 0;color:#455465;font-size:13px;font-weight:700}.gameRowCheckboxCell{display:flex;align-items:center;justify-content:center}.gameRowCheckboxCell input{width:16px;height:16px}.filterGrid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:auto;padding:18px}.filterGrid label{display:grid;gap:6px;color:#617083;font-size:13px;font-weight:700}.filterGrid .resultFilterField small{color:#7a8796;font-size:11px;font-weight:500;line-height:1.45}.filterGrid input,.filterGrid select{height:36px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit}.comboAddRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tournamentSuggestionPanel{max-height:220px;display:grid;gap:4px;overflow:auto;margin-top:8px;padding:8px;border:1px solid #d7dee5;border-radius:6px;background:#fff}.tournamentSuggestionRow{min-height:28px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:4px 6px;border-radius:4px;color:#1e2937;font-size:12px;font-weight:700}.tournamentSuggestionRow:hover{background:#eef6fd}.tournamentSuggestionHeading{position:sticky;top:0;z-index:1;padding:5px 6px;background:#eef3f7;color:#405466;font-size:11px;font-weight:800}.tournamentSuggestionRowNew{background:#f1f8f2}.filterGrid .tournamentSuggestionRow input{width:16px;height:16px;margin:0;padding:0}.tournamentSuggestionRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournamentSuggestionMore{min-height:30px;border:1px solid #c6d7e6;border-radius:4px;background:#f6fbff;color:#1e5d89;font-size:12px;font-weight:800;cursor:pointer}.tournamentSuggestionMore:hover{background:#e9f4fc}.selectedChips{display:flex;flex-wrap:wrap;gap:8px}.selectedChips button{min-height:30px;display:inline-flex;align-items:center;gap:8px;border:1px solid #c6ced6;border-radius:999px;padding:0 10px;color:#1e2937;background:#fff;cursor:pointer}.selectedChips button:hover{border-color:#2878bd;background:#eef6fd}.selectedChips span{color:#64748b;font-weight:900}.wideField{grid-column:1 / -1}.modalFooter{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid #d8e0e7}.analysisControls{display:grid;grid-template-columns:minmax(220px,1fr) auto 140px 140px auto;gap:10px;align-items:end;padding:10px 16px;border-bottom:1px solid #d8e0e7}.analysisHistory{display:flex;align-items:center;gap:8px;padding:7px 16px;border-bottom:1px solid #d8e0e7;background:#f3f7fa}.analysisHistory span{color:#617083;font-size:12px;font-weight:800}.exportActions{display:flex;justify-content:flex-end;gap:8px;padding:6px 16px 0}.exportActions .toolButton{height:32px}.rapfiSettingsPanel{display:grid;grid-template-columns:minmax(220px,1fr) 120px 80px 80px 100px auto;gap:10px;align-items:end;padding:14px 18px;border-bottom:1px solid #d8e0e7;background:#f3f7fa}.rapfiSettingsPanel label,.rapfiFilterSummary{display:grid;gap:6px;color:#617083;font-size:12px;font-weight:800}.rapfiFilterSummary{grid-column:1 / -1}.rapfiFilterSummary strong{min-height:32px;display:flex;align-items:center;border:1px solid #d7dee5;border-radius:6px;padding:6px 10px;color:#1e2937;background:#fff;font-size:13px}.rapfiEngineField{grid-column:span 2;grid-template-columns:minmax(0,1fr) 62px}.rapfiEngineField span{grid-column:1 / -1}.rapfiSettingsPanel input{height:34px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 9px;color:#1e2937;background:#fff;font:inherit}.rapfiRunContainer{grid-column:1 / -1;display:flex;align-items:center;gap:16px;margin-top:4px}.rapfiInlineProgressBar{flex:1;display:grid;gap:4px}.rapfiProgressBar{padding:8px 18px 10px;border-bottom:1px solid #d8e0e7;background:#f8fafb;display:grid;gap:6px}.rapfiProgressTrack{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.rapfiProgressFill{height:100%;border-radius:999px;transition:width .3s ease}.rapfiProgressGames{background:linear-gradient(90deg,#2563eb,#38bdf8)}.rapfiProgressLabels{display:flex;align-items:center;gap:16px;font-size:12px;color:#617083}.rapfiProgressStat{display:flex;align-items:center;gap:4px}.rapfiProgressStat strong{color:#1e2937;font-weight:800}.rapfiProgressStat em{color:#94a3b8;font-style:normal}.rapfiProgressDot{display:inline-block;width:8px;height:8px;border-radius:50%}.rapfiProgressDot.games{background:#2563eb}.rapfiProgressDot.moves{background:#38bdf8}.rapfiProgressPct{margin-left:auto;font-weight:800;font-size:13px;color:#2563eb}.rapfiLogPanel{display:grid;grid-template-rows:auto minmax(80px,180px);border-bottom:1px solid #d8e0e7;background:#111827}.rapfiLogHeader{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;color:#d1d5db;font-size:12px;font-weight:800}.rapfiLogHeader span{color:#9ca3af}.rapfiLogBody{overflow:auto;padding:0 12px 10px;color:#d1d5db;font-family:Consolas,Courier New,monospace;font-size:11px}.rapfiLogLine{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;min-height:18px}.rapfiLogLine span{color:#93c5fd;text-transform:uppercase}.rapfiLogLine.error span,.rapfiLogLine.error code{color:#fca5a5}.rapfiLogLine.command span{color:#fbbf24}.rapfiLogLine code{min-width:0;overflow-wrap:anywhere;color:inherit;white-space:pre-wrap}.rapfiLogEmpty{color:#9ca3af;font-family:Inter,Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:12px}.rapfiReference{display:grid;gap:10px;min-width:0;margin-top:12px;padding:12px;border:1px solid #d7dee5;border-radius:8px;background:#f8fafc}.rapfiReferenceError{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid #f0b7bd;border-radius:8px;background:#fff7f8;color:#7f1d2d}.rapfiReferenceError strong{font-size:14px;font-weight:900}.rapfiReferenceError span{color:#9f3443;font-size:12px;font-weight:800}.rapfiReferenceError em{color:#647386;font-size:11px;font-style:normal;word-break:break-all}.rapfiReferenceNotice{display:grid;gap:5px;margin-top:12px;padding:12px;border:1px solid #d7dee5;border-radius:8px;background:#f8fafc;color:#334155}.rapfiReferenceNotice strong{font-size:14px;font-weight:900}.rapfiReferenceNotice span{color:#647386;font-size:12px;font-weight:800}.rapfiReferenceHeader{display:flex;justify-content:space-between;gap:12px;color:#1e2937}.rapfiReferenceHeader span{min-width:0;color:#64748b;font-size:12px;font-weight:700;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.rapfiReferenceStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.rapfiMetricValue{display:grid;gap:2px;justify-items:center;line-height:1.15}.rapfiMetricValue strong{color:#1e2937;font-size:13px;font-weight:900}.rapfiMetricValue em{color:#647386;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.rapfiReferenceLists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rapfiReferenceLists div{display:grid;gap:5px;min-width:0}.rapfiReferenceLists span{color:#64748b;font-size:12px;font-weight:800}.rapfiReferenceLists em{min-width:0;color:#334155;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historyChip,.historyClear{min-height:28px;border:1px solid #cbd5df;border-radius:999px;padding:0 10px;color:#24303d;background:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.historyClear{margin-left:auto;color:#9b3442}.analysisControls input{height:36px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit}.tournamentAnalysisControls{grid-template-columns:minmax(280px,1fr) auto auto}.tournamentPickerArea{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:10px;padding:10px 16px;border-bottom:1px solid #d8e0e7;background:#f8fafb}.tournamentCategoryPanel{display:grid;gap:8px;padding:8px 16px 10px;border-bottom:1px solid #d8e0e7;background:#f8fafb}.tournamentCategoryCreate{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:8px}.tournamentCategoryCreate input{height:34px;min-width:0;border:1px solid #c6ced6;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit}.tournamentCategoryCreate span{color:#617083;font-size:12px;font-weight:700;white-space:nowrap}.tournamentCategoryList{display:grid;gap:6px;max-height:120px;overflow-y:auto}.tournamentCategoryList>em{color:#64748b;font-size:12px}.tournamentCategoryItem{border:1px solid #d7dee5;border-radius:8px;background:#fff}.tournamentCategoryItem summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;cursor:pointer;color:#1e2937;font-size:13px}.tournamentCategoryItem summary span{color:#64748b;font-size:12px;font-weight:700}.tournamentCategoryActions{display:flex;flex-wrap:wrap;gap:8px;padding:0 10px 8px}.tournamentCategoryRows{display:grid;gap:4px;padding:0 10px 10px}.tournamentCategoryRows>em{color:#64748b;font-size:12px}.tournamentCategoryRow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;color:#334155;font-size:12px}.tournamentCategoryRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameCategoryModal{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:14px;background:#fff;box-shadow:0 24px 80px #0f172a47;overflow:hidden}.gameCategoryModal.wide{width:min(880px,calc(100vw - 32px))}.gameCategoryBody{display:grid;gap:12px;padding:16px;overflow:auto}.gameCategoryCreateForm,.gameFavoriteAddControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.gameCategoryCreateForm input,.gameFavoriteAddControls input,.gameFavoriteAddControls select{min-width:0;height:34px;border:1px solid #c6ced6;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit}.gameCategoryStatus,.gameFavoriteAddPanel em{margin:0;color:#1f5f98;font-size:12px;font-style:normal;font-weight:800}.gameCategoryExisting{display:grid;gap:8px;padding:12px;border:1px solid #d7dee5;border-radius:10px;background:#f8fafb}.gameCategoryExisting ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gameCategoryExisting li{display:flex;justify-content:space-between;gap:10px;color:#334155;font-size:13px}.gameCategoryExisting span,.gameCategoryExisting em{color:#64748b;font-size:12px}.gameCategoryList{display:grid;gap:8px}.gameCategoryItem{border:1px solid #d7dee5;border-radius:10px;background:#fff}.gameCategoryItem summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;color:#1e2937}.gameCategoryItem summary span{color:#64748b;font-size:12px;font-weight:800}.gameCategoryActions{display:flex;justify-content:flex-end;gap:8px;padding:0 12px 8px}.gameCategoryRows{display:grid;gap:6px;padding:0 12px 12px}.gameCategoryRows>em{color:#64748b;font-size:12px}.gameCategoryRow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafb}.gameCategoryRow div{min-width:0;display:grid;gap:2px}.gameCategoryRow strong,.gameCategoryRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameCategoryRow span{color:#64748b;font-size:12px}.gameFavoriteAddPanel{display:grid;gap:8px;width:100%;margin-top:12px;padding:10px;border:1px solid #d7dee5;border-radius:10px;background:#f8fafb}.gameFavoriteAddPanel>strong{color:#1e2937;font-size:13px}.gameFavoriteAddPanel>span{color:#64748b;font-size:12px;font-weight:700}.tournamentAnalysisSuggestions{max-height:150px;margin-top:0}.tournamentSelectedChips{align-content:start;min-height:42px;padding:8px;border:1px solid #d7dee5;border-radius:8px;background:#fff}.tournamentRoundTables{display:grid;gap:14px}.tournamentRoundBlock{display:grid;gap:8px}.tournamentRoundBlock .sectionTitleRow{margin-bottom:0}.tournamentAnalysisBody{grid-template-columns:minmax(0,1fr);align-content:start}.scoreCrossTable th,.scoreCrossTable td{min-width:42px;text-align:center;white-space:nowrap}.scoreCrossTable td:first-child,.scoreCrossTable th:first-child{min-width:160px;text-align:left}.scoreTableSelf{color:#94a3b8;background:#f1f5f9}.analysisDateField{display:grid;gap:4px;color:#617083;font-size:11px;font-weight:800}.analysisBody{flex:1 1 0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;overflow:auto;padding:12px 16px 16px}.analysisBody.rapfiAnalysisBody{grid-template-columns:minmax(0,1fr);align-content:start}.rapfiAnalysisBody>.analysisTabs,.rapfiAnalysisBody>.rapfiTableWrap,.rapfiAnalysisBody>.rapfiLogPanel{grid-column:1 / -1}.rapfiAnalysisBody>.analysisTabs{position:sticky;top:0;z-index:2;padding:6px 0;background:#f8fafb}.analysisSummary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;grid-column:1 / -1}.analysisSummary .statBox{flex:1;min-width:120px}.analysisEmpty{flex:1 1 0;min-height:80px;display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:#617083;font-size:14px}.analysisBody section:first-child{grid-column:1 / -1}.analysisTabsSection{grid-column:1 / -1;min-height:360px}.wideAnalysisSection{grid-column:1 / -1}.analysisBody h3{margin:0 0 10px;font-size:15px}.analysisRows{display:grid;gap:6px}.moreRowsButton{width:100%;min-height:36px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:#245f9e;font-size:13px;font-weight:900;cursor:pointer}.moreRowsButton:hover{background:#eef6ff;border-color:#92b9de}.moreRowsButton span{color:#647386;font-size:11px;font-weight:800}.rapfiTableWrap{width:100%;max-width:100%;min-width:0;min-height:180px;overflow:auto}.rapfiTable{min-width:1040px}.rapfiJudgmentSummary{grid-column:1 / -1}.rapfiJudgmentTable{min-width:620px}.comparisonTable{table-layout:auto}.rapfiJudgmentTable th,.rapfiJudgmentTable td{white-space:nowrap}.rapfiJudgmentTable td:first-child{font-weight:800}.tournamentRapfiRankingTable{min-width:1780px}.tournamentParticipantTable th:nth-child(9),.tournamentParticipantTable td:nth-child(9){display:none}.legacyHidden{display:none}.contentPerformanceNote{grid-column:1 / -1;margin-top:-4px;color:#617083;font-size:12px;font-weight:800}.linkStats{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.linkStats button,.textButton{min-height:32px;border:1px solid #b7c8d9;border-radius:6px;padding:0 10px;color:#1f5f98;background:#fff;font:inherit;font-weight:800;cursor:pointer}.sectionTitleRow{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.sectionTitleRow h3{margin:0}.sectionTitleActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.ruleTabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.topRuleTabs{margin-bottom:14px}.suggestMode,.analysisTabs{display:flex;gap:6px;align-items:center}.ruleTabs button,.suggestMode button,.analysisTabs button{min-height:30px;border:1px solid #cbd5df;border-radius:6px;padding:0 10px;color:#455465;background:#fff;font:inherit;font-weight:800;cursor:pointer}.ruleTabs button.active,.suggestMode button.active,.analysisTabs button.active{border-color:#2878bd;color:#fff;background:#2878bd}.analysisRow{min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;background:#fff}.linkedRow{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.linkedRow:hover,.linkStats button:hover,.textButton:hover{border-color:#2878bd;background:#eef6fd}.textButton.dangerText{border-color:#fecaca;color:#b91c1c}.textButton.dangerText:hover{border-color:#dc2626;background:#fef2f2}.inlineActionGroup{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.inlineActionGroup .textButton{min-height:24px;padding:0 6px;font-size:11px}.rapfiSnapshotStatus{color:#4f6378;font-size:12px;font-weight:800}.badMoveListLauncher{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #d7dee5;border-radius:10px;background:#f8fafb}.badMoveListLauncher div{min-width:0;display:grid;gap:4px}.badMoveListLauncher strong{color:#1e2937;font-size:14px}.badMoveListLauncher span{color:#64748b;font-size:12px;font-weight:700}.badMoveListModal{width:min(1180px,calc(100vw - 32px));height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column}.badMoveSummaryGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:10px 16px;border-bottom:1px solid #d8e0e7;background:#f8fafb}.badMoveSummaryCard{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid #d7dee5;border-radius:10px;background:#fff;color:#455465;font-size:12px;font-weight:700}.badMoveSummaryCard strong{color:#1e2937;font-size:13px}.badMoveListPager{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #d8e0e7;color:#455465;font-size:13px;font-weight:800}.badMoveListTableWrap{flex:1;min-height:0;margin:0;padding:12px 16px 16px;overflow:auto}.rapfiMaintenancePanel{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid #d7dee5;border-radius:8px;background:#f8fafb}.rapfiMaintenancePanel div{min-width:0;display:grid;gap:3px}.rapfiMaintenancePanel strong{color:#1e2937;font-size:13px}.rapfiMaintenancePanel span{color:#64748b;font-size:12px;font-weight:700}.fifthMoveRapfiModal{width:min(1080px,calc(100vw - 32px));height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column}.fifthMoveRapfiActions{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #d8e0e7;background:#f8fafb}.fifthMoveRapfiTableWrap{flex:1;min-height:0;margin:0;padding:12px 16px 16px;overflow:auto}.rapfiLazyPanel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid #d7dee5;border-radius:10px;background:#f8fafb}.rapfiLazyPanel div{min-width:0;display:grid;gap:4px}.rapfiLazyPanel strong{color:#1e2937;font-size:14px}.rapfiLazyPanel span{color:#64748b;font-size:12px;font-weight:700}.profileSummary{min-height:44px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;margin:10px 0 12px;padding:8px 12px;border:1px solid #c8d8e6;border-radius:8px;background:#f5f9fc}.profileSummary span{color:#617083;font-size:12px;font-weight:800}.profileSummary strong{color:#1f5f98;font-size:18px;font-weight:900}.profileSummary em{min-width:0;color:#526173;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.averageMoveBreakdown{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;align-items:stretch}.averageMoveTitle,.averageMoveCell{min-height:48px;display:grid;align-content:center;border:1px solid #d8e0e7;border-radius:8px;background:#fff}.averageMoveTitle{min-width:76px;place-items:center;padding:0 10px;color:#617083;font-size:12px;font-weight:900}.averageMoveCell{gap:2px;padding:7px 9px}.averageMoveCell span{color:#617083;font-size:11px;font-weight:800}.averageMoveCell strong{color:#1e2937;font-size:16px;font-weight:900;line-height:1.1}.averageMoveCell em{color:#758397;font-size:11px;font-style:normal}.analysisInsightGrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}.performanceChartPanel{display:grid;gap:10px;margin-bottom:16px;padding:14px 16px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.performanceChartTooltip{min-height:38px;display:flex;align-items:center;gap:14px;padding:7px 10px;border:1px solid #c8d8e6;border-radius:6px;background:#f5f9fc;color:#526173;font-size:12px}.performanceChartTooltip strong{color:#1f5f98;font-size:14px;font-weight:900}.performanceChartTooltip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.performanceChart{overflow:visible}.performanceChartDot{cursor:pointer;transition:r .15s,opacity .15s}.performanceChartDot:hover{opacity:.78}.analysisInsightGrid h3{margin:0 0 8px}.weakOpeningGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.weakOpeningCard{min-height:132px;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:10px;padding:10px;border:1px solid #dce3ea;border-radius:8px;color:#24303d;background:#fff;font:inherit;text-align:left;cursor:pointer}.weakOpeningCard:hover{border-color:#2878bd;background:#eef6fd}.weakOpeningCard .miniOpeningBoard{width:90px;height:90px}.weakOpeningCard div{min-width:0;display:grid;gap:5px}.weakOpeningCard strong{font-size:17px;font-weight:900}.weakOpeningCard span,.weakOpeningCard em{min-width:0;overflow:hidden;color:#526173;font-size:12px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.compactInsightRows{margin-bottom:14px}.performanceRow,.swingRow{grid-template-columns:minmax(140px,1fr) minmax(220px,auto)}.analysisRow span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysisRow strong{color:#455465;font-size:13px}.opponentRow{grid-template-columns:minmax(180px,1fr) auto}.compactTabs button{min-height:28px}.swapChart{display:grid;gap:8px}.swapMoveRatePanel{display:grid;gap:10px;margin-bottom:18px}.swapMoveRateGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.swapMoveRateCard{display:grid;gap:9px;padding:12px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.swapMoveRateCard>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.swapMoveRateCard span{color:#617083;font-size:12px;font-weight:900}.swapMoveRateCard strong{color:#1f5f98;font-size:24px;font-weight:900}.swapRateTrack{height:8px;overflow:hidden;border-radius:999px;background:#e4ebf2}.swapRateTrack span{display:block;height:100%;border-radius:inherit;background:#2878bd}.swapRateActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.swapRateActions button{min-height:28px;border:1px solid #cbd5df;border-radius:6px;color:#455465;background:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.swapRateActions button:hover{border-color:#2878bd;background:#eef6fd}.swapPatternGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(520px,1fr));gap:14px;margin-bottom:16px}.swapStepMapGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:18px}.swapPositionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;margin-bottom:18px}.swapStepCard,.swapPositionCard{display:grid;gap:10px;padding:12px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.swapStepBoard{--crop-pad: 16px;--crop-scale-x: calc((100% - var(--crop-pad) * 2) / 100%);--crop-scale-y: calc((100% - var(--crop-pad) * 2) / 100%);position:relative;width:min(100%,260px);aspect-ratio:1;justify-self:center;border:1px solid #9b7748;background:#d9ad70}.swapStepLines{position:absolute;inset:var(--crop-pad);background:linear-gradient(#5f3f1b 1px,transparent 1px),linear-gradient(90deg,#5f3f1b 1px,transparent 1px);background-position:0 0;box-shadow:inset -1px 0 #5f3f1b,inset 0 -1px #5f3f1b}.swapStepPoint{position:absolute;z-index:2;display:grid;place-items:center;transform:translate(-50%,-50%);border:1px solid #b9c6bd;border-radius:50%;color:#e60012;background:#ffffffeb;font:inherit;cursor:pointer}.swapStepPoint strong{font-size:13px;font-weight:900}.swapFixedStone,.swapCandidateLabel{position:absolute;z-index:2;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;font-weight:900}.swapFixedStone{width:24px;height:24px;color:#fff;font-size:13px;box-shadow:0 1px 5px #10182247}.swapFixedStone.black{background:radial-gradient(circle at 35% 30%,#545d67,#050607 68%)}.swapFixedStone.white{color:#e60012;background:radial-gradient(circle at 35% 30%,#fff,#d7dde4 72%);border:1px solid #9fa8b2}.swapCandidateLabel{width:22px;height:22px;border:1px solid #b9c6bd;color:#e60012;background:#fffffff0;font:inherit;font-size:11px;cursor:pointer}.swapStepRows{display:grid;gap:6px}.swapStepRow{min-height:34px;display:grid;grid-template-columns:44px minmax(130px,auto) minmax(0,1fr);align-items:center;gap:8px;border:1px solid #dce3ea;border-radius:6px;padding:0 8px;color:#24303d;background:#f9fbfc;font:inherit;text-align:left;cursor:pointer}.swapStepRow span,.swapStepRow strong,.swapStepRow em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swapStepRow strong{color:#455465;font-size:12px}.swapStepRow em{color:#617083;font-size:11px;font-style:normal}.swapPatternCard{min-height:190px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:start;padding:12px;border:1px solid #dce3ea;border-radius:8px;color:#24303d;background:#fff;font:inherit;text-align:left;cursor:pointer}.swapPatternCard:hover{border-color:#2878bd;background:#eef6fd}.miniOpeningBoard{position:relative;width:168px;aspect-ratio:1;border:1px solid #9b7748;background:#d9ad70}.miniOpeningBoard .swapFixedStone{width:16px;height:16px;font-size:9px;box-shadow:0 1px 3px #10182240}.miniBoardLines{position:absolute;top:10px;right:10px;bottom:10px;left:10px;background:linear-gradient(#5f3f1b 1px,transparent 1px),linear-gradient(90deg,#5f3f1b 1px,transparent 1px);background-size:calc(100% / 14) calc(100% / 14);box-shadow:inset -1px 0 #5f3f1b,inset 0 -1px #5f3f1b}.miniMove{position:absolute;z-index:2;width:24px;height:24px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:#fff;font-size:12px;font-weight:900;box-shadow:0 1px 3px #10182240}.miniMove.player{background:#2878bd}.miniMove.opponent{background:#5f6d7c}.swapPatternBody{display:grid;gap:8px}.swapPatternBody strong{font-size:15px}.swapMoveDetails{display:grid;gap:6px}.swapMoveDetail{display:grid;gap:3px;border-radius:6px;padding:6px 8px}.swapMoveDetail.player{color:#1f5f98;background:#e8f3fc}.swapMoveDetail.opponent{color:#455465;background:#edf0f3}.swapMoveDetail span{font-size:13px;font-weight:900}.swapMoveDetail small,.swapMoveDetail em{min-width:0;overflow:hidden;color:#526173;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.swapBarRow{min-height:40px;display:grid;grid-template-columns:120px minmax(160px,1fr) 120px;align-items:center;gap:12px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;color:#24303d;background:#fff;font:inherit;text-align:left;cursor:pointer}.swapBarRow:hover{border-color:#2878bd;background:#eef6fd}.swapBarRow span,.swapBarRow strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swapBarRow strong{color:#455465;font-size:13px;text-align:right}.swapTrack{height:18px;border-radius:999px;background:#e4eaf0}.swapOpportunity{height:100%;overflow:hidden;border-radius:inherit;background:#cdd7e0}.swapOpportunity i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f7fc1,#64a34f)}.emptyAnalysis{min-height:160px;display:grid;place-items:center;color:#617083}.trendChart{min-height:0;display:grid;gap:8px;overflow:auto;padding:18px}.trendBarRow{min-height:38px;display:grid;grid-template-columns:62px 58px minmax(120px,1fr) 56px;align-items:center;gap:10px;padding:0 10px;border:1px solid #dce3ea;border-radius:6px;background:#fff}.trendBarRow span,.trendBarRow strong,.trendBarRow em{font-size:13px}.trendBarRow em{color:#647386;font-style:normal;text-align:right}.trendTrack{height:16px;overflow:hidden;border-radius:999px;background:#e3e9ef}.trendBar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2878bd,#64a34f)}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #d8e0e7}.modalHeaderTitle{min-width:0;display:flex;align-items:center;gap:10px}.modalHeaderTitle>div{min-width:0}.modalBackButton{flex:0 0 auto}.modalHeader h2{margin:0 0 5px;font-size:18px}.modalHeader span{color:#617083;font-size:14px}.modalBody{min-height:0;display:grid;grid-template-columns:minmax(430px,1fr) minmax(320px,.8fr);gap:18px;overflow:auto;padding:18px}.detailBoardWrap{display:grid;align-content:start;justify-items:center;gap:12px}.detailBoardWrap .boardFrame{width:100%;height:auto;min-height:0}.detailControls{display:flex;align-items:center;justify-content:center;gap:8px}.detailControls span{min-width:72px;color:#455465;font-weight:700;text-align:center}.gameInfo{display:grid;align-content:start;gap:8px;margin:0}.gameInfo div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 12px;border:1px solid #dce3ea;border-radius:6px;background:#fff}.gameInfo .wideInfo{grid-template-columns:92px minmax(0,1fr)}.openingMovePlayers{display:grid;gap:4px}.openingMovePlayers span{min-height:24px;display:flex;align-items:center;border-radius:4px;padding:0 8px;background:#f3f7fa;color:#24303d;font-size:13px}.gameInfo dt{color:#617083;font-size:13px}.gameInfo dd{min-width:0;margin:0;overflow-wrap:anywhere}.detailHeaderLink,.inlineLinkButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#1d4ed8;font:inherit;font-weight:800;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.detailHeaderLink{margin:0;padding:0;color:#475569;font-size:13px}.inlineLinkButton{max-width:100%;padding:0}.detailHeaderLink:hover,.inlineLinkButton:hover{color:#0f3bb7}.gameDetailRapfiSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gameInfo .gameDetailRapfiSummary{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:0;background:transparent}.gameInfo .gameDetailRapfiCard{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;border-color:#c9d8ee;background:#f8fbff}.gameInfo .gameDetailEvaluationGraph,.gameInfo .gameDetailMoveEvaluations{display:grid;grid-column:1 / -1;grid-template-columns:1fr;gap:8px;padding:10px;border:1px solid #c9d8ee;border-radius:8px;background:#f8fbff}.gameDetailMoveEvaluations header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gameDetailMoveEvaluations header strong{color:#334155;font-size:12px}.gameDetailMoveEvaluations header span{color:#64748b;font-size:12px;font-weight:700}.gameDetailMoveEvaluationTableWrap{display:block;max-height:280px;overflow:auto;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.gameInfo .gameDetailMoveEvaluationTableWrap{display:block;grid-template-columns:none;gap:0;padding:0;border:1px solid #e2e8f0;background:#fff}.gameDetailMoveEvaluationTable{width:100%;min-width:760px;border-collapse:collapse;font-size:12px}.gameDetailMoveEvaluationTable th,.gameDetailMoveEvaluationTable td{padding:6px 8px;border-bottom:1px solid #edf2f7;text-align:left;white-space:nowrap}.gameDetailMoveEvaluationTable th{position:sticky;top:0;z-index:1;background:#f1f5f9;color:#475569;font-size:11px}.gameDetailMoveEvaluationTable small{color:#64748b;font-weight:800}.moveJudgmentBadge{display:inline-flex;align-items:center;min-height:20px;border-radius:999px;padding:0 8px;background:#e2e8f0;color:#334155;font-size:11px;font-weight:900}.moveJudgmentBadge.best_like{background:#dcfce7;color:#166534}.moveJudgmentBadge.next_best,.moveJudgmentBadge.normal{background:#e0f2fe;color:#075985}.moveJudgmentBadge.questionable{background:#fef3c7;color:#92400e}.moveJudgmentBadge.bad_high,.moveJudgmentBadge.bad_low,.moveJudgmentBadge.missed_high,.moveJudgmentBadge.missed_low,.moveJudgmentBadge.lost_high,.moveJudgmentBadge.lost_low{background:#fee2e2;color:#991b1b}.gameDetailEvaluationGraph header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gameDetailEvaluationGraph header strong{color:#334155;font-size:12px}.gameDetailEvaluationGraph header span{color:#64748b;font-size:12px;font-weight:700}.gameDetailEvaluationGraph svg{width:100%;height:auto;min-height:180px;border-radius:6px;background:#fff}.gameDetailEvaluationGraph line{stroke:#dbe3ec;stroke-width:1}.gameDetailEvaluationGraph line.vertical{stroke-dasharray:3 3}.gameDetailEvaluationGraph line.neutral{stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:5 4}.gameDetailEvaluationGraph path{fill:none;stroke:#2563eb;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.gameDetailEvaluationGraph circle{fill:#2563eb;stroke:#fff;stroke-width:1.5}.gameDetailEvaluationGraph text{fill:#64748b;font-size:11px}.gameDetailEvaluationLegend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#475569;font-size:12px;font-weight:800}.gameDetailEvaluationGraph.empty p{margin:0;color:#64748b;font-size:12px}.gameDetailRapfiCard header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gameDetailRapfiCard header strong{color:#1d4ed8}.gameDetailRapfiCard header span{color:#475569;font-size:12px;font-weight:700}.gameDetailRapfiCard dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.gameInfo .gameDetailRapfiCard dl div{display:grid;grid-template-columns:1fr;gap:2px;padding:6px 7px;border:0;border-radius:4px;background:#fff}.gameDetailRapfiCard dl dt{color:#64748b;font-size:11px}.gameDetailRapfiCard dl dd{color:#0f172a;font-size:13px;font-weight:800}.gameDetailCandidateRanks,.gameDetailJudgmentBreakdown{display:grid;grid-template-columns:1fr;gap:6px}.gameInfo .gameDetailCandidateRanks,.gameInfo .gameDetailJudgmentBreakdown{grid-template-columns:1fr;padding:0;border:0;background:transparent}.gameDetailCandidateRanks>strong,.gameDetailJudgmentBreakdown>strong,.gameDetailCriticalMoves header strong{color:#334155;font-size:12px}.gameDetailCandidateRanks>div,.gameDetailJudgmentBreakdown>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.gameInfo .gameDetailCandidateRanks>div,.gameInfo .gameDetailJudgmentBreakdown>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0;border:0;background:transparent}.gameDetailCandidateRank,.gameDetailJudgmentItem{display:grid;gap:2px;padding:6px;border-radius:4px;background:#fff}.gameDetailCandidateRank b,.gameDetailJudgmentItem b{color:#64748b;font-size:10px}.gameDetailCandidateRank em,.gameDetailJudgmentItem em{color:#0f172a;font-size:13px;font-style:normal;font-weight:800}.gameDetailCandidateRank small{color:#64748b;font-size:10px}.gameInfo .gameDetailCriticalMoves{display:grid;grid-column:1 / -1;grid-template-columns:1fr;gap:8px;padding:10px;border-color:#c9d8ee;background:#f8fbff}.gameDetailCriticalMoves header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gameDetailCriticalMoves header span{color:#64748b;font-size:12px;font-weight:700}.gameDetailCriticalMoves ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.gameDetailCriticalMoves li{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;border-radius:4px;background:#fff}.gameDetailCriticalMoves li strong{color:#1d4ed8;font-size:12px}.gameDetailCriticalMoves li span{min-width:0;color:#334155;font-size:12px;font-weight:700;overflow-wrap:anywhere}.gameDetailCriticalMoves li em{color:#0f172a;font-size:12px;font-style:normal;font-weight:800}.gameDetailCriticalMoves p{margin:0;color:#64748b;font-size:12px}@media (max-width: 1100px){body{min-width:760px}.workspace{grid-template-columns:minmax(420px,62%) minmax(0,1fr)}.boardPanel,.insightPanel{padding-inline:12px}.controlBar{grid-template-columns:1fr;gap:6px}.moveControls,.modeControls{justify-content:center}.gameRow{grid-template-columns:98px minmax(140px,1fr) minmax(220px,1.2fr) 56px minmax(110px,.8fr)}.fullGameTable .gameRow{grid-template-columns:98px minmax(140px,1fr) minmax(220px,1.2fr) 56px minmax(110px,.8fr) 78px}.modalBody,.analysisBody{grid-template-columns:1fr}}.gameLinks{display:flex;gap:8px;align-items:center}.textLink{color:#245f9e;text-decoration:underline;font-weight:700;cursor:pointer}.textLink:hover{color:#1c4f86}.kifuExportSection{width:100%;display:grid;gap:12px;margin-top:8px;padding:12px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.detailTransformControls{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}.detailTransformControls .toolButton{height:30px;min-width:86px;padding:0 10px;font-size:12px}.kifuField{display:grid;gap:6px}.kifuLabel{font-size:12px;font-weight:700;color:#617083}.kifuInputGroup{display:flex;gap:8px}.kifuInput{flex:1;min-width:0;height:32px;border:1px solid #c6ced6;border-radius:6px;padding:0 8px;font-family:monospace;font-size:13px;background:#f8fafb;color:#1e2937}.sgfTextarea{height:auto;padding:6px 8px;resize:none}.kifuCopyButton{height:32px;padding:0 12px;border:1px solid #c6ced6;border-radius:6px;background:#fff;color:#1e2937;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.kifuCopyButton:hover{background:#edf5ff;border-color:#92b9de}.ratingHistoryTab{grid-column:1 / -1;display:grid;gap:16px;margin-top:10px}.ratingMilestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ratingMilestone{min-height:82px;display:grid;align-content:center;gap:4px;padding:10px 12px;border:1px solid #dce3ea;border-radius:8px;color:#1e2937;background:#fff;font:inherit;text-align:left;cursor:pointer}.ratingMilestone:hover{border-color:#2878bd;background:#eef6fd}.ratingMilestone span{color:#617083;font-size:12px;font-weight:800}.ratingMilestone strong{color:#1f5f98;font-size:22px;font-weight:900}.ratingMilestone.positive strong{color:#2f8a4d}.ratingMilestone.negative strong{color:#b74352}.ratingMilestone em{min-width:0;color:#526173;font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svgChartContainer{display:grid;gap:12px;padding:16px;border:1px solid #dce3ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000d}.chartTooltip{min-height:48px;display:flex;flex-direction:column;justify-content:center;padding:8px 14px;border:1px solid #c8d8e6;border-radius:6px;background:#f0f7ff;color:#1e2937;font-size:13px;line-height:1.4}.chartTooltip.placeholder{color:#6b7280;font-style:italic}.tooltipRating{color:#2563eb;font-weight:800;font-size:14px}.tooltipEvent{color:#4b5563;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratingHistoryTableContainer{display:grid;gap:6px}.ratingHistoryTable{max-height:280px;overflow-y:auto;display:grid;gap:6px;padding-right:4px}.ratingHistoryHeader{min-height:30px;display:grid;grid-template-columns:96px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:0 12px;color:#617083;font-size:12px;font-weight:800}.ratingHistoryRow{min-height:34px;display:grid;grid-template-columns:96px minmax(0,1fr) 72px;align-items:center;gap:12px;border:1px solid #dce3ea;border-radius:6px;padding:0 12px;background:#fff;color:#1e2937;font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}.ratingHistoryRow:hover{border-color:#93c5fd;background-color:#f8fafc}.ratingHistoryRow strong{color:#4b5563;font-weight:500}.ratingHistoryRow span{color:#1e2937;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ratingHistoryRow em{color:#2563eb;font-weight:800;font-style:normal;text-align:right}.chartDot{cursor:pointer;transition:r .15s,fill .15s}.rapfiRatingTrend{display:grid;gap:10px;margin:10px 0;padding:14px;border:1px solid #dce3ea;border-radius:8px;background:#fff}.rapfiRatingTrendHeader{min-height:46px;display:flex;justify-content:space-between;align-items:center;gap:16px}.rapfiRatingTrendHeader>div:first-child{min-width:0;display:grid;gap:3px}.rapfiRatingTrendHeader>div:first-child strong{overflow:hidden;color:#1e2937;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rapfiRatingTrendHeader>div:first-child span{color:#617083;font-size:11px}.rapfiRatingTrendValues{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:12px}.rapfiRatingTrendValues span{white-space:nowrap}.rapfiRatingTrendHeaderActions{display:flex;align-items:center;gap:12px}.rapfiTrendGuideToolbar{display:flex;align-items:center;gap:6px}.rapfiTrendGuideToolbar button{min-height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid #cbd5df;border-radius:5px;padding:0 9px;background:#fff;color:#46586a;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.rapfiTrendGuideToolbar button:hover:not(:disabled),.rapfiTrendGuideToolbar button.active{border-color:#cf3f3f;background:#fff1f1;color:#ad2525}.rapfiTrendGuideToolbar button:disabled{opacity:.4;cursor:not-allowed}.rapfiRatingTrendCanvas{min-width:0;overflow-x:auto}.rapfiRatingTrendCanvas svg{min-width:680px;display:block}.rapfiRatingTrendCanvas svg.guidePlacementActive{cursor:crosshair}.rapfiTrendGuideLine{color:#dc2626;cursor:pointer}.rapfiTrendGuideLine>line:not(.rapfiTrendGuideHitArea){stroke:currentColor;stroke-width:2;pointer-events:none}.rapfiTrendGuideHitArea{stroke:transparent;stroke-width:14}.rapfiTrendGuideLine text{fill:currentColor;font-size:11px;font-weight:800;pointer-events:none}.rapfiTrendGuideLine:hover{color:#991b1b}.rapfiRatingTrendLegend{display:flex;flex-wrap:wrap;gap:10px 18px;color:#526173;font-size:12px;font-weight:700}.rapfiRatingTrendLegend label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.rapfiRatingTrendLegend label.muted{opacity:.45}.rapfiRatingTrendLegend input{width:15px;height:15px;margin:0}.rapfiRatingTrendLegend i{width:18px;height:3px;display:inline-block;border-radius:2px}.rapfiRatingTrendModes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rapfiRatingTrendModes>div{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:4px 7px;padding:8px 10px;border:1px solid #dce3ea;border-radius:6px;background:#f8fafb}.rapfiRatingTrendModes i{width:18px;height:3px;border-radius:2px}.rapfiRatingTrendModes span{min-width:0;overflow:hidden;color:#526173;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.rapfiRatingTrendModes strong{color:#1e2937;font-size:13px;white-space:nowrap}.rapfiRatingTrendModes em{grid-column:2 / 4;color:#738194;font-size:10px;font-style:normal}.rapfiRatingTrend p{margin:0;color:#617083;font-size:11px}.rapfiRatingTrendBackdrop{z-index:60}.rapfiRatingTrendModal{width:min(1640px,98vw);height:min(900px,96vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.rapfiRatingTrendModalBody{min-height:0;overflow:auto;padding:16px}.rapfiRatingTrendLarge{min-height:100%;margin:0}.rapfiRatingTrendLarge .rapfiRatingTrendCanvas svg{min-width:1120px}@media (max-width: 760px){.rapfiRatingTrendModes{grid-template-columns:1fr}}.chartDot:hover{fill:#ef4444}.statsViewContainer{min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;padding:16px;overflow:hidden;background:#eef1f4}.statsSidebar{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #dce3ea;border-radius:8px;background:#fff;overflow-y:auto;box-shadow:0 1px 3px #0000000d}.sidebarHeader{display:flex;align-items:center;gap:10px;color:#1e2937;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:4px}.sidebarHeader h3{margin:0;font-size:15px;font-weight:700}.filterGroup{display:flex;flex-direction:column;gap:6px}.filterGroup label{color:#647386;font-size:12px;font-weight:700}.filterGroup select,.filterGroup input{height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit;font-size:13px;width:100%}.filterGroup select:focus,.filterGroup input:focus{border-color:#2878bd;outline:none}.multiFilterGroup{gap:7px}.multiFilterHeader{display:flex;align-items:center;justify-content:space-between;gap:8px}.multiFilterHeader button{min-height:24px;border:1px solid #cbd5e1;border-radius:5px;padding:0 7px;color:#1f5f98;background:#fff;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.multiFilterHeader button:hover{border-color:#2878bd;background:#eef6fd}.multiFilterList{max-height:138px;display:grid;gap:3px;overflow-y:auto;padding:5px;border:1px solid #dce3ea;border-radius:6px;background:#f8fafc}.filterModal .countryFilterList,.filterModal .ruleFilterList{max-height:190px}.multiFilterOption{min-height:26px;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;padding:0 6px;border-radius:5px;color:#334155;font-size:12px;font-weight:700;cursor:pointer}.multiFilterOption:hover{background:#edf5ff}.multiFilterOption input{width:14px;height:14px;margin:0}.multiFilterOption span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiFilterSummary,.multiFilterEmpty{color:#758397;font-size:11px;font-weight:800}.yearInputRow{display:flex;align-items:center;gap:8px}.yearInputRow input{text-align:center;padding:0}.yearInputRow span{color:#647386;font-size:13px}.presetButtonGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.presetButton{height:28px;border:1px solid #cbd5e1;border-radius:4px;font-size:11px;font-weight:700;background:#fff;cursor:pointer;color:#455465;text-align:center;display:grid;place-items:center;padding:0 4px}.presetButton:hover{border-color:#2878bd;background:#eef6fd;color:#1f5f98}.presetButton.active{background:#2878bd;border-color:#2878bd;color:#fff}.clearFilterButton{margin-top:auto;justify-content:center;border-color:#cbd5e1;font-weight:700;color:#647386}.clearFilterButton:hover{border-color:#b24d5a;background:#fff0f1;color:#b24d5a}.statsMainContent{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.kpiGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.kpiCard{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;border:1px solid #dce3ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000d}.kpiCard h4{margin:0;color:#647386;font-size:12px;font-weight:700}.kpiCard .kpiValue{font-size:22px;font-weight:800;color:#1e2937;line-height:1.1}.kpiCard .kpiSubtext{font-size:11px;color:#8a99a8;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statsChartContainer{padding:16px;border:1px solid #dce3ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000d}.chartHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:16px}.chartTitle{display:flex;align-items:center;gap:8px;color:#1e2937}.chartTitle h3{margin:0;font-size:14px;font-weight:700}.chartHoverLabel{font-size:12px;color:#334155;background:#f1f5f9;padding:4px 10px;border-radius:6px;font-weight:600}.chartHoverLabel.placeholder{color:#64748b;font-style:italic;font-weight:400}.statsGridHalf{display:grid;grid-template-columns:1fr 1fr;gap:16px}.statsTableContainer{padding:16px;border:1px solid #dce3ea;border-radius:8px;background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:12px;min-height:380px}.wideStatsTable{grid-column:1 / -1;min-height:320px}.countryStatsPanel{min-height:460px}.countryStatsNotes{display:grid;gap:6px;padding:10px 12px;border:1px solid #c8d8e6;border-radius:6px;background:#f5f9fc;color:#526173;font-size:12px;line-height:1.55}.countryStatsNotes strong{color:#1f5f98;font-size:12px}.countryStatsGrid{min-height:0;display:grid;grid-template-columns:minmax(420px,.95fr) minmax(520px,1.25fr);gap:14px;flex:1}.countryComparisonPanel{display:grid;gap:12px;padding:2px 0}.countrySelectGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.countrySelectGrid label{display:grid;gap:5px;color:#647386;font-size:12px;font-weight:800}.countrySelectGrid select{height:34px;min-width:0;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;color:#1e2937;background:#fff;font:inherit;font-size:13px}.singleCountrySelect{grid-template-columns:minmax(0,1fr);margin-top:4px}.countryResultCard{width:100%;min-height:112px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:6px 14px;padding:14px;border:1px solid #c8d8e6;border-radius:8px;color:#1e2937;background:#fff;font:inherit;text-align:left;cursor:pointer}.countryResultBlock{display:grid;gap:8px}.countryResultCard:hover{border-color:#2878bd;background:#f5f9fc}.countryResultCard span,.countryResultCard em,.countryResultCard small{min-width:0}.countryResultCard span{color:#526173;font-size:13px;font-weight:900}.countryResultCard strong{grid-row:span 3;align-self:center;font-size:34px;line-height:1;font-weight:900}.countryResultCard em{color:#1e2937;font-size:15px;font-style:normal;font-weight:900}.countryResultCard small{color:#647386;font-size:12px}.positiveDelta{color:#1f5f98}.negativeDelta{color:#9b3442}.countryBandRows{display:grid;gap:4px}.countryBandHeader,.countryBandRow{min-height:28px;display:grid;grid-template-columns:minmax(96px,1fr) 58px 64px 64px 58px;align-items:center;gap:8px;padding:0 8px;font-size:12px}.countryBandHeader{color:#647386;font-weight:900}.countryBandRow{border:1px solid #dce3ea;border-radius:6px;color:#24303d;background:#fff;font:inherit;text-align:left;cursor:pointer}.countryBandRow:hover{border-color:#93c5fd;background:#f8fafc}.countryBandHeader span:not(:first-child),.countryBandRow span:not(:first-child),.countryBandRow strong{text-align:right}.countryBandEmpty{min-height:30px;display:flex;align-items:center;padding:0 8px;color:#647386;font-size:12px}.mutedTableText{color:#758397;font-size:12px}.tableHeader{display:flex;align-items:center;gap:8px;color:#1e2937}.tableHeader h3{margin:0;font-size:14px;font-weight:700}.scrollTableArea{min-height:0;overflow-y:auto;flex:1}.statsTable{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.statsTable th,.statsTable td{padding:8px 10px;border-bottom:1px solid #eef2f5;vertical-align:middle}.statsTable th{background:#f7fafc;color:#596676;font-weight:700;position:sticky;top:0;z-index:10;border-bottom:2px solid #cbd5e1}.statsTable tr:hover td{background:#f8fafc}.statsTable tbody tr{cursor:pointer}.rankingToolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 12px;border-bottom:1px solid #d8e0e7;background:#f1f5f9}.rankingToolbar span{color:#526173;font-size:13px;font-weight:700}.rankingPeriodPanel{display:grid;gap:6px;padding:8px 12px;border-bottom:1px solid #d8e0e7;background:#fbfdff;overflow:auto;min-height:40px}.rankingResizeDivider{flex-shrink:0;height:6px;cursor:row-resize;background:#e2e8f0;border-top:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;position:relative;transition:background .15s;-webkit-user-select:none;user-select:none}.rankingResizeDivider:hover,.rankingResizeDivider.dragging{background:#bfdbfe;border-color:#93c5fd}.rankingResizeDivider:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32px;height:2px;border-radius:999px;background:#94a3b8;box-shadow:0 -3px #94a3b8,0 3px #94a3b8}.rankingResizeDivider:hover:before,.rankingResizeDivider.dragging:before{background:#3b82f6;box-shadow:0 -3px #3b82f6,0 3px #3b82f6}.rankingPeriodHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.rankingPeriodHeader strong{color:#1e3a8a;font-size:14px}.rankingPeriodHeader span,.rankingPeriodPanel p,.rankingPeriodStatus{margin:0;color:#64748b;font-size:12px;font-weight:700}.rankingPeriodPresets,.rankingPeriodControls,.rankingRuleMulti{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rankingPeriodPresets button,.rankingRuleMulti button{min-height:24px;border:1px solid #cbd5e1;border-radius:999px;padding:0 10px;color:#475569;background:#fff;font-size:12px;font-weight:800}.rankingPeriodPresets button.active,.rankingRuleMulti button.active{border-color:#2563eb;color:#fff;background:#2563eb}.rankingPeriodControls label{display:grid;grid-template-columns:auto 86px;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:800}.rankingPeriodControls input{height:26px;border:1px solid #cbd5e1;border-radius:6px;padding:0 8px}.rankingRuleMulti>span{color:#475569;font-size:12px;font-weight:900}.rankingCountryMulti{max-height:56px;align-items:flex-start;overflow:auto;padding-right:4px}.segmentedControl,.segmentedControls{display:inline-flex;gap:2px;overflow:hidden;border:1px solid #cbd7e2;border-radius:6px;background:#fff}.segmentedControl button,.segmentedControls button{min-height:32px;border:0;border-radius:0;padding:0 12px;color:#526173;background:transparent;font-weight:800;cursor:pointer}.segmentedControl button.active,.segmentedControls button.active{color:#fff;background:#2878bd}.rankingBody{flex:1;min-height:0}.rankingTable tbody tr{cursor:default}.rankingRank{color:#526173;font-weight:900}.rankingPlayerButton{border:0;padding:0;color:#1f5f98;background:transparent;font:inherit;font-weight:900;text-align:left;cursor:pointer}.rankingPlayerButton:hover{text-decoration:underline}.rankingSample{display:block;margin-top:3px;color:#768393;font-size:11px;font-weight:700}.rankingWarning{color:#b45309}.miniBoardCell{padding:6px 8px!important;width:110px}.miniBoardCell .miniOpeningBoard{width:96px;height:96px;border-radius:6px;--crop-pad: 6px}.miniBoardCell .miniOpeningBoard .swapStepLines{inset:var(--crop-pad)}.miniBoardCell .miniOpeningBoard .swapFixedStone{width:14px;height:14px;font-size:9px;line-height:14px;box-shadow:0 1px 3px #0000004d}.ruleProgressWrap{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#e2e8f0;width:100%;min-width:80px}.ruleProgSegment{height:100%}.ruleProgSegment.blackProg{background:#2878bd}.ruleProgSegment.drawProg{background:#768393}.ruleProgSegment.whiteProg{background:#b24d5a}.rapfiAnalysisRunningContainer{flex:1;min-height:0;display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:12px;background:#f8fafb;padding:14px 18px 18px}.rapfiAnalysisRunningContainer .rapfiLogPanel{grid-template-rows:auto 1fr;height:100%;border-bottom:none;border-radius:8px;overflow:hidden;border:1px solid #d8e0e7;min-width:0}.rapfiQueuePanel{display:flex;flex-direction:column;background:#fff;border:1px solid #d8e0e7;border-radius:8px;overflow:hidden;height:100%}.rapfiQueueHeader{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#f3f7fa;border-bottom:1px solid #d8e0e7;font-size:13px;color:#1e2937}.rapfiQueueHeader strong{font-weight:800}.rapfiQueueHeader span{font-size:11px;color:#617083;background:#e2e8f0;padding:2px 8px;border-radius:999px;font-weight:700}.rapfiQueueList{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.queueItem{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;transition:all .2s ease}.queueItem.openable{cursor:pointer}.queueItem.openable:hover{border-color:#6fa7d8}.queueItem.completed{border-color:#bbf7d0;background:#f0fdf4}.queueItem.active{border-color:#93c5fd;background:#eff6ff;box-shadow:0 0 0 2px #2563eb26;animation:activePulse 2s infinite ease-in-out}@keyframes activePulse{0%{border-color:#93c5fd}50%{border-color:#2563eb}to{border-color:#93c5fd}}.queueItem.pending{border-color:#e2e8f0;background:#f8fafc;opacity:.85}.queueItemNum{font-size:13px;font-weight:800;color:#94a3b8;width:18px;text-align:center}.queueItem.active .queueItemNum{color:#2563eb}.queueItemInfo{flex:1;min-width:0}.queueItemMeta{display:flex;align-items:center;gap:4px;margin-bottom:2px}.queueItemTournament{font-size:10px;color:#64748b;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queueItemPlayers{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#1e2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queueItemPlayers .vs{font-size:9px;color:#94a3b8;font-weight:400}.queueItemStatus{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.queueItemMoves{font-size:11px;color:#64748b}.queueItemMoves strong{color:#1e2937}.statusBadge{font-size:9px;font-weight:800;padding:1px 6px;border-radius:999px;text-transform:uppercase}.statusBadge.completed{background:#dcfce7;color:#166534}.statusBadge.active{background:#dbeafe;color:#1e40af;animation:textFlash 1.5s infinite alternate}.statusBadge.pending{background:#f1f5f9;color:#475569}.statusBadge.failed{background:#fee2e2;color:#991b1b}.queueItem.failed{border-color:#fecaca;background:#fef2f2}.queueItem.failed .queueItemNum{color:#ef4444}@keyframes textFlash{0%{opacity:.6}to{opacity:1}}@media (max-width: 800px){.rapfiAnalysisRunningContainer{grid-template-columns:1fr;grid-template-rows:240px minmax(0,1fr);padding:10px}}.gameStrip .gameTable{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:6px;background:transparent;border:0;border-radius:0;padding-right:4px}.gameStrip .gameRow{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #d7dee5;border-radius:8px;background:#fff;min-height:auto;gap:6px;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d;cursor:pointer;width:100%}.gameStrip .gameRow:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000014;border-color:#92b9de;background:#edf5ff}.gameStrip .gameRow.outcome-win{border-left:4px solid #3f9a58}.gameStrip .gameRow.outcome-loss{border-left:4px solid #c84b5a}.gameStrip .gameRow.outcome-draw{border-left:4px solid #2878bd}.gameStrip .gameRowTop{display:flex;justify-content:space-between;align-items:center;width:100%;gap:8px}.gameStrip .gamePlayers{font-weight:700;font-size:13px;color:#1e2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.gameStrip .gameResult{font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;background:#e2e8f0;color:#475569;white-space:nowrap}.gameStrip .gameRow.outcome-win .gameResult{background:#edf8ef;color:#276a3b}.gameStrip .gameRow.outcome-loss .gameResult{background:#fff0f1;color:#a72d3b}.gameStrip .gameRow.outcome-draw .gameResult{background:#eef7ff;color:#1a5c92}.gameStrip .gameRowBottom{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;width:100%;overflow:hidden}.gameStrip .gameDate,.gameStrip .gameEvent,.gameStrip .gameOpening{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameStrip .gameEvent{flex:1;text-align:left}.gameStrip .gameOpening{color:#0f766e;font-weight:600;max-width:80px}.dragDropOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#245f9ef2;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;pointer-events:none;opacity:0;transition:opacity .25s ease}.dragDropOverlay.active{opacity:1;pointer-events:all}.dragDropOverlayIcon{font-size:64px;margin-bottom:20px;animation:bounce 2s infinite}.dragDropOverlayText{font-size:24px;font-weight:800;text-align:center;margin-bottom:10px}.dragDropOverlaySubtext{font-size:16px;opacity:.8}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.rapfiMinimizedWidget{position:fixed;right:20px;bottom:20px;width:340px;background:#fff;border:1px solid #c8d8e6;border-radius:12px;box-shadow:0 10px 30px #14223038;z-index:10000;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.rapfiMinimizedHeader{padding:10px 14px;background:#f8fafb;border-bottom:1px solid #eef2f6;display:flex;align-items:center;justify-content:space-between}.rapfiMinimizedHeader strong{font-size:13px;color:#1e2937}.rapfiMinimizedHeaderActions{display:flex;gap:4px}.rapfiMinimizedHeaderActions button{background:transparent;border:0;color:#64748b;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.rapfiMinimizedHeaderActions button:hover{background:#e2e8f0;color:#1e2937}.rapfiMinimizedBody{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.rapfiMinimizedProgressText{font-size:12px;color:#475569;font-weight:600}.rapfiMinimizedProgressBar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.rapfiMinimizedProgressBarFill{height:100%;background:linear-gradient(90deg,#2878bd,#64a34f);width:0%;transition:width .2s ease}.rapfiMinimizedFooter{font-size:11px;color:#64748b;background:#fafbfb;padding:6px 14px;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.scoreBandAiMarker{transition:left .3s ease}.scoreBandAiMarker:after{content:"AI";position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:8px;font-weight:900;background:#e11d48;color:#fff;padding:1px 3px;border-radius:3px;line-height:1}.presetButtonGroup{display:flex;gap:6px;margin-top:4px}.presetButton{flex:1;font-size:10px;font-weight:700;border:1px solid #cbd5e1;border-radius:4px;padding:4px 6px;background:#fff;color:#475569;cursor:pointer;text-align:center;transition:all .15s ease}.presetButton:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.presetButton.active{background:#eff6ff;border-color:#3b82f6;color:#1d4ed8}.familiaritySection{margin:14px 0;border:1px solid #d8e0e7;border-radius:8px;background:#fff;padding:12px 14px}.familiarityHeader{font-size:13px;font-weight:700;color:#647386;margin-bottom:8px;display:flex;align-items:center;gap:4px;cursor:help}.familiarityHeader span{font-size:11px;color:#94a3b8}.familiarityGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.familiarityCard{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;cursor:help}.familiarityCard:hover{background:#f1f5f9;border-color:#cbd5e1}.familiarityCard .cardLabel{font-size:11px;color:#64748b;font-weight:600}.familiarityCard .cardVal{font-size:20px;font-weight:800;color:#0f172a}.familiarityCard .cardSub{font-size:11px;color:#475569}.rapfiBoardControls{display:flex;align-items:center;gap:16px;margin:0 24px}.checkboxLabel{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none}.checkboxLabel input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:#245f9e}.boardRapfiToggle{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:5px 10px;min-height:24px;padding:0 4px 5px;color:#44556a;font-size:12px}.boardCandidateLegend{color:#617083}.boardRapfiToggle .checkboxLabel{display:inline-flex;align-items:center;gap:5px}.boardRapfiControls{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.boardRapfiMissing{color:#8a5a12;font-size:11px}.rapfiVolatilitySummary{display:inline-flex;align-items:center;gap:5px;color:#3f4d5c;font-size:11px;white-space:nowrap}.rapfiVolatilitySummary strong{color:#1b2734}.rapfiVolatilitySummary i{width:42px;height:7px;overflow:hidden;border:1px solid rgba(55,73,92,.45);border-radius:999px;background:linear-gradient(90deg,#32a852,#facc15 52%,#d64040)}.rapfiVolatilitySummary small{color:#69798c;font-size:10px}.rapfiVolatilityMarker{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;z-index:0;border:3px solid hsl(var(--rapfi-volatility-hue) 72% 43% / .92);border-radius:50%;box-shadow:0 0 5px hsl(var(--rapfi-volatility-hue) 72% 43% / .82);pointer-events:none}.rapfiCandidate{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;color:#fff;border:1.5px solid #0f2d1a;box-shadow:0 2px 4px #00000047;pointer-events:none}.rapfiCandidate span{max-width:94%;overflow:hidden;text-overflow:clip;white-space:nowrap;text-shadow:-1px -1px 0 #000000,1px -1px 0 #000000,-1px 1px 0 #000000,1px 1px 0 #000000}.rapfiCandidate.count-1{font-size:clamp(9px,calc(var(--point-size) * .45),15px);font-weight:900}.rapfiCandidate.count-2{font-size:clamp(8px,calc(var(--point-size) * .32),12px);font-weight:800;gap:1px}.rapfiCandidate.count-3{padding-top:calc(var(--point-size) * .08);font-size:clamp(7px,calc(var(--point-size) * .28),11px);font-weight:800;gap:0}.rapfiCandidate.count-2 .rapfiRank,.rapfiCandidate.count-3 .rapfiRank{position:absolute;top:4%;left:7%;display:grid;width:34%;height:34%;place-items:center;border-radius:50%;color:#102217;background:#ffffffe6;font-size:clamp(6px,calc(var(--point-size) * .2),9px);line-height:1;text-shadow:none}.rapfiCandidate .rapfiWinRate{font-size:1.08em;letter-spacing:-.04em}.rapfiCandidate .rapfiScore{font-size:.92em;letter-spacing:-.06em}.missedWinsModal{width:98vw;max-width:none;height:98vh;max-height:none;display:flex;flex-direction:column;background:#fff}.missedWinsModal .rankingTableWrap{flex:1;overflow-y:auto}.missedWinsExplanation{margin:12px 18px 6px;padding:12px 16px;background:#edf5fc;border-left:4px solid #2878bd;border-radius:4px}.missedWinsExplanation p{margin:0 0 6px;font-size:13.5px;color:#334155;line-height:1.4}.missedWinsExplanation p:last-child{margin-bottom:0}.missedWinsExplanation .formulaNote{font-size:12.5px;color:#1e3a8a;background:#fff9;padding:4px 8px;border-radius:4px;display:inline-block}.clickableRow{cursor:pointer;transition:background-color .15s ease}.clickableRow:hover{background-color:#edf5ff!important}.missedWinGameMeta{display:flex;flex-direction:column;gap:2px}.missedWinGameMeta .tournamentName{font-size:11px;color:#64748b;text-transform:uppercase;font-weight:700}.missedWinGameMeta .gamePlayers{font-size:13.5px;color:#1e293b}.highlightPlayer{color:#1d4ed8;font-weight:800}.sideBadge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:800;line-height:1}.sideBadge.black{background:#1e293b;color:#fff}.sideBadge.white{background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1}.playerNameSub{font-size:11px;color:#64748b;margin-top:2px}.scoreCode{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:700;background:#f1f5f9;color:#b91c1c;padding:2px 6px;border-radius:4px;border:1px solid #e2e8f0}.mValueCode{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:14px;color:#1e3a8a;background:#eff6ff;border:1.5px solid #bfdbfe;padding:3px 8px;border-radius:4px;display:inline-block}.judgmentBadge{display:inline-block;font-size:11px;font-weight:800;padding:2px 6px;border-radius:4px;line-height:1}.judgmentBadge.missed_high{background:#fef3c7;color:#d97706;border:1px solid #fde68a}.judgmentBadge.missed_low{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.scoreCodeSub{font-size:11px;color:#64748b;margin-top:3px}.ratingQuizPlayView{overflow-y:auto}.ratingQuizPlayHeader{flex-wrap:wrap}.ratingQuizPlayHeader label{display:flex;align-items:center;gap:8px;color:#475569;font-size:13px;font-weight:800}.ratingQuizPlayHeader select{height:34px;border:1px solid #cbd5e1;border-radius:5px;padding:0 8px;background:#fff}.ratingQuizTimer{min-width:112px;display:grid;gap:2px;border:1px solid #bfdbfe;border-radius:7px;padding:6px 12px;color:#1e3a8a;background:#eff6ff;text-align:center}.ratingQuizTimer span{font-size:11px}.ratingQuizTimer strong{font-size:22px;font-variant-numeric:tabular-nums}.ratingQuizTimer.warning{border-color:#fca5a5;color:#b91c1c;background:#fef2f2}.ratingQuizProgress{display:flex;align-items:center;justify-content:space-between;padding:12px 2px 4px;color:#475569}.ratingQuizFormula{display:grid;gap:4px;margin-top:8px;border:1px solid #bfdbfe;border-radius:8px;padding:10px 12px;color:#1e3a8a;background:#eff6ff;font-size:12px;line-height:1.55}.ratingQuizFormula strong{font-size:13px}.ratingQuizFormula small{color:#475569}.ratingQuizAnswerGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;padding:10px 0 16px}.ratingQuizAnswerCard{min-width:0;overflow:hidden;border:2px solid #d8e0e7;border-radius:9px;background:#f8fafc}.ratingQuizAnswerCard.selected{border-color:#2563eb}.ratingQuizAnswerCard.correct{border-color:#16a34a;background:#f0fdf4}.ratingQuizAnswerCard.incorrect{border-color:#dc2626;background:#fef2f2}.ratingQuizChoiceHeader{width:100%;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;border:0;border-bottom:1px solid #d8e0e7;padding:8px 12px;color:#1e293b;background:#fff;cursor:pointer;text-align:left}.ratingQuizChoiceResult{border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;color:#334155;background:#f8fafc;font-size:12px;font-style:normal;font-weight:800;white-space:nowrap}.ratingQuizChoiceHeader:disabled{cursor:default}.ratingQuizChoiceHeader span{color:#1d4ed8;font-weight:900}.ratingQuizChoiceHeader b{color:#15803d}.ratingQuizAnswerBoard{position:relative;height:430px;padding:8px}.ratingQuizRankBadge{position:absolute;z-index:30;top:18px;left:50%;min-width:112px;transform:translate(-50%);border:3px solid #ffffff;border-radius:999px;padding:8px 20px;color:#fff;background:#2563eb;box-shadow:0 5px 18px #0f172a59;font-size:28px;font-weight:900;line-height:1;text-align:center}.ratingQuizRankBadge.dobon{background:#dc2626;font-size:25px}.ratingQuizAnswerBoard .boardFrame{height:100%}.ratingQuizAnswerInfo{display:grid;gap:5px;margin-top:10px;border-top:1px solid #d8e0e7;padding:12px;background:#fff}.ratingQuizAnswerInfo h3,.ratingQuizAnswerInfo p{margin:0}.ratingQuizAnswerInfo p{color:#475569;font-size:12px}.ratingQuizAnswerInfo>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.ratingQuizAnswerInfo>div>*{border-radius:999px;padding:4px 8px;background:#e2e8f0;font-size:12px}.ratingQuizAnswerInfo .ratingQuizCalculation{display:grid;gap:5px;border:1px solid #bfdbfe;border-radius:7px;padding:9px 10px;color:#1e3a8a;background:#eff6ff;font-family:Consolas,monospace;line-height:1.5}.ratingQuizAnswerInfo .ratingQuizCalculation>*{padding:0;background:transparent}.ratingQuizPlayActions,.ratingQuizResult{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px}.ratingQuizResult{flex:1;flex-direction:column}.ratingQuizResult>strong{font-size:30px}.boardListModal{width:min(1520px,96vw);height:min(940px,98vh);max-height:min(940px,98vh);display:flex;flex-direction:column;overflow:hidden;border-radius:8px;background:#f8fafb;box-shadow:0 20px 60px #0c141e52}.boardListControlsBar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid #dce3ea;background:#f8fafb;flex-shrink:0}.boardListPagination{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:#334155}.boardListPerPage{display:flex;align-items:center;gap:8px;font-size:13px;color:#334155}.boardListBody{min-height:0;flex:1;overflow:auto;padding:14px 18px 18px;display:flex;justify-content:center;align-items:flex-start}.boardListGrid-3,.boardListGrid-6,.boardListGrid-9{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}.boardListPane{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:620px}.boardListSelectablePane{width:100%;max-width:620px;display:flex;flex-direction:column;gap:8px}.boardListSelectGame{display:flex;align-items:center;gap:8px;color:#334155;font-size:13px;font-weight:800}.boardListSelectGame input{width:16px;height:16px}.boardListPane .boardFrame{width:100%;height:auto;min-height:0}.boardListBoardWrap{width:100%}.boardListCardControls{display:flex;align-items:center;gap:4px;width:100%;padding:4px 0 0;flex-wrap:wrap}.boardListCardControls>button{padding:3px 10px;border-radius:4px;border:1px solid #dce3ea;background:#fff;color:#334155;font-size:12px;cursor:pointer;font-weight:700;transition:background .1s}.boardListCardControls>button:hover:not(:disabled){background:#e2e8f0}.boardListCardControls>button:disabled{opacity:.4;cursor:not-allowed}.boardListFreeAnalysis{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#334155;cursor:pointer;white-space:nowrap}.boardListPlayerLabel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boardListPaneError{color:#c0392b;text-align:center;border:1px dashed #c0392b;border-radius:8px;padding:24px;min-height:200px;justify-content:center}.boardListPaneLoading{color:#888;text-align:center;min-height:200px;justify-content:center}.boardListGrid-6 .boardListPane .compactBoard,.boardListGrid-9 .boardListPane .compactBoard{width:100%;max-width:none}.boardListOpeningPlayers{display:flex;flex-wrap:wrap;gap:4px 8px;width:100%;padding:2px 0}.boardListOpeningMove{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#455465;font-weight:600;white-space:nowrap}.boardListOpeningStone{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.boardListOpeningStone.black{background:#1a1a1a;box-shadow:inset 0 1px 2px #ffffff40}.boardListOpeningStone.white{background:#f0f0f0;border:1px solid #9b7748;box-shadow:inset 0 1px 2px #0000001f}.boardListOpeningName{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1e293b}.boardListSwapBadge{font-size:9px;font-weight:800;letter-spacing:.02em;color:#7c3aed;background:#ede9fe;border-radius:3px;padding:0 3px;line-height:1.4}.boardListFreeAnalysisBtn{padding:3px 10px;border-radius:4px;border:1px solid #dce3ea;background:#fff;color:#334155;font-size:12px;cursor:pointer;font-weight:700;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.boardListFreeAnalysisBtn:hover{background:#e2e8f0}.boardListFreeAnalysisBtn.active{background:#1e40af;border-color:#1e40af;color:#fff}.boardListFreeAnalysisBtn.active:hover{background:#1d4ed8;border-color:#1d4ed8}
