/* GeoTest: clear selections, category colors and touch-sized controls. */
.statistics-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 22px}.statistics-summary>div{padding:12px 6px;background:#20324a;border-radius:8px;text-align:center}.statistics-summary b{display:block;font-size:23px;font-variant-numeric:tabular-nums}.statistics-summary span{display:block;font-size:12px;color:#b5c5d8;margin-top:6px}.statistics-row{padding:16px 0;border-bottom:1px solid #33455e}.statistics-row-title{display:flex;gap:12px;align-items:center;justify-content:space-between}.statistics-row-title button{padding:5px 0 5px 9px;border:0;border-left:4px solid var(--unit-color);background:none;font-size:15px;text-align:left;font-weight:600;line-height:1.4;min-height:38px}.statistics-row-title strong{font-size:19px;color:#ffb7c4;white-space:nowrap;font-variant-numeric:tabular-nums}.statistics-row p{font-size:13px;line-height:1.5;margin:8px 0}.accuracy-bar{display:flex;height:6px;border-radius:5px;overflow:hidden;background:#24364b;margin:12px 0}.accuracy-bar i:nth-child(1){background:#70cca1}.accuracy-bar i:nth-child(2){background:#e9c56a}.accuracy-bar i:nth-child(3){background:#ed899e}.statistics-row summary{font-size:13px;color:#abc5f3;cursor:pointer;padding:7px 0;min-height:32px}#statsPanel>label,#statsPanel .setup-grid label{display:block;font-size:13px;margin:12px 0 8px}.attempt-note{display:block;font-size:13px;color:#d7e1ef;padding-top:10px}
.pin{border-color:var(--unit-color,#1266d4)!important;color:var(--unit-color,#1266d4)!important;box-shadow:0 2px 6px #10263b40}.pin.question{background:var(--unit-color,#1266d4)!important;color:white!important;border-color:#fff!important;box-shadow:0 0 0 4px #ffffff45,0 3px 12px #10263b70}
.category.active i{background:var(--cat)!important;color:#112436!important;border-color:var(--cat)!important}.category.active{border-left:3px solid var(--cat)}.place-row .row-number{border-left:3px solid var(--unit-color,#1266d4)}.choose-row .sheet-code{border-left:3px solid var(--unit-color,#1266d4);padding-left:7px;min-width:42px}.detail{border-top:4px solid var(--unit-color,#1266d4)}
.adaptive-switch{display:flex!important;gap:12px;align-items:center;padding:14px;background:#243151;border:1px solid #5e6c9a;border-radius:10px;cursor:pointer}.adaptive-switch strong{display:block;font-size:14px;color:#e9edff}.adaptive-switch small{display:block;font-size:12px;line-height:1.5;color:#b9c6e1;margin-top:3px}.adaptive-switch>span:last-child{font-size:28px;color:#bdadff;margin-left:auto}.adaptive-switch:has(input:checked){background:#30385d;border-color:#ae99ff}.adaptive-switch:has(input:disabled){opacity:.5;cursor:default}.adaptive-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 20px}.adaptive-stats>div{padding:10px 5px;text-align:center;background:#21354f;border-radius:8px}.adaptive-stats b{display:block;font-size:21px;color:#c3d8ff;font-variant-numeric:tabular-nums}.adaptive-stats span{display:block;font-size:12px;color:#b8c8db;margin-top:4px}.adaptive-stats p{grid-column:1/-1;font-size:13px;margin:5px 0 0;color:#b8c8db}.repeat-note{display:block;padding-top:10px;margin-top:10px;border-top:1px solid currentColor;font-size:13px;color:#d5dfed;line-height:1.55}
.color-legend{position:absolute;z-index:605;top:90px;right:22px;background:#fafdfff0;border:1px solid #b1c3d3;border-radius:8px;color:#233e57;max-width:285px;box-shadow:0 3px 12px #10263b15}.color-legend summary{padding:11px 12px;min-height:42px;cursor:pointer;font-size:14px;font-weight:600}.color-legend>div{padding:0 12px 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.color-legend span{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5}.color-legend i{display:block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.satellite-notice{position:absolute;z-index:620;bottom:75px;left:24px;max-width:min(380px,calc(100% - 85px));background:#fafdfff5;color:#223e58;padding:12px 14px;border:1px solid #b7c6d6;border-radius:9px;font-size:14px;line-height:1.5}.satellite-notice button{display:block;background:none;border:0;color:#1759c2;text-decoration:underline;min-height:34px;padding:3px 0}.map-stage[data-style=satellite] .map-caption{color:white;text-shadow:0 1px 6px #000,0 0 3px #000}.map-stage[data-style=satellite] .north{color:white;text-shadow:0 1px 4px #000}
@media(max-width:700px){.color-legend{top:75px;right:12px;max-width:calc(100% - 28px)}.color-legend summary{font-size:12px;padding:11px 9px}.color-legend[open]{z-index:615}.color-legend>div{max-height:calc(42svh - 160px);overflow:auto}.satellite-notice{left:14px;bottom:58px;font-size:13px}.adaptive-stats{margin:10px 0 18px}.adaptive-stats b{font-size:19px}}
:root{--muted:#b0bfd2;--line:#2b3e55}
.topbar{height:72px}.workspace{height:calc(100dvh - 72px);grid-template-columns:360px minmax(0,1fr)}
.sidebar{padding:24px}.brand small,.edition{font-size:12px}.eyebrow{font-size:12px}
.region-tabs button{width:33.333%;min-height:44px}.filter-heading{margin-top:22px}.filter-heading h2{font-size:16px}.filter-heading span{font-size:13px;font-variant-numeric:tabular-nums}
.selection-actions{display:flex;align-items:center;gap:14px;margin:8px 0 12px;font-size:13px;color:var(--muted);flex-wrap:wrap}.selection-actions>span{margin-right:auto}.selection-actions button{min-height:32px;font-size:14px}
.categories{gap:7px}.category{padding:10px 8px;border-color:#26394f;min-height:44px}.category i{background:none;border:1px solid #5b6d84;width:17px;height:17px;border-radius:5px;color:#fff;display:grid;place-items:center;font-size:12px}.category.active i{background:#497bfc;border-color:#6792ff}.category small{font-size:12px}.category.active{background:#233b5b;border-color:#5a7eae}.category:hover{border-color:#7190b5}
.selection-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px;margin-top:14px;border:1px solid #405573;border-radius:9px;background:#1b2d45;font-size:14px;text-align:left;min-height:44px}.selection-button span{background:#2e4a70;border-radius:5px;padding:2px 8px;font-variant-numeric:tabular-nums}
#selectionSummary{margin:9px 0;color:#a4b9d3}.check-row,.search-label,.list-meta,.fine{font-size:13px}.text-button{font-size:14px;min-height:30px}.check-row{min-height:28px}.sidebar-footer{font-size:12px;line-height:1.5}.sidebar-footer .text-button{align-self:flex-start}
#practiceSelection{margin:4px 0 0}.primary{background:#416ff0;font-size:15px;min-height:46px;box-shadow:none}.primary:hover:not(:disabled){background:#5885ff}.secondary{min-height:44px;font-size:14px}#setupPanel{margin-top:8px}.mode-description{font-size:14px;line-height:1.55;padding:12px;background:#1a2d45;border-radius:8px;border-left:3px solid #6791ff;margin:12px 0}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.setup-grid select{font-size:14px;padding-left:9px}.setup-grid label{font-size:13px!important}#setupPanel>h2{font-size:26px}
.place-row{font-size:15px;min-height:44px;line-height:1.35;padding:11px 6px}.place-row .row-number{display:grid;place-items:center;min-width:38px;min-height:29px;padding:4px;background:#1f3149;border-radius:6px;color:#a8c4fc;font-size:13px;font-weight:600}.place-row small{font-size:12px}.list-meta{gap:10px;flex-wrap:wrap}.pin{width:30px;height:30px;border-radius:8px;font-size:12px;letter-spacing:-.2px}.pin.question{width:40px;height:40px;font-size:14px}.question-heading>span{font-size:28px;letter-spacing:-1px;min-width:45px;line-height:1.2}.question-heading .eyebrow{font-size:12px;letter-spacing:.8px}.question-meta{font-size:13px}.question-nav{gap:7px}.question-nav button{width:36px;height:36px;font-size:13px}.result-stats span{font-size:12px}.result-row small{font-size:13px}.result-row button{min-height:32px}.finish{min-height:44px}
.map-options{display:block;min-width:180px;max-width:270px;padding:0;background:#fafdfff2;border:1px solid #b1c3d3;box-shadow:0 4px 16px #183b5110;color:#233e57}.map-options summary{cursor:pointer;min-height:42px;padding:12px;font-size:14px;font-weight:600;list-style-position:inside}.map-options summary>span{color:#61778d;font-size:12px;margin-left:7px;font-weight:400}.map-options[open]{width:270px}.map-settings{padding:0 14px 12px;border-top:1px solid #ccdae5}.map-settings>label{display:block;font-size:13px;padding:12px 0 7px}.map-settings select{background:#fff;border-color:#a9bed0;color:#19334e;font-size:14px;min-height:44px;padding:8px}.favorite-button{width:100%;margin:9px 0;padding:9px 6px;min-height:38px;background:#e8efff;border:1px solid #c8d7ef;color:#234ea8;border-radius:7px;font-size:13px;text-align:left}.favorite-button[aria-pressed=true]{background:#dbe8fc}.layer-toggles{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px}.map-options .layer-toggles label{display:flex;font-size:13px;min-height:30px}.map-options .fine{font-size:12px;line-height:1.5;color:#5b7185;margin:9px 0 0}.map-buttons button{font-size:13px;min-height:42px}.map-caption{font-size:13px}.map-bottom{font-size:12px}.map-bottom .north{margin-right:2px}.map-stage[data-style=night] .map-caption{color:#d7e8ff;text-shadow:none}.map-stage[data-style=night] .north{color:#d7e8ff}.map-stage[data-style=paper] .map-caption{color:#243a53}
.choose-list{max-height:45dvh;overflow:auto;overscroll-behavior:contain;margin:10px 0 18px;padding-right:5px}.choose-row{display:flex;align-items:center;gap:13px;min-height:61px;border-bottom:1px solid #334760;padding:10px 7px;font-size:15px;cursor:pointer}.choose-row:hover{background:#223953}.choose-row input{width:19px;height:19px}.choose-row small{display:block;font-size:12px;color:#a7b9ce;margin-top:4px}.sheet-code{display:inline-block;min-width:35px;color:#a9c7ff;font-size:14px}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.dialog-heading .dialog-close{float:none;min-width:40px;min-height:40px}.dialog-heading h2{font-size:26px}#chooseDialog{width:min(560px,calc(100% - 24px));padding:24px}#chooseDialog>p{font-size:14px}#chooseDialog>label{display:block;font-size:14px;margin-bottom:9px}#finishDialog{width:min(500px,calc(100% - 24px))}#finishDialog .primary{width:auto}.map-options summary:focus-visible{outline:3px solid #367af6;outline-offset:3px}
@media(min-width:1600px){.workspace{grid-template-columns:390px minmax(0,1fr)}.sidebar{padding:28px}}
@media(max-width:1100px) and (min-width:701px){.workspace{grid-template-columns:330px minmax(0,1fr)}.sidebar{padding:18px}.map-caption>span:first-child{font-size:23px}.map-tools{gap:8px}.map-buttons{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:700px){.topbar{height:108px}.workspace{height:auto;display:flex}.map-stage{position:relative;min-height:300px;height:47svh}.sidebar{padding:20px}.sidebar #filters .categories{grid-template-columns:repeat(2,minmax(0,1fr))}.category{font-size:14px}.mode-nav button{font-size:13px;min-height:40px}.region-tabs{max-width:none}.map-options{top:75px;left:14px;min-width:160px;max-width:250px}.map-options[open]{width:250px}.map-settings{max-height:calc(47svh - 145px);min-height:105px;overflow-y:auto}.map-caption{font-size:12px}.map-buttons button{font-size:12px;min-height:40px}.map-bottom>span:first-child{font-size:12px;max-width:80%;padding:6px 8px}.map-bottom .north{display:none}.map-tools{left:14px}.map-caption>span:first-child{font-size:20px}.map-caption #mapContext{max-width:145px;letter-spacing:0}.session-active .topbar{height:56px;padding:10px 16px}.session-active .mode-nav{display:none}.session-active .map-stage{position:sticky;top:0;z-index:2;height:42svh;min-height:250px}.session-active .map-settings{max-height:calc(42svh - 145px)}.session-active .sidebar{min-height:0;padding:20px}.session-active .question-heading h2{font-size:22px}.question-nav button{min-width:38px;min-height:38px}.detail{max-height:62%;width:calc(100% - 68px)}.list-meta,.check-row{font-size:14px}.sidebar-footer{font-size:13px}#chooseDialog{padding:18px}.dialog-heading h2{font-size:23px}.choose-list{max-height:40svh}#finishDialog .exam-actions{flex-direction:column}.selection-actions{gap:10px}.selection-actions button{min-height:38px}.map-tools .map-buttons{max-width:50%;flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:370px){.mode-nav button{font-size:12px}.map-caption #mapContext{max-width:110px}.map-buttons button{padding:8px}.sidebar{padding:15px}.category{font-size:13px}.setup-grid{grid-template-columns:1fr}}
