:root{color:#f8fafc;font-synthesis:none;text-rendering:optimizelegibility;background:#081521;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}.calibration-shell{background:#07131f;grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.calibration-header{z-index:5;background:#0f2233;border-bottom:1px solid #22d3ee66;justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.65rem 1rem;display:flex}.calibration-header h1,.calibration-editor-panel h2{margin:.15rem 0}.calibration-header h1{font-size:1.15rem}.calibration-header-actions,.calibration-toolbar,.status-shortcuts{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}#calibration-coordinates{color:#67e8f9;background:#02061788;border-radius:7px;min-width:190px;padding:.48rem .65rem;font-family:ui-monospace,monospace;font-size:.78rem}.calibration-workspace{grid-template-columns:300px minmax(480px,1fr) 350px;min-height:0;display:grid}.calibration-list-panel,.calibration-editor-panel{background:#0f2233;min-height:0;overflow:auto}.calibration-list-panel{border-right:1px solid #22d3ee44}.calibration-editor-panel{border-left:1px solid #22d3ee44;padding:.8rem}.calibration-search,.calibration-editor-panel label,.review-controls label{color:#cbd5e1;gap:.35rem;padding:.7rem;font-size:.76rem;font-weight:700;display:grid}.calibration-search input,.calibration-editor-panel select,.calibration-editor-panel textarea,.review-controls select{color:#f8fafc;background:#081521;border:1px solid #38bdf844;border-radius:7px;width:100%;min-height:36px;padding:.45rem}.calibration-summary{color:#67e8f9;background:#02061755;padding:.55rem .7rem;font-size:.72rem;font-weight:800}.calibration-place-list{gap:1px;display:grid}.calibration-place-card{text-align:left;border:0;border-bottom:1px solid #38bdf822;border-radius:0;grid-template-columns:34px 1fr;gap:.5rem;width:100%;padding:.65rem;display:grid}.calibration-place-card.is-selected{background:#0f766e}.calibration-place-card strong,.calibration-place-card small,.calibration-place-card em{display:block}.calibration-place-card small{color:#94a3b8;margin-top:.18rem;font-size:.63rem}.calibration-place-card.is-selected small{color:#ccfbf1}.calibration-place-card em{color:#fbbf24;grid-column:2;font-size:.62rem;font-style:normal}.map-number{color:#67e8f9;font-weight:900}.calibration-map-column{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.calibration-toolbar{background:#0b1c2a;border-bottom:1px solid #22d3ee44;padding:.45rem}.calibration-toolbar button{min-height:31px;padding:.3rem .5rem;font-size:.7rem}.calibration-toolbar button.is-active{color:#081521;background:#fbbf24;border-color:#fbbf24;font-weight:900}.calibration-viewport{cursor:crosshair;touch-action:none;background:#020617;min-height:0;position:relative;overflow:hidden}.calibration-world{transform-origin:0 0;will-change:transform;width:1672px;height:941px;position:absolute;top:0;left:0}.calibration-world img,#calibration-overlay{width:1672px;height:941px;position:absolute;inset:0}#calibration-overlay{overflow:visible}#calibration-overlay circle{fill:#fef08a;stroke:#0f172a;stroke-width:3px;vector-effect:non-scaling-stroke}#calibration-overlay g text{fill:#0f172a;text-anchor:middle;font:700 8px ui-monospace,monospace}#calibration-overlay .entrance circle{fill:#38bdf8}#calibration-overlay .additional circle{fill:#a78bfa}.calibration-polygon{fill:#22d3ee33;stroke:#22d3ee;stroke-width:3px;vector-effect:non-scaling-stroke}.calibration-interaction{fill:#f9731633;stroke:#fb923c;stroke-width:3px;vector-effect:non-scaling-stroke}.calibration-interaction.drawing{stroke-dasharray:7 5}.calibration-label{fill:#fff;stroke:#07131f;stroke-width:4px;paint-order:stroke;font:800 13px system-ui,sans-serif}.place-metadata{gap:.4rem;display:grid}.place-metadata div{background:#081521;border-radius:7px;padding:.5rem}.place-metadata dt{color:#94a3b8;text-transform:uppercase;font-size:.62rem}.place-metadata dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.78rem}.calibration-coordinates-list{color:#cbd5e1;gap:.25rem;padding:.6rem;font:.72rem ui-monospace,monospace;display:grid}.status-shortcuts{padding:.4rem .7rem .9rem}.status-shortcuts button{font-size:.68rem}.review-controls{border-top:1px solid #38bdf833;padding-top:.7rem}.review-controls label:has(input){align-items:center;display:flex}.validation-summary{border-radius:7px;padding:.55rem;font-size:.75rem;font-weight:800}.validation-summary.is-valid{color:#99f6e4;background:#134e4a}.validation-summary.has-errors{color:#fecaca;background:#7f1d1d}#calibration-report ul{color:#cbd5e1;padding-left:1.2rem;font-size:.68rem}#calibration-report details{color:#fbbf24;font-size:.7rem}#calibration-report details p{color:#94a3b8;overflow-wrap:anywhere}@media (width<=1150px){.calibration-workspace{grid-template-columns:240px minmax(420px,1fr) 290px}.calibration-header{flex-direction:column;align-items:flex-start}}.loading-shell{place-items:center;min-height:100vh;display:grid}.viewer-shell{--panel-width:340px;grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-height:100vh;display:grid;overflow:hidden}.workspace{grid-template-columns:minmax(0, 1fr) var(--panel-width);min-height:0;display:grid}.map-stage,#game-root{width:100%;height:100%;min-height:0}.map-stage{background:#081521;position:relative;overflow:hidden}.control-bar{z-index:10;background:#0f2233f5;border-bottom:1px solid #38bdf833;grid-template-columns:minmax(220px,1fr) auto minmax(310px,1fr);align-items:center;gap:1rem;min-height:72px;padding:.7rem 1rem;display:grid;box-shadow:0 8px 26px #02061766}.control-bar.is-place-review{grid-template-columns:290px 470px minmax(620px,1fr);gap:.45rem}.control-bar.is-place-review .view-controls{gap:.3rem}.control-bar.is-place-review .toggle-control{padding-inline:.4rem}.brand-block{min-width:0;display:grid}.brand-kicker,.timeline-heading small{color:#38bdf8;letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:800}.replay-title{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;overflow:hidden}.playback-controls,.view-controls{align-items:center;gap:.45rem;display:flex}.view-controls{justify-content:flex-end}button,select,input{font:inherit}button,select{color:#f8fafc;background:#081521cc;border:1px solid #38bdf844;border-radius:9px;min-height:36px}button{cursor:pointer;padding:.45rem .7rem}button:hover:not(:disabled){background:#17364c;border-color:#38bdf8}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #38bdf8}.primary-button{background:#0f766e;border-color:#14b8a6;font-weight:800}.step-output{color:#38bdf8;text-align:center;background:#02061766;border-radius:9px;min-width:52px;padding:.45rem .6rem;font-weight:800}.select-control,.toggle-control{color:#cbd5e1;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;display:flex}.select-control select{padding:.25rem .4rem}.toggle-control{background:#08152199;border:1px solid #38bdf833;border-radius:9px;min-height:36px;padding:0 .55rem}.toggle-control input{accent-color:#14b8a6}.side-panel{background:#0f2233f5;border-left:1px solid #38bdf833;min-height:0;overflow:auto}.panel-placeholder{color:#cbd5e1;border:1px dashed #38bdf844;border-radius:12px;margin:1rem;padding:1rem}.panel-tabs{z-index:5;background:#0f2233;grid-template-columns:repeat(4,1fr);gap:.45rem;padding:.7rem;display:grid;position:sticky;top:0}.panel-tabs button{padding-inline:.25rem;font-size:.68rem}.place-functions{background:#08152199;border:1px solid #38bdf833;border-radius:10px;margin:.8rem 0;padding:.85rem}.place-functions ul{color:#cbd5e1;margin:.55rem 0 0;padding-left:1.1rem;font-size:.78rem;line-height:1.55}.place-functions p{color:#cbd5e1;margin:.55rem 0 0;font-size:.78rem;line-height:1.5}.source-list a{color:#67e8f9}.source-list small{color:#94a3b8;display:block}.heritage-context{border-color:#f59e0b55}.find-control{color:#94a3b8;gap:.35rem;margin:.65rem 0;font-size:.68rem;font-weight:800;display:grid}.find-control input,.find-control select{color:#e2e8f0;background:#081521;border:1px solid #38bdf844;border-radius:8px;width:100%;padding:.6rem}.find-summary{color:#cbd5e1;align-items:center;gap:.4rem;margin:.8rem 0;font-size:.72rem;display:flex}.find-summary strong{color:#5eead4;font-size:1rem}.find-summary button{margin-left:auto;padding:.35rem .55rem;font-size:.65rem}.query-note{background:#0f766e33;border-left:3px solid #2dd4bf;border-radius:4px 8px 8px 4px;padding:.7rem}.query-note strong{color:#ccfbf1;font-size:.75rem}.query-note p{color:#cbd5e1;margin:.3rem 0 0;font-size:.68rem;line-height:1.4}.find-results{gap:.4rem;display:grid}.find-results button{text-align:left;background:#081521aa;border-color:#38bdf833;border-radius:8px;padding:.65rem;display:grid}.find-results button:hover{background:#0f766e44;border-color:#2dd4bf}.find-results strong{color:#f8fafc;font-size:.73rem}.find-results span{color:#94a3b8;font-size:.62rem}.panel-tabs button[aria-selected=true]{color:#f8fafc;background:#0f766e;border-color:#14b8a6;font-weight:800}.tab-panel{padding:0 .9rem 1rem}.panel-heading,.agent-panel-heading{padding:1rem 0 .8rem}.panel-heading h2,.agent-panel-heading h2{margin:.25rem 0;font-size:1.15rem}.panel-heading p{color:#94a3b8;margin:0;font-size:.75rem;line-height:1.45}.leaderboard-list{gap:.65rem;display:grid}.leader-card{text-align:left;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;width:100%;padding:.75rem;display:grid}.rank{color:#38bdf8;font-size:.75rem;font-weight:900}.agent-swatch{background:var(--agent-color);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--agent-color), transparent 70%);border-radius:50%;display:inline-block}.agent-swatch.large{width:16px;height:16px}.leader-name{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:800;overflow:hidden}.score-delta{color:#14b8a6;font-size:.68rem;font-weight:800}.is-negative,.warning-text{color:#f59e0b!important}.metric-strip{color:#94a3b8;grid-column:1/-1;grid-template-columns:repeat(5,1fr);font-size:.58rem;display:grid}.agent-panel-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.status-badge{color:#14b8a6;text-transform:uppercase;border:1px solid #14b8a666;border-radius:999px;padding:.35rem .5rem;font-size:.58rem;font-weight:900}.status-failed,.status-rejected{color:#f59e0b;border-color:#f59e0b88}.status-partially_executed{color:#38bdf8;border-color:#38bdf888}.status-missed_turn,.status-ready{color:#cbd5e1;border-color:#94a3b888}.score-card{background:linear-gradient(135deg,#0f766e44,#081521aa);border:1px solid #14b8a655;border-radius:12px;grid-template-columns:1fr auto auto;align-items:baseline;gap:.65rem;padding:.9rem;font-size:.72rem;display:grid}.score-card strong{color:#f8fafc;font-size:1.45rem}.event-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0;display:grid}.event-grid div{background:#081521a8;border-radius:9px;padding:.65rem}.event-grid .wide{grid-column:1/-1}.event-grid dt{color:#94a3b8;letter-spacing:.07em;text-transform:uppercase;font-size:.58rem;font-weight:800}.event-grid dd{margin:.25rem 0 0;font-size:.72rem;line-height:1.35}.state-list{gap:.5rem;display:grid}.state-row{grid-template-columns:74px minmax(50px,1fr) 26px 26px;align-items:center;gap:.45rem;font-size:.66rem;display:grid}.state-row strong,.state-row small{text-align:right}.state-row small{color:#14b8a6}.status-track{background:#334155;border-radius:999px;height:7px;overflow:hidden}.status-track span{border-radius:inherit;background:linear-gradient(90deg,#14b8a6,#38bdf8);height:100%;display:block}.state-row.is-critical .status-track span{background:#ef4444}.message-card{background:#081521a8;border-left:3px solid #38bdf8;border-radius:4px 10px 10px 4px;margin-top:.9rem;padding:.8rem}.message-card p{color:#cbd5e1;margin:.35rem 0 0;font-size:.75rem;line-height:1.45}.map-hint{color:#cbd5e1;white-space:nowrap;background:#0f2233dd;border:1px solid #38bdf833;border-radius:999px;padding:.4rem .7rem;font-size:.72rem;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #02061777}.timeline{z-index:10;background:#0f2233f8;border-top:1px solid #38bdf833;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:1rem;min-height:96px;padding:.65rem 1rem .8rem;display:grid}.timeline-heading{gap:.2rem;font-size:.85rem;font-weight:800;display:grid}.timeline-heading small{color:#94a3b8;font-size:.55rem}.timeline-markers{grid-template-columns:repeat(11,minmax(44px,1fr));margin:0;padding:0;list-style:none;display:grid}.timeline-markers li{position:relative}.timeline-markers li:before{content:"";background:#334155;height:2px;position:absolute;top:17px;left:-50%;right:50%}.timeline-markers li:first-child:before{display:none}.timeline-markers button{z-index:1;color:#94a3b8;background:0 0;border:0;place-items:center;gap:.25rem;width:100%;min-height:auto;padding:0;font-size:.67rem;display:grid;position:relative}.marker-dot{background:#0f2233;border:3px solid #475569;border-radius:50%;width:14px;height:14px;display:block}.timeline-markers button.is-complete .marker-dot{background:#14b8a6;border-color:#14b8a6}.timeline-markers button.is-current{color:#f8fafc;font-weight:800}.timeline-markers button.is-current .marker-dot{background:#38bdf8;border-color:#f8fafc;box-shadow:0 0 0 5px #38bdf833}@media (width<=1120px){.control-bar{grid-template-columns:1fr auto}.brand-block{grid-column:1/-1}.view-controls{flex-wrap:wrap}}@media (width<=820px){.viewer-shell{overflow:auto}.control-bar,.workspace,.timeline{flex-direction:column;align-items:stretch;display:flex}.playback-controls,.view-controls{flex-wrap:wrap;justify-content:center}.map-stage{height:60vh;min-height:420px}.side-panel{border-top:1px solid #38bdf833;border-left:0;max-height:none}.timeline-markers{overflow-x:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.error-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.error-panel{background:#0f2233;border:1px solid #f59e0b88;border-radius:18px;width:min(680px,100%);padding:2rem;box-shadow:0 24px 70px #0008}.error-panel h1{margin-top:.25rem}.error-panel dl{gap:1rem;display:grid}.error-panel dl div{background:#081521;border-radius:10px;padding:.9rem}.error-panel dt,.eyebrow{color:#f59e0b;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.error-panel dd{color:#cbd5e1;margin:.35rem 0 0}
