:root{color-scheme:dark;--bg:#0b121a;--panel:#111e2c;--line:#293a4b;--muted:#92a5b8;--mint:#69ddbc}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#eaf2f8;font:14px/1.6 system-ui,'Malgun Gothic',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;background:#192a3b;border:1px solid #33495d;color:#deebf5;border-radius:8px;padding:9px 14px;white-space:nowrap}button:hover{filter:brightness(1.17)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--mint);outline-offset:2px}button:disabled{opacity:.5;cursor:wait}header{height:72px;padding:0 max(24px,calc((100vw - 1400px)/2));display:flex;gap:22px;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:21px;font-weight:800}.brand b{background:var(--mint);color:#0b302d;border-radius:7px;padding:0 6px;margin-right:5px}.badge{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:2px 8px;border-radius:5px}.preview{margin-left:auto;font-size:12px;color:var(--muted)}main{max-width:1400px;margin:auto;padding:28px 24px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.eyebrow{color:var(--mint);letter-spacing:2px;font-size:10px;font-weight:700}h1{font-size:27px;margin:6px 0;letter-spacing:-.8px}h1 span{font-size:12px;border-left:1px solid #506372;margin-left:12px;padding-left:14px;color:#a5b9c9}.heading p{color:var(--muted);font-size:12px;margin:0}.summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:11px;background:var(--panel);margin-bottom:18px;padding:15px 20px;gap:22px}.summary label{display:block;color:var(--muted);font-size:11px}.summary strong{display:block;font-size:21px;margin-top:4px;font-variant-numeric:tabular-nums}.panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:15px;overflow:hidden}.tools{display:flex;align-items:center;gap:12px}.tabs{display:flex;gap:4px}.tabs button{border:1px solid transparent;background:transparent;color:var(--muted)}button.active,#watch[aria-pressed=true]{border-color:#447a6a;background:#20463e;color:#8bf4d4}.search{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:6px 12px;margin-left:auto;color:var(--muted)}.search input{background:transparent;border:0;outline:none;color:#eaf2f8;width:210px;font-size:12px}.map-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);margin:14px 2px;gap:10px}.map-caption b{color:#c0d1df;font-weight:500}input[type=checkbox]{accent-color:var(--mint);vertical-align:middle}.map-caption label{white-space:nowrap}#map{position:relative;height:510px;background:#0a131d;border-radius:7px;overflow:hidden}.tile{position:absolute;border:2px solid #101d29;border-radius:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3px;color:#fff;overflow:hidden;transition:background-color .6s;line-height:1.3}.tile:hover{z-index:2;border-color:#e7f9ff;filter:brightness(1.06)}.tile .coin{font-weight:800;letter-spacing:-.6px}.tile .change{font-weight:600;font-variant-numeric:tabular-nums;margin-top:3px}.tile .volume{font-size:10px;opacity:.7;margin-top:9px}.tile .star{position:absolute;top:7px;right:8px;font-size:11px;color:#fce6a7}.legend{display:flex;justify-content:center;align-items:center;gap:2px;margin:14px auto;font-size:10px;color:var(--muted)}.legend i{font-style:normal;color:#dce8f3;min-width:52px;text-align:center;padding:3px 5px}.legend>span{padding:0 9px}.map-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:12px;border-top:1px solid var(--line);padding-top:12px}.map-footer label{white-space:nowrap}.under{display:flex;gap:22px;color:var(--muted);font-size:11px;align-items:flex-start;margin-top:12px}.under>p{margin:0;flex:1}.under details{max-width:550px}.under summary{cursor:pointer}.under details p{line-height:1.9}footer{color:#71899d;font-size:10px;padding:24px 0;display:flex;justify-content:space-between}.empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--muted);padding:25px}.positive{color:#73ddbb}.negative{color:#f49aa7}dialog{width:520px;max-width:calc(100% - 24px);max-height:calc(100dvh - 40px);border:1px solid #3a5366;border-radius:16px;background:#101e2c;color:#eaf2f8;padding:24px;overscroll-behavior:contain}dialog::backdrop{background:#020811b8}body:has(dialog[open]){overflow:hidden}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head small{font-size:10px;letter-spacing:1px;color:var(--muted)}h2{margin:3px 0;font-size:24px}#close{background:transparent;border:0;font-size:18px}.quote{display:flex;gap:14px;align-items:baseline;margin:16px 0}.quote strong{font-size:30px;font-variant-numeric:tabular-nums}.quote span{font-size:14px}#spark{height:175px;background:#0b1722;border-radius:9px;display:grid;place-items:center;color:var(--muted);font-size:12px}#spark svg{width:100%;height:100%}#chartStatus{font-size:10px;color:var(--muted);min-height:16px}.detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.detail-stats label{display:block;color:var(--muted);font-size:10px}.detail-stats b{font-size:13px}#favorite{width:100%}.detail-note{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:12px}
@media(max-width:720px){header{height:60px;padding:0 16px;gap:12px}.brand{font-size:17px}.badge{margin-left:auto}.preview{display:none}main{padding:20px 12px}.heading{gap:10px;margin-bottom:17px}.heading h1{font-size:21px}.heading h1 span{display:none}.heading p{font-size:10px}.heading button{padding:7px 9px;font-size:10px}.eyebrow{font-size:9px}.summary{grid-template-columns:1fr 1fr;padding:13px;gap:15px}.summary label{font-size:9px}.summary strong{font-size:17px}.panel{padding:10px}.tools{flex-wrap:wrap;gap:8px}.tabs button{padding:7px 11px;font-size:11px}.search{order:3;width:100%;margin-left:0}.search input{width:100%}#watch{margin-left:auto;font-size:11px;padding:7px 10px}.map-caption{display:block;font-size:9px;line-height:1.8;margin:10px 0}.map-caption label{display:block;margin-top:5px}#map{height:520px}.tile{border-width:1.5px;border-radius:4px}.tile .star{top:3px;right:4px;font-size:9px}.legend{font-size:9px;margin:12px 0}.legend i{min-width:42px}.legend>span{padding:0 5px}.map-footer{flex-wrap:wrap;gap:7px;font-size:9px}.under{display:block;font-size:10px}.under details{margin-top:12px}footer{font-size:9px}dialog{padding:18px}.quote strong{font-size:27px}}

/* Compact map controls, stable summary geometry, and space-aware tile labels. */
[hidden]{display:none!important}.tile .volume{margin-top:4px;line-height:1.3;opacity:.85;white-space:nowrap}.tile .coin,.tile .change{flex-shrink:0;white-space:nowrap}.tile .volume{flex-shrink:0}
.summary>div{min-width:0}.summary strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-symbol{margin-right:8px}.summary-change{font-variant-numeric:tabular-nums}
.tools{padding:5px 3px 12px;border-bottom:1px solid #293c4b}.tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;background:#091521;border:1px solid #2c4152;border-radius:12px;gap:3px;box-shadow:inset 0 2px 5px #0003}.tabs button{min-width:70px;padding:9px 16px;border-radius:8px;font-size:12px;font-weight:600;transition:background .15s,color .15s;position:relative}.tabs button.active{background:linear-gradient(135deg,#2b6559,#20483f);border-color:#4d8c79;color:#b4ffe3;box-shadow:0 2px 7px #0003}.tabs button:not(.active):hover{background:#182c3d;color:white}.search{height:43px;background:#0c1925;border-color:#2c4153;border-radius:10px;transition:border-color .15s}.search:focus-within{border-color:#69ddbc;box-shadow:0 0 0 2px #69ddbc14}#watch{height:43px;border-radius:10px;background:#172a3b;border-color:#344f62;font-size:12px}#watch[aria-pressed=true]{background:#25483c;border-color:#538f76;color:#bdffe0}.heading #refresh{border-radius:10px;background:#152b39;border-color:#365366;font-size:12px}.map-caption label{border:1px solid #2a4050;border-radius:20px;background:#102332;padding:4px 9px}
@media(max-width:720px){
 .summary{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:76px;gap:10px 14px}.summary label{height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary strong{height:48px;margin-top:4px;font-size:17px;line-height:24px}.summary-symbol,.summary-change{display:block;font-size:14px;line-height:23px;overflow:hidden;text-overflow:ellipsis;margin:0}.summary-symbol{color:#dce8f4}
 .tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:3px 0 12px}.tabs{min-width:0;padding:3px;gap:2px;border-radius:10px}.tabs button{min-width:0;height:35px;padding:4px 8px;font-size:11px}.search{grid-column:1/-1;order:initial;height:39px;min-width:0}#watch{grid-column:2;grid-row:1;margin:0;height:43px;font-size:11px;padding:7px 10px}.search input{min-width:0}.heading #refresh{font-size:10px}.map-caption label{width:max-content;margin-top:8px}.map-caption{min-height:62px}
}
/* Shared service navigation in the local review. */
.map-logo{display:block;position:relative;overflow:hidden;width:200px;height:48px}.map-logo img{position:absolute;width:266.5px;height:133.25px;left:-33px;top:-42px}.source-switch{display:flex;gap:8px;padding:10px max(24px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--line);background:#0d1924}.source-switch button{padding:7px 12px;border-radius:6px;font-size:14px}.map-page-title{font-size:22px;line-height:26px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid var(--line)}.heading{margin-bottom:18px;min-height:36px}#mapMenuOpen{display:none}#mapMenu{position:fixed;inset:0 auto auto 0;margin:0;width:min(300px,85vw);max-width:85vw;max-height:100dvh;border-radius:0;padding:20px 16px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.map-menu-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.mobile-menu-sources{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mobile-menu-sources button{min-height:48px;padding:6px;font-size:12px}#mapMenu::backdrop{touch-action:none}
@media(max-width:720px){header{height:66px;position:relative;justify-content:center;padding:8px 12px}header .brand{margin:0}.map-logo{width:170px;height:41px}.map-logo img{width:226.5px;height:113.25px;left:-28.1px;top:-35.7px}#mapMenuOpen{display:block;position:absolute;left:12px;top:11px;width:44px;height:44px;padding:0;font-size:24px;line-height:1;border-radius:6px}.source-switch{display:none}main{padding:0 12px 20px}.map-page-title{font-size:18px;min-height:58px;line-height:24px;padding:16px 0;margin:0 0 16px;letter-spacing:-.35px;white-space:nowrap}.heading{margin-bottom:16px}.heading #refresh{font-size:11px;padding:7px 10px}}
#mapMenu .mobile-menu-sources{padding-bottom:18px;margin-bottom:10px;border-bottom:1px solid var(--line)}.map-menu-views button,.map-menu-actions button{display:block;width:100%;min-height:48px;text-align:left;padding:12px;margin:8px 0}.map-menu-actions{border-top:1px solid var(--line);padding-top:12px;margin-top:18px}#mapMenu .mobile-menu-sources button[aria-pressed=true]{background:#1a4c40;color:#70e5c4;border-color:#398970}
/* Live updates keep the map geometry and controls still. */
.tile{transition:left .6s ease,top .6s ease,width .6s ease,height .6s ease,background-color .5s ease}.tile .change,.tile .volume{font-variant-numeric:tabular-nums}
.map-footer #status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.map-footer #status::before{content:'';width:6px;height:6px;border-radius:50%;background:#8294a2;flex:none}
.map-footer #status[data-mode=live]::before{background:#69ddbc;box-shadow:0 0 7px #69ddbc55}
.map-footer #status[data-mode=fallback]::before{background:#e7b271}
.live-time{font-variant-numeric:tabular-nums;font-size:10px;color:var(--muted)}
.map-footer{gap:8px 12px;flex-wrap:wrap}.map-footer label{margin-left:auto;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.tile{transition:none}}

.map-update-note{font-size:11px;color:var(--muted)}
