@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Sora:wght@500;600;700;800&display=swap";:root{--ink-950:#08121d;--ink-900:#102130;--ink-700:#2b4659;--ink-600:#3e5d72;--ink-500:#55748a;--line:#cad5e2;--signal:#0077b6;--signal-deep:#035d8d;--mint:#00a896;--crimson:#bc4b51;--bg-wave:radial-gradient(circle at 8% -8%, #ffce7359 0 20%, transparent 55%), radial-gradient(circle at 92% -15%, #00a89638 0 18%, transparent 54%), linear-gradient(162deg, #f7fbff 0%, #ecf3fb 42%, #edf7f5 100%);--panel:#ffffffe0;--shadow-soft:0 10px 28px #091d2b1f;--font-heading:"Sora", "IBM Plex Sans", sans-serif;--font-ui:"IBM Plex Sans", "Avenir Next", sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", monospace}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh}body{color:var(--ink-900);font:14px/1.42 var(--font-ui);background:var(--bg-wave);margin:0;overflow-x:hidden}img,canvas,svg,video{max-width:100%;display:block}.app-shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.research-topbar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#eff7fff2 0%,#f5faffde 100%);border-bottom:1px solid #0a283c2e;gap:.48rem;padding:.56rem .9rem .62rem;display:grid;position:sticky;top:0}.brand{gap:.25rem;display:grid}.brand p{color:var(--signal-deep);letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.brand h1{font:700 1.18rem/1.1 var(--font-heading);letter-spacing:.01em;margin:0}.brand-meta{color:var(--ink-600);letter-spacing:.02em;margin:0;font-size:.74rem;font-weight:600}.lab-strap{color:var(--ink-700);max-width:96ch;margin:0;font-size:.85rem;display:none}.module-ribbon{grid-auto-columns:minmax(180px,1fr);grid-auto-flow:column;gap:.42rem;padding-bottom:.12rem;display:grid;overflow-x:auto}.module-link{color:inherit;background:linear-gradient(#ffffffe6 0%,#f1f8ffd1 100%);border:1px solid #0000;border-radius:.75rem;gap:.2rem;padding:.5rem .58rem;text-decoration:none;transition:transform .16s,box-shadow .16s;animation:.32s rise-in;display:grid}.module-link:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.module-link strong{font-size:.88rem;font-weight:700;line-height:1.2}.module-link span{color:var(--ink-600);font-size:.73rem;line-height:1.25}.workspace{gap:.8rem;padding:.8rem .95rem 1rem;display:grid}.workspace-header{box-shadow:var(--shadow-soft);background:linear-gradient(120deg,#ffffffe6 0%,#edf6ffd6 100%);border:1px solid #004a722e;border-radius:.85rem;gap:.45rem;padding:.68rem .82rem;display:grid}.workspace-overline{text-transform:uppercase;letter-spacing:.08em;color:var(--signal-deep);margin:0;font-size:.67rem;font-weight:700}.workspace-header h2{font:600 .96rem/1.3 var(--font-heading);color:var(--ink-900);margin:0}.workspace-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.workspace-facts span{color:var(--signal-deep);letter-spacing:.02em;text-align:center;background:#ffffffd1;border:1px solid #005c8b33;border-radius:999px;padding:.28rem .44rem;font-size:.7rem;font-weight:600}.tool-grid{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:.78rem;min-width:0;display:grid}.tool-grid-single{grid-template-columns:minmax(0,1fr)}.full-page-mode{z-index:60;background:radial-gradient(circle at 20% 10%,#0a1e2d38,#050e18eb);align-items:stretch;margin:0;padding:.5rem;position:fixed;inset:0}.full-page-explorer{min-height:calc(100vh - 1rem)}.full-page-explorer .panel{background:#07141eeb;border-color:#91b4d24d;border-radius:.75rem;height:100%;margin:0;padding:.55rem;position:relative;overflow:hidden}.full-page-explorer .panel-header{display:none}.full-page-mode .fractal-explorer-toolbar{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1d2bad;border:1px solid #a2cdeb57;border-radius:999px;margin:0;padding:.35rem .45rem;transition:opacity .28s,transform .28s;position:absolute;top:.6rem;left:.6rem;right:.6rem}.full-page-mode .overlay-toggle{background:#e4f4fff2}.full-page-mode .full-page-controls.is-hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.full-page-mode .result-image,.full-page-mode .fractal-canvas{background:#02070d;border-radius:.55rem;height:calc(100vh - 1.8rem);max-height:none}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-soft);border-radius:.92rem;min-width:0;padding:.82rem;animation:.34s lift-in}.panel-header{margin-bottom:.62rem}.panel-header h2{font:700 .98rem/1.2 var(--font-heading);margin:0}.panel-header p{color:var(--ink-600);margin:.34rem 0 0;font-size:.79rem}.form-grid{gap:.54rem;display:grid}.edu-note{background:linear-gradient(130deg,#e8f6ffb8,#f4fffca3);border:1px solid #035d8d38;border-radius:.62rem;gap:.22rem;padding:.48rem .54rem;display:grid}.edu-note-title{text-transform:uppercase;letter-spacing:.08em;color:var(--signal-deep);margin:0;font-size:.68rem;font-weight:700}.edu-note p{color:var(--ink-700);margin:0;font-size:.76rem;line-height:1.3}.edu-chip-row{flex-wrap:wrap;gap:.36rem;display:flex}.edu-chip{color:var(--ink-700);letter-spacing:.01em;background:#fafdfff2;border:1px solid #025c8c40;border-radius:999px;padding:.22rem .5rem;font-size:.7rem;font-weight:600}.field{gap:.24rem;display:grid}.field span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-700);font-size:.69rem;font-weight:700}input,select,button,textarea{font:inherit}input,select{border:1px solid var(--line);color:var(--ink-900);background:#fff;border-radius:.58rem;width:100%;min-width:0;min-height:2.14rem;padding:.3rem .56rem}input[type=file]{min-height:2.42rem;padding:.38rem .48rem}.action{background:linear-gradient(120deg, var(--signal), #1aa0d8);color:#f8fcff;letter-spacing:.01em;cursor:pointer;border:none;border-radius:.62rem;justify-content:center;align-items:center;gap:.45rem;min-height:2.3rem;font-weight:700;transition:transform .16s,filter .16s;display:inline-flex}.action:hover:enabled{filter:saturate(1.08);transform:translateY(-1px)}.action:disabled{opacity:.58;cursor:not-allowed}.button-spinner{border:2px solid #ffffff5c;border-top-color:#fff;border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin}.result-stack{gap:.66rem;display:grid}.loading-stage{background:#f8fcffbf;border:1px dashed #00588540;border-radius:.72rem;place-items:center;gap:.5rem;min-height:180px;padding:1rem;display:grid}.loading-spinner{border:3px solid #0077b633;border-top-color:var(--signal);border-radius:50%;width:30px;height:30px;animation:.85s linear infinite spin}.loading-text{color:var(--ink-700);margin:0;font-size:.8rem;font-weight:600}.image-stage-loading-overlay{z-index:4;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#f6fbffb8;border-radius:.72rem;place-items:center;gap:.48rem;display:grid;position:absolute;inset:0}.image-stage{width:100%;position:relative}.stage-grid .result-image{box-shadow:inset 0 0 0 1px #0743641a}.stage-badge{z-index:3;color:var(--signal-deep);letter-spacing:.03em;background:#f7fcffe6;border:1px solid #00588540;border-radius:999px;padding:.18rem .48rem;font-size:.66rem;font-weight:700;position:absolute;top:.56rem;left:.56rem}.stage-badge-right{left:auto;right:.56rem}.stage-scale{z-index:3;color:var(--ink-700);background:#ffffffe0;border:1px solid #07426347;border-radius:.45rem;padding:.2rem .45rem;font-size:.64rem;font-weight:600;position:absolute;bottom:.56rem;right:.56rem}.stage-focusable:focus-visible{outline-offset:2px;outline:2px solid #0077b6d9}.fractal-explorer-toolbar{flex-wrap:wrap;gap:.45rem;margin-bottom:.55rem}.fractal-canvas-stage{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.fractal-canvas-stage:active{cursor:grabbing}.overlay-controls{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex;overflow-x:auto}.overlay-toggle{min-height:1.95rem;color:var(--signal-deep);cursor:pointer;background:#f8fcffeb;border:1px solid #035c8c52;border-radius:999px;padding:.18rem .64rem;font-size:.72rem;font-weight:700}.overlay-toggle:hover{background:#ecf7fff5}.overlay-toggle:focus-visible{outline-offset:2px;outline:2px solid #0077b6d9}.overlay-legend{flex-wrap:wrap;gap:.28rem;display:flex}.overlay-legend-item{color:var(--ink-700);cursor:help;background:#ffffffe0;border:1px dashed #0c598447;border-radius:999px;padding:.12rem .46rem;font-size:.67rem;font-weight:600}.overlay-legend-item:focus-visible{outline-offset:2px;outline:2px solid #0077b6d9}.fractal-canvas{object-fit:contain;background:radial-gradient(circle at 30% 25%,#f7fcff99,#d2e4f259);width:100%;height:auto;max-height:min(68vh,760px)}.fractal-canvas-hidden{display:none!important}.explorer-controls-badge{z-index:5;pointer-events:none;align-items:flex-end;gap:.35rem;display:flex;position:absolute;bottom:.7rem;right:.7rem}.explorer-controls-toggle{pointer-events:auto;color:#074f7a;cursor:pointer;background:#f4fafff5;border:1px solid #08486d73;border-radius:999px;width:1.52rem;height:1.52rem;font-size:.9rem;font-weight:800;line-height:1;box-shadow:0 8px 16px #042b3f29}.explorer-controls-toggle:focus-visible{outline-offset:2px;outline:2px solid #0077b6d9}.explorer-controls-panel{color:var(--ink-700);background:#f4faffed;border:1px solid #08486d59;border-radius:.52rem;gap:.13rem;padding:.38rem .5rem;font-size:.64rem;line-height:1.2;display:grid;box-shadow:0 8px 16px #042b3f29}.explorer-controls-panel strong{letter-spacing:.02em;text-transform:uppercase;color:#074f7a;font-size:.66rem}.stage-reticle:before,.stage-reticle:after{content:"";z-index:2;pointer-events:none;background:#045c8c38;position:absolute}.stage-reticle:before{width:1px;height:76%;top:12%;left:50%;transform:translate(-.5px)}.stage-reticle:after{width:76%;height:1px;top:50%;left:12%;transform:translateY(-.5px)}.result-image{border:1px solid var(--line);object-fit:contain;background:linear-gradient(90deg,#cad5e22e 1px,#0000 1px) 0 0/22px 22px,linear-gradient(#cad5e22e 1px,#0000 1px) 0 0/22px 22px,#fbfdff;border-radius:.72rem;width:100%;height:clamp(360px,54vh,740px)}.metrics{grid-template-columns:1fr 1fr;gap:.42rem;display:grid}.metrics span{border:1px solid var(--line);background:#fffffff2;border-radius:.58rem;padding:.46rem .5rem;font-size:.77rem;font-weight:600}.compare-grid{grid-template-columns:1fr 1fr;gap:.58rem;display:grid}.compare-slot{background:#ffffffe6;border:1px dashed #3f5d7261;border-radius:.72rem;place-items:center;min-height:clamp(320px,47vh,620px);padding:.42rem;display:grid}.compare-slot .image-stage{width:100%}.overlay-stage{position:relative}.overlay-svg{width:100%;height:100%;position:absolute;inset:0}.bbox-rect{fill:#0000;stroke:var(--crimson);stroke-width:1.3px}.bbox-rect-high{stroke:var(--mint)}.bbox-rect-medium{stroke:#cc8a00}.bbox-rect-low{stroke:var(--crimson)}.bbox-label{fill:#4f0e14;paint-order:stroke;stroke:#ffffffd1;stroke-width:.75px;font-size:3px;font-weight:700}.bbox-label-high{fill:#05413a}.bbox-label-medium{fill:#614300}.bbox-label-low{fill:#4f0e14}.muted{color:var(--ink-500);margin:0;font-size:.78rem}pre{border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font:.73rem/1.35 var(--font-mono);background:#f9fcff;border-radius:.65rem;margin:0;padding:.64rem;overflow-x:auto}.table-wrap{overflow-x:auto}.runs-table{border-collapse:collapse;width:100%;min-width:680px}.runs-table th,.runs-table td{border-bottom:1px solid var(--line);text-align:left;padding:.56rem .48rem;font-size:.8rem}.runs-table th{color:var(--ink-700);text-transform:uppercase;letter-spacing:.08em;font-size:.69rem}.table-link{color:var(--signal-deep);font-weight:700;text-decoration:none}.table-link:hover{text-decoration:underline}.detail-stack{gap:.66rem;display:grid}.detail-grid{grid-template-columns:1fr 1fr}.detail-heading{color:var(--ink-700);text-transform:uppercase;letter-spacing:.07em;margin:.08rem 0 0;font-size:.82rem}@keyframes rise-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes lift-in{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1120px){.workspace-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid{grid-template-columns:minmax(240px,290px) minmax(0,1fr)}}@media (width<=900px){.module-ribbon{grid-auto-columns:minmax(170px,1fr)}.tool-grid{grid-template-columns:1fr}.panel{padding:.72rem}.result-image{height:clamp(300px,50vh,560px)}.compare-slot{min-height:clamp(260px,42vh,500px)}}@media (width<=680px){.research-topbar{padding:.48rem .6rem .56rem}.workspace{padding:.64rem}.tool-grid{gap:.62rem}.panel{border-radius:.78rem;padding:.62rem}.workspace-facts,.metrics,.compare-grid,.detail-grid{grid-template-columns:1fr}.edu-note p{font-size:.74rem}.brand h1{font-size:1.09rem}.lab-strap{font-size:.77rem}.module-link{padding:.52rem .56rem}.stage-badge,.stage-scale{font-size:.61rem}.overlay-toggle,.overlay-legend-item{font-size:.63rem}.overlay-controls{flex-wrap:nowrap;padding-bottom:.1rem}.result-image{height:clamp(240px,44vh,460px)}.stage-badge,.stage-badge-right,.stage-scale{white-space:nowrap;text-overflow:ellipsis;max-width:70%;overflow:hidden}.runs-table{min-width:560px}.full-page-mode{padding:max(.4rem, env(safe-area-inset-top)) max(.4rem, env(safe-area-inset-right)) max(.4rem, env(safe-area-inset-bottom)) max(.4rem, env(safe-area-inset-left))}.full-page-mode .fractal-explorer-toolbar{border-radius:.72rem;justify-content:flex-start;top:auto;bottom:.55rem}.full-page-mode .result-image,.full-page-mode .fractal-canvas{height:calc(100svh - 1.6rem)}}.research-panel{background:#f7fbff99;border:1px solid #0077b626;border-radius:.5rem;gap:1rem;padding:1rem;display:grid}.research-panel-scroll{max-height:min(62vh,560px);overflow-y:auto}.research-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.research-action-button{min-width:0;padding:.5rem 1rem;font-size:.9rem}.research-section{border-left:3px solid var(--signal);background:#ffffffb3;border-radius:.25rem;gap:.5rem;padding:.75rem;display:grid}.research-section h3{color:var(--signal-deep);letter-spacing:.01em;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.research-section p{color:var(--ink-900);margin:.25rem 0;font-size:.9rem}.research-section ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.9rem}.research-section ul li{color:var(--ink-700);margin:.3rem 0}.research-section strong{color:var(--ink-900);font-weight:600}.research-section .muted{color:var(--ink-600);font-size:.85rem}@media (width<=480px){.workspace{padding:.52rem}.research-topbar{gap:.35rem;padding:.42rem .5rem}.brand p,.brand-meta{font-size:.66rem}.brand h1{font-size:.98rem}.module-ribbon{grid-auto-columns:minmax(155px,1fr);gap:.34rem}.module-link{padding:.46rem .5rem}.module-link strong{font-size:.8rem}.module-link span{font-size:.67rem}.result-image{height:clamp(210px,40vh,380px)}.overlay-toggle{min-height:1.78rem;padding:.15rem .52rem}.research-panel{padding:.72rem}.research-panel-scroll{max-height:min(58vh,460px)}.research-action-button{flex:140px}}@media (height<=620px) and (orientation:landscape){.research-topbar{position:static}.workspace{padding-top:.48rem}.result-image{height:clamp(180px,56vh,320px)}.full-page-mode .fractal-explorer-toolbar{inset:.42rem .42rem auto}.full-page-mode .result-image,.full-page-mode .fractal-canvas{height:calc(100svh - 1rem)}}
