.cv-body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-primary);min-height:100vh;display:flex;flex-direction:column}.cv-notice{position:sticky;top:0;z-index:20;background:#f59e0b;color:#1a1204;padding:.45rem 1rem;font-size:.8rem;line-height:1.4;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;padding-left:max(1rem,env(safe-area-inset-left))}.cv-notice strong{letter-spacing:.04em;font-weight:800}.cv-notice-short{display:none}.cv-notice-more{background:transparent;border:1px solid rgba(26,18,4,.45);color:inherit;border-radius:999px;font:inherit;font-size:.72rem;padding:.05rem .6rem;cursor:pointer}.cv-notice p{flex-basis:100%;margin:.1rem 0 .2rem;max-width:70rem}.cv-preview{background:#0369a1;color:#fff;font-size:.78rem;padding:.35rem 1rem;text-align:center}.cv-head{border-bottom:1px solid var(--border);background:var(--navy-dark)}.cv-head-inner{display:flex;align-items:center;gap:1.25rem;padding:.8rem 1.5rem}.cv-logo{height:30px;flex:none}.cv-title{min-width:0}.cv-eyebrow{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}.cv-title h1{font-family:var(--font-display);font-size:1.3rem;margin:.1rem 0;font-weight:600;line-height:1.2}.cv-meta{font-size:.85rem;color:var(--text-muted)}.cv-version{font-size:.8rem;margin-top:.1rem}.cv-version b{color:var(--text);font-weight:600}.cv-main{flex:1;display:grid;grid-template-columns:1fr 340px;min-height:0;padding-top:0}.cv-main.no-map{grid-template-columns:1fr;max-width:720px;margin:2rem auto;width:100%}.cv-map{position:relative;min-height:520px;background:#0d1117;overflow:hidden}.cv-side{border-left:1px solid var(--border);padding:1.1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.cv-main.no-map .cv-side{border-left:0}.cv-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:1rem 1.1rem}.cv-card h2{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 .7rem;font-weight:700}.cv-toggle{display:flex;align-items:center;gap:.55rem;font-size:.88rem;padding:.3rem 0;cursor:pointer;min-height:32px}.cv-toggle input{width:18px;height:18px;accent-color:var(--gold)}.cv-toggle i{display:inline-block;width:22px;height:10px;flex:none}.cv-range{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.cv-range input{display:block;width:100%;accent-color:var(--gold);margin-top:.3rem}.cv-note{font-size:.74rem;color:var(--text-subtle);margin:.45rem 0 0;line-height:1.45}.cv-link{background:none;border:0;padding:0;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer}.cv-toggle.sub{padding-left:1.55rem;min-height:28px;font-size:.84rem}.cv-modeseg{position:absolute;top:10px;left:10px;z-index:3;display:flex;background:#0c1220e6;border:1px solid rgba(255,255,255,.18);border-radius:8px;overflow:hidden}.cv-modeseg button{min-width:46px;height:38px;border:0;background:transparent;color:#cfd6e0;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.cv-modeseg button+button{border-left:1px solid rgba(255,255,255,.14)}.cv-modeseg button[aria-pressed=true]{background:#c99e50;color:#14100a}.cv-modeseg button:disabled{opacity:.45;cursor:default}.cv-nav{position:absolute;right:10px;bottom:12px;z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;background:#0c1220d9;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px;user-select:none;touch-action:none}.cv-nav button{width:30px;height:30px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#e8e4dc;font-size:15px;line-height:1;cursor:pointer;padding:0}.cv-nav button:hover{background:#d6aa5047}.cv-nav button:active{background:#d6aa5080}.cv-nav-grid{display:grid;grid-template-columns:repeat(3,30px);gap:4px}.cv-nav-orbit{font-size:10px;color:#cfc8bb;display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}.cv-file{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--border)}.cv-file:first-child{border-top:0;padding-top:0}.cv-file-name{flex:1;min-width:0}.cv-file-name strong{display:block;font-size:.9rem}.cv-file-name span{display:block;font-size:.72rem;color:var(--text-subtle);overflow-wrap:anywhere}.cv-file .btn{font-size:.78rem;padding:.45rem .8rem;white-space:nowrap}.cv-muted{color:var(--text-subtle);font-size:.85rem;margin:0}.cv-foot{font-size:.72rem;color:var(--text-subtle);line-height:1.5;margin:0}.cv-about{display:grid;grid-template-columns:auto 1fr;gap:.3rem .8rem;margin:0;font-size:.82rem}.cv-about dt{color:var(--text-subtle)}.cv-about dd{margin:0;color:var(--text);overflow-wrap:anywhere}.cv-legend{position:absolute;left:10px;bottom:12px;background:#0c1220e6;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.45rem .65rem;font-size:.74rem;line-height:1.75;max-width:calc(100% - 80px)}.cv-legend summary{cursor:pointer;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.66rem;color:#ebca9c;list-style:none}.cv-legend summary::-webkit-details-marker{display:none}.cv-legend .row{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.cv-legend svg{flex:none}.cv-maptools{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:6px;z-index:2}.cv-tool{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#0c1220e6;color:#fff;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.cv-tool span{display:inline-block;transition:transform .15s;font-size:.8rem}.cv-mapmsg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0c1220e6;color:#fff;padding:.6rem .9rem;border-radius:8px;font-size:.85rem;text-align:center;max-width:80%}[hidden]{display:none!important}@media(min-width:901px){.cv-body{height:100vh;height:100dvh}.cv-main{min-height:0;overflow:hidden}.cv-map{min-height:420px}.cv-side{min-height:0}}@media(max-width:900px){.cv-main{grid-template-columns:1fr}.cv-map{min-height:60vh;min-height:60svh}.cv-nav{display:none!important}.cv-side{border-left:0;border-top:1px solid var(--border)}.cv-notice{padding:.35rem .75rem;font-size:.74rem;flex-wrap:nowrap;justify-content:space-between}.cv-notice.open{flex-wrap:wrap}#cv-notice-title{display:none}.cv-notice-short{display:inline}.cv-head-inner{padding:.55rem .9rem;gap:.2rem;flex-direction:column;align-items:flex-start}.cv-logo{height:18px}.cv-eyebrow{font-size:.62rem;letter-spacing:.1em}.cv-title h1{font-size:1.08rem}.cv-meta{font-size:.74rem;line-height:1.35}}
