:root{--ink:#1f2328;--muted:#57606a;--line:#d8dee4;--bg:#f6f8fa;--card:#fff;--accent:#2d7ff9;--accent-ink:#fff;--accent-hover:color-mix(in srgb, var(--accent) 86%, black);--danger:#c93f3f;--radius:10px;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--chrome-bg:#101c30;--chrome-mark:#6db3ff;--chrome-hover:#1b2c47;--chrome-active:#24406b;--chrome-link:#9fb3c8;--chrome-text:#cfd9e4;--chrome-ink:#fff}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .35em;line-height:1.25}code{background:#eef1f4;border-radius:4px;padding:1px 5px;font-size:.9em}.muted{color:var(--muted)}.small{font-size:13px}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.button{font-size:14px;font-family:var(--font);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;display:inline-flex;text-decoration:none!important}.button-primary{background:var(--accent);color:var(--accent-ink)}.button-primary:hover{background:var(--accent-hover)}.button-outline{background:var(--card);border-color:var(--line);color:var(--ink)}.button-outline:hover{background:#f0f3f6;border-color:#b6c1cb}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover{color:var(--ink)}.button-danger{color:var(--danger);background:0 0;border-color:#e6b3b3}.button-danger:hover{background:#fdf1f1}.button:disabled{opacity:.5;cursor:not-allowed}.icon-button{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:14px}.icon-button:hover{color:var(--ink);background:#eef1f4}.icon-button.danger:hover{color:var(--danger);background:#fdf1f1}input,select,textarea{font-family:var(--font);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:0;border-color:var(--accent)}textarea{resize:vertical}label{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.badge{white-space:nowrap;letter-spacing:.01em;border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-new{color:#fff;background:#1a7f37}.badge-moved-in{color:#1a7f37;background:#e6f4ea}.badge-moved-out{color:#9a6700;background:#fdf1e2}.badge-quadrant{color:#4356c9;background:#eef1f9}.badge-muted{color:var(--muted);background:#eef1f4}.badge-published{color:#1a7f37;background:#e6f4ea}.badge-draft{color:#9a6700;background:#fdf1e2}.count{color:var(--muted);background:#eef1f4;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.form-error{color:var(--danger);background:#fdf1f1;border:1px solid #f0cfcf;border-radius:8px;padding:8px 12px}.form-notice{color:#1a7f37;background:#e6f4ea;border:1px solid #bfe3c8;border-radius:8px;padding:8px 12px}.form-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.form-row .grow{flex:1}label.checkbox{flex-direction:row;align-items:center;gap:6px}.form-hint{color:var(--muted);margin:4px 0 0;font-size:13px;display:block}.form-preview{border:1px dashed var(--line);border-radius:var(--radius);background:var(--card);margin:10px 0;padding:10px 14px}.form-preview>p{margin:0 0 4px}.public-page{flex-direction:column;min-height:100vh;display:flex}.site-header{background:var(--chrome-bg);color:var(--chrome-ink)}.site-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.brand{color:var(--chrome-ink);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:10px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;color:var(--chrome-mark)}.brand-logo{object-fit:contain;width:28px;height:28px;display:block}.header-tools{align-items:center;gap:14px;display:flex}.admin-link{color:var(--chrome-link);font-size:14px}.admin-link:hover{color:var(--chrome-ink)}.revision-select select{background:var(--chrome-hover);border-color:var(--chrome-active);color:var(--chrome-ink)}.lang-toggle{opacity:.75;border:1px solid;border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.lang-toggle:hover{opacity:1}.lang-toggle button{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1}.lang-toggle button:hover{opacity:1}.lang-toggle button.active{opacity:1;background:#8091a859}.radar-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 24px 48px}.radar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:12px;display:flex}.edition h1{margin-bottom:2px;font-size:28px}.edition-notes{max-width:70ch;color:var(--muted);margin:8px 0 0}.quadrant-chips{flex-wrap:wrap;gap:10px;margin:10px 0 18px;display:flex}.quadrant-chip{border:1px solid var(--line);background:var(--card);color:var(--ink);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:14px;display:inline-flex}.quadrant-chip:hover{border-color:var(--chip-color,var(--accent));text-decoration:none}.quadrant-chip.active{border-color:var(--chip-color,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--chip-color,var(--accent)) 25%, transparent)}.quadrant-dot{border-radius:50%;flex:none;width:11px;height:11px;display:inline-block}.radar-stage{flex-direction:column;gap:24px;display:flex}.radar-svg{-webkit-user-select:none;user-select:none;width:100%;max-width:860px;margin:0 auto;display:block}.quadrant-svg{max-width:1000px}.ring-boundary{fill:none;stroke:#c9d2dc;stroke-width:1px}.quadrant-sector{cursor:pointer;fill-opacity:.1;transition:fill-opacity .15s}.quadrant-sector:hover{fill-opacity:.2}.quadrant-sector.is-active{fill-opacity:.22}.quadrant-sector.is-muted{fill-opacity:.05}.quadrant-rim{fill:none;stroke-width:3px;stroke-linecap:round;pointer-events:none;animation:.15s ease-out fade-in}.quadrant-tint{fill-opacity:.1;transition:fill-opacity .15s}.quadrant-tint.is-active{fill-opacity:.16}.ring-label{fill:#4a5560;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round;font-size:15px;font-weight:600}.quadrant-label{cursor:pointer;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-size:16px;font-weight:700;transition:opacity .2s}.quadrant-label:hover{text-decoration:underline}.quadrant-label.quadrant-muted{opacity:.4}.blip{cursor:pointer;transition:opacity .2s}.blip-circle{stroke:#fff;stroke-width:1.4px;filter:drop-shadow(0 1px 1px #10182840)}.blip:hover .blip-circle{stroke:var(--chrome-bg);stroke-width:2px}.movement-glyph{pointer-events:none}.blip-selected-ring{fill:none;stroke:var(--chrome-bg);stroke-width:2px}.blip-number{fill:#fff;pointer-events:none;font-size:10.5px;font-weight:700}.blip-number-lg{font-size:12.5px}.blip.quadrant-muted{opacity:.4}.blip.dimmed{opacity:.15}.quadrant-zoom-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.quadrant-zoom-header h2{align-items:center;gap:10px;margin:0;font-size:22px;display:flex}.movement-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;font-size:13px;display:flex}.movement-legend-item{align-items:center;gap:6px;display:inline-flex}.quadrant-lists{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.quadrant-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px}.quadrant-card header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.quadrant-card.active{border-color:var(--chip-color,var(--accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--chip-color,var(--accent)) 25%, transparent)}.quadrant-card h3{margin:0;font-size:16px}.card-view-link{white-space:nowrap;margin-left:auto;font-size:13px}.ring-group h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 4px;font-size:12px}.ring-group ul{margin:0;padding:0;list-style:none}.blip-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:5px 6px;display:flex}.blip-row:hover{background:#f0f3f6}.blip-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}li.dimmed{opacity:.35}.blip-number-chip{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 3px;font-size:11px;font-weight:700;display:inline-flex}.searchbox{width:min(360px,100%);position:relative}.searchbox input{width:100%}.search-results{background:var(--card);border:1px solid var(--line);z-index:40;border-radius:10px;max-height:380px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto;box-shadow:0 8px 24px #10182824}.search-results button{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.search-results button:hover{background:#f0f3f6}.search-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.search-meta{color:var(--muted);white-space:nowrap;font-size:12px}.search-empty,.search-more{color:var(--muted);padding:10px 12px;font-size:13px}.drawer-backdrop{cursor:pointer;z-index:50;background:#10182814;animation:.25s ease-out fade-in;position:fixed;inset:0}.drawer{background:var(--card);z-index:51;width:clamp(440px,50vw,720px);padding:22px 26px;animation:.25s ease-out drawer-slide-in;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 32px #1018282e;container:drawer/inline-size}.drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.drawer-header h2{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;font-size:22px;display:flex}.drawer-quadrant{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.drawer-badges{align-items:center;gap:8px;margin-top:6px;display:flex}.ring-pill{color:#3d4650;background:#eef1f4;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.drawer-body{grid-template-columns:1fr;gap:18px;margin-top:16px;display:grid}@container drawer (width>=640px){.drawer-body{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:32px}.drawer-rail{border-left:1px solid var(--line);padding-left:24px}}.drawer-main{min-width:0}.drawer-rail{flex-direction:column;align-items:flex-start;gap:14px;min-width:0;display:flex}.drawer-movement{color:var(--muted);margin:0;font-style:italic}.drawer-description{margin:0}.drawer-links,.drawer-history h3{margin-top:0}@keyframes drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}.rich-text p{margin:0 0 .75em}.rich-text ul,.rich-text ol{margin:.5em 0 .75em;padding-left:1.4em}.rich-text li{margin:.15em 0}.rich-text blockquote{border-left:3px solid var(--line);color:var(--muted);margin:.75em 0;padding:.2em .9em}.rich-text pre{border-radius:var(--radius);background:#eef1f4;padding:10px 12px;overflow-x:auto}.rich-text pre code{background:0 0;padding:0}.rich-text h1,.rich-text h2,.rich-text h3{margin:.9em 0 .35em;font-size:1em}.rich-text table{border-collapse:collapse;margin:.75em 0}.rich-text th,.rich-text td{border:1px solid var(--line);text-align:left;padding:4px 10px}.rich-text th{background:#eef1f4}.rich-text img{max-width:100%}.blip-link{color:#3d4650;background:#eef1f4;border:1px solid #0000;border-radius:999px;align-items:center;padding:1px 9px;font-family:inherit;font-size:.92em;font-weight:600;line-height:1.5;display:inline-flex}button.blip-link{cursor:pointer}button.blip-link:hover{border-color:var(--accent);color:var(--accent)}.blip-link-static{cursor:default}.blip-link-missing{opacity:.55;border:1px dashed var(--line);cursor:help}.blip-link-ghost{border-style:dashed;border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--muted);background:0 0}button.blip-link-ghost:hover{background:#eef1f4;border-style:solid}.blip-link-ghost.blip-link-static{cursor:help}.hovercard{z-index:60;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);max-width:320px;padding:10px 12px;animation:.12s ease-out fade-in;position:fixed;box-shadow:0 4px 16px #10182824}.hovercard-title{margin:0 0 4px;font-weight:600}.hovercard-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.hovercard-cta{margin-top:8px;font-weight:600;display:inline-block}.blip-page{max-width:860px;margin:0 auto;padding:24px 24px 48px}.blip-back{margin:0 0 18px;font-size:14px}.blip-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.blip-page-header h1{margin-bottom:4px;font-size:26px}.blip-banner{border:1px solid var(--line);background:#eef1f4;border-radius:8px;margin:14px 0 0;padding:10px 14px;font-size:14px}.blip-description{margin-top:18px}.blip-timeline{margin-top:28px}.blip-timeline h2,.blip-related h2{font-size:18px}.blip-timeline ul{margin:0;padding:0;list-style:none}.blip-timeline li{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.blip-timeline li.current{border-color:var(--accent)}.timeline-date{min-width:130px}.blip-related{margin-top:28px}.related-group{margin-bottom:14px}.related-group h3{color:var(--muted);margin:0 0 8px;font-size:14px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.drawer-links{margin-top:8px}.drawer-history h3{margin-top:18px;font-size:14px}.drawer-history ul{margin:0;padding:0;list-style:none}.drawer-history li{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.drawer-history li.current{border-color:var(--accent)}.history-revision{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.history-placement{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.empty-state{text-align:center;max-width:560px;color:var(--muted);margin:80px auto}.empty-state h2{color:var(--ink)}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:18px 24px;font-size:13px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;width:min(400px,100%);padding:28px;display:flex}.login-card h1{margin:0;font-size:22px}.admin-loading{text-align:center;color:var(--muted);padding:80px}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{background:var(--chrome-bg);width:210px;color:var(--chrome-text);flex-direction:column;flex:none;gap:18px;padding:18px 14px;display:flex}.admin-brand{color:var(--chrome-ink);font-size:14px;font-weight:700;text-decoration:none}.admin-sidebar nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-sidebar nav a{color:var(--chrome-text);border-radius:8px;padding:8px 12px;font-size:14px}.admin-sidebar nav a:hover{background:var(--chrome-hover);color:var(--chrome-ink);text-decoration:none}.admin-sidebar nav a.active{background:var(--chrome-active);color:var(--chrome-ink);font-weight:600}.admin-content{flex:1;max-width:1100px;padding:28px 32px}.admin-content h1{font-size:24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:16px 0;padding:18px 20px}.form-card{border-color:var(--accent)}.admin-table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:100%;margin:12px 0;overflow:hidden}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);background:#fafbfc;padding:10px 12px;font-size:12px}.admin-table td{vertical-align:middle;border-bottom:1px solid #eef1f4;padding:10px 12px}.admin-table tr:last-child td{border-bottom:none}.admin-table td.actions{text-align:right;white-space:nowrap}.admin-table td.actions>*{margin-left:6px}.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:380px;display:-webkit-box;overflow:hidden}.branding-colors{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 18px;margin:12px 0;display:grid}.branding-color{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.branding-color input[type=color]{flex:none;width:34px;height:28px;padding:2px}.branding-color .button{margin-left:auto;padding:2px 8px;font-size:12px}.branding-logo-preview{align-items:center;gap:12px;margin:10px 0;display:flex}.branding-logo-preview img{object-fit:contain;border:1px dashed var(--line);background:var(--card);border-radius:8px;max-width:160px;max-height:48px;padding:4px}.create-draft .form-row{align-items:flex-end}.editor-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.movement-summary{flex-wrap:wrap;align-items:center;gap:16px;margin:8px 0;font-size:14px;display:flex}.movement-summary span{align-items:center;gap:6px;display:inline-flex}.editor-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));align-items:start;gap:16px;display:grid}.quadrant-editor header{border-bottom:3px solid var(--line);align-items:center;gap:8px;margin-bottom:6px;padding-bottom:8px;display:flex}.quadrant-editor h3{margin:0;font-size:16px}.placements td{padding:6px 8px}.placement-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.placement-ring select{padding:4px 8px}.add-placement{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.add-placement select{max-width:200px}.override-row td{background:#f7f9fb}.override-form{flex-direction:column;gap:8px;display:flex}@media (width<=760px){.hide-narrow{display:none}.radar-main{padding:16px 14px 40px}.site-header-inner{padding:12px 14px}.admin-shell{flex-direction:column}.admin-sidebar{flex-flow:wrap;align-items:center;width:100%}.admin-sidebar nav{flex-flow:wrap}.admin-content{padding:16px}.editor-grid{grid-template-columns:1fr}.drawer{width:100%}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop,.hovercard,.quadrant-rim{animation:none}}
