body{max-width:none;padding:0;margin:0;overflow:hidden;height:100vh;}
#map{position:fixed;inset:0;background:#0c0a0b;}

.oz-nav{position:fixed;top:0;left:0;right:0;z-index:10;padding:14px 24px;background:rgba(26,22,23,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--grid);}
.oz-nav nav{padding:0;margin:0;}

.oz-panel{position:fixed;top:72px;left:20px;width:300px;max-height:calc(100vh - 92px);z-index:9;background:rgba(26,22,23,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--grid);border-radius:6px;padding:16px 16px 14px;overflow-y:auto;color:var(--white);}
.oz-title{font-family:var(--fp);font-size:18px;font-weight:600;color:var(--white);margin-bottom:6px;}
.oz-sub{font-family:var(--fs);font-size:11px;color:var(--road);line-height:1.45;margin-bottom:14px;}

.oz-legend-title{font-family:var(--fs);font-size:9px;letter-spacing:.10em;color:var(--cyan-m);text-transform:uppercase;margin-bottom:6px;}

.oz-layers{display:flex;flex-direction:column;gap:2px;}
.oz-row{display:flex;align-items:center;gap:9px;padding:6px 4px;font-family:var(--fs);font-size:12px;color:var(--white);cursor:pointer;border-radius:3px;}
.oz-row:hover{background:rgba(255,255,255,.04);}
.oz-row input{accent-color:var(--cyan);margin:0;}
.oz-row .label{flex:1;}
.oz-row .count{font-size:10px;color:var(--road);font-variant-numeric:tabular-nums;}

.swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0;}
.swatch-tcja{background:rgba(195,77,255,.45);border:1px solid #c34dff;}
.swatch-obbba{background:rgba(244,210,74,.45);border:1px solid #f4d24a;}

.oz-context{display:flex;flex-direction:column;gap:6px;font-family:var(--fs);font-size:11px;color:var(--white);line-height:1.5;}
.oz-context .ctx-card{padding:8px 10px;background:rgba(0,0,0,.25);border:1px solid var(--grid);border-radius:3px;}
.oz-context .ctx-h{font-family:var(--fs);font-size:9px;letter-spacing:.10em;color:var(--cyan-m);text-transform:uppercase;margin-bottom:3px;}

.oz-foot{margin-top:18px;padding-top:12px;border-top:1px solid var(--grid);font-family:var(--fs);font-size:11px;}
.oz-foot a{color:var(--cyan-m);text-decoration:none;}
.oz-foot a:hover{color:var(--white);}

.oz-popup{position:fixed;z-index:20;background:rgba(26,22,23,.95);backdrop-filter:blur(10px);border:1px solid var(--grid);border-radius:4px;padding:10px 14px;font-family:var(--fs);font-size:12px;color:var(--white);max-width:300px;pointer-events:none;line-height:1.45;}
.oz-popup .pop-title{font-family:var(--fp);font-size:13px;font-weight:600;color:var(--cyan);margin-bottom:4px;}
.oz-popup .pop-row{display:flex;justify-content:space-between;gap:12px;color:var(--white);}
.oz-popup .pop-row .k{color:var(--road);}
.oz-popup .pop-meta{font-size:10px;color:var(--road);margin-top:6px;text-transform:uppercase;letter-spacing:.05em;}
.oz-popup .pop-vintage{display:inline-block;font-size:9px;padding:1px 6px;border-radius:2px;letter-spacing:.05em;text-transform:uppercase;margin-top:4px;}
.oz-popup .pop-vintage.v-tcja{background:rgba(195,77,255,.18);color:#c34dff;border:1px solid rgba(195,77,255,.5);}
.oz-popup .pop-vintage.v-obbba{background:rgba(244,210,74,.18);color:#f4d24a;border:1px solid rgba(244,210,74,.5);}

.maplibregl-ctrl-attrib{background:rgba(26,22,23,.85)!important;color:var(--white)!important;font-family:var(--fs)!important;font-size:10px!important;}
.maplibregl-ctrl-attrib a{color:var(--cyan-m)!important;}
