@import url("assets/fonts/fonts.css");
:root{--blue:#008ae6;--pink:#e14f9b;--yellow:#fea500;--ink:#132f49;--paper:#fff;--soft:#edf6fc;--line:#cbdce7;font-family:Quicksand,system-ui,sans-serif;color:var(--ink);background:#e7f0f6;caret-color:var(--blue)}*{box-sizing:border-box}::selection{background:#ffe5a8;color:#132f49}body{margin:0}button,a,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ca3d86;outline-offset:3px}a{color:#0067aa;text-underline-offset:3px}#topbar{position:relative;z-index:10;background:white;border-bottom:1px solid var(--line);padding:12px 18px}.canvas-title{display:flex;gap:16px;align-items:baseline;margin-bottom:8px}.canvas-title strong{font-family:'Nunito Sans',system-ui,sans-serif;font-size:20px}.canvas-title span{color:#466880;font-size:14px}.controls{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.controls button,.controls select,.controls a{border:1px solid var(--line);border-radius:8px;background:white;padding:9px 11px;font-size:14px;text-decoration:none;color:var(--ink);min-height:40px}.controls button[aria-pressed=true]{background:#0066aa;border-color:#0066aa;color:#fff}.controls select{max-width:250px}.zoom-label{display:flex;align-items:center;font-size:12px;gap:6px}.zoom-label input{width:105px}#percent{font-variant-numeric:tabular-nums;font-size:13px;min-width:42px}.hint{font-size:12px;margin:9px 0 0;color:#35556e}#viewport{position:absolute;inset:150px 0 0;overflow:auto;touch-action:none;overscroll-behavior:contain;overflow-anchor:none;background:#e7f0f6}#space{position:relative;min-width:100%;min-height:100%}#world{position:absolute;left:60px;top:50px;transform-origin:top left;will-change:transform;width:max-content;height:2860px;display:flex;gap:130px;padding-bottom:60px}.column{width:480px;flex:none;position:relative;height:2820px}.column:not(:last-child)::after{content:'';position:absolute;left:100%;top:52px;width:130px;height:2px;background:#71a6c6}.asset{position:relative;width:480px;height:1300px;padding:25px 30px 20px;background:white;border-radius:12px;border:1px solid var(--line);overflow:hidden}.asset[data-row='rita']{position:absolute;top:1450px;left:0}.asset-header{min-height:76px}.asset-header h2{font-family:'Nunito Sans',system-ui,sans-serif;font-size:26px;line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}.asset .stage-meta{font-size:13px;color:#45647c;margin:0 0 14px}.asset-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.asset button,.asset select{font-size:13px;min-height:39px;border-radius:7px;border:1px solid #bad1df;background:#fff;color:#123b57;padding:8px 10px}.asset .expand{background:#006caf;color:#fff;border-color:#006caf}.asset select{width:100%;margin-bottom:12px}.asset-content{background:#fff;width:390px;margin:auto;outline:1px solid #d9e6ee;border-radius:8px;overflow:hidden;height:790px}.asset-content iframe{display:block;width:390px;height:790px;border:0;background:white}.pan iframe[data-mode=full]{pointer-events:none}.reviewing iframe{pointer-events:none}.asset-content[hidden]{display:none}.asset[data-expanded=false] .reasoning{margin-top:30px}.reasoning{font-size:14px;line-height:1.5;margin-top:18px}.reasoning p{margin:8px 0}.reasoning strong{font-weight:700}.review-target{position:absolute;bottom:20px;left:30px;right:30px;padding-top:9px;border-top:1px solid #e1ebf2;font-size:12px;color:#35556e}.intro{height:1300px;background:#f7fbff}.intro h1{font-family:'Nunito Sans',system-ui,sans-serif;font-size:40px;letter-spacing:-.025em;line-height:1.06;margin:0 0 20px}.intro p{font-size:16px;line-height:1.55}.intro ol{padding-left:22px;font-size:16px;line-height:1.65}.intro .intro-rule{padding:20px 0;border-top:1px solid #b7d3e4;border-bottom:1px solid #b7d3e4}.intro .status-label{font-size:14px;color:#153f5b;background:#d8edfc;padding:12px;border-radius:8px}.pan{cursor:grab}.dragging{cursor:grabbing;user-select:none}.row-label{position:absolute;top:1370px;left:0;width:460px;font-family:'Nunito Sans',system-ui,sans-serif;font-size:22px;font-weight:700;color:#7e2358}dialog{border:0;border-radius:12px;padding:0;box-shadow:0 20px 60px #163a5b35;color:var(--ink);background:#f4f8fb;max-height:94vh}dialog::backdrop{background:#102b46aa}#inspector{width:min(1050px,96vw)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px;background:#fff;border-bottom:1px solid var(--line)}.dialog-head h2{font-family:'Nunito Sans',system-ui,sans-serif;margin:0;font-size:22px}.dialog-head button{border:1px solid #b9cfde;background:white;border-radius:7px;padding:10px 12px;color:#163f5c;min-height:42px}#inspector-body{display:flex;justify-content:center;align-items:flex-start;gap:24px;padding:20px;overflow:auto;max-height:75vh}#inspector-body iframe{width:390px;min-width:390px;height:70vh;border:1px solid #cfdfeb;background:white;border-radius:7px}.inspect-hint{font-size:12px;margin:0;padding:12px 22px;color:#395e78}#asset-index{width:min(1000px,96vw);height:88vh}.search-label{display:flex;align-items:center;gap:12px;padding:18px 22px}.search-label input{flex:1;min-width:0;border:1px solid #bacfdd;border-radius:8px;padding:12px;background:white}#manifest-status{padding:0 22px;font-size:13px;color:#3e6077}#index-list{padding:5px 22px 24px}.index-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #d2e2ed}.index-item p{margin:4px 0;font-size:13px;color:#3d6079}.index-item a{font-weight:700;font-size:15px}.index-item button{padding:8px 12px;min-height:39px;border:1px solid #bad0df;border-radius:6px;background:white;color:#153f5b}@media(max-width:720px){.controls select{max-width:185px}.canvas-title{flex-wrap:wrap;gap:6px}.controls{gap:5px}.controls button,.controls a{padding:8px;font-size:12px}.zoom-label{display:none}.hint{font-size:11px}.dialog-head{gap:12px;padding:12px}.dialog-head h2{font-size:18px}.dialog-head button{font-size:12px}#inspector-body{justify-content:flex-start;padding:10px}.search-label{padding:14px}.index-item{grid-template-columns:1fr}#index-list{padding:4px 14px 20px}}
