:root{
  --bg:#f4f4f0;--paper:#fbfbf8;--ink:#15171a;--muted:#6c7278;--line:#cfd2ce;--strong:#22262a;
  --perm:#227a61;--copy:#7a4a99;--content:#b36a32;--data:#326da8;--prop:#77736b;--danger:#a84444;--warn:#9b6b16;
  --shadow:0 18px 45px rgba(20,25,28,.12);--radius:18px;--sidebar:290px;--inspector:350px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}a{color:inherit}
.boot{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:18px;background:#f7f7f3;transition:.45s ease}.boot.out{opacity:0;pointer-events:none}.boot-mark{width:54px;height:54px;border:1px solid #111;display:grid;place-items:center;font-size:calc(28px * var(--text-scale,1));font-weight:800;transform:rotate(45deg)}.boot-mark+div{display:grid;gap:4px}.boot span{color:var(--muted);font-size:calc(13px * var(--text-scale,1))}
.topbar{height:70px;border-bottom:1px solid var(--line);background:rgba(250,250,247,.93);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:30}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{width:34px;height:34px;border:1px solid var(--ink);display:grid;place-items:center;font-weight:800}.brand span:last-child{display:grid}.brand b{font-size:calc(14px * var(--text-scale,1));letter-spacing:.02em}.brand small{font-size:calc(9px * var(--text-scale,1));color:var(--muted);letter-spacing:.14em;margin-top:2px}.top-actions{display:flex;gap:7px;align-items:center}.ghost,.iconbtn,.stage-tools button{border:1px solid #d6d8d4;background:#fff;border-radius:999px;padding:8px 12px;color:#34383c}.ghost:hover,.stage-tools button:hover{border-color:#989e98;background:#f2f2ee}.iconbtn{width:36px;height:36px;padding:0}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(480px,1fr) var(--inspector);min-height:calc(100vh - 100px)}.sidebar,.inspector{background:var(--paper)}.sidebar{border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:18px}.inspector{border-left:1px solid var(--line);padding:22px;position:relative}.eyebrow{font-size:calc(9px * var(--text-scale,1));letter-spacing:.18em;color:#767d79;font-weight:800}.side-intro h1{font-family:Georgia,serif;font-weight:500;font-size:calc(27px * var(--text-scale,1));line-height:1.05;margin:7px 0 10px}.side-intro p{font-size:calc(12px * var(--text-scale,1));line-height:1.55;color:var(--muted);margin:0}.searchbox{height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;padding:0 12px;gap:7px}.searchbox input{border:0;outline:0;width:100%;background:transparent;font-size:calc(12px * var(--text-scale,1))}.filter-row{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:calc(10px * var(--text-scale,1));border:1px solid #d8d9d5;background:transparent;border-radius:999px;padding:6px 9px}.chip.active{background:#1e2326;color:#fff;border-color:#1e2326}.legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;font-size:calc(10px * var(--text-scale,1));color:#555b5f;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.legend div{display:flex;align-items:center;gap:7px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.permissive{background:var(--perm)}.dot.copyleft{background:var(--copy)}.dot.content{background:var(--content)}.dot.data{background:var(--data)}.dot.proprietary{background:var(--prop)}.learning-path{display:grid;gap:5px}.learning-path .eyebrow{margin-bottom:4px}.learning-path button{border:0;border-left:2px solid #cfd2cf;background:transparent;text-align:left;font-size:calc(11px * var(--text-scale,1));padding:6px 8px;color:#4b5155}.learning-path button:hover{border-color:#111;background:#f0f0ec}.side-footer{margin-top:auto;font-size:calc(10px * var(--text-scale,1));line-height:1.45;color:#777}.side-footer a{text-decoration:none;border-bottom:1px solid #bbb}
.workspace{min-width:0;background:#efefeb;padding:18px;display:flex;flex-direction:column}.stage-head{display:flex;justify-content:space-between;align-items:center;padding:0 3px 12px}.stage-head>div:first-child{display:grid;gap:3px}.stage-head strong{font-size:calc(15px * var(--text-scale,1));font-weight:650}.stage-tools{display:flex;gap:6px}.stage-tools button{font-size:calc(10px * var(--text-scale,1));padding:7px 10px}.stage{position:relative;overflow:hidden;flex:1;min-height:650px;border:1px solid #d4d6d2;border-radius:22px;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.98) 0 8%,rgba(249,249,246,.96) 23%,rgba(237,238,234,.96) 60%,#e7e8e3 100%);perspective:1200px;user-select:none;cursor:grab}.stage:active{cursor:grabbing}.stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(37,43,46,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(37,43,46,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 70%)}.axis{position:absolute;left:50%;top:50%;opacity:.15;pointer-events:none}.axis-x{width:80%;height:1px;background:#15191c;transform:translate(-50%,-50%)}.axis-y{height:80%;width:1px;background:#15191c;transform:translate(-50%,-50%)}.scene{position:absolute;left:50%;top:48%;width:1px;height:1px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(-12deg) rotateY(0deg) scale(.98);transition:transform .12s linear}.core-node,.license-node{position:absolute;transform-style:preserve-3d;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 11px 28px rgba(28,32,35,.10)}.core-node{width:150px;height:150px;margin:-75px;border:1px solid #191c1f;background:rgba(252,252,249,.96);border-radius:50%;z-index:3}.core-node span{font-size:calc(9px * var(--text-scale,1));letter-spacing:.16em;color:#747b7e}.core-node b{font-family:Georgia,serif;font-size:calc(25px * var(--text-scale,1));font-weight:500;margin:2px 0}.core-node small{font-size:calc(8px * var(--text-scale,1));color:#868d8e}.license-node{width:118px;min-height:68px;margin:-34px -59px;border:1px solid #c2c5c0;background:rgba(252,252,249,.94);border-radius:12px;padding:8px;transition:opacity .2s,box-shadow .2s,border .2s,filter .2s;z-index:4}.license-node:hover,.license-node.selected{border-color:#222;box-shadow:0 15px 35px rgba(26,30,33,.18)}.license-node.filtered{opacity:.08;pointer-events:none;filter:grayscale(1)}.license-node strong{font-size:calc(12px * var(--text-scale,1))}.license-node small{font-size:calc(8px * var(--text-scale,1));line-height:1.2;color:#717779;margin-top:2px}.license-node:before{content:"";position:absolute;left:8px;right:8px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--node-color,#777)}.family-permissive{--node-color:var(--perm)}.family-weak-copyleft,.family-strong-copyleft,.family-network-copyleft{--node-color:var(--copy)}.family-content-open,.family-content-copyleft,.family-content-restrictive,.family-public-domain{--node-color:var(--content)}.scope-data{--node-color:var(--data)}.family-proprietary,.family-concept{--node-color:var(--prop)}
.link-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.link-layer line{stroke:#929895;stroke-width:1;opacity:.26}.link-layer line.active{stroke:#202527;stroke-width:1.5;opacity:.7}.stage-hint{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:calc(8px * var(--text-scale,1));letter-spacing:.14em;color:#7a8182;background:rgba(250,250,247,.82);padding:7px 10px;border-radius:999px;border:1px solid rgba(200,203,198,.8)}.fallback{display:none;position:absolute;top:10px;left:10px;background:#fff7da;border:1px solid #dac988;padding:10px;border-radius:10px;font-size:calc(10px * var(--text-scale,1));z-index:10}.fallback span{display:block;color:#6b6248;margin-top:3px}
.inspector-empty{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.big-icon{width:56px;height:56px;border:1px solid #aaa;border-radius:50%;display:grid;place-items:center;font-size:calc(28px * var(--text-scale,1));color:#666}.inspector-empty h2{font-family:Georgia,serif;font-weight:500;margin:16px 0 8px}.inspector-empty p{font-size:calc(12px * var(--text-scale,1));line-height:1.5;color:var(--muted);max-width:260px}.microcards{width:100%;display:grid;gap:7px;margin-top:18px}.microcards div{border:1px solid var(--line);padding:9px 10px;text-align:left;border-radius:9px;background:#fff}.microcards b,.microcards span{display:block}.microcards b{font-size:calc(10px * var(--text-scale,1))}.microcards span{font-size:calc(9px * var(--text-scale,1));color:#888;margin-top:2px}.license-card{position:relative}.close-card{position:absolute;right:0;top:-4px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#fff}.card-kicker{font-size:calc(9px * var(--text-scale,1));letter-spacing:.14em;text-transform:uppercase;color:#777}.license-card h2{font-family:Georgia,serif;font-size:calc(30px * var(--text-scale,1));font-weight:500;margin:5px 0 2px}.spdx{font-family:ui-monospace,monospace;font-size:calc(10px * var(--text-scale,1));color:#74797b}.summary{font-size:calc(12px * var(--text-scale,1));line-height:1.55;color:#4d5356}.why-box{border-left:3px solid #202528;background:#f1f1ed;padding:10px 12px;margin:15px 0}.why-box b,.why-box span{display:block}.why-box b{font-size:calc(9px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.11em}.why-box span{font-size:calc(11px * var(--text-scale,1));line-height:1.4;margin-top:4px}.perm-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.perm-grid section,.watch{border-top:1px solid var(--line);padding-top:10px}.license-card h3{font-size:calc(10px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.08em;margin:0 0 7px}.license-card ul{list-style:none;margin:0;padding:0}.license-card li{font-size:calc(10px * var(--text-scale,1));line-height:1.35;padding:4px 0 4px 13px;position:relative}.license-card li:before{content:"·";position:absolute;left:2px;color:#777}.watch{margin-top:10px}.relations{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:calc(10px * var(--text-scale,1))}.relation-pill{display:inline-flex;margin:3px 3px 0 0;padding:5px 7px;border:1px solid #d2d4d0;border-radius:999px;background:#fff}.official{display:inline-block;margin-top:14px;font-size:calc(10px * var(--text-scale,1));text-decoration:none;border-bottom:1px solid #888}
.panel-overlay{position:fixed;z-index:60;inset:0;background:rgba(27,30,31,.42);backdrop-filter:blur(8px);display:grid;place-items:center;padding:30px}.panel-window{background:#f9f9f6;border:1px solid #c5c8c4;width:min(900px,96vw);max-height:88vh;overflow:auto;border-radius:22px;box-shadow:var(--shadow);padding:22px}.panel-window.wide{width:min(1100px,96vw)}.panel-window>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.panel-window h2{font-family:Georgia,serif;font-weight:500;margin:4px 0 0;font-size:calc(26px * var(--text-scale,1))}.panel-window>header button{border:1px solid var(--line);background:#fff;border-radius:50%;width:32px;height:32px;font-size:calc(20px * var(--text-scale,1))}.sim-grid{display:grid;grid-template-columns:340px 1fr;gap:28px}.sim-form{display:grid;gap:12px;align-content:start}.sim-form label{display:grid;gap:6px;font-size:calc(10px * var(--text-scale,1));font-weight:700}.sim-form select{width:100%;border:1px solid var(--line);background:#fff;padding:11px;border-radius:10px;font-size:calc(11px * var(--text-scale,1))}.primary{background:#1f2427;color:#fff;border:0;border-radius:10px;padding:12px;font-weight:700}.fineprint{font-size:calc(9px * var(--text-scale,1))!important;color:#7a8082;line-height:1.5}.sim-visual{min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;background:radial-gradient(circle,#fff,#efefea);border:1px solid var(--line);border-radius:16px;padding:24px}.project-box,.component-box,.analyzer-box{border:1px solid #8f9692;background:#fff;min-width:190px;text-align:center;padding:14px;border-radius:10px;font-size:calc(11px * var(--text-scale,1));font-weight:800;letter-spacing:.08em}.project-box small{display:block;font-size:calc(9px * var(--text-scale,1));font-weight:500;letter-spacing:0;color:#777;margin-top:4px}.component-box{min-width:120px}.analyzer-box{position:relative;overflow:hidden;background:#202528;color:#fff;min-width:250px}.scan{position:absolute;left:-20%;top:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);animation:scan 2s linear infinite}@keyframes scan{to{left:110%}}.flow-arrow{color:#888}.result-box{width:100%;max-width:520px;border:1px solid #c7cac6;border-radius:12px;padding:14px;background:#fff}.result-box b{font-size:calc(12px * var(--text-scale,1))}.result-box p{font-size:calc(10px * var(--text-scale,1));line-height:1.5;margin:6px 0 0}.result-box.good{border-left:4px solid var(--perm)}.result-box.warn{border-left:4px solid var(--warn)}.result-box.risk{border-left:4px solid var(--danger)}.concept-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.concept-grid article{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px}.concept-grid b{font-family:Georgia,serif;font-size:calc(17px * var(--text-scale,1));font-weight:500}.concept-grid p{font-size:calc(10px * var(--text-scale,1));line-height:1.5;color:#5f6568}.about-grid{display:grid;grid-template-columns:180px 1fr;gap:24px}.avatar-placeholder{height:180px;border:1px solid #222;background:linear-gradient(145deg,#fff,#e9eae5);display:flex;flex-direction:column;align-items:center;justify-content:center}.avatar-placeholder span{font-family:Georgia,serif;font-size:calc(46px * var(--text-scale,1))}.avatar-placeholder small{font-size:calc(9px * var(--text-scale,1));color:#777}.about-grid h3{font-family:Georgia,serif;font-size:calc(23px * var(--text-scale,1));font-weight:500;margin:0 0 8px}.about-grid p{font-size:calc(11px * var(--text-scale,1));line-height:1.6}.about-links{display:flex;gap:12px;font-size:calc(10px * var(--text-scale,1))}.about-links a{text-decoration:none;border-bottom:1px solid #777}.help-steps{list-style:none;padding:0;margin:0;display:grid;gap:8px}.help-steps li{display:grid;grid-template-columns:100px 1fr;gap:10px;border-bottom:1px solid var(--line);padding:10px}.help-steps b{font-size:calc(11px * var(--text-scale,1))}.help-steps span{font-size:calc(10px * var(--text-scale,1));color:#62686a}.page-footer{padding:10px 20px;text-align:center;font-size:calc(9px * var(--text-scale,1));color:#7e8381;border-top:1px solid var(--line);background:#f8f8f5}
@media(max-width:1200px){:root{--sidebar:245px;--inspector:310px}.learning-path{display:none}.license-node{width:106px;margin-left:-53px}.top-actions .ghost:nth-child(3){display:none}}
@media(max-width:960px){.app-shell{grid-template-columns:230px 1fr}.inspector{position:fixed;right:12px;bottom:12px;top:82px;width:min(340px,calc(100vw - 24px));z-index:25;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:none;overflow:auto}.inspector.open{display:block}.stage{min-height:720px}.top-actions .ghost{display:none}.sim-grid{grid-template-columns:1fr}.sim-visual{min-height:390px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:15px}.side-intro p,.legend,.learning-path,.side-footer{display:none}.side-intro h1{font-size:calc(22px * var(--text-scale,1))}.workspace{padding:10px}.stage-head{align-items:flex-end}.stage-tools button:nth-child(2){display:none}.stage{min-height:610px}.panel-overlay{padding:10px}.concept-grid,.about-grid{grid-template-columns:1fr}.avatar-placeholder{height:120px}.brand small{display:none}}

/* ========================= v1.2.0 · SIMPLE / PRO + VISUAL LAYERS ========================= */
:root{--font:#7d6841;--ai:#8a536c;--cyan:#3b7f86;--soft:#ecece7}
.dot.font{background:var(--font)}.dot.ai{background:var(--ai)}
.scope-font{--node-color:var(--font)}.scope-ai{--node-color:var(--ai)}
.family-data-copyleft,.family-data-permissive{--node-color:var(--data)}
.family-font-open{--node-color:var(--font)}.family-ai-responsible,.family-ai-community{--node-color:var(--ai)}

.level-switch{display:flex;border:1px solid #cfd2ce;border-radius:999px;padding:3px;background:#ecece7;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)}
.level-btn{border:0;border-radius:999px;background:transparent;padding:6px 11px;font-size:calc(10px * var(--text-scale,1));font-weight:800;color:#676d70;letter-spacing:.02em}
.level-btn.active{background:#202528;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}
body[data-level="simple"] .pro-action{display:none}
body[data-level="simple"] #filters{display:none}
body[data-level="simple"] .legend{display:none}
body[data-level="pro"] .simple-explainer{display:none}
.simple-explainer{border:1px solid #d2d4cf;background:linear-gradient(135deg,#fff,#f0f0eb);padding:10px 11px;border-radius:12px;margin-top:13px;box-shadow:0 8px 18px rgba(0,0,0,.04)}
.simple-explainer b,.simple-explainer span{display:block}.simple-explainer b{font-size:calc(10px * var(--text-scale,1));letter-spacing:.04em}.simple-explainer span{font-size:calc(9px * var(--text-scale,1));line-height:1.45;color:#6b7173;margin-top:3px}

/* Ambient 3D spectacle retained in both levels */
.orbit{position:absolute;left:50%;top:48%;border:1px solid rgba(43,50,52,.11);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) rotateX(67deg);animation:orbitBreath 7s ease-in-out infinite alternate}
.orbit-a{width:420px;height:420px}.orbit-b{width:620px;height:620px;animation-delay:-2s}.orbit-c{width:820px;height:820px;animation-delay:-4s}
@keyframes orbitBreath{from{opacity:.25;filter:blur(0)}to{opacity:.65;filter:blur(.25px)}}
.stage:after{content:"";position:absolute;inset:-30%;pointer-events:none;background:conic-gradient(from 30deg at 50% 50%,transparent 0 18%,rgba(82,98,99,.035) 23%,transparent 31% 54%,rgba(107,76,121,.035) 61%,transparent 70%);animation:ambientTurn 35s linear infinite}
@keyframes ambientTurn{to{transform:rotate(360deg)}}
.stage-badge{position:absolute;right:14px;top:14px;border:1px solid rgba(160,165,160,.7);background:rgba(251,251,247,.82);backdrop-filter:blur(10px);border-radius:12px;padding:8px 10px;display:grid;gap:2px;z-index:8;box-shadow:0 9px 20px rgba(0,0,0,.06)}
.stage-badge span{font-size:calc(7px * var(--text-scale,1));letter-spacing:.18em;color:#7b8180;font-weight:800}.stage-badge b{font-size:calc(9px * var(--text-scale,1));font-weight:700}
.showcase-btn{border-color:#252a2c!important;background:#252a2c!important;color:#fff!important}
.license-node{transition:opacity .28s,box-shadow .28s,border .28s,filter .28s,transform .6s cubic-bezier(.2,.75,.25,1);overflow:hidden}
.license-node:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.65) 45%,transparent 70%);transform:translateX(-130%);transition:.55s;pointer-events:none}
.license-node:not(.selected):hover:after{transform:translateX(130%)}
.license-node.selected:after{display:none}
.license-node.selected{outline:1px solid rgba(20,24,26,.2);transform-origin:center;filter:saturate(1.18)}
.license-node.project-active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--node-color,#555),0 16px 38px rgba(0,0,0,.17);animation:projectPulse 1.5s ease-in-out infinite alternate}
@keyframes projectPulse{to{filter:brightness(1.07);box-shadow:0 0 0 2px #fff,0 0 0 5px var(--node-color,#555),0 19px 44px rgba(0,0,0,.2)}}
.license-node.complexity-hidden{display:none}
.link-layer line.corelink{stroke:#aeb3ae;stroke-dasharray:3 7;opacity:.24}
.link-layer line.project-line{stroke:#202527;stroke-width:2.2;opacity:.8;stroke-dasharray:6 4}
.stage.project-projection{animation:stageFlash 1.1s ease}
@keyframes stageFlash{50%{box-shadow:inset 0 0 90px rgba(65,82,84,.16),0 0 0 1px rgba(40,45,47,.18)}}

.simple-orientation{position:absolute;left:50%;top:18px;transform:translateX(-50%);z-index:8;display:grid;grid-template-columns:24px auto 12px 24px auto 12px 24px auto;align-items:center;gap:5px 7px;border:1px solid rgba(190,194,189,.75);background:rgba(251,251,248,.82);backdrop-filter:blur(10px);padding:8px 12px;border-radius:14px;box-shadow:0 9px 20px rgba(0,0,0,.045);max-width:760px}
.simple-orientation span{width:22px;height:22px;border-radius:50%;background:#202528;color:#fff;display:grid;place-items:center;font-size:calc(9px * var(--text-scale,1));font-weight:800}.simple-orientation b{font-size:calc(9px * var(--text-scale,1));white-space:nowrap}.simple-orientation i{display:none}.simple-orientation em{font-style:normal;color:#999;font-size:calc(10px * var(--text-scale,1))}

.simple-card{display:grid;gap:7px;margin:12px 0}.simple-card>div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px}.simple-card b,.simple-card span{display:block}.simple-card b{font-size:calc(8px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.1em;color:#747a7c}.simple-card span{font-size:calc(11px * var(--text-scale,1));line-height:1.42;margin-top:4px}.simple-card button{border:1px solid #c9ccc7;background:#202528;color:#fff;border-radius:999px;padding:8px 12px;font-size:calc(9px * var(--text-scale,1));justify-self:start}
body[data-level="simple"] .pro-detail{display:none}body[data-level="simple"] .pro-detail.force-detail{display:block}body[data-level="pro"] .simple-card{display:none}
body[data-level="simple"] .card-kicker,body[data-level="simple"] .spdx{opacity:.68}

/* Schema mode deliberately flat but still elegant */
.stage.schema-view{perspective:none;background:linear-gradient(#f7f7f4,#ecece7)}
.stage.schema-view .orbit,.stage.schema-view .axis{display:none}.stage.schema-view .scene{transition:transform .45s ease}.stage.schema-view .license-node{box-shadow:0 8px 18px rgba(0,0,0,.07)}
.stage.schema-view .core-node{box-shadow:0 10px 25px rgba(0,0,0,.08)}

/* Compare */
.panel-lead{font-size:calc(10px * var(--text-scale,1));line-height:1.45;color:#747a7d;margin:5px 0 0;max-width:720px}.compare-toolbar{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;margin-bottom:15px}.compare-toolbar select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-size:calc(10px * var(--text-scale,1));min-width:0}.compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compare-card{position:relative;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;overflow:hidden}.compare-card:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--node-color,#777)}.compare-card>span{font-size:calc(8px * var(--text-scale,1));letter-spacing:.12em;text-transform:uppercase;color:#7b8183}.compare-card h3{font-family:Georgia,serif;font-weight:500;font-size:calc(19px * var(--text-scale,1));margin:4px 0}.compare-card code{font-size:calc(9px * var(--text-scale,1));color:#777}.compare-card p{font-size:calc(9px * var(--text-scale,1));line-height:1.5;color:#5d6365;min-height:67px}.compare-card div{border-top:1px solid #ecece8;padding-top:8px;margin-top:8px}.compare-card div b,.compare-card div i{display:block}.compare-card div b{font-size:calc(8px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.compare-card div i{font-style:normal;font-size:calc(8px * var(--text-scale,1));line-height:1.4;padding:2px 0;color:#606668}

/* Builder */
.builder-layout{display:grid;grid-template-columns:240px minmax(430px,1fr) 280px;gap:16px;min-height:560px}.builder-catalog,.builder-report{border:1px solid var(--line);background:#f1f1ed;border-radius:14px;padding:13px;overflow:auto}.builder-catalog h3,.builder-report h3{font-size:calc(10px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px}.builder-catalog>p{font-size:calc(9px * var(--text-scale,1));color:#777;margin:0 0 10px}.builder-items{display:grid;grid-template-columns:1fr 1fr;gap:6px}.builder-item{position:relative;border:1px solid #d1d3ce;background:#fff;border-radius:9px;padding:8px;text-align:left;overflow:hidden}.builder-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--node-color,#777)}.builder-item b,.builder-item span{display:block}.builder-item b{font-size:calc(9px * var(--text-scale,1))}.builder-item span{font-size:calc(7px * var(--text-scale,1));color:#888;margin-top:2px}.builder-item:disabled{opacity:.34;cursor:default}.builder-project{display:flex;flex-direction:column;gap:9px}.builder-scene{position:relative;min-height:500px;flex:1;border:1px solid #cfd2ce;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 50%,#fff 0 11%,#f2f2ee 35%,#e8e9e4 100%)}.builder-project-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(35,40,42,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(35,40,42,.035) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle,#000,transparent 73%)}.builder-scene:after{content:"";position:absolute;width:390px;height:390px;border:1px dashed rgba(65,71,72,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;animation:builderRing 18s linear infinite}@keyframes builderRing{to{transform:translate(-50%,-50%) rotate(360deg)}}
.project-core{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:128px;border-radius:50%;background:#202528;color:#fff;border:5px solid #f9f9f5;box-shadow:0 0 0 1px #202528,0 18px 38px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.project-core span{font-size:calc(7px * var(--text-scale,1));letter-spacing:.16em;color:#bfc5c3}.project-core b{font-family:Georgia,serif;font-size:calc(15px * var(--text-scale,1));font-weight:500;margin:3px 0}.project-core small{font-size:calc(7px * var(--text-scale,1));color:#c8cdcb}.builder-orbit{position:absolute;inset:0;z-index:5}.builder-node{position:absolute;transform:translate(-50%,-50%);width:112px;min-height:57px;border:1px solid #bfc3be;background:rgba(255,255,252,.94);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.11);text-align:center;padding:8px;overflow:hidden}.builder-node:before{content:"";position:absolute;left:7px;right:7px;top:0;height:3px;background:var(--node-color,#777);border-radius:0 0 5px 5px}.builder-node b,.builder-node span{display:block}.builder-node b{font-size:calc(9px * var(--text-scale,1))}.builder-node span{font-size:calc(7px * var(--text-scale,1));color:#7b8081;margin-top:2px}.builder-node i{position:absolute;right:5px;top:3px;font-style:normal;font-size:calc(10px * var(--text-scale,1));color:#888}.builder-links{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}.builder-cable{stroke:#6e7472;stroke-width:1.4;opacity:.48;stroke-dasharray:5 4;animation:cableMove 12s linear infinite}@keyframes cableMove{to{stroke-dashoffset:-90}}.builder-cable.scope-data{stroke:var(--data)}.builder-cable.scope-font{stroke:var(--font)}.builder-cable.scope-ai{stroke:var(--ai)}.builder-cable.scope-content{stroke:var(--content)}.builder-actions{display:flex;justify-content:center;gap:8px}.builder-actions button{font-size:calc(9px * var(--text-scale,1));padding:9px 12px}.soft{border:1px solid #cfd2cd;background:#fff;border-radius:10px;padding:9px 11px}.builder-summary{display:grid;border-bottom:1px solid #d6d8d3;padding-bottom:9px;margin-bottom:7px}.builder-summary b{font-family:Georgia,serif;font-size:calc(18px * var(--text-scale,1));font-weight:500}.builder-summary span{font-size:calc(8px * var(--text-scale,1));color:#767c7d}.check-row{display:grid;grid-template-columns:16px 1fr;gap:5px;padding:6px 0;border-bottom:1px solid rgba(207,210,205,.7)}.check-row i{font-style:normal;font-size:calc(10px * var(--text-scale,1))}.check-row span{font-size:calc(8px * var(--text-scale,1));line-height:1.35}.check-row span b{display:block;font-size:calc(8px * var(--text-scale,1))}.builder-checklist>small{display:block;font-size:calc(8px * var(--text-scale,1));color:#757b7d;padding:8px 0}.builder-warning{font-size:calc(8px * var(--text-scale,1));line-height:1.45;border-left:3px solid var(--warn);background:#fff8e8;padding:8px;margin-top:8px}.checklist-empty{display:grid;place-items:center;min-height:150px;text-align:center;font-size:calc(9px * var(--text-scale,1));line-height:1.5;color:#777;border:1px dashed #c7cac5;border-radius:10px;padding:20px}

/* Local analysis */
.local-analysis{display:grid;grid-template-columns:360px 1fr;gap:18px;min-height:430px}.drop-zone{border:1px dashed #aeb3ae;border-radius:16px;background:radial-gradient(circle at 50% 45%,#fff,#eeeeea);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;transition:.2s}.drop-zone.dragging{border-color:#202528;background:#fff;box-shadow:inset 0 0 0 2px rgba(32,37,40,.09)}.drop-zone input{display:none}.drop-icon{font-size:calc(42px * var(--text-scale,1));font-weight:200;color:#727977}.drop-zone b{font-family:Georgia,serif;font-size:calc(19px * var(--text-scale,1));font-weight:500;margin-top:7px}.drop-zone span{font-size:calc(9px * var(--text-scale,1));color:#7a8080;line-height:1.5;margin-top:6px}.analysis-results{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;overflow:auto}.analysis-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#767c7d}.analysis-empty b{font-family:Georgia,serif;font-weight:500;font-size:calc(20px * var(--text-scale,1));color:#34393b}.analysis-empty p{font-size:calc(10px * var(--text-scale,1));max-width:420px;line-height:1.5}.analysis-head span{font-size:calc(8px * var(--text-scale,1));letter-spacing:.12em;color:#777;text-transform:uppercase}.analysis-head h3{font-family:Georgia,serif;font-weight:500;font-size:calc(24px * var(--text-scale,1));margin:3px 0 12px}.analysis-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.analysis-facts div{border:1px solid var(--line);border-radius:9px;padding:9px}.analysis-facts b,.analysis-facts span{display:block}.analysis-facts b{font-size:calc(8px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.08em}.analysis-facts span{font-size:calc(9px * var(--text-scale,1));color:#696f70;margin-top:3px}.analysis-license{width:100%;margin:10px 0;border:1px solid #202528;background:#202528;color:#fff;border-radius:10px;padding:10px 12px;text-align:left;display:flex;justify-content:space-between}.analysis-license b,.analysis-license span{font-size:calc(9px * var(--text-scale,1))}.dependency-list{border-top:1px solid var(--line);padding-top:10px}.dependency-list>b{font-size:calc(9px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.08em}.dependency-list>div{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.dependency-list>div span{font-size:calc(8px * var(--text-scale,1));border:1px solid #d6d8d4;background:#f5f5f1;border-radius:999px;padding:4px 6px}.dependency-list p,.analysis-caution p{font-size:calc(8px * var(--text-scale,1));line-height:1.45;color:#73797b}.analysis-caution{margin-top:11px;border-left:3px solid var(--data);background:#eef5fa;padding:9px}.analysis-caution b{font-size:calc(9px * var(--text-scale,1))}

/* Myths */
.myth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.myth-grid article{position:relative;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px;overflow:hidden}.myth-grid article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#8b6262}.myth-grid span,.myth-grid b{display:block}.myth-grid span{font-family:Georgia,serif;font-size:calc(15px * var(--text-scale,1))}.myth-grid b{font-size:calc(9px * var(--text-scale,1));margin-top:5px}.myth-grid p{font-size:calc(9px * var(--text-scale,1));line-height:1.5;color:#646a6c;margin-bottom:0}

/* Responsive v1.2 */
@media(max-width:1280px){.builder-layout{grid-template-columns:210px minmax(390px,1fr) 250px}.compare-grid{grid-template-columns:repeat(2,1fr)}.compare-toolbar{grid-template-columns:repeat(2,1fr) auto}.top-actions{gap:4px}.ghost{padding:7px 9px;font-size:calc(10px * var(--text-scale,1))}}
@media(max-width:1050px){.builder-layout{grid-template-columns:1fr}.builder-catalog{max-height:160px}.builder-items{grid-template-columns:repeat(4,1fr)}.builder-report{max-height:260px}.local-analysis{grid-template-columns:1fr}.drop-zone{min-height:210px}.simple-orientation{display:none!important}}
@media(max-width:960px){.level-switch{display:flex}.top-actions .level-switch{margin-left:auto}body[data-level="simple"] .essential-action{display:none}.builder-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.level-switch{position:fixed;right:12px;bottom:12px;z-index:45;box-shadow:0 8px 24px rgba(0,0,0,.17)}.stage-badge{top:10px;right:10px}.builder-scene{min-height:430px}.builder-items{grid-template-columns:repeat(2,1fr)}.compare-toolbar,.compare-grid,.myth-grid{grid-template-columns:1fr}.analysis-facts{grid-template-columns:1fr}.stage-hint{white-space:nowrap;max-width:92%;overflow:hidden;text-overflow:ellipsis}}

body[data-level="simple"] .move-only{display:none!important}.stage-tools button.active{border-color:#1c2124;background:#1f2528;color:#fff}.move-mode .license-node{cursor:grab}.move-mode .license-node.dragging-card{cursor:grabbing;z-index:18;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--node-color,#555),0 20px 44px rgba(0,0,0,.22)}.move-mode .stage-hint{border-color:#1f2528;color:#1f2528;background:rgba(255,255,255,.94)}.license-node.layout-custom{box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 4px color-mix(in srgb, var(--node-color,#777) 68%, #ffffff 32%),0 14px 30px rgba(0,0,0,.14)}.license-node.layout-custom:before{height:4px}.stage-tools button:disabled{opacity:.45;cursor:not-allowed}
.card-actions{display:none;gap:8px;align-items:center;margin:10px 0 12px}.card-actions button{border:1px solid #cfd2cd;background:#fff;border-radius:10px;padding:8px 10px;font-size:calc(10px * var(--text-scale,1));color:#34383c}.card-actions small{display:block;font-size:calc(8px * var(--text-scale,1));line-height:1.45;color:#6f7577}.license-node .pin-badge{position:absolute;right:6px;bottom:5px;font-size:calc(11px * var(--text-scale,1));opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;pointer-events:none}.move-mode .license-node.pinned .pin-badge,.license-node.pinned .pin-badge{opacity:1;transform:translateY(0)}.license-node.pinned{box-shadow:0 0 0 2px #fff,0 0 0 4px #1c2124,0 16px 38px rgba(0,0,0,.16)}.license-node.pinned strong{padding-right:16px}.license-node.pinned.layout-custom{box-shadow:0 0 0 2px #fff,0 0 0 4px #1c2124,0 0 0 6px var(--node-color,#555),0 18px 42px rgba(0,0,0,.18)}body[data-level="pro"] .card-actions.move-only{display:grid}


/* ========================= v1.3.2 · WARM IVORY + PURPLE ARCHITECT PALETTE ========================= */
:root{
  --bg:#f3eee9;--paper:#fffaf5;--ink:#302536;--muted:#756a78;--line:#ddd2df;--strong:#4a3358;
  --perm:#8a63b8;--copy:#603d86;--content:#a276c4;--data:#777bb9;--font:#a886b6;--ai:#704f91;--prop:#938497;
  --danger:#a84f68;--warn:#a77935;--shadow:0 20px 52px rgba(70,45,82,.13);--soft:#eee6ef;
}
html,body{background:var(--bg)}
.boot{background:linear-gradient(145deg,#fffaf5,#f0e7f1)}.boot-mark{border-color:#604177;color:#604177;box-shadow:0 0 0 7px rgba(111,77,143,.06)}
.topbar{background:rgba(255,250,245,.93);border-bottom-color:#dfd3e0}.brand-mark{border-color:#64477a;color:#5c3e73;background:#fffaf8}
.ghost,.iconbtn,.stage-tools button{border-color:#d9ccdc;background:#fffaf6;color:#4a3850}.ghost:hover,.stage-tools button:hover{border-color:#9b7bad;background:#f3eaf5}.stage-tools button.active{background:#5f3d79!important;border-color:#5f3d79!important;color:#fff!important}
.sidebar,.inspector{background:#fffaf5}.workspace{background:#eee7e8}.searchbox,.microcards div,.simple-card>div,.concept-grid article,.compare-card,.result-box{background:#fffdfa}
.chip{border-color:#dbcfe0;color:#5d4e62}.chip.active,.level-btn.active,.simple-card button,.showcase-btn,.primary{background:#5d3d78!important;border-color:#5d3d78!important;color:#fff!important}
.learning-path button{border-left-color:#cfbdd7;color:#594c5d}.learning-path button:hover{border-color:#6b4a82;background:#f2e9f3}.eyebrow{color:#76598a}
.stage{border-color:#d7cadb;background:radial-gradient(circle at 50% 45%,#fffdf9 0 8%,#fbf4f1 24%,#f0e7ec 59%,#e4d9e5 100%)}
.stage:before{background-image:linear-gradient(rgba(94,62,117,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(94,62,117,.045) 1px,transparent 1px)}
.stage:after{background:conic-gradient(from 25deg at 50% 50%,transparent 0 18%,rgba(124,84,151,.065) 23%,transparent 31% 53%,rgba(190,157,205,.09) 61%,transparent 70%)}
.orbit{border-color:rgba(96,61,134,.16)}.axis-x,.axis-y{background:#6d5376}.stage-badge,.simple-orientation{background:rgba(255,250,247,.88);border-color:#d6c7dc}
.core-node{border-color:#5d3d78;background:rgba(255,250,247,.97);box-shadow:0 16px 36px rgba(79,49,93,.16)}.core-node b{color:#4e3264}.core-node span,.core-node small{color:#7a687e}
.license-node{border-color:#d3c6d7;background:rgba(255,251,247,.96);box-shadow:0 12px 28px rgba(71,45,83,.11)}.license-node:hover{border-color:#8969a0;box-shadow:0 18px 40px rgba(82,50,99,.18)}
.license-node.selected{border-color:#58366f!important;outline:1px solid rgba(91,57,116,.22);box-shadow:0 0 0 2px #fff8f4,0 0 0 4px #684482,0 20px 44px rgba(77,45,92,.23)!important;cursor:grab}.license-node.selected:active{cursor:grabbing}
.link-layer line{stroke:#9a82a5;opacity:.30}.link-layer line.active{stroke:#5d3d78;stroke-width:1.8;opacity:.82}.link-layer line.corelink{stroke:#b7a5be}.link-layer line.project-line{stroke:#67417e}
.stage-hint{color:#6e5975;background:rgba(255,250,247,.88);border-color:#d5c7da}.why-box{border-left-color:#694781;background:#f3eaf3}
.panel-overlay{background:rgba(50,35,56,.44)}.panel-window{background:#fffaf6;border-color:#d4c6d8}.sim-visual{background:radial-gradient(circle,#fffdfa,#f1e8ef)}.analyzer-box{background:#5b3c70}.project-box,.component-box{border-color:#aa96b2;background:#fffdfa}
.level-switch{border-color:#d6c9d9;background:#eee5ef}.level-btn{color:#725f78}.simple-explainer{border-color:#d9ccdc;background:linear-gradient(135deg,#fffdf9,#f2e9f2)}
.relation-pill{border-color:#d8cadc;background:#fffaf7}.relation-pill:hover{background:#f0e4f2;border-color:#9a7dac}
.stage.schema-view{background:linear-gradient(#fffaf7,#eee5ed)}
body[data-level="simple"] .pro-learning{display:none}
body[data-level="simple"] .license-node.selected{box-shadow:0 0 0 2px #fff8f4,0 0 0 4px #75518f,0 18px 40px rgba(77,45,92,.2)!important}

/* ========================= v1.3.2 · SMART SIMULATOR ========================= */
.sim-switch{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid #dacdde;border-radius:999px;background:#f1e7f1}.sim-switch button{border:0;background:transparent;color:#68556d;border-radius:999px;padding:8px 13px;font-size:calc(10px * var(--text-scale,1))}.sim-switch button.active{background:#5d3d78;color:#fff;box-shadow:0 5px 14px rgba(74,42,91,.18)}
.sim-view{min-height:0}.sim-advice{margin-top:10px;border:1px solid #d8c9dc;border-radius:13px;background:linear-gradient(145deg,#fffdfa,#f5ecf5);padding:12px;text-align:left}.advice-title{display:grid;gap:2px;border-bottom:1px solid #e1d6e3;padding-bottom:8px;margin-bottom:6px}.advice-title span{font-size:calc(7px * var(--text-scale,1));letter-spacing:.14em;color:#826990;font-weight:800}.advice-title b{font-family:Georgia,serif;font-size:calc(16px * var(--text-scale,1));font-weight:500;color:#523764}.advice-list{display:grid;gap:5px;margin:8px 0 10px}.advice-list>div{display:grid;grid-template-columns:20px 1fr;gap:7px;align-items:start}.advice-list i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#ece0f0;color:#5e3c76;font-style:normal;font-size:calc(8px * var(--text-scale,1));font-weight:800}.advice-list span{font-size:calc(9px * var(--text-scale,1));line-height:1.45;color:#5d5360}.sim-advice .soft{font-size:calc(9px * var(--text-scale,1));color:#553e5f;border-color:#d5c6da;background:#fffaf7}
.guide-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:18px;min-height:510px}.guide-form{border:1px solid #d8cbdc;border-radius:16px;background:linear-gradient(160deg,#fffdfa,#f4ecf4);padding:17px;align-self:stretch}.guide-form h3{font-family:Georgia,serif;font-size:calc(24px * var(--text-scale,1));font-weight:500;color:#4f3560;margin:5px 0 16px}.guide-form label{display:grid;gap:5px;font-size:calc(9px * var(--text-scale,1));font-weight:700;color:#594d5d;margin-bottom:10px}.guide-form select{width:100%;border:1px solid #d5c8d9;border-radius:10px;background:#fffaf7;color:#443949;padding:9px 10px;font-size:calc(10px * var(--text-scale,1));outline:none}.guide-form select:focus{border-color:#86659b;box-shadow:0 0 0 3px rgba(109,73,133,.08)}.guide-form .primary{width:100%;margin-top:5px;padding:10px}.guide-form .guide-muted{opacity:.55}.guide-output{border:1px solid #d8cbdc;border-radius:16px;background:#fffdfa;padding:16px;overflow:auto}.guide-empty{min-height:420px;display:grid;place-content:center;text-align:center;color:#786c7b}.guide-empty b{font-family:Georgia,serif;font-size:calc(22px * var(--text-scale,1));font-weight:500;color:#533b61}.guide-empty p{font-size:calc(10px * var(--text-scale,1));line-height:1.5;max-width:390px}.guide-summary{border-bottom:1px solid #e2d7e4;padding-bottom:11px;margin-bottom:11px}.guide-summary span{font-size:calc(8px * var(--text-scale,1));letter-spacing:.14em;color:#80668e;font-weight:800}.guide-summary h3{font-family:Georgia,serif;font-size:calc(23px * var(--text-scale,1));font-weight:500;color:#4e355e;margin:3px 0}.guide-summary p{font-size:calc(9px * var(--text-scale,1));color:#746978;margin:0}.guide-candidates{display:grid;gap:9px}.guide-card{position:relative;display:grid;grid-template-columns:30px 1fr;gap:10px;border:1px solid #ddcfe0;border-radius:13px;padding:12px;background:#fffaf7;overflow:hidden}.guide-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--node-color,#75518f)}.guide-rank{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#eee2f1;color:#5c3c72;font-family:Georgia,serif;font-size:calc(15px * var(--text-scale,1))}.guide-card span{font-size:calc(7px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.12em;color:#826d88}.guide-card h4{font-family:Georgia,serif;font-weight:500;font-size:calc(19px * var(--text-scale,1));color:#493452;margin:1px 0 5px}.guide-card p{font-size:calc(9px * var(--text-scale,1));line-height:1.5;color:#605662;margin:0 0 7px}.tradeoff{border-left:3px solid #a884b5;background:#f6eef5;border-radius:0 8px 8px 0;padding:7px 9px;font-size:calc(8px * var(--text-scale,1));line-height:1.45;color:#66596a}.tradeoff b{display:block;font-size:calc(8px * var(--text-scale,1));color:#523d5d;margin-bottom:2px}.guide-card button{margin-top:8px;border:0;background:transparent;padding:0;color:#68467d;font-size:calc(9px * var(--text-scale,1));font-weight:700;text-align:left}.guide-warning{margin-top:11px;border-left:3px solid var(--warn);background:#fff6e8;border-radius:0 10px 10px 0;padding:9px 11px}.guide-warning b{font-size:calc(9px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.09em}.guide-warning p{font-size:calc(9px * var(--text-scale,1));line-height:1.45;margin:4px 0 0}.guide-next{margin-top:10px;border:1px solid #d8cbdc;border-radius:10px;background:#f3eaf4;padding:10px}.guide-next b,.guide-next span{display:block}.guide-next b{font-size:calc(8px * var(--text-scale,1));text-transform:uppercase;letter-spacing:.1em;color:#634878}.guide-next span{font-size:calc(8px * var(--text-scale,1));line-height:1.5;color:#675c69;margin-top:4px}
@media(max-width:900px){.guide-layout{grid-template-columns:1fr}.guide-empty{min-height:200px}.guide-form{max-height:none}.sim-switch{display:flex}.sim-switch button{flex:1}}

/* ========================= v1.4.0 · WORKFLOW COHERENCE ========================= */
.ghost.workflow-active{background:#65417f;color:#fff;border-color:#65417f;box-shadow:0 7px 18px rgba(83,51,104,.18)}
.empty-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.empty-actions button{border:1px solid #d7c9db;background:#fffaf7;color:#5b4365;border-radius:10px;padding:9px;font-size:calc(9px * var(--text-scale,1))}.empty-actions button:hover{background:#f1e7f2;border-color:#9c7cab}
.context-actions{border:1px solid #dccedf;border-radius:12px;background:linear-gradient(145deg,#fffdfa,#f4ebf4);padding:10px;margin:11px 0}.context-actions>span{display:block;font-size:calc(8px * var(--text-scale,1));letter-spacing:.08em;text-transform:uppercase;color:#765d82;font-weight:800;margin-bottom:7px}.context-actions>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.context-actions button{border:1px solid #d4c5d8;background:#fffaf7;border-radius:8px;padding:7px 5px;font-size:calc(8px * var(--text-scale,1));color:#563d63}.context-actions button:hover{border-color:#76518e;background:#efe3f1}
.start-window{max-width:980px}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.start-card{position:relative;min-height:180px;border:1px solid #d9cbdc;border-radius:16px;background:linear-gradient(150deg,#fffdfa,#f4ebf4);text-align:left;padding:18px;color:#4b3a50;overflow:hidden;transition:.2s transform,.2s box-shadow,.2s border}.start-card:hover{transform:translateY(-3px);border-color:#8b6a9c;box-shadow:0 16px 32px rgba(74,43,89,.12)}.start-card.featured{background:linear-gradient(145deg,#674381,#8a64a2);color:#fff;border-color:#674381}.start-card>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ede0f0;color:#604377;font-family:Georgia,serif;margin-bottom:17px}.start-card.featured>span{background:rgba(255,255,255,.17);color:#fff}.start-card b{display:block;font-family:Georgia,serif;font-size:calc(21px * var(--text-scale,1));font-weight:500;line-height:1.05}.start-card p{font-size:calc(10px * var(--text-scale,1));line-height:1.5;color:#726476;max-width:230px}.start-card.featured p{color:#eee4f1}.start-card i{position:absolute;bottom:16px;left:18px;font-style:normal;font-size:calc(9px * var(--text-scale,1));font-weight:800;color:#6c4c7e}.start-card.featured i{color:#fff}body[data-level="simple"] .start-card.pro-route{display:none}
.guide-actions{display:flex;gap:7px;margin:11px 0}.guide-actions button{padding:8px 10px;font-size:calc(9px * var(--text-scale,1))}
.compare-matrix{margin-top:15px}.matrix-title{display:flex;align-items:end;justify-content:space-between;gap:14px;border-bottom:1px solid #ded1e1;padding-bottom:8px;margin-bottom:8px}.matrix-title b{font-family:Georgia,serif;font-size:calc(17px * var(--text-scale,1));font-weight:500;color:#51365f}.matrix-title span{font-size:calc(8px * var(--text-scale,1));color:#746977}.matrix-scroll{overflow:auto;border:1px solid #d9cbdc;border-radius:12px}.matrix-scroll table{width:100%;border-collapse:collapse;min-width:620px;background:#fffdfa}.matrix-scroll th,.matrix-scroll td{border-bottom:1px solid #e6dce7;border-right:1px solid #e7dce8;padding:9px 10px;text-align:left;font-size:calc(8px * var(--text-scale,1));line-height:1.4}.matrix-scroll thead th{background:#f2e9f3;color:#553d61;font-size:calc(9px * var(--text-scale,1))}.matrix-scroll tbody th{background:#faf4f8;color:#6a566f;width:135px}.matrix-scroll tr:last-child th,.matrix-scroll tr:last-child td{border-bottom:0}.matrix-scroll th:last-child,.matrix-scroll td:last-child{border-right:0}
.builder-context{display:grid;grid-template-columns:220px 220px 1fr;gap:10px;align-items:end;margin-bottom:12px;padding:11px;border:1px solid #dbcddd;border-radius:13px;background:#f7eff6}.builder-context label{display:grid;gap:4px;font-size:calc(8px * var(--text-scale,1));font-weight:800;color:#625067}.builder-context input,.builder-context select{border:1px solid #d6c7da;background:#fffdfa;border-radius:9px;padding:8px;font-size:calc(9px * var(--text-scale,1));color:#4d3e52}.builder-context-note{font-size:calc(8px * var(--text-scale,1));line-height:1.45;color:#756a78;padding-bottom:7px}.builder-signals{display:grid;gap:5px;margin-bottom:8px}.signal{border-left:3px solid #937ba0;background:#f5eef5;padding:7px 8px;font-size:calc(8px * var(--text-scale,1));line-height:1.45}.signal.risk{border-left-color:#a84f68;background:#fff0f3}.signal.focus{border-left-color:#694683;background:#efe4f2}.signal.info{border-left-color:#777bb9;background:#f0f1fb}.signal.warn{border-left-color:#a77935;background:#fff6e9}
.analysis-actions{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:stretch}.analysis-actions .soft{font-size:calc(8px * var(--text-scale,1))}
@media(max-width:1200px){.top-actions{max-width:70%;overflow:auto}.start-grid{grid-template-columns:repeat(2,1fr)}.builder-context{grid-template-columns:1fr 1fr}.builder-context-note{grid-column:1/-1}}
@media(max-width:700px){.start-grid{grid-template-columns:1fr}.context-actions>div{grid-template-columns:1fr}.builder-context{grid-template-columns:1fr}.matrix-title{display:grid}.empty-actions{grid-template-columns:1fr}}
.advice-actions{display:flex;gap:6px;flex-wrap:wrap}.advice-actions .soft{font-size:calc(8px * var(--text-scale,1));padding:7px 8px}
.language-switch{display:flex;align-items:center;gap:5px;border:1px solid rgba(92,68,123,.22);background:rgba(255,252,248,.9);border-radius:999px;padding:4px 7px 4px 8px;color:#5d4777}.language-switch span{font-size:calc(12px * var(--text-scale,1))}.language-switch select{border:0;background:transparent;color:#49365f;font:600 10px/1.2 system-ui,sans-serif;outline:none;max-width:132px;cursor:pointer}.language-switch option{background:#fffaf5;color:#342842}@media(max-width:900px){.language-switch select{max-width:72px}.language-switch{padding:4px 6px}}

/* ========================= v1.6.0 · REAL EXAMPLES + LINEAGE ========================= */
.family-source-available{--node-color:#8c587f}
.context-actions .star-action{border-color:#b797c8;background:linear-gradient(135deg,#fffaf5,#efe2f3);color:#5b3d70}
.context-actions .star-action:disabled{opacity:.45;cursor:not-allowed}
.product-star{position:absolute;width:106px;min-height:48px;margin:-24px -53px;border:1px solid #d8c7df;border-radius:999px;background:rgba(255,250,246,.97);box-shadow:0 10px 28px rgba(81,52,96,.16);z-index:9;padding:7px 9px;color:#4b3852;display:flex;align-items:center;gap:6px;justify-content:center;text-align:left;transition:box-shadow .2s,border .2s,background .2s;transform-style:preserve-3d;backface-visibility:hidden}.product-star i{font-style:normal;color:#8d5eb1;font-size:calc(13px * var(--text-scale,1));text-shadow:0 0 12px rgba(141,94,177,.35)}.product-star b{font-size:calc(8px * var(--text-scale,1));line-height:1.15;font-weight:750}.product-star:hover,.product-star.active{border-color:#6b4783;background:#fff;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(109,72,136,.25),0 14px 32px rgba(81,52,96,.21)}.link-layer line.star-line{stroke:#8a64a3;stroke-width:1.25;stroke-dasharray:5 4;opacity:.68;animation:starCable 8s linear infinite}@keyframes starCable{to{stroke-dashoffset:-80}}
.example-detail{margin:10px 0;border:1px solid #d9ccdf;border-radius:12px;background:linear-gradient(135deg,#fffdfa,#f3e9f5);padding:10px 12px}.example-detail h3{font-family:Georgia,serif;font-size:calc(17px * var(--text-scale,1));text-transform:none;letter-spacing:0;margin:3px 0 5px;color:#4e3561}.example-detail p{font-size:calc(9px * var(--text-scale,1));line-height:1.5;color:#665b6a;margin:0 0 7px}.example-detail a{font-size:calc(9px * var(--text-scale,1));text-decoration:none;border-bottom:1px solid #a185ad;color:#5d3f72}
.lineage-window{max-width:1180px}.lineage-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.lineage-tabs button{border:1px solid #d7c9db;background:#fffaf7;color:#5e4b63;border-radius:999px;padding:7px 10px;font-size:calc(9px * var(--text-scale,1))}.lineage-tabs button.active{background:#5d3d78;color:#fff;border-color:#5d3d78}.lineage-explainer{display:flex;gap:12px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dfd4e1;border-radius:10px;background:#fffdfa;font-size:calc(8px * var(--text-scale,1));color:#6d6270}.lineage-explainer span{display:flex;align-items:center;gap:5px}.legend-line{width:22px;height:2px;display:inline-block;background:#806198}.legend-line.condition{background:#b27a48}.legend-line.related{background:#7a7fb2}.legend-line.example{background:#9b6d91;border-top:1px dashed #fff}.lineage-canvas{position:relative;height:500px;margin-top:12px;border:1px solid #d9cddd;border-radius:18px;background:radial-gradient(circle at 50% 45%,#fffdfb,#f3ebf2);overflow:hidden}.lineage-canvas>svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.lineage-canvas #lineageNodes{position:absolute;inset:0;z-index:2}.lineage-node{position:absolute;left:calc((var(--lc) + .5) * (100% / var(--lcols)));top:calc(90px + var(--lr) * 150px);transform:translate(-50%,-50%);width:145px;min-height:66px;border:1px solid #d2c4d6;background:#fffaf7;border-radius:13px;padding:9px;box-shadow:0 12px 28px rgba(72,46,84,.11)}.lineage-node:before{content:"";position:absolute;left:9px;right:9px;top:0;height:4px;background:var(--node-color,#806198);border-radius:0 0 6px 6px}.lineage-node b,.lineage-node small{display:block}.lineage-node b{font-size:calc(11px * var(--text-scale,1));color:#4a3850}.lineage-node small{font-family:ui-monospace,monospace;font-size:calc(8px * var(--text-scale,1));color:#7e7180;margin-top:3px}.lineage-node:hover{border-color:#72508a;box-shadow:0 0 0 3px rgba(114,80,138,.12),0 15px 34px rgba(72,46,84,.17)}.lineage-edge{stroke:#76528e;stroke-width:1.6;opacity:.62}.lineage-edge.condition{stroke:#a46d3d}.lineage-edge.related{stroke:#6d74a9;stroke-dasharray:6 4}.lineage-edge.example{stroke:#94658c;stroke-dasharray:3 4}.lineage-edge.contrast{stroke:#9a5867;stroke-dasharray:2 5}.lineage-label{font-size:calc(8px * var(--text-scale,1));fill:#625568;text-anchor:middle;paint-order:stroke;stroke:#fffaf7;stroke-width:4px;stroke-linejoin:round}.lineage-note{display:grid;gap:3px;margin-top:10px;padding:10px 12px;border-left:3px solid #6d4985;background:#f5ecf6}.lineage-note b{font-family:Georgia,serif;font-size:calc(14px * var(--text-scale,1));font-weight:500}.lineage-note span{font-size:calc(9px * var(--text-scale,1));line-height:1.45;color:#675d6a}
@media(max-width:900px){.lineage-canvas{height:620px}.lineage-node{width:118px}.lineage-label{display:none}.product-star{width:92px;margin-left:-46px}}


.stage.constellation-mode .license-node:not(.selected){opacity:.16;filter:saturate(.45) blur(.15px)}
.stage.constellation-mode .license-node.selected{z-index:14;box-shadow:0 0 0 2px #fff,0 0 0 5px var(--node-color,#7b4bc4),0 20px 48px rgba(70,35,105,.24)}
.stage.constellation-mode .orbit{opacity:.28}.stage.constellation-mode .axis{opacity:.06}


/* ========================= v1.7.0 · IDENTITY + RELATION HUB + READABILITY ========================= */
:root{--text-scale:1}
body[data-text-scale="small"]{--text-scale:.90}body[data-text-scale="normal"]{--text-scale:1}body[data-text-scale="large"]{--text-scale:1.13}
.boot{padding:24px;background:radial-gradient(circle at 50% 38%,#fffdfb 0,#f6eef8 50%,#ece0f2 100%)}.boot-card{width:min(720px,92vw);display:grid;justify-items:center;gap:11px;text-align:center}.boot-logo{width:min(560px,86vw);height:auto;max-height:250px;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(73,40,96,.12))}.boot-copy{display:grid;gap:4px}.boot-copy strong{letter-spacing:.18em;color:#4f3268}.boot-copy span{color:#75677b}.boot-progress{width:min(420px,72vw);height:7px;border-radius:999px;background:#e2d5e7;overflow:hidden;margin-top:6px}.boot-progress i{display:block;width:48%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5b2b82,#9a65c5);animation:bootMove 1.2s ease-in-out infinite alternate}@keyframes bootMove{to{transform:translateX(108%)}}
.topbar{min-height:72px;height:auto}.brand{min-width:220px;gap:5px}.brand-logo{width:205px;height:62px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 8px rgba(80,43,100,.07))}.brand-version{font-size:calc(8px * var(--text-scale,1));letter-spacing:.11em;color:#735f7a;white-space:nowrap}.brand-mark{display:none}.top-actions{flex-wrap:wrap;justify-content:flex-end;padding:6px 0}
.text-scale-switch{display:flex;align-items:center;border:1px solid rgba(92,68,123,.22);background:#fffaf7;border-radius:999px;padding:3px}.text-scale-switch button{min-width:28px;height:27px;border:0;border-radius:999px;background:transparent;color:#684d75;font-weight:750;font-size:calc(9px * var(--text-scale,1));padding:0 7px}.text-scale-switch button.active{background:#674381;color:#fff;box-shadow:0 4px 10px rgba(81,49,99,.18)}
.core-node.relation-hub{width:222px;height:116px;margin:-58px -111px;border:1px solid #bca9c6;background:linear-gradient(145deg,rgba(255,253,250,.97),rgba(240,229,244,.96));border-radius:18px;padding:12px 14px;align-items:stretch;text-align:left;box-shadow:0 17px 38px rgba(73,46,87,.14),inset 0 0 0 1px rgba(255,255,255,.7);z-index:3}.core-node.relation-hub:before{content:"";position:absolute;left:13px;top:11px;bottom:11px;width:3px;border-radius:4px;background:linear-gradient(#5f347e,#a273bf)}.relation-hub .hub-kicker{padding-left:8px;font-size:calc(7px * var(--text-scale,1));letter-spacing:.14em;color:#816e87;font-weight:850}.relation-hub .hub-main{display:flex;align-items:center;gap:8px;padding:6px 0 4px 8px;min-width:0}.relation-hub .hub-icon{flex:0 0 auto;min-width:31px;height:31px;padding:0 5px;border-radius:9px;background:#674381;color:#fff;display:grid;place-items:center;font:800 calc(10px * var(--text-scale,1))/1 ui-monospace,monospace;box-shadow:0 6px 13px rgba(86,52,105,.2)}.relation-hub b{font-family:Georgia,serif;font-size:calc(16px * var(--text-scale,1));font-weight:500;color:#4f3858;line-height:1.05;overflow:hidden;text-overflow:ellipsis}.relation-hub small{padding-left:8px;font-size:calc(8px * var(--text-scale,1));line-height:1.35;color:#6f6472;max-height:34px;overflow:hidden}.relation-hub.relation-focus{border-color:#77518e;box-shadow:0 0 0 3px rgba(119,81,142,.10),0 18px 40px rgba(73,46,87,.17)}
.license-node{min-height:76px;padding:8px 8px 7px}.license-icon{width:25px;height:25px;border-radius:7px;background:color-mix(in srgb,var(--node-color,#76528e) 13%,#fff 87%);border:1px solid color-mix(in srgb,var(--node-color,#76528e) 38%,#fff 62%);color:var(--node-color,#76528e);display:grid;place-items:center;font:800 calc(7px * var(--text-scale,1))/1 ui-monospace,monospace;margin-bottom:4px;letter-spacing:-.04em}.license-node.selected .license-icon{background:var(--node-color,#76528e);color:#fff;border-color:var(--node-color,#76528e)}.license-node strong{line-height:1.1}.card-title-row{display:flex;align-items:center;gap:10px;margin:5px 0 2px}.card-title-row h2{margin:0!important}.card-license-icon{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:linear-gradient(145deg,#6c4385,#8e65a5);color:#fff;display:grid;place-items:center;font:800 calc(10px * var(--text-scale,1))/1 ui-monospace,monospace;box-shadow:0 8px 16px rgba(87,54,103,.17)}
.relation-pill{display:flex!important;width:100%;align-items:center;justify-content:space-between;gap:9px;border-radius:11px!important;text-align:left;padding:7px 9px!important;margin:5px 0 0!important}.relation-pill>span{display:grid;gap:2px;min-width:0}.relation-pill b{font-size:calc(9px * var(--text-scale,1));color:#543d60}.relation-pill small{font-size:calc(7.5px * var(--text-scale,1));line-height:1.35;color:#776d79;text-transform:none;letter-spacing:0}.relation-pill i{font-style:normal;color:#76528e;font-size:calc(13px * var(--text-scale,1))}.relation-pill:hover,.relation-pill:focus{border-color:#8966a0;background:#f6eef7;outline:0}.relation-reason-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.relation-reason-title span{font-size:calc(7px * var(--text-scale,1));color:#8a798e;font-weight:500;text-transform:none;letter-spacing:0}
.link-layer text.relation-label{font-size:calc(7px * var(--text-scale,1));fill:#5a4265;text-anchor:middle;paint-order:stroke;stroke:#fffaf7;stroke-width:5px;stroke-linejoin:round;font-weight:750;pointer-events:none}.link-layer line.active{stroke:#684580;stroke-width:1.7;opacity:.78}
.avatar-character{height:300px!important;background:linear-gradient(145deg,#fffdfb,#efe5f1)!important;display:grid!important;grid-template-rows:1fr auto;place-items:center;padding:12px!important;overflow:hidden}.avatar-character img{width:100%;height:245px;object-fit:contain}.avatar-character small{font-size:calc(8px * var(--text-scale,1));color:#6a566f}
@media(max-width:1200px){.brand-logo{width:165px}.brand-version{display:none}.text-scale-switch{flex:0 0 auto}.core-node.relation-hub{width:195px;margin-left:-97.5px}.relation-hub small{font-size:calc(7px * var(--text-scale,1))}}
@media(max-width:700px){.brand-logo{width:125px;height:50px}.text-scale-switch button{min-width:25px;padding:0 5px}.core-node.relation-hub{width:175px;height:105px;margin:-52.5px -87.5px}.relation-hub b{font-size:calc(13px * var(--text-scale,1))}.relation-hub small{max-height:30px}.boot-logo{width:92vw}}
/* Reduce decorative rings: the relationship hub now carries the visual center. */
.orbit-c{display:none!important}.orbit-b{opacity:.58}.orbit-a{opacity:.82}

/* ========================= v1.8.0 · LEGIBILITY + MAP CONTROLS + RESPONSIVE ========================= */
:root{--text-scale:1}
body[data-text-scale="xs"]{--text-scale:.86}
body[data-text-scale="small"]{--text-scale:.94}
body[data-text-scale="normal"]{--text-scale:1}
body[data-text-scale="large"]{--text-scale:1.12}
body[data-text-scale="xlarge"]{--text-scale:1.25}
html{font-synthesis:none;text-rendering:optimizeLegibility}
body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}

/* Compact five-step text control: the percentage is clearer and more responsive than five buttons. */
.text-scale-switch{gap:2px;padding:3px 4px}
.text-scale-switch button{min-width:29px;height:28px;padding:0 6px}
.text-scale-switch #textScaleValue{min-width:42px;text-align:center;font-size:calc(8.5px * var(--text-scale,1));font-weight:800;color:#60486d;font-variant-numeric:tabular-nums}

/* Sidebar map console fills the previously unused lower-left space. */
.map-control-panel{margin-top:auto;border:1px solid #dccfe0;border-radius:14px;background:linear-gradient(145deg,#fffdf9,#f5edf6);padding:11px;display:grid;gap:9px;box-shadow:0 8px 22px rgba(78,48,91,.06)}
.side-footer{margin-top:0}
.map-control-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-control-head b{font-size:calc(10px * var(--text-scale,1));font-variant-numeric:tabular-nums;color:#593d68;background:#fff;border:1px solid #ddcfe1;border-radius:999px;padding:4px 7px}
.zoom-control{display:grid;grid-template-columns:30px minmax(70px,1fr) 30px;gap:7px;align-items:center}.zoom-control button{width:30px;height:30px;border:1px solid #d8c8dc;border-radius:9px;background:#fffaf7;color:#5f3e73;font-size:16px;font-weight:800}.zoom-control button:hover{background:#efe3f2;border-color:#9d7caf}.zoom-control input{width:100%;accent-color:#70478a;cursor:pointer}
.map-toggle-grid{display:grid;gap:6px}.map-toggle-grid label{display:flex;align-items:center;gap:7px;font-size:calc(9px * var(--text-scale,1));color:#5d5260;cursor:pointer}.map-toggle-grid input{accent-color:#694381;width:14px;height:14px}
.relation-mini-legend{display:flex;gap:7px;align-items:flex-start;border-top:1px solid #e2d8e4;padding-top:8px;font-size:calc(7.8px * var(--text-scale,1));line-height:1.35;color:#786b7c}.relation-mini-legend i{position:relative;flex:0 0 28px;height:8px;margin-top:2px;border-top:2px dashed #714a87}.relation-mini-legend i:after{content:"";position:absolute;right:-1px;top:-5px;border-left:6px solid #714a87;border-top:4px solid transparent;border-bottom:4px solid transparent}

/* Crisper map cards: full billboard compensation keeps text facing the camera. */
.license-node{width:124px;min-height:82px;margin:-41px -62px;padding:9px 9px 8px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-rendering:optimizeLegibility;isolation:isolate}
.license-node strong{font-size:calc(13px * var(--text-scale,1));font-weight:720;line-height:1.08;color:#201b22;letter-spacing:-.01em}
.license-node small{font-size:calc(9.4px * var(--text-scale,1));font-weight:600;line-height:1.22;color:#625766;margin-top:4px;letter-spacing:.003em}
.license-node.selected strong{color:#231828}.license-node.selected small{color:#4f4055;font-weight:650}
.license-icon{width:27px;height:27px;font-size:calc(7.7px * var(--text-scale,1));margin-bottom:5px}
.license-node.relation-dim{opacity:.28!important;filter:saturate(.55) contrast(.98)!important}.license-node.relation-near{opacity:1!important}

/* Relationship graphics: larger labels, pill background, animated flow and arrowhead. */
.link-layer line{stroke-width:1.15;opacity:.30;vector-effect:non-scaling-stroke}
.link-layer line.dimmed{opacity:.055!important}
.link-layer line.active{stroke:#67417f;stroke-width:2.05;opacity:.9;stroke-dasharray:9 6;animation:relationFlow 1.15s linear infinite;filter:drop-shadow(0 0 2px rgba(103,65,127,.15))}
@keyframes relationFlow{to{stroke-dashoffset:-30}}
body.relations-static .link-layer line.active{stroke-dasharray:none;animation:none}
.link-layer .relation-label-bg{fill:rgba(255,251,247,.96);stroke:#d8c8de;stroke-width:1}
.link-layer text.relation-label{font-size:calc(9px * var(--text-scale,1));fill:#4f365c;stroke:#fffaf7;stroke-width:3px;font-weight:800;letter-spacing:.005em}
body.relation-labels-off .link-layer .relation-label-group{display:none}

/* Stage clarity and a slightly stronger interaction hint. */
.stage-hint{font-size:calc(8.4px * var(--text-scale,1));letter-spacing:.10em;font-weight:650}
.stage.focus-relations .orbit{opacity:.30}.stage.focus-relations .axis{opacity:.07}

/* More room and better wrapping around the stage header. */
.stage-head{gap:10px}.stage-tools{flex-wrap:wrap;justify-content:flex-end}.stage-tools button{white-space:nowrap}

/* Intermediate desktop / laptop. */
@media(max-width:1500px){
  :root{--sidebar:255px;--inspector:320px}
  .sidebar{padding:19px 15px;gap:14px}.side-intro h1{font-size:calc(24px * var(--text-scale,1))}
  .license-node{width:118px;margin-left:-59px}.stage-tools button{padding:6px 9px}
}
@media(max-width:1250px){
  :root{--sidebar:225px;--inspector:295px}
  .sidebar{padding:15px 12px}.side-intro p{font-size:calc(10.5px * var(--text-scale,1))}.learning-path{display:none}
  .map-control-panel{padding:9px}.map-toggle-grid label{font-size:calc(8.5px * var(--text-scale,1))}
  .brand-logo{width:150px}.top-actions{gap:4px}.ghost{padding:7px 9px}
  .license-node{width:112px;min-height:78px;margin:-39px -56px}.license-node strong{font-size:calc(12px * var(--text-scale,1))}.license-node small{font-size:calc(9px * var(--text-scale,1))}
}

/* Tablet / small laptop: inspector becomes a drawer so the map keeps useful width. */
@media(max-width:1100px){
  .app-shell{grid-template-columns:220px minmax(0,1fr)}
  .inspector{position:fixed;z-index:55;right:12px;top:86px;bottom:12px;width:min(360px,calc(100vw - 24px));border:1px solid #d7c8db;border-radius:17px;box-shadow:0 24px 60px rgba(52,30,63,.22);transform:translateX(calc(100% + 30px));transition:transform .28s ease;overflow:auto;background:rgba(255,251,247,.985)}
  .inspector.open{transform:translateX(0)}
  .workspace{padding:13px}.stage{min-height:660px}
  .topbar{padding:0 12px}.top-actions{max-width:calc(100vw - 190px)}
  .stage-tools{max-width:72%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px;scrollbar-width:thin}
}

/* Tablet portrait: sidebar becomes a compact toolbar above the map. */
@media(max-width:850px){
  .topbar{position:sticky;align-items:center;padding:5px 9px;gap:6px}.brand{min-width:132px}.brand-logo{width:125px;height:48px}.brand-version{display:none}.top-actions{max-width:calc(100vw - 145px);overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:4px 0;scrollbar-width:none}.top-actions::-webkit-scrollbar{display:none}.top-actions>*{flex:0 0 auto}
  .app-shell{display:block;min-height:auto}.sidebar{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,1.25fr);gap:9px 12px;padding:11px 12px}.side-intro{min-width:0}.side-intro h1{font-size:calc(20px * var(--text-scale,1));margin:4px 0}.side-intro p,.simple-explainer,.legend,.learning-path,.side-footer{display:none}.searchbox{align-self:end}.filter-row{grid-column:1/-1;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto}
  .map-control-panel{grid-column:1/-1;margin:0;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;padding:8px 9px}.map-control-head{display:grid;justify-items:start}.zoom-control{grid-template-columns:26px minmax(100px,1fr) 26px}.zoom-control button{width:26px;height:27px}.map-toggle-grid{display:flex;gap:10px;overflow-x:auto;white-space:nowrap}.relation-mini-legend{display:none}
  .workspace{padding:9px}.stage-head{align-items:flex-end}.stage-head>div:first-child{min-width:150px}.stage-tools{max-width:70%;overflow-x:auto;flex-wrap:nowrap}.stage{min-height:650px;border-radius:17px}
  .inspector{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:72vh;border-radius:18px 18px 12px 12px;transform:translateY(calc(100% + 22px));padding:18px}.inspector.open{transform:translateY(0)}
  .license-node{width:116px;margin-left:-58px}.link-layer text.relation-label{font-size:calc(8.5px * var(--text-scale,1))}
}

@media(max-width:600px){
  .brand{min-width:105px}.brand-logo{width:104px;height:44px}.top-actions{max-width:calc(100vw - 118px)}.ghost{font-size:10px;padding:6px 8px}.language-switch select{max-width:95px}.text-scale-switch #textScaleValue{min-width:36px}
  .sidebar{grid-template-columns:1fr}.side-intro{display:none}.searchbox{grid-column:1}.filter-row{grid-column:1}.map-control-panel{grid-column:1;grid-template-columns:1fr}.map-control-head{display:flex}.map-toggle-grid{gap:8px}.map-toggle-grid label span{font-size:10px}
  .stage-head{display:grid;gap:7px}.stage-tools{max-width:100%;width:100%;justify-content:flex-start}.stage{min-height:600px}.simple-orientation{display:none}.stage-badge{top:8px;right:8px}.stage-hint{max-width:94%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .license-node{width:110px;min-height:76px;margin:-38px -55px}.license-node strong{font-size:calc(11.5px * var(--text-scale,1))}.license-node small{font-size:calc(8.7px * var(--text-scale,1))}
  .core-node.relation-hub{width:165px;margin-left:-82.5px}.relation-hub small{font-size:calc(7.3px * var(--text-scale,1))}
}

/* v1.8.1 — legibility, reliable map toggles, simplified identity and finer arrows */
body[data-text-scale="compact"]{--text-scale:.90}
body[data-text-scale="normal"]{--text-scale:1}
body[data-text-scale="comfort"]{--text-scale:1.15}
body[data-text-scale="large"]{--text-scale:1.30}
body[data-text-scale="xlarge"]{--text-scale:1.45}
body[data-text-scale="max"]{--text-scale:1.60}

/* Simpler brand: character + compact L mark + clean wordmark. */
.brand.brand-simple{min-width:205px;gap:7px;align-items:center}
.brand-avatar{width:35px;height:47px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 4px rgba(70,43,85,.08))}
.brand-labmark{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#684086,#8a5cac);color:#fff;font:800 19px/1 Georgia,serif;box-shadow:0 6px 13px rgba(87,54,103,.14)}
.brand-copy{display:grid!important;line-height:1.02;white-space:nowrap}
.brand-copy b{font:700 calc(13px * var(--text-scale,1))/1.05 Inter,ui-sans-serif,system-ui,sans-serif;color:#4d3559;letter-spacing:-.02em}
.brand-copy small{font-size:calc(7px * var(--text-scale,1));letter-spacing:.11em;color:#8b798e;margin-top:3px}
.brand-logo,.brand-version{display:none!important}

.boot-simple{width:min(500px,90vw);padding:22px 24px!important;background:rgba(255,251,247,.97)!important;border-color:#decfe3!important}
.boot-identity{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}
.boot-avatar{width:52px;height:70px;object-fit:contain;object-position:center bottom}
.boot-labmark{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#684086,#8d61aa);color:#fff;font:800 28px/1 Georgia,serif;box-shadow:0 10px 24px rgba(96,59,113,.16)}
.boot-title{display:grid;text-align:left;line-height:1}.boot-title strong{font:700 20px/1.05 Inter,ui-sans-serif,system-ui,sans-serif;color:#50365e}.boot-title small{margin-top:5px;font-size:10px;color:#8a7a8d;letter-spacing:.08em}
.boot-logo{display:none!important}

/* Native checkboxes remain native, clickable and visually explicit. */
.map-toggle-grid label{position:relative;z-index:3;min-height:24px;user-select:none}
.map-toggle-grid input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;pointer-events:auto!important;opacity:1!important;position:static!important;flex:0 0 auto;width:16px!important;height:16px!important;margin:0;cursor:pointer;accent-color:#684381}
.map-toggle-grid input[type="checkbox"]+span{pointer-events:none}

/* 2D-projected cards: no rotated text layer, opaque surface and stronger default typography. */
.scene{transform:translate(-50%,-50%)!important;transform-style:flat!important;transition:none!important}
.license-node{
  --card-scale:var(--map-card-scale,1);
  width:calc(132px * var(--card-scale));
  min-height:calc(88px * var(--card-scale));
  margin:calc(-44px * var(--card-scale)) calc(-66px * var(--card-scale));
  padding:calc(9px * var(--card-scale)) calc(10px * var(--card-scale)) calc(8px * var(--card-scale));
  background:#fffdf9!important;
  transform-style:flat!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  transition:opacity .18s,box-shadow .18s,border-color .18s,filter .18s!important;
  will-change:auto!important;
  text-rendering:geometricPrecision;
}
.license-node strong{font-size:calc(14px * var(--text-scale,1) * var(--card-scale));font-weight:760;line-height:1.08;color:#211925}
.license-node small{font-size:calc(10.4px * var(--text-scale,1) * var(--card-scale));font-weight:650;line-height:1.22;color:#544759;margin-top:4px}
.license-icon{width:calc(29px * var(--card-scale));height:calc(29px * var(--card-scale));font-size:calc(8px * var(--text-scale,1) * var(--card-scale));margin-bottom:5px}
.license-node.selected{background:#fffdfa!important;box-shadow:0 0 0 2px #fff,0 0 0 4px #6d4a84,0 16px 32px rgba(74,44,88,.17)!important}
.license-node.selected small{color:#49384f;font-weight:720}

/* Cleaner relationship labels and a deliberately slimmer arrow language. */
.link-layer text.relation-label{font-size:calc(10.2px * var(--text-scale,1));fill:#4c3458;stroke:none!important;paint-order:normal!important;font-weight:800;letter-spacing:.002em}
.link-layer .relation-label-bg{fill:rgba(255,252,248,.985);stroke:#d7c8dc;stroke-width:.8}
.link-layer line.active{stroke-width:1.55!important}
.relation-mini-legend i{border-top-width:1px}
.relation-mini-legend i:after{right:0;top:-4px;border-left-width:5px;border-top-width:3px;border-bottom-width:3px}

/* Give the text-size display enough room for the larger scale range. */
.text-scale-switch #textScaleValue{min-width:47px;font-size:calc(9px * var(--text-scale,1))}

@media(max-width:1250px){
  .brand.brand-simple{min-width:172px}.brand-avatar{width:31px;height:42px}.brand-labmark{width:28px;height:28px;font-size:17px}.brand-copy b{font-size:calc(11.5px * var(--text-scale,1))}.brand-copy small{font-size:calc(6.5px * var(--text-scale,1))}
  .license-node{width:calc(124px * var(--card-scale));min-height:calc(83px * var(--card-scale));margin:calc(-41.5px * var(--card-scale)) calc(-62px * var(--card-scale))}
  .license-node strong{font-size:calc(13.1px * var(--text-scale,1) * var(--card-scale))}.license-node small{font-size:calc(9.8px * var(--text-scale,1) * var(--card-scale))}
}
@media(max-width:900px){
  .brand.brand-simple{min-width:150px}.brand-avatar{width:27px;height:38px}.brand-labmark{width:26px;height:26px;font-size:16px}.brand-copy b{font-size:calc(10.5px * var(--text-scale,1))}.brand-copy small{display:none}
  .license-node{width:calc(120px * var(--card-scale));min-height:calc(80px * var(--card-scale));margin:calc(-40px * var(--card-scale)) calc(-60px * var(--card-scale))}
  .license-node strong{font-size:calc(12.6px * var(--text-scale,1) * var(--card-scale))}.license-node small{font-size:calc(9.4px * var(--text-scale,1) * var(--card-scale))}
  .link-layer text.relation-label{font-size:calc(9.5px * var(--text-scale,1))}
}
@media(max-width:700px){
  .brand.brand-simple{min-width:108px;gap:4px}.brand-avatar{width:24px;height:34px}.brand-labmark{width:24px;height:24px;font-size:15px}.brand-copy b{font-size:10px}.brand-copy small{display:none}
  .license-node{width:calc(116px * var(--card-scale));min-height:calc(78px * var(--card-scale));margin:calc(-39px * var(--card-scale)) calc(-58px * var(--card-scale));padding:calc(8px * var(--card-scale))}
  .license-node strong{font-size:calc(12px * var(--text-scale,1) * var(--card-scale))}.license-node small{font-size:calc(9.1px * var(--text-scale,1) * var(--card-scale))}
  .link-layer text.relation-label{font-size:calc(9px * var(--text-scale,1))}
}

/* ========================= v1.9.0 · CONSOLIDATION / BUILDER / HUB ========================= */

/* Central hub becomes a compact contextual dashboard with verified real examples. */
.core-node.relation-hub{width:250px;min-height:138px;height:auto;margin:-69px -125px;padding:13px 15px 12px;border-radius:17px}
.relation-hub.has-examples{min-height:188px;margin-top:-94px}
.hub-examples{margin:8px 0 0 8px;padding-top:7px;border-top:1px solid rgba(128,96,143,.18)}
.hub-examples-label{display:block;font-size:calc(6.8px * var(--text-scale,1));font-weight:850;letter-spacing:.13em;color:#80688b;margin-bottom:5px}
.hub-example-list{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.hub-example-chip{max-width:92px;display:inline-flex;align-items:center;gap:3px;border:1px solid #d7c7dc;background:#fffaf7;border-radius:999px;padding:4px 6px;color:#563e61;font-size:calc(7.4px * var(--text-scale,1));line-height:1;box-shadow:0 3px 8px rgba(77,49,89,.05)}
.hub-example-chip i{font-style:normal;color:#7f52a0;font-size:.9em}.hub-example-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-example-chip:hover{border-color:#8c6b9d;background:#f3e9f4}
.hub-example-morecount{font-size:calc(7px * var(--text-scale,1));font-weight:800;color:#7b687e}
#hubExamplesMore{display:block;margin-top:6px;border:0;background:transparent;padding:0;color:#654578;font-size:calc(7.2px * var(--text-scale,1));font-weight:780;text-align:left}
.relation-hub.relation-focus .hub-examples{display:none!important}

/* Builder: readable, useful and visually coherent. */
#buildPanel .panel-window.wide{width:min(1440px,97vw);max-height:94vh;padding:20px 22px}
#buildPanel .panel-window>header{margin-bottom:14px}
#buildPanel .panel-lead{font-size:calc(11px * var(--text-scale,1));line-height:1.5;color:#6c5f70;max-width:850px}
.builder-context{grid-template-columns:minmax(220px,280px) minmax(220px,280px) 1fr;gap:12px;padding:13px 14px;margin-bottom:10px;background:linear-gradient(145deg,#fffaf7,#f3e9f4);border-color:#d7c7dc}
.builder-context label{font-size:calc(10.5px * var(--text-scale,1));gap:6px;color:#56455c}.builder-context input,.builder-context select{font-size:calc(11.5px * var(--text-scale,1));padding:10px 11px;background:#fffdf9}.builder-context-note{font-size:calc(10.5px * var(--text-scale,1));line-height:1.5;color:#66586a;padding:4px 2px 4px 10px;border-left:3px solid #9b78aa}
.builder-workbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px auto;gap:9px;align-items:center;margin-bottom:11px}.builder-search{display:flex;align-items:center;gap:7px;border:1px solid #d6c8da;background:#fffdfa;border-radius:10px;padding:0 10px}.builder-search span{font-size:18px;color:#745583}.builder-search input{width:100%;border:0;outline:0;background:transparent;padding:9px 0;font-size:calc(11px * var(--text-scale,1));color:#473b4b}.builder-workbar select{border:1px solid #d6c8da;background:#fffdfa;border-radius:10px;padding:9px 10px;font-size:calc(10.5px * var(--text-scale,1));color:#55465a}.builder-selection-status{display:flex;align-items:baseline;gap:6px;justify-content:flex-end;color:#67566c;white-space:nowrap}.builder-selection-status b{font:600 calc(21px * var(--text-scale,1))/1 Georgia,serif;color:#5a3d6b}.builder-selection-status span{font-size:calc(9.5px * var(--text-scale,1))}
.builder-layout{grid-template-columns:minmax(270px,320px) minmax(520px,1fr) minmax(320px,380px);gap:14px;min-height:620px}.builder-catalog,.builder-report{background:#f7f1f6;border-color:#d8cbdc;border-radius:16px;padding:13px}.builder-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.builder-section-head h3{font-size:calc(12px * var(--text-scale,1));letter-spacing:.07em;margin:0;color:#514057}.builder-section-head p{font-size:calc(9.8px * var(--text-scale,1));line-height:1.45;color:#756979;margin:4px 0 0}.builder-section-head>span{font-size:calc(8.5px * var(--text-scale,1));color:#7c6b82;background:#fffdfa;border:1px solid #d9ccdd;border-radius:999px;padding:4px 7px;white-space:nowrap}
.builder-items{grid-template-columns:1fr;gap:7px}.builder-item{display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:8px;min-height:54px;border-color:#d9ccdd;border-radius:11px;padding:7px 8px;background:#fffdfa}.builder-item:before{width:4px}.builder-item:hover:not(:disabled){border-color:#8a69a0;box-shadow:0 8px 18px rgba(80,51,93,.08);transform:translateY(-1px)}.builder-item-icon{width:31px;height:31px;border-radius:8px;display:grid!important;place-items:center;background:#eee3f1;color:#5c3f6d;font:800 calc(8.5px * var(--text-scale,1))/1 ui-monospace,monospace;margin:0!important}.builder-item-copy{min-width:0}.builder-item-copy b{font-size:calc(11.5px * var(--text-scale,1));line-height:1.12;color:#362c3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-item-copy small{display:block;font-size:calc(8.8px * var(--text-scale,1));line-height:1.2;color:#756b78;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.builder-item>i{font-style:normal;font-size:calc(17px * var(--text-scale,1));color:#6c4a80;text-align:center}.builder-item:disabled{opacity:.48;background:#eee9ef}.builder-catalog-empty{padding:22px 10px;text-align:center;font-size:calc(10px * var(--text-scale,1));line-height:1.5;color:#786d7b}
.builder-project{gap:8px}.builder-scene{min-height:540px;border-color:#d0c4d4;background:radial-gradient(circle at 50% 50%,#fffdfa 0 12%,#f6eff6 37%,#ece5ec 100%)}.builder-scene:after{width:410px;height:410px;border-color:rgba(95,62,111,.18)}.project-core{width:154px;height:116px;border-radius:20px;border:1px solid #76538a;background:linear-gradient(145deg,#5c3a70,#76518d);box-shadow:0 18px 38px rgba(70,39,84,.2);padding:10px}.project-core span{font-size:calc(8.8px * var(--text-scale,1));color:#d8c9df}.project-core b{font-size:calc(17px * var(--text-scale,1));line-height:1.08}.project-core small{font-size:calc(8px * var(--text-scale,1));color:#ded2e3}.builder-empty-scene{position:absolute;left:50%;bottom:11%;transform:translateX(-50%);width:min(330px,76%);text-align:center;color:#786b7b;pointer-events:none}.builder-empty-scene b,.builder-empty-scene span{display:block}.builder-empty-scene b{font-family:Georgia,serif;font-size:calc(18px * var(--text-scale,1));font-weight:500;color:#5b4861}.builder-empty-scene span{font-size:calc(9.5px * var(--text-scale,1));line-height:1.45;margin-top:4px}
.builder-node{width:142px;min-height:67px;padding:0;border-color:#cfc0d4;background:#fffdf9;border-radius:12px;overflow:visible;box-shadow:0 10px 23px rgba(76,48,88,.12)}.builder-node.active{border-color:#6d4b82;box-shadow:0 0 0 2px #fff,0 0 0 4px #78558c,0 12px 28px rgba(74,43,88,.16)}.builder-node:before{height:4px}.builder-node-main{width:100%;min-height:65px;border:0;background:transparent;display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;padding:9px 11px;text-align:left;color:#3e3242}.builder-node-icon{width:29px;height:29px;border-radius:8px;display:grid!important;place-items:center;background:#eee3f1;color:#5b3d6c;font:800 calc(8px * var(--text-scale,1))/1 ui-monospace,monospace}.builder-node-main b{font-size:calc(11px * var(--text-scale,1));line-height:1.08}.builder-node-main small{display:block;font-size:calc(8.8px * var(--text-scale,1));color:#766b79;margin-top:3px}.builder-node-remove{position:absolute;right:-7px;top:-7px;width:23px;height:23px;border-radius:50%;border:1px solid #c7b6cd;background:#fffdfa;color:#6d526f;font-size:15px;line-height:1;box-shadow:0 4px 10px rgba(60,40,70,.1)}.builder-cable{stroke-width:1.6;opacity:.46}.builder-cable.active{stroke-width:2.6;opacity:.9;filter:drop-shadow(0 0 3px rgba(102,65,125,.25))}
.builder-selected-strip{display:flex;align-items:center;gap:5px;min-height:39px;overflow-x:auto;padding:3px 1px;scrollbar-width:thin}.builder-selected-strip.empty{display:none}.selected-strip-label{font-size:calc(7.8px * var(--text-scale,1));font-weight:850;letter-spacing:.09em;color:#77627f;white-space:nowrap;margin-right:2px}.selected-chip{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid #d5c6da;background:#fffdfa;border-radius:999px;padding:4px 6px 4px 4px;color:#58475e}.selected-chip.active{border-color:#76528b;background:#efe4f1}.selected-chip i{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:#e8dbec;color:#603f72;font:800 7px/1 ui-monospace,monospace;font-style:normal}.selected-chip span{font-size:calc(8.8px * var(--text-scale,1));font-weight:700}.selected-chip b{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#eee8ef;color:#766878;font-size:11px}
.builder-actions{flex-wrap:wrap}.builder-actions button{font-size:calc(10px * var(--text-scale,1));padding:10px 12px}.builder-actions .primary{background:#63417a}.danger-soft{color:#895064;border-color:#dec8d0;background:#fff8fa}.builder-actions button:disabled{opacity:.42;cursor:not-allowed}
.builder-report{max-height:620px}.builder-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;margin-bottom:11px}.builder-summary>div:first-child{display:grid}.builder-summary>div:first-child>span{font-size:calc(7.8px * var(--text-scale,1));letter-spacing:.11em;font-weight:850;color:#7b6484}.builder-summary>div:first-child>b{font-size:calc(22px * var(--text-scale,1));color:#4f3859}.builder-summary>div:first-child>small{font-size:calc(9px * var(--text-scale,1));color:#716775;margin-top:2px}.builder-health{display:flex;align-items:center;gap:5px;border:1px solid #d5c8d8;border-radius:999px;padding:5px 7px;background:#fffdfa}.builder-health i{width:8px;height:8px;border-radius:50%;background:#62806b}.builder-health span{font-size:calc(8px * var(--text-scale,1));font-weight:750;color:#5e5262;white-space:nowrap}.builder-health.warn i{background:#b08343}.builder-health.risk i{background:#a9536a}.builder-report-section{margin:0 0 13px}.builder-report-section h4{font-size:calc(10px * var(--text-scale,1));letter-spacing:.07em;text-transform:uppercase;color:#5b4662;margin:0 0 7px}.builder-signals{gap:7px}.signal{font-size:calc(9.6px * var(--text-scale,1));line-height:1.48;padding:8px 9px}.builder-license-groups{display:grid;gap:8px}.builder-license-block{border:1px solid #d7c9da;background:#fffdfa;border-radius:11px;padding:9px 10px;transition:.2s}.builder-license-block.active{border-color:#76528b;box-shadow:0 0 0 2px rgba(118,82,139,.09)}.builder-license-block header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.builder-report-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:#eee3f1;color:#5c3f6c;font:800 calc(8px * var(--text-scale,1))/1 ui-monospace,monospace}.builder-license-block header div{min-width:0}.builder-license-block header b{display:block;font-size:calc(11.2px * var(--text-scale,1));color:#3e3043}.builder-license-block header small{display:block;font-size:calc(8.4px * var(--text-scale,1));color:#796e7c;margin-top:2px}.builder-license-block p{font-size:calc(9px * var(--text-scale,1));line-height:1.42;color:#675c6a;margin:5px 0 7px}.builder-license-block ul{margin:0;padding-left:17px}.builder-license-block li{font-size:calc(9px * var(--text-scale,1));line-height:1.45;color:#514754;margin:3px 0}.next-steps ol{margin:0;padding-left:20px}.next-steps li{font-size:calc(9.4px * var(--text-scale,1));line-height:1.48;color:#514754;margin:5px 0}.builder-warning{font-size:calc(9px * var(--text-scale,1));line-height:1.5;padding:9px 10px}.checklist-empty>div{display:grid;gap:5px}.checklist-empty b{font-family:Georgia,serif;font-size:calc(18px * var(--text-scale,1));font-weight:500;color:#5a465f}.checklist-empty span{font-size:calc(9.5px * var(--text-scale,1));line-height:1.5;color:#756a78}

/* Small coherence improvements across the application. */
.panel-window{scrollbar-color:#b9a8c1 #f4edf4}.panel-window button,.panel-window select,.panel-window input{font-family:inherit}.license-card .summary{font-size:calc(11px * var(--text-scale,1));line-height:1.55}.relations .relation-pill small{line-height:1.45}.stage-tools button:focus-visible,.ghost:focus-visible,.builder-item:focus-visible,.hub-example-chip:focus-visible{outline:2px solid #77518e;outline-offset:2px}

@media(max-width:1320px){
  .builder-layout{grid-template-columns:250px minmax(460px,1fr) 310px}.builder-node{width:132px}.builder-node-main{grid-template-columns:27px 1fr}.builder-node-icon{width:26px;height:26px}
}
@media(max-width:1100px){
  #buildPanel .panel-window.wide{width:min(980px,98vw)}.builder-context{grid-template-columns:1fr 1fr}.builder-context-note{grid-column:1/-1}.builder-workbar{grid-template-columns:1fr 180px auto}.builder-layout{grid-template-columns:1fr 1fr}.builder-catalog{max-height:320px}.builder-project{grid-column:2;grid-row:1/3}.builder-report{grid-column:1;max-height:360px}.builder-items{grid-template-columns:1fr}.builder-scene{min-height:540px}
}
@media(max-width:820px){
  #buildPanel{padding:8px}#buildPanel .panel-window.wide{width:100%}.builder-context{grid-template-columns:1fr}.builder-context-note{grid-column:auto}.builder-workbar{grid-template-columns:1fr 1fr}.builder-selection-status{grid-column:1/-1;justify-content:flex-start}.builder-layout{display:flex;flex-direction:column;min-height:0}.builder-project{order:1}.builder-catalog{order:2;max-height:330px}.builder-report{order:3;max-height:none}.builder-items{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-scene{min-height:500px}.builder-node{width:126px}.core-node.relation-hub{width:220px;margin-left:-110px}.relation-hub.has-examples{margin-top:-90px}
}
@media(max-width:560px){
  #buildPanel .panel-window.wide{padding:14px 12px}.builder-workbar{grid-template-columns:1fr}.builder-selection-status{grid-column:auto}.builder-items{grid-template-columns:1fr}.builder-scene{min-height:450px}.builder-node{width:118px;min-height:61px}.builder-node-main{min-height:59px;padding:8px}.builder-node-main b{font-size:calc(10px * var(--text-scale,1))}.builder-node-main small{font-size:calc(8px * var(--text-scale,1))}.project-core{width:136px;height:104px}.builder-actions{display:grid;grid-template-columns:1fr 1fr}.builder-actions .primary{grid-column:1/-1}.core-node.relation-hub{width:192px;margin-left:-96px;min-height:132px}.relation-hub.has-examples{min-height:177px;margin-top:-88px}.hub-example-chip{max-width:74px}.hub-example-list{gap:3px}
}
.link-layer .relation-label-group{pointer-events:all;cursor:help}.link-layer .relation-label-group:hover .relation-label-bg{stroke:#7a568d;stroke-width:1.2;fill:#fffaf7}.link-layer .relation-label-group:hover .relation-label{fill:#3f294b}
/* Keep the three builder columns aligned: long catalogs/reports scroll instead of stretching the visual canvas. */
.builder-layout{align-items:start}.builder-catalog{max-height:620px}.builder-project{min-height:620px}.builder-scene{height:540px;flex:none}
@media(max-width:1100px){.builder-project{min-height:0}.builder-scene{height:540px}.builder-catalog{max-height:320px}}
@media(max-width:820px){.builder-scene{height:500px}.builder-catalog{max-height:330px}}
@media(max-width:560px){.builder-scene{height:450px}}

/* ========================= v1.10.0 · USABILITY REVIEW ========================= */
.toolbar-menu{position:relative;display:inline-block}.toolbar-menu>summary{list-style:none;cursor:pointer;user-select:none;display:inline-flex;align-items:center;gap:5px}.toolbar-menu>summary::-webkit-details-marker{display:none}.toolbar-menu[open]>summary{border-color:#8d6aa0!important;background:#f1e7f3!important;color:#573c66!important}.toolbar-menu-popover{position:absolute;right:0;top:calc(100% + 7px);z-index:120;min-width:190px;padding:7px;border:1px solid #d6c8da;border-radius:13px;background:rgba(255,250,246,.98);box-shadow:0 18px 40px rgba(65,42,76,.16);display:grid;gap:4px;backdrop-filter:blur(12px)}.toolbar-menu-popover button{width:100%;border:0;background:transparent;border-radius:9px;text-align:left;padding:9px 10px;color:#4a3850;font-size:calc(10px * var(--text-scale,1));white-space:nowrap}.toolbar-menu-popover button:hover{background:#f0e7f2;color:#4f3260}.stage-menu>summary{border:1px solid #d9ccdc;background:#fffaf6;border-radius:999px;padding:7px 10px;color:#4a3850;font-size:calc(10px * var(--text-scale,1))}.stage-menu-popover{min-width:205px}.stage-menu-popover button{border:0!important;border-radius:9px!important;background:transparent!important;padding:9px 10px!important}.stage-menu-popover button.active{background:#5f3d79!important;color:#fff!important}

.searchbox{position:relative}.search-clear{display:none;flex:0 0 auto;width:25px;height:25px;border:0;border-radius:50%;background:#eee5ef;color:#664d70;font-size:16px;line-height:1;place-items:center;padding:0}.search-clear.visible{display:grid}.search-clear:hover{background:#dfd0e3}.search-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:-12px;padding:0 2px;min-height:18px}.search-status span{font-size:calc(8.5px * var(--text-scale,1));color:#807383}.search-status button{visibility:hidden;border:0;background:transparent;color:#6d4b7c;padding:0;font-size:calc(8.5px * var(--text-scale,1));font-weight:700}.search-status button.visible{visibility:visible}.search-status button:hover{text-decoration:underline}

.map-control-head>div{display:flex;align-items:center;gap:5px}.map-control-collapse{width:27px;height:27px;border:1px solid #d6c9da;background:#fffdfa;border-radius:8px;color:#654a70;font-size:13px;padding:0}.map-control-body{display:grid;gap:9px;min-height:0;overflow:hidden;opacity:1;transition:max-height .24s ease,opacity .18s ease,margin .18s ease;max-height:230px}.map-control-panel.collapsed{gap:0}.map-control-panel.collapsed .map-control-body{max-height:0;opacity:0;margin:0;pointer-events:none}.map-control-panel.collapsed{padding-bottom:9px}

.stage-context{position:absolute;left:14px;top:14px;z-index:14;display:flex;align-items:center;gap:9px;max-width:min(430px,58%);padding:7px 8px;border:1px solid rgba(125,91,143,.22);background:rgba(255,250,247,.94);border-radius:13px;box-shadow:0 9px 22px rgba(63,39,73,.08);backdrop-filter:blur(10px)}.stage-context.hidden{display:none}.stage-context-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#6d4b82;color:#fff;font:800 8px/1 ui-monospace,monospace;flex:0 0 auto}.stage-context>div:nth-child(2){min-width:0;display:grid}.stage-context small{font-size:calc(6.6px * var(--text-scale,1));letter-spacing:.11em;font-weight:850;color:#806f84}.stage-context b{font-size:calc(10.5px * var(--text-scale,1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#402f48}.stage-context-actions{display:flex;gap:4px;margin-left:auto}.stage-context-actions button{border:1px solid #d4c4d9;background:#fffdfa;border-radius:999px;padding:5px 7px;font-size:calc(7.5px * var(--text-scale,1));color:#60456e;white-space:nowrap}.stage-context-actions button:hover{border-color:#876698;background:#f0e7f2}

.no-results{position:absolute;left:50%;top:50%;z-index:16;transform:translate(-50%,-50%);width:min(330px,80%);padding:19px;border:1px solid #d6c7da;background:rgba(255,251,247,.97);border-radius:15px;text-align:center;box-shadow:0 18px 38px rgba(69,44,80,.12)}.no-results.hidden{display:none}.no-results b,.no-results span{display:block}.no-results b{font-family:Georgia,serif;font-size:calc(17px * var(--text-scale,1));font-weight:500;color:#4c3855}.no-results span{font-size:calc(9.5px * var(--text-scale,1));line-height:1.45;color:#766a79;margin:5px 0 11px}.no-results button{border:1px solid #8b6b9a;background:#6a487e;color:#fff;border-radius:999px;padding:7px 10px;font-size:calc(9px * var(--text-scale,1))}

.toast-region{position:fixed;left:50%;bottom:24px;z-index:300;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#4f355f;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 14px;box-shadow:0 14px 32px rgba(48,30,57,.22);font-size:calc(10px * var(--text-scale,1));font-weight:700;transition:opacity .18s ease,transform .18s ease}.toast-region.show{opacity:1;transform:translate(-50%,0)}

/* Stronger workflow hierarchy: four primary tasks stay visible, advanced tools live in “Más”. */
.top-actions>.essential-action{font-weight:650}.top-actions>.start-action{background:#f2eaf4;border-color:#c9b6d0}.top-actions>.start-action:hover{background:#e8dbea}.top-actions .workflow-active{background:#5f3d79!important;color:#fff!important;border-color:#5f3d79!important}

@media(max-width:1100px){
  .stage-context{max-width:62%}.stage-context-actions button{padding:5px 6px}.stage-context-actions #stageContextCompare{display:none}
}
@media(max-width:850px){
  .toolbar-menu-popover{position:fixed;right:12px;top:67px;min-width:210px}.stage-menu-popover{position:absolute;right:0;top:calc(100% + 6px)}
  .search-status{grid-column:1/-1;margin-top:-4px}.map-control-panel.collapsed{grid-template-columns:1fr!important}.map-control-panel.collapsed .map-control-head{width:100%}
  .stage-context{left:9px;top:9px;max-width:calc(100% - 96px);padding:6px}.stage-context-actions{display:none}.stage-context b{font-size:calc(10px * var(--text-scale,1))}
}
@media(max-width:600px){
  .toolbar-menu-popover{right:8px;top:60px;max-width:calc(100vw - 16px)}.stage-menu{flex:0 0 auto}.stage-menu>summary{padding:6px 8px}.stage-menu-popover{position:fixed;right:8px;top:116px;min-width:220px}
  .search-status{margin-top:-2px}.stage-context{max-width:calc(100% - 80px)}.stage-context-icon{width:27px;height:27px}.stage-context small{display:none}.stage-context b{font-size:10px}.toast-region{bottom:72px;max-width:88vw;text-align:center}
}
@media(max-width:960px){body[data-level="simple"] .top-actions>.essential-action{display:inline-flex}}

/* v1.11 · Global License Atlas */
.atlas-top-action{white-space:nowrap}
.panel-window.ultra-wide{width:min(1500px,96vw);max-width:none}
.atlas-window{overflow:hidden}
.atlas-window>header{border-bottom:1px solid var(--line,#ddd7df)}
.atlas-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(91,58,126,.11);background:rgba(255,250,245,.78)}
.atlas-region-buttons,.atlas-view-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.atlas-region-buttons button,.atlas-view-actions button{border:1px solid #d8ccdf;background:#fffaf7;border-radius:999px;padding:8px 12px;font-size:11px;color:#4a3655;cursor:pointer}
.atlas-region-buttons button.active,.atlas-view-actions button.active{background:#68418e;color:#fff;border-color:#68418e;box-shadow:0 5px 16px rgba(87,47,124,.18)}
.atlas-view-actions span{font-size:10px;font-weight:700;color:#6f587a;min-width:44px;text-align:center}
.atlas-layout{display:grid;grid-template-columns:minmax(520px,1.55fr) minmax(330px,.8fr);gap:14px;padding:14px;min-height:570px}
.atlas-globe-wrap{position:relative;min-height:570px;border:1px solid #ddd3e1;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 30% 25%,#fffefa 0,#f7eef8 48%,#eaddec 100%);box-shadow:inset 0 0 80px rgba(98,57,134,.06)}
#atlasGlobe{display:block;width:100%;height:100%;min-height:570px;touch-action:none;cursor:grab}
#atlasGlobe:active{cursor:grabbing}
.atlas-globe-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:9px;letter-spacing:.11em;color:#725f7c;background:rgba(255,250,245,.9);border:1px solid rgba(111,76,144,.18);padding:7px 12px;border-radius:999px;pointer-events:none;white-space:nowrap}
.atlas-map-note{position:absolute;right:14px;top:14px;max-width:220px;font-size:8px;line-height:1.35;color:#766979;background:rgba(255,250,245,.88);border:1px solid rgba(111,76,144,.12);padding:7px 9px;border-radius:10px;pointer-events:none}
.atlas-info{border:1px solid #ddd3e1;border-radius:20px;background:#fffaf6;min-height:570px;padding:18px;overflow:auto}
.atlas-empty{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#786b7d}
.atlas-empty>span{font-size:44px}.atlas-empty h3{font-family:Georgia,serif;font-size:23px;color:#37273e;margin:10px 0 5px}.atlas-empty p{max-width:300px;font-size:12px;line-height:1.55}
.atlas-info-head{display:flex;gap:12px;align-items:center;padding-bottom:13px;border-bottom:1px solid #e3dae5}.atlas-flag{width:48px;height:48px;border-radius:14px;background:#f1e8f4;display:grid;place-items:center;font-size:26px;border:1px solid #dacbe2}.atlas-info-head small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#8a788e}.atlas-info-head h3{font-family:Georgia,serif;font-size:26px;line-height:1.05;margin:3px 0;color:#382440}
.atlas-headline{margin:14px 0;background:#f3eaf4;border-left:4px solid #714792;border-radius:0 12px 12px 0;padding:12px 13px;font-size:12px;line-height:1.5;font-weight:650;color:#423248}
.atlas-info section{margin:14px 0}.atlas-info h4{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#73567e;margin:0 0 7px}.atlas-info p,.atlas-info li{font-size:11px;line-height:1.55;color:#4d4351}.atlas-info ul{margin:0;padding-left:18px}.atlas-info li+li{margin-top:5px}
.atlas-license-links{display:grid;gap:7px}.atlas-license-link{display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;border:1px solid #ded2e2;background:#fff;border-radius:11px;padding:9px 10px;color:#3c2b43;cursor:pointer;text-align:left}.atlas-license-link:hover{border-color:#8d68aa;background:#fbf7fc}.atlas-license-link span{font-size:11px;font-weight:700}.atlas-license-link small{font-size:8px;color:#816991}.atlas-license-link.external{border-style:dashed}
.atlas-source{display:inline-flex;margin-top:5px;font-size:10px;color:#603486;text-decoration:none;font-weight:700}.atlas-source:hover{text-decoration:underline}
.atlas-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 14px 14px}.atlas-list button{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;column-gap:7px;text-align:left;border:1px solid #ded4e0;background:#fffaf7;border-radius:12px;padding:9px 10px;cursor:pointer;color:#45364a;min-height:66px}.atlas-list button>span{grid-row:1/3;font-size:19px;align-self:center}.atlas-list b{font-size:10px}.atlas-list small{font-size:8px;color:#817485;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atlas-list button:hover,.atlas-list button.active{border-color:#8b65a8;background:#f5edf7}
.atlas-disclaimer{margin:0 14px 14px;padding:10px 12px;border:1px solid #e2d7e4;border-radius:12px;background:#fbf7f1;font-size:9px;line-height:1.5;color:#6d6070}

html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .topbar,html[dir="rtl"] .top-actions,html[dir="rtl"] .stage-head,html[dir="rtl"] .atlas-toolbar,html[dir="rtl"] .atlas-info-head{direction:rtl}
html[dir="rtl"] .atlas-info ul{padding-left:0;padding-right:18px}
html[dir="rtl"] .atlas-headline{border-left:0;border-right:4px solid #714792;border-radius:12px 0 0 12px}
html[dir="rtl"] .atlas-list button{text-align:right}
html[dir="rtl"] .atlas-license-link{text-align:right}

@media(max-width:1180px){
  .atlas-layout{grid-template-columns:1fr;min-height:0}.atlas-info{min-height:0;max-height:none}.atlas-globe-wrap,#atlasGlobe{min-height:520px}.atlas-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .atlas-top-action{display:inline-flex!important}.atlas-toolbar{align-items:flex-start;flex-direction:column}.atlas-layout{padding:10px}.atlas-globe-wrap,#atlasGlobe{min-height:440px}.atlas-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 10px}.atlas-info{padding:14px}.atlas-map-note{display:none}.atlas-globe-hint{font-size:7px;max-width:92%;overflow:hidden;text-overflow:ellipsis}.panel-window.ultra-wide{width:98vw}
}
@media(max-width:520px){
  .atlas-region-buttons{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.atlas-region-buttons button{padding:7px 8px;font-size:9px}.atlas-view-actions{width:100%;justify-content:space-between}.atlas-globe-wrap,#atlasGlobe{min-height:380px}.atlas-list{grid-template-columns:1fr}.atlas-info-head h3{font-size:22px}.atlas-headline{font-size:11px}.atlas-info p,.atlas-info li{font-size:10px}
}

/* v1.12 · Identificador online de licencia */
.lookup-window{max-width:1180px}.lookup-layout{display:grid;grid-template-columns:minmax(270px,330px) minmax(0,1fr);gap:18px;align-items:start}.lookup-form{display:grid;gap:12px}.lookup-form label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#473d4d}.lookup-form input,.lookup-form select{width:100%;border:1px solid #d9d0dc;background:#fffdfa;border-radius:12px;padding:11px 12px;font:inherit;color:#2c2530;outline:none}.lookup-form input:focus,.lookup-form select:focus{border-color:#7b4aa6;box-shadow:0 0 0 3px rgba(123,74,166,.12)}.lookup-source-note,.lookup-privacy{border:1px solid #e3d9e6;background:#fffaf6;border-radius:14px;padding:12px 13px;font-size:10px;line-height:1.5;color:#655a68}.lookup-source-note b,.lookup-privacy b{color:#322936}.lookup-source-note code{font-size:9px;background:#f2eaf5;padding:2px 5px;border-radius:6px}.lookup-privacy{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start;background:#f7f0fb}.lookup-privacy>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#6c3d91;color:#fff;font-weight:800}.lookup-privacy p{margin:0}.lookup-results{min-height:360px}.lookup-empty,.lookup-loading{min-height:330px;border:1px dashed #d7ccda;border-radius:16px;background:rgba(255,253,250,.65);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#746a76}.lookup-empty>span{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#f0e6f5;color:#6d3f91;font-size:24px;margin-bottom:10px}.lookup-empty h3{margin:0 0 6px;color:#2d2631;font-family:Georgia,serif;font-weight:500;font-size:22px}.lookup-empty p{max-width:560px;margin:0;line-height:1.55}.lookup-empty.error>span{background:#fff1ef;color:#9d443d}.lookup-loading i{width:42px;height:42px;border-radius:50%;border:4px solid #e6d9ec;border-top-color:#6c3d91;animation:lookupSpin .85s linear infinite;margin-bottom:12px}.lookup-loading b{font-size:14px;color:#382d3f}.lookup-loading span{margin-top:5px;font-size:10px}@keyframes lookupSpin{to{transform:rotate(360deg)}}.lookup-summary{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid #d9ccdf;background:linear-gradient(135deg,#fffdfa,#f5ecfa);border-radius:16px;padding:15px 16px;margin-bottom:12px}.lookup-summary>div:first-child>span{font-size:8px;letter-spacing:.15em;color:#7d6e83}.lookup-summary h3{font-size:24px;font-family:Georgia,serif;font-weight:500;margin:2px 0}.lookup-summary p{margin:0;font-size:10px;color:#706573}.lookup-confidence{display:grid;text-align:center;min-width:80px;padding:8px 11px;border-left:1px solid #dfd4e2;border-right:1px solid #dfd4e2}.lookup-confidence small{font-size:8px;text-transform:uppercase;letter-spacing:.1em}.lookup-confidence b{font-size:13px}.lookup-confidence em{font-style:normal;font-size:9px;color:#7a6c7e}.lookup-summary.high .lookup-confidence b{color:#2b744f}.lookup-summary.medium .lookup-confidence b{color:#946718}.lookup-summary.low .lookup-confidence b{color:#9a4d47}.lookup-meta{display:flex;justify-content:space-between;gap:10px;padding:0 3px 8px;font-size:9px;color:#807582}.lookup-match-list{display:grid;gap:9px}.lookup-match{border:1px solid #ded4e1;background:#fffdfa;border-radius:14px;padding:12px 13px}.lookup-match.top{border-color:#bca5c9;box-shadow:0 8px 24px rgba(93,52,117,.08)}.lookup-match header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lookup-match header h3{margin:3px 0 0;font-size:15px}.lookup-match header>strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#5e2f7d;background:#f2e8f7;border-radius:9px;padding:6px 8px;text-align:right;max-width:44%}.lookup-source{display:inline-block;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#6f4c83}.lookup-facts{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:8px;margin:10px 0}.lookup-facts span{display:grid;border-top:1px solid #eee5f0;padding-top:7px;font-size:9px;color:#645a67}.lookup-facts b{font-size:8px;color:#8a7e8d;margin-bottom:2px;text-transform:uppercase;letter-spacing:.06em}.lookup-raw{font-size:9px;color:#756a77;background:#faf5fb;border-radius:9px;padding:8px;margin:7px 0}.lookup-match footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:9px}.lookup-match footer>a{font-size:9px;color:#673a83}.lookup-match footer>div{display:flex;gap:6px;align-items:center}.lookup-match footer button{font-size:9px}.lookup-no-card{font-size:8px;color:#8b808e}.lookup-warnings{margin-top:10px;border:1px solid #e6d6b7;background:#fff9eb;border-radius:12px;padding:8px 11px}.lookup-warnings p{margin:3px 0;font-size:9px;color:#796444}.lookup-disclaimer{margin-top:12px;border-left:3px solid #7c4ca0;background:#f8f1fa;padding:10px 12px;border-radius:0 10px 10px 0}.lookup-disclaimer b{font-size:9px}.lookup-disclaimer p{font-size:9px;line-height:1.5;margin:4px 0 0;color:#665b69}
@media(max-width:900px){.lookup-layout{grid-template-columns:1fr}.lookup-form{grid-template-columns:1fr 1fr}.lookup-form>.primary,.lookup-source-note,.lookup-privacy{grid-column:1/-1}.lookup-results{min-height:280px}.lookup-empty,.lookup-loading{min-height:260px}.lookup-summary{grid-template-columns:1fr auto}.lookup-summary>.primary{grid-column:1/-1}.lookup-match header{flex-direction:column}.lookup-match header>strong{max-width:100%;text-align:left}.lookup-match footer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.lookup-form{grid-template-columns:1fr}.lookup-summary{grid-template-columns:1fr}.lookup-confidence{border:0;border-top:1px solid #dfd4e2;border-bottom:1px solid #dfd4e2;text-align:left;grid-template-columns:auto auto 1fr;align-items:center;gap:8px}.lookup-facts{grid-template-columns:1fr}.lookup-match footer>div{flex-wrap:wrap}}


/* v1.12.1 audit: keyboard visibility and reduced-motion support */
:where(button,a,input,select,[tabindex]):focus-visible{outline:3px solid rgba(108,67,133,.42);outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto!important}
  .orbit,.stage:after,.scan,.project-active,.builder-cable,.lookup-loading i,.relation-flow{animation:none!important}
  .boot,.license-node,.product-star,.panel-window,.toast-region{transition:none!important}
}

/* v1.14.0 · contextual relation controls */
.link-layer .relation-hit{stroke:transparent;stroke-width:18;pointer-events:stroke;cursor:pointer}
.link-layer line.selected-relation{stroke:#4d2866!important;stroke-width:2.6!important;opacity:1!important;stroke-dasharray:10 5;filter:drop-shadow(0 0 3px rgba(77,40,102,.28))}
.link-layer .relation-label-group{cursor:pointer}
.relation-context-menu{position:absolute;z-index:28;width:min(330px,calc(100% - 20px));padding:12px;border:1px solid #cab5d2;border-radius:15px;background:rgba(255,252,248,.985);box-shadow:0 18px 46px rgba(57,34,67,.18);backdrop-filter:blur(14px);color:#3f3045}
.relation-context-menu.hidden{display:none}
.relation-context-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.relation-context-head span{font-size:calc(8px * var(--text-scale,1));font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#765486}.relation-context-head button{width:28px;height:28px;border:1px solid #d8cadc;border-radius:8px;background:#fffaf6;color:#654770;font-size:17px;line-height:1;padding:0}.relation-context-menu>b{display:block;font-family:Georgia,serif;font-size:calc(16px * var(--text-scale,1));font-weight:500;color:#3d2b45;margin-bottom:5px}.relation-context-menu>p{margin:0 0 10px;font-size:calc(9.5px * var(--text-scale,1));line-height:1.5;color:#66576b}.relation-context-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.relation-context-actions button{border:1px solid #d8cadc;background:#fffaf7;border-radius:9px;padding:8px 9px;text-align:left;font-size:calc(8.7px * var(--text-scale,1));font-weight:700;color:#5a4265}.relation-context-actions button:hover{border-color:#79598a;background:#f1e7f3}.relation-context-actions button:nth-child(1){background:linear-gradient(145deg,#fffaf7,#efe5f2);border-color:#cbb5d4}.relation-context-actions button:nth-child(2),.relation-context-actions button:nth-child(3){color:#78525e}
.relation-manage-status{border:1px solid #d4c3d9;border-radius:10px;background:#fffaf8;padding:7px 8px;display:grid;gap:6px}.relation-manage-status.hidden{display:none}.relation-manage-status>span{font-size:calc(8px * var(--text-scale,1));font-weight:800;color:#664d70}.relation-manage-status>div{display:flex;gap:5px;flex-wrap:wrap}.relation-manage-status button{border:1px solid #d4c5d8;background:#fff;border-radius:8px;padding:6px 7px;font-size:calc(7.5px * var(--text-scale,1));color:#5b4264}.relation-manage-status button:hover{border-color:#7b598b;background:#f1e7f2}
@media(max-width:700px){.relation-context-menu{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;width:auto;max-height:62vh;overflow:auto}.relation-context-actions{grid-template-columns:1fr 1fr}.link-layer .relation-hit{stroke-width:22}}
@media(max-width:430px){.relation-context-actions{grid-template-columns:1fr}.relation-context-menu>b{font-size:calc(15px * var(--text-scale,1))}}

/* v1.14.1 · interacción contextual y movimiento Pro */
.move-mode .link-layer{pointer-events:none!important}
.move-mode .link-layer .relation-hit,.move-mode .link-layer .relation-label-group{pointer-events:none!important}
.move-mode .link-layer .relation-label-group{display:none!important}
.move-mode .link-layer line:not(.star-line){opacity:.12!important}
.move-mode .license-node{cursor:grab;box-shadow:0 10px 25px rgba(68,43,79,.13)}
.move-mode .license-node:hover{box-shadow:0 0 0 2px rgba(255,255,255,.95),0 0 0 4px rgba(111,75,137,.22),0 16px 34px rgba(68,43,79,.18)}
.relation-context-switches{display:grid;gap:7px;margin:10px 0 11px;padding:9px;border:1px solid #e0d4e4;border-radius:12px;background:#faf5fb}
.relation-context-switches label{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;min-height:31px;cursor:pointer;font-size:calc(9px * var(--text-scale,1));font-weight:760;color:#503b59}
.relation-context-switches input{appearance:none;-webkit-appearance:none;width:32px;height:18px;border-radius:999px;border:1px solid #c7b5ce;background:#e8dfe9;position:relative;cursor:pointer;transition:.18s}
.relation-context-switches input:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:2px;top:2px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);transition:.18s}
.relation-context-switches input:checked{background:#6f498b;border-color:#6f498b}
.relation-context-switches input:checked:before{transform:translateX(14px)}
.relation-context-switches input:focus-visible{outline:2px solid #5d3479;outline-offset:2px}
.relation-context-actions.compact-actions{grid-template-columns:1fr 1fr}
.relation-context-head button{position:relative;z-index:2;cursor:pointer;pointer-events:auto}
body[data-level="pro"] #proLayoutBtn.active{background:#65417f;color:#fff;border-color:#65417f}
@media(max-width:700px){.relation-context-switches{padding:8px}.relation-context-actions.compact-actions{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.relation-context-actions.compact-actions{grid-template-columns:1fr}}

/* ========================= v1.15.0 · THEMES + PRO MOVE UX ========================= */
:root,
html[data-theme="violet"]{
  --theme-bg:#f4f0f3;--theme-paper:#fffaf7;--theme-surface:#fffdfb;--theme-work:#eee8ef;
  --theme-ink:#2c2430;--theme-muted:#746a77;--theme-line:#d9cddc;--theme-accent:#684381;--theme-accent-2:#a879ba;
  --theme-stage-1:#fffdfb;--theme-stage-2:#f3ebf4;--theme-stage-3:#e9ddea;--theme-link:#76528e;
  --perm:#25745d;--copy:#7a4a99;--content:#b26b3b;--data:#3a70aa;--font:#7a608f;--ai:#6752aa;--prop:#77706f;
}
html[data-theme="technical"]{
  --theme-bg:#eef3f7;--theme-paper:#fbfdff;--theme-surface:#ffffff;--theme-work:#e8eef4;
  --theme-ink:#172430;--theme-muted:#61707c;--theme-line:#c7d4df;--theme-accent:#245f8f;--theme-accent-2:#73a6cc;
  --theme-stage-1:#ffffff;--theme-stage-2:#edf5fb;--theme-stage-3:#dce8f1;--theme-link:#3978a8;
  --perm:#2a7a6b;--copy:#4f6fae;--content:#a86a3a;--data:#2474b8;--font:#6a6da8;--ai:#3762b7;--prop:#687681;
}
html[data-theme="aurora"]{
  --theme-bg:#edf6f4;--theme-paper:#fbfffd;--theme-surface:#ffffff;--theme-work:#e4f0ee;
  --theme-ink:#17302d;--theme-muted:#5c7470;--theme-line:#bfd8d2;--theme-accent:#267f79;--theme-accent-2:#8262b4;
  --theme-stage-1:#fdfffe;--theme-stage-2:#e5f6f1;--theme-stage-3:#d9e7ef;--theme-link:#3f8c8d;
  --perm:#16856f;--copy:#7e55a7;--content:#d17a3f;--data:#3286b7;--font:#9a618e;--ai:#5d58bd;--prop:#5f7772;
}
html[data-theme="spectrum"]{
  --theme-bg:#f6f1ee;--theme-paper:#fffdf9;--theme-surface:#ffffff;--theme-work:#efe9e5;
  --theme-ink:#2b2730;--theme-muted:#6d6872;--theme-line:#ddd1d0;--theme-accent:#6a45a1;--theme-accent-2:#e36f91;
  --theme-stage-1:#fffefa;--theme-stage-2:#f8eff4;--theme-stage-3:#ece8f4;--theme-link:#7655a0;
  --perm:#15906f;--copy:#8b46b5;--content:#e36e3d;--data:#2884cf;--font:#d34e85;--ai:#5f55d9;--prop:#77736b;
}
html[data-theme="sunset"]{
  --theme-bg:#f8eee8;--theme-paper:#fffaf6;--theme-surface:#fffdf9;--theme-work:#f2e4dd;
  --theme-ink:#372825;--theme-muted:#7b6964;--theme-line:#e4cec2;--theme-accent:#a04b64;--theme-accent-2:#d98a58;
  --theme-stage-1:#fffdfa;--theme-stage-2:#f9e9df;--theme-stage-3:#eadbd8;--theme-link:#a25a70;
  --perm:#397c68;--copy:#945278;--content:#c76536;--data:#477eaa;--font:#b84e6c;--ai:#7a56a4;--prop:#7c6d64;
}
html[data-theme="night"]{
  --theme-bg:#121017;--theme-paper:#1a1720;--theme-surface:#211d28;--theme-work:#15121b;
  --theme-ink:#f4edf7;--theme-muted:#b8aebe;--theme-line:#3e3548;--theme-accent:#b482d2;--theme-accent-2:#6fc2c5;
  --theme-stage-1:#201b28;--theme-stage-2:#18141f;--theme-stage-3:#100e15;--theme-link:#b48bd1;
  --perm:#57c49f;--copy:#bf83e1;--content:#f1a269;--data:#6bb5e8;--font:#e57fb4;--ai:#9690ff;--prop:#aaa2ad;
}

html,body{background:var(--theme-bg);color:var(--theme-ink)}
body{--bg:var(--theme-bg);--paper:var(--theme-paper);--ink:var(--theme-ink);--muted:var(--theme-muted);--line:var(--theme-line)}
.topbar{background:color-mix(in srgb,var(--theme-paper) 94%,transparent);border-color:var(--theme-line)}
.sidebar,.inspector{background:var(--theme-paper);border-color:var(--theme-line)}
.workspace{background:var(--theme-work)}
.stage{border-color:var(--theme-line);background:radial-gradient(circle at 50% 46%,var(--theme-stage-1) 0 9%,var(--theme-stage-2) 42%,var(--theme-stage-3) 100%)}
.stage:before{background-image:linear-gradient(color-mix(in srgb,var(--theme-accent) 9%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--theme-accent) 9%,transparent) 1px,transparent 1px)}
.axis-x,.axis-y{background:var(--theme-accent)}
.license-node,.core-node.relation-hub{background:color-mix(in srgb,var(--theme-surface) 94%,transparent);border-color:color-mix(in srgb,var(--theme-accent) 30%,var(--theme-line));color:var(--theme-ink)}
.license-node strong,.relation-hub b,.card-title-row h2,.license-card h2{color:var(--theme-ink)}
.license-node small,.relation-hub small,.summary,.spdx,.side-intro p{color:var(--theme-muted)}
.license-node:hover,.license-node.selected{border-color:var(--theme-accent)}
.license-node.selected{box-shadow:0 0 0 2px var(--theme-surface),0 0 0 4px color-mix(in srgb,var(--node-color,#76528e) 78%,var(--theme-accent)),0 16px 36px color-mix(in srgb,var(--theme-accent) 22%,transparent)}
.relation-hub .hub-icon,.card-license-icon,.chip.active,.level-btn.active{background:var(--theme-accent);color:#fff}
.relation-hub:before{background:linear-gradient(var(--theme-accent),var(--theme-accent-2))}
.link-layer line.active,.link-layer line.selected-relation{stroke:var(--theme-link)}
.link-layer text.relation-label{fill:var(--theme-accent);stroke:var(--theme-surface)}
.link-layer .relation-label-bg{fill:color-mix(in srgb,var(--theme-surface) 95%,transparent);stroke:color-mix(in srgb,var(--theme-accent) 34%,var(--theme-line))}
.searchbox,.microcards div,.toolbar-menu-popover,.theme-popover,.panel-window,.relation-context-menu,.map-control-panel{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-ink)}
.ghost,.iconbtn,.stage-tools button,.toolbar-menu summary,.soft,.close-card{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-ink)}
.ghost:hover,.stage-tools button:hover,.toolbar-menu summary:hover{background:color-mix(in srgb,var(--theme-accent) 8%,var(--theme-surface));border-color:color-mix(in srgb,var(--theme-accent) 50%,var(--theme-line))}
.primary,.showcase-btn{background:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:#fff!important}
.why-box,.simple-card,.relation-manage-status,.builder-warning,.analysis-caution{background:color-mix(in srgb,var(--theme-accent) 7%,var(--theme-surface));border-color:color-mix(in srgb,var(--theme-accent) 48%,var(--theme-line))}

/* Theme picker */
.theme-menu{position:relative}.theme-summary{width:38px;height:34px!important;padding:0!important;display:grid!important;place-items:center;font-size:16px!important;list-style:none}.theme-summary::-webkit-details-marker{display:none}.theme-popover{width:285px!important;right:0!important;padding:10px!important;display:grid;gap:5px}.theme-popover-title{padding:3px 5px 6px;font-size:calc(8px * var(--text-scale,1));font-weight:850;letter-spacing:.15em;color:var(--theme-muted)}
.theme-option{display:grid!important;grid-template-columns:46px 1fr 18px!important;align-items:center!important;gap:9px!important;width:100%!important;padding:8px!important;border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;color:var(--theme-ink)!important;text-align:left!important}.theme-option:hover{background:color-mix(in srgb,var(--theme-accent) 8%,var(--theme-surface))!important}.theme-option.active{border-color:color-mix(in srgb,var(--theme-accent) 45%,var(--theme-line))!important;background:color-mix(in srgb,var(--theme-accent) 10%,var(--theme-surface))!important}.theme-option span{display:grid;gap:2px}.theme-option strong{font-size:calc(9px * var(--text-scale,1))}.theme-option small{font-size:calc(7.5px * var(--text-scale,1));color:var(--theme-muted)}.theme-option em{font-style:normal;opacity:0;color:var(--theme-accent);font-weight:900}.theme-option.active em{opacity:1}.theme-swatch{display:flex;width:42px;height:26px;border-radius:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-line) 80%,transparent);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.theme-swatch b{flex:1}.swatch-violet b:nth-child(1){background:#684381}.swatch-violet b:nth-child(2){background:#a879ba}.swatch-violet b:nth-child(3){background:#fffaf7}.swatch-technical b:nth-child(1){background:#245f8f}.swatch-technical b:nth-child(2){background:#73a6cc}.swatch-technical b:nth-child(3){background:#f6f9fc}.swatch-aurora b:nth-child(1){background:#16856f}.swatch-aurora b:nth-child(2){background:#5d58bd}.swatch-aurora b:nth-child(3){background:#8ccfbe}.swatch-spectrum b:nth-child(1){background:#15906f}.swatch-spectrum b:nth-child(2){background:#e36e3d}.swatch-spectrum b:nth-child(3){background:#8b46b5}.swatch-sunset b:nth-child(1){background:#a04b64}.swatch-sunset b:nth-child(2){background:#d98a58}.swatch-sunset b:nth-child(3){background:#fff0de}.swatch-night b:nth-child(1){background:#17141d}.swatch-night b:nth-child(2){background:#b482d2}.swatch-night b:nth-child(3){background:#6fc2c5}

/* Contextual relation controls: familiar checkboxes, not tiny action buttons. */
.relation-context-switches{background:color-mix(in srgb,var(--theme-accent) 6%,var(--theme-surface));border-color:var(--theme-line)}
.relation-context-switches label{grid-template-columns:24px 1fr;font-size:calc(10px * var(--text-scale,1));color:var(--theme-ink);min-height:34px}
.relation-context-switches input{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;border:0!important;border-radius:3px!important;background:auto!important;position:static!important;accent-color:var(--theme-accent);cursor:pointer}
.relation-context-switches input:before{display:none!important}
.relation-context-switches input:checked:before{transform:none!important}

/* Pro moving: relations never steal the pointer and visual noise drops. */
.move-mode .link-layer{pointer-events:none!important}.move-mode .link-layer .relation-hit,.move-mode .link-layer .relation-label-group{pointer-events:none!important}.move-mode .link-layer .relation-label-group{display:none!important}.move-mode .link-layer line:not(.star-line){opacity:.08!important}.move-mode .license-node{cursor:grab;filter:none!important}.move-mode .license-node.dragging-card{cursor:grabbing!important;z-index:50!important}

/* Dark theme finishing pass */
html[data-theme="night"] .boot{background:radial-gradient(circle at 50% 35%,#27202f,#15121b 64%,#0e0c12)}
html[data-theme="night"] .boot-copy strong,html[data-theme="night"] .brand b,html[data-theme="night"] .stage-head strong,html[data-theme="night"] .eyebrow{color:#e8d8ef}
html[data-theme="night"] .license-icon{background:color-mix(in srgb,var(--node-color,#b482d2) 22%,#211d28);border-color:color-mix(in srgb,var(--node-color,#b482d2) 60%,#211d28)}
html[data-theme="night"] input,html[data-theme="night"] select{color:var(--theme-ink);background:#211d28}
html[data-theme="night"] .chip{color:#d8d0dc;border-color:#493f52}html[data-theme="night"] .chip.active{background:#b482d2;color:#15121b}
html[data-theme="night"] .legend,html[data-theme="night"] .learning-path button,html[data-theme="night"] .side-footer{color:#c0b6c5}
html[data-theme="night"] .learning-path button:hover{background:#27212e;border-color:#b482d2}
html[data-theme="night"] .stage-hint,html[data-theme="night"] .stage-badge,html[data-theme="night"] .stage-context{background:rgba(30,25,37,.94);color:#eee6f1;border-color:#4a3f54}
html[data-theme="night"] .relation-context-switches,html[data-theme="night"] .relation-manage-status{background:#211c28}
html[data-theme="night"] .relation-pill:hover{background:#2c2433}
html[data-theme="night"] .lineage-canvas{background:radial-gradient(circle at 50% 45%,#211c28,#15121b);border-color:#493d51}
html[data-theme="night"] .lineage-node{background:#211d28;color:#f4edf7;border-color:#51445c}
html[data-theme="night"] .lineage-label{fill:#ddd0e4;stroke:#17141d}

@media(max-width:900px){.theme-popover{width:min(285px,88vw)!important}.theme-menu{order:2}}
@media(max-width:700px){.theme-summary{width:34px}.theme-popover{position:fixed!important;top:66px!important;right:8px!important;left:auto!important;max-height:70vh;overflow:auto}}


/* ========================= v1.15.1 · PRO VIEW PRESETS + INPUT FIX ========================= */
/* El menú contextual vive sobre el stage: controles siempre interactivos, sin arrastre 3D accidental. */
.relation-context-menu{pointer-events:auto;touch-action:manipulation}
.relation-context-menu input,.relation-context-menu label,.relation-context-menu button{pointer-events:auto!important}
.relation-context-switches label{position:relative;z-index:2}
.relation-context-switches input{position:relative;z-index:3}

/* Vistas rápidas para que PRO no obligue a trabajar siempre con la misma densidad. */
.pro-view-presets{display:none;border-top:1px solid var(--theme-line,var(--line));border-bottom:1px solid var(--theme-line,var(--line));padding:8px 6px;margin:3px 0;gap:6px}
body[data-level="pro"] .pro-view-presets{display:grid}
.pro-view-presets>span{font-size:calc(7.5px * var(--text-scale,1));letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:var(--theme-muted,var(--muted));padding:0 3px}
.pro-view-presets>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.pro-view-presets button{min-width:0!important;padding:7px 5px!important;text-align:center!important;font-size:calc(8px * var(--text-scale,1))!important;border-radius:8px!important}
.pro-view-presets button.active{background:var(--theme-accent,#684381)!important;color:#fff!important;border-color:var(--theme-accent,#684381)!important}

/* Equilibrada: comportamiento habitual. */
body[data-level="pro"][data-pro-view="balanced"]{--sidebar:290px;--inspector:370px}
/* Lectura: prioriza la ficha, aumenta anchura útil y respiración tipográfica. */
body[data-level="pro"][data-pro-view="reading"]{--sidebar:230px;--inspector:500px}
body[data-level="pro"][data-pro-view="reading"] .inspector{padding:28px 30px}
body[data-level="pro"][data-pro-view="reading"] .license-card .summary{font-size:calc(13px * var(--text-scale,1));line-height:1.65}
body[data-level="pro"][data-pro-view="reading"] .license-card li{font-size:calc(10.8px * var(--text-scale,1));line-height:1.48}
body[data-level="pro"][data-pro-view="reading"] .license-card h2{font-size:calc(34px * var(--text-scale,1))}
/* Mapa: prioriza espacio de navegación y deja la ficha como referencia compacta. */
body[data-level="pro"][data-pro-view="map"]{--sidebar:220px;--inspector:300px}
body[data-level="pro"][data-pro-view="map"] .sidebar{padding-left:14px;padding-right:14px}
body[data-level="pro"][data-pro-view="map"] .inspector{padding:18px}

@media(max-width:1200px){
  body[data-level="pro"][data-pro-view="balanced"]{--sidebar:235px;--inspector:330px}
  body[data-level="pro"][data-pro-view="reading"]{--sidebar:210px;--inspector:410px}
  body[data-level="pro"][data-pro-view="map"]{--sidebar:205px;--inspector:285px}
}
@media(max-width:960px){
  body[data-level="pro"][data-pro-view]{--sidebar:230px;--inspector:340px}
  body[data-level="pro"][data-pro-view="reading"] .inspector{width:min(500px,calc(100vw - 24px));padding:24px}
}


/* ========================= v1.16.0 · PRO MULTIVIEW + NIGHT CONTRAST ========================= */
.pro-view-dock{display:none;align-items:center;gap:10px;padding:8px 14px 9px;border-top:1px solid var(--theme-line,var(--line));border-bottom:1px solid var(--theme-line,var(--line));background:color-mix(in srgb,var(--theme-paper) 96%,transparent);position:relative;z-index:16}
body[data-level="pro"] .pro-view-dock{display:flex}
.pro-view-dock-label{flex:0 0 auto;font-size:calc(8px * var(--text-scale,1));font-weight:900;letter-spacing:.14em;color:var(--theme-muted);white-space:nowrap}
.pro-view-dock-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}
.pro-view-dock button{border:1px solid var(--theme-line);background:var(--theme-surface);color:var(--theme-ink);border-radius:999px;padding:6px 10px;font-size:calc(8.2px * var(--text-scale,1));font-weight:760;cursor:pointer;transition:.18s ease;white-space:nowrap}
.pro-view-dock button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--theme-accent) 65%,var(--theme-line));background:color-mix(in srgb,var(--theme-accent) 8%,var(--theme-surface))}
.pro-view-dock button.active{background:var(--theme-accent);border-color:var(--theme-accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--theme-accent) 20%,transparent)}
.pro-view-dock .pro-view-compare{border-style:dashed}
.pro-view-dock>small{margin-left:auto;max-width:245px;color:var(--theme-muted);font-size:calc(7.5px * var(--text-scale,1));line-height:1.25}

/* Las vistas espaciales usan el mapa como protagonista, pero conservan el inspector. */
body[data-level="pro"][data-pro-view="grid"],body[data-level="pro"][data-pro-view="families"],body[data-level="pro"][data-pro-view="atlas"],body[data-level="pro"][data-pro-view="orbit"]{--sidebar:220px;--inspector:330px}
body[data-level="pro"][data-pro-view="grid"] .stage,body[data-level="pro"][data-pro-view="families"] .stage{perspective:1800px}
body[data-level="pro"][data-pro-view="grid"] .license-node{min-width:118px;max-width:136px}
body[data-level="pro"][data-pro-view="families"] .license-node{min-width:120px}
body[data-level="pro"][data-pro-view="atlas"] .license-node,body[data-level="pro"][data-pro-view="orbit"] .license-node{transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .22s,border-color .22s,box-shadow .22s}
body[data-level="pro"][data-pro-view="atlas"] .license-node.pro-anchor,body[data-level="pro"][data-pro-view="orbit"] .license-node.pro-anchor{box-shadow:0 0 0 3px var(--theme-surface),0 0 0 6px var(--theme-accent),0 18px 44px color-mix(in srgb,var(--theme-accent) 26%,transparent);border-color:var(--theme-accent);z-index:80!important}
body[data-level="pro"][data-pro-view="atlas"] .license-node.pro-direct,body[data-level="pro"][data-pro-view="orbit"] .license-node.pro-direct{border-color:color-mix(in srgb,var(--theme-accent) 72%,var(--theme-line));box-shadow:0 8px 24px color-mix(in srgb,var(--theme-accent) 13%,transparent)}
body[data-level="pro"][data-pro-view="atlas"] .license-node.pro-family-peer,body[data-level="pro"][data-pro-view="orbit"] .license-node.pro-family-peer{border-style:dashed}
body[data-level="pro"][data-pro-view="atlas"] .stage-context:after{content:" · ATLAS: centro → relaciones → familia → contexto"}
body[data-level="pro"][data-pro-view="orbit"] .stage-context:after{content:" · ÓRBITA: anillos por cercanía conceptual"}

/* Tema Noche: contraste completo en controles, fichas y paneles. */
html[data-theme="night"]{color-scheme:dark}
html[data-theme="night"] .pro-view-dock{background:#17131c;border-color:#45394f}
html[data-theme="night"] .pro-view-dock button{background:#241e2b;border-color:#51435d;color:#f4edf7}
html[data-theme="night"] .pro-view-dock button:hover{background:#30263a;border-color:#b482d2}
html[data-theme="night"] .pro-view-dock button.active{background:#b482d2;border-color:#c89be2;color:#120f16;box-shadow:0 4px 18px rgba(180,130,210,.26)}
html[data-theme="night"] .sidebar,html[data-theme="night"] .inspector,html[data-theme="night"] .panel-window,html[data-theme="night"] .toolbar-menu-popover,html[data-theme="night"] .theme-popover,html[data-theme="night"] .map-control-panel,html[data-theme="night"] .relation-context-menu{background:#1a1720;color:#f4edf7;border-color:#453a4f}
html[data-theme="night"] .license-card,html[data-theme="night"] .simple-card,html[data-theme="night"] .why-box,html[data-theme="night"] .microcards div,html[data-theme="night"] .compare-card,html[data-theme="night"] .guide-card,html[data-theme="night"] .start-card,html[data-theme="night"] .builder-item,html[data-theme="night"] .builder-report,html[data-theme="night"] .builder-project,html[data-theme="night"] .analyzer-box,html[data-theme="night"] .result-box,html[data-theme="night"] .concept-grid article,html[data-theme="night"] .myth-grid article{background:#211c28!important;color:#f1eaf4!important;border-color:#4b3e56!important}
html[data-theme="night"] .license-card p,html[data-theme="night"] .license-card li,html[data-theme="night"] .panel-lead,html[data-theme="night"] .compare-card p,html[data-theme="night"] .guide-card p,html[data-theme="night"] .start-card p,html[data-theme="night"] .builder-item p,html[data-theme="night"] .builder-report p,html[data-theme="night"] .concept-grid p,html[data-theme="night"] .myth-grid p{color:#cfc4d4!important}
html[data-theme="night"] .license-card h2,html[data-theme="night"] .license-card h3,html[data-theme="night"] .panel-window h2,html[data-theme="night"] .panel-window h3,html[data-theme="night"] .compare-card b,html[data-theme="night"] .start-card b{color:#fff8ff!important}
html[data-theme="night"] button,html[data-theme="night"] .soft,html[data-theme="night"] .ghost,html[data-theme="night"] .iconbtn{border-color:#4d4058}
html[data-theme="night"] input,html[data-theme="night"] select,html[data-theme="night"] textarea{background:#241f2b!important;color:#f6eff9!important;border-color:#544660!important}
html[data-theme="night"] input::placeholder,html[data-theme="night"] textarea::placeholder{color:#9f93a6}
html[data-theme="night"] select option{background:#211c28;color:#f6eff9}
html[data-theme="night"] .relation-pill{background:#211c28;border-color:#493d53;color:#efe7f2}
html[data-theme="night"] .relation-pill small{color:#bfb2c5}
html[data-theme="night"] .license-node{background:rgba(35,29,42,.96);border-color:#554660;color:#fff8ff;box-shadow:0 8px 24px rgba(0,0,0,.24)}
html[data-theme="night"] .license-node small{color:#c7bacd}
html[data-theme="night"] .core-node.relation-hub{background:rgba(31,26,38,.97);border-color:#665273;color:#fff8ff}
html[data-theme="night"] .stage-tools button,html[data-theme="night"] .toolbar-menu summary{background:#211c28;color:#f2eaf5;border-color:#4b3e56}
html[data-theme="night"] .stage-tools button:hover,html[data-theme="night"] .toolbar-menu summary:hover{background:#2d2435;border-color:#b482d2}
html[data-theme="night"] .compare-matrix{background:#17131c;border-color:#463a50;color:#f0e9f3}
html[data-theme="night"] .compare-matrix th,html[data-theme="night"] .compare-matrix td{border-color:#463a50;color:#e8dfea}
html[data-theme="night"] a{color:#8dd9dc}

@media(max-width:1280px){.pro-view-dock>small{display:none}.pro-view-dock{align-items:flex-start}.pro-view-dock-buttons{gap:4px}.pro-view-dock button{padding:5px 8px}}
@media(max-width:900px){.pro-view-dock{overflow-x:auto;flex-wrap:nowrap}.pro-view-dock-buttons{flex-wrap:nowrap}.pro-view-dock-label{position:sticky;left:0;background:var(--theme-paper);padding-right:8px;z-index:2}}


/* ========================= v1.16.1 · SELECTION FOCUS + HOVER STABILITY ========================= */
/* La selección es un estado estable: el hover de otras fichas nunca la reanima ni la recalcula. */
.stage.has-selection .license-node:not(.selected):not(.filtered){opacity:.58;filter:saturate(.78)}
.stage.has-selection .license-node:not(.selected):not(.filtered):hover{opacity:1;filter:saturate(1.05);z-index:70!important}
.license-node.selected{
  width:154px;
  min-height:104px;
  margin-left:-77px;
  margin-top:-52px;
  padding:13px 12px 11px;
  border-width:2px!important;
  outline:none!important;
  filter:none!important;
  box-shadow:0 0 0 3px var(--theme-surface),0 0 0 6px color-mix(in srgb,var(--node-color,#76528e) 82%,var(--theme-accent)),0 22px 52px color-mix(in srgb,var(--theme-accent) 30%,transparent)!important;
  transition:opacity .18s,box-shadow .18s,border-color .18s,filter .18s,width .18s,min-height .18s,margin .18s,padding .18s!important;
}
.license-node.selected strong{font-size:calc(14px * var(--text-scale,1));line-height:1.12;margin-top:2px}
.license-node.selected small{font-size:calc(9px * var(--text-scale,1));line-height:1.25;margin-top:5px}
.license-node.selected .license-icon{width:32px;height:32px;border-radius:9px;font-size:calc(8px * var(--text-scale,1));margin-bottom:6px;box-shadow:0 6px 16px color-mix(in srgb,var(--node-color,#76528e) 25%,transparent)}
.license-node.selected:before{height:5px;left:12px;right:12px}
/* El hover normal es deliberadamente discreto para evitar destellos al recorrer mapas densos. */
.license-node:not(.selected):hover{transform-origin:center;box-shadow:0 14px 32px color-mix(in srgb,var(--theme-accent) 18%,transparent)}
html[data-theme="night"] .stage.has-selection .license-node:not(.selected):not(.filtered){opacity:.48;filter:saturate(.65) brightness(.82)}
html[data-theme="night"] .stage.has-selection .license-node:not(.selected):not(.filtered):hover{opacity:.94;filter:saturate(1) brightness(1.08)}
html[data-theme="night"] .license-node.selected{background:color-mix(in srgb,var(--theme-surface) 88%,var(--theme-accent) 12%)!important;color:var(--theme-ink)!important}
@media(max-width:1200px){.license-node.selected{width:144px;margin-left:-72px}}
@media(max-width:700px){.license-node.selected{width:132px;min-height:96px;margin-left:-66px;margin-top:-48px}}

/* ========================= v1.17.0 · ATLAS TERRITORIAL + MAP PAN ========================= */
.stage-pan-controls{display:none;position:absolute;right:13px;top:50%;transform:translateY(-50%);z-index:22;flex-direction:column;gap:5px;padding:5px;border:1px solid var(--theme-line,var(--line));border-radius:999px;background:color-mix(in srgb,var(--theme-surface,#fff) 93%,transparent);box-shadow:0 10px 28px rgba(50,35,60,.12);backdrop-filter:blur(10px)}
body[data-level="pro"] .stage-pan-controls{display:flex}
.stage-pan-controls button{width:34px;height:34px;border:1px solid var(--theme-line,var(--line));border-radius:50%;background:var(--theme-surface,#fff);color:var(--theme-ink,#222);font-weight:900;font-size:15px;line-height:1;display:grid;place-items:center;padding:0;transition:.16s ease}
.stage-pan-controls button:hover{transform:scale(1.06);border-color:var(--theme-accent,#684381);background:color-mix(in srgb,var(--theme-accent,#684381) 9%,var(--theme-surface,#fff));color:var(--theme-accent,#684381)}
.stage-pan-controls #panCenterBtn{font-size:18px;color:var(--theme-muted,#777)}
html[data-theme="night"] .stage-pan-controls{background:rgba(24,20,29,.94);border-color:#51445c}
html[data-theme="night"] .stage-pan-controls button{background:#241e2b;border-color:#554760;color:#f5edf8}
html[data-theme="night"] .stage-pan-controls button:hover{background:#33283d;border-color:#c18ee0;color:#fff}

/* La selección muestra con claridad sus conexiones directas. */
.stage.focus-relations .license-node.relation-near:not(.selected):not(.filtered){opacity:.94!important;filter:saturate(1.05)!important;border-color:color-mix(in srgb,var(--theme-accent,#684381) 58%,var(--theme-line,#ccc));box-shadow:0 7px 22px color-mix(in srgb,var(--theme-accent,#684381) 10%,transparent)}
.stage.focus-relations .license-node.relation-dim:not(.selected):not(.filtered){opacity:.25!important;filter:saturate(.45) brightness(.96)!important}
.link-layer line.active{stroke:var(--theme-accent,#684580)!important;stroke-width:3.15!important;opacity:.98!important;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--theme-accent,#684580) 38%,transparent))}
.link-layer line.dimmed{opacity:.10!important}
.link-layer text.relation-label{transition:opacity .15s ease}
.stage.focus-relations .link-layer text.relation-label{font-weight:850}
html[data-theme="night"] .stage.focus-relations .license-node.relation-near:not(.selected):not(.filtered){opacity:1!important;filter:brightness(1.06) saturate(1)!important;border-color:#9a72b5;box-shadow:0 8px 24px rgba(180,130,210,.13)}
html[data-theme="night"] .stage.focus-relations .license-node.relation-dim:not(.selected):not(.filtered){opacity:.18!important;filter:saturate(.35) brightness(.68)!important}

/* Atlas: herramientas de análisis. */
.atlas-toolbar-rich{display:grid;gap:10px;align-items:stretch}
.atlas-toolbar-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
.atlas-analysis-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%}
.atlas-search{min-width:260px;max-width:420px;flex:1;display:flex;align-items:center;gap:7px;border:1px solid var(--theme-line,#d8ccdf);background:var(--theme-surface,#fffaf7);border-radius:999px;padding:7px 11px;color:var(--theme-muted,#75677b)}
.atlas-search span{font-size:15px;line-height:1}.atlas-search input{width:100%;min-width:0;border:0!important;outline:0;background:transparent!important;color:var(--theme-ink,#34253e)!important;font-size:10px;padding:0!important}
.atlas-lens-buttons{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}.atlas-lens-buttons>span{font-size:7px;font-weight:900;letter-spacing:.14em;color:var(--theme-muted,#735f7a);margin-right:2px}
.atlas-lens-buttons button{border:1px solid var(--theme-line,#d8ccdf);background:var(--theme-surface,#fffaf7);border-radius:999px;padding:7px 9px;font-size:8px;font-weight:760;color:var(--theme-ink,#4a3655)}
.atlas-lens-buttons button:hover{border-color:var(--theme-accent,#68418e)}.atlas-lens-buttons button.active{background:var(--theme-accent,#68418e);color:#fff;border-color:var(--theme-accent,#68418e)}

.atlas-profile-row{display:flex;gap:7px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:10px 0 2px}.atlas-context-type{font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--theme-accent,#68418e);background:color-mix(in srgb,var(--theme-accent,#68418e) 9%,var(--theme-surface,#fff));border:1px solid color-mix(in srgb,var(--theme-accent,#68418e) 25%,var(--theme-line,#ddd));border-radius:999px;padding:5px 8px}.atlas-area-tags{display:flex;gap:4px;flex-wrap:wrap}.atlas-area-tags span{font-size:7px;color:var(--theme-muted,#75677b);border:1px solid var(--theme-line,#ded4e0);border-radius:999px;padding:4px 6px;background:var(--theme-surface,#fff)}
.atlas-facts{display:grid;gap:6px}.atlas-fact{display:grid;grid-template-columns:minmax(82px,.35fr) 1fr;gap:9px;padding:8px 9px;border:1px solid var(--theme-line,#ded4e0);border-radius:10px;background:color-mix(in srgb,var(--theme-surface,#fff) 88%,var(--theme-paper,#fbf8fc))}.atlas-fact small{font-size:7px;letter-spacing:.08em;text-transform:uppercase;color:var(--theme-muted,#806f84);font-weight:850}.atlas-fact b{font-size:9px;line-height:1.42;color:var(--theme-ink,#443649);font-weight:620}
.atlas-check-section{border-top:1px solid var(--theme-line,#e4dbe6);padding-top:12px}.atlas-check-section ol{display:grid;gap:5px;margin:0;padding-left:20px}.atlas-check-section li{padding-left:2px}
.atlas-info-actions{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:10px;flex-wrap:wrap}.atlas-compare-toggle{border:1px dashed color-mix(in srgb,var(--theme-accent,#68418e) 60%,var(--theme-line,#ddd));background:color-mix(in srgb,var(--theme-accent,#68418e) 6%,var(--theme-surface,#fff));color:var(--theme-accent,#68418e);border-radius:999px;padding:7px 10px;font-size:8px;font-weight:850}.atlas-compare-toggle.active{border-style:solid;background:var(--theme-accent,#68418e);color:#fff}

.atlas-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:4px 15px 9px}.atlas-list-head>div{display:grid;gap:2px}.atlas-list-head b{font-size:10px;color:var(--theme-ink,#45364a)}.atlas-list-head small{font-size:8px;color:var(--theme-muted,#817485);max-width:420px;text-align:right}
.atlas-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.atlas-list-card{position:relative;display:grid;grid-template-columns:1fr 28px;gap:5px;border:1px solid var(--theme-line,#ded4e0);background:var(--theme-surface,#fffaf7);border-radius:12px;padding:5px;color:var(--theme-ink,#45364a);min-height:72px;transition:.15s ease}
.atlas-list-card:hover,.atlas-list-card.active{border-color:color-mix(in srgb,var(--theme-accent,#68418e) 65%,var(--theme-line,#ddd));background:color-mix(in srgb,var(--theme-accent,#68418e) 6%,var(--theme-surface,#fff))}
.atlas-list-main{display:grid!important;grid-template-columns:28px 1fr!important;grid-template-rows:auto auto!important;column-gap:7px!important;text-align:left!important;border:0!important;background:transparent!important;border-radius:8px!important;padding:5px!important;color:inherit!important;min-height:58px!important}.atlas-list-main>span{grid-row:1/3;font-size:19px;align-self:center}.atlas-list-main b{font-size:10px}.atlas-list-main small{font-size:8px;color:var(--theme-muted,#817485);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.atlas-list-compare{align-self:stretch;border:1px dashed var(--theme-line,#d9cddd);border-radius:8px;background:transparent;color:var(--theme-muted,#796a7f);font-weight:900;font-size:13px}.atlas-list-compare:hover,.atlas-list-compare.active{border-style:solid;border-color:var(--theme-accent,#68418e);background:var(--theme-accent,#68418e);color:#fff}.atlas-no-results{grid-column:1/-1;min-height:105px;display:grid;place-items:center;align-content:center;gap:3px;border:1px dashed var(--theme-line,#d9cddd);border-radius:14px;color:var(--theme-muted,#7b6d80)}.atlas-no-results span{font-size:22px}.atlas-no-results b{font-size:10px}.atlas-no-results small{font-size:8px}

.atlas-compare{margin:0 14px 14px;border:1px solid color-mix(in srgb,var(--theme-accent,#68418e) 28%,var(--theme-line,#ddd));border-radius:16px;background:color-mix(in srgb,var(--theme-accent,#68418e) 4%,var(--theme-surface,#fff));padding:12px}.atlas-compare-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.atlas-compare-head>div{display:grid;gap:2px}.atlas-compare-head b{font-size:11px;color:var(--theme-ink,#443649)}.atlas-compare-head button{border:1px solid var(--theme-line,#ddd);background:var(--theme-surface,#fff);color:var(--theme-muted,#75677b);border-radius:999px;padding:5px 8px;font-size:8px}.atlas-compare-prompt{font-size:9px;line-height:1.45;color:var(--theme-muted,#75677b);margin:0}.atlas-compare-grid{display:grid;grid-template-columns:minmax(120px,.45fr) repeat(2,minmax(220px,1fr));gap:5px}.atlas-compare-col{display:grid;grid-auto-rows:minmax(36px,auto);gap:4px}.atlas-compare-col>*{display:flex;align-items:center;border:1px solid var(--theme-line,#ddd);border-radius:8px;padding:7px 8px;background:var(--theme-surface,#fff);font-size:8px;line-height:1.35}.atlas-compare-col strong{font-size:9px;background:color-mix(in srgb,var(--theme-accent,#68418e) 8%,var(--theme-surface,#fff));color:var(--theme-ink,#443649)}.atlas-compare-col.head>*{font-weight:800;color:var(--theme-muted,#75677b);background:transparent;border-color:transparent}.atlas-compare-col.head>span:first-child{font-size:7px;letter-spacing:.12em}

html[data-theme="night"] .atlas-toolbar,html[data-theme="night"] .atlas-info,html[data-theme="night"] .atlas-list-card,html[data-theme="night"] .atlas-fact,html[data-theme="night"] .atlas-compare{background:#1d1823!important;border-color:#4d4058!important;color:#f3ebf6!important}
html[data-theme="night"] .atlas-search,html[data-theme="night"] .atlas-lens-buttons button,html[data-theme="night"] .atlas-area-tags span,html[data-theme="night"] .atlas-compare-col>*,html[data-theme="night"] .atlas-compare-head button{background:#25202c!important;border-color:#51435d!important;color:#f3ebf6!important}
html[data-theme="night"] .atlas-fact b,html[data-theme="night"] .atlas-list-head b,html[data-theme="night"] .atlas-compare-head b,html[data-theme="night"] .atlas-compare-col strong{color:#fff7ff!important}html[data-theme="night"] .atlas-fact small,html[data-theme="night"] .atlas-list-main small,html[data-theme="night"] .atlas-list-head small,html[data-theme="night"] .atlas-compare-prompt{color:#c5b8cb!important}
html[data-theme="night"] .atlas-headline{background:#2b2232;color:#eee5f2;border-left-color:#b482d2}html[data-theme="night"] .atlas-info p,html[data-theme="night"] .atlas-info li{color:#d4c9d8!important}html[data-theme="night"] .atlas-info h4{color:#caa9dc!important}
html[data-theme="night"] .atlas-lens-buttons button.active,html[data-theme="night"] .atlas-compare-toggle.active,html[data-theme="night"] .atlas-list-compare.active{background:#b482d2!important;border-color:#c89be2!important;color:#151019!important}

@media(max-width:1150px){.atlas-analysis-bar{align-items:stretch;flex-direction:column}.atlas-search{max-width:none;width:100%}.atlas-lens-buttons{justify-content:flex-start}.atlas-list{grid-template-columns:repeat(3,minmax(0,1fr))}.atlas-compare-grid{grid-template-columns:110px repeat(2,minmax(190px,1fr));overflow-x:auto}}
@media(max-width:760px){.stage-pan-controls{right:7px}.stage-pan-controls button{width:30px;height:30px}.atlas-toolbar-main{align-items:flex-start;flex-direction:column}.atlas-list-head{align-items:flex-start;flex-direction:column}.atlas-list-head small{text-align:left}.atlas-list{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-fact{grid-template-columns:1fr;gap:3px}.atlas-compare{overflow-x:auto}.atlas-compare-grid{min-width:650px}}
@media(max-width:500px){.atlas-list{grid-template-columns:1fr}.atlas-lens-buttons{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.atlas-lens-buttons>span{position:sticky;left:0;background:var(--theme-paper,#fff);z-index:2;padding-right:5px}}
.atlas-list-card .atlas-list-compare{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important;text-align:center!important;padding:0!important;min-height:0!important}
.atlas-window{overflow:auto!important;max-height:94vh;overscroll-behavior:contain}

/* === v1.18.0 · UX de búsqueda, reset y comparador === */
.home-reset-btn{width:100%;border:1px solid color-mix(in srgb,var(--theme-accent,#684381) 32%,var(--line,#ddd));background:color-mix(in srgb,var(--theme-accent,#684381) 5%,#fff);color:var(--theme-accent,#684381);border-radius:10px;padding:8px 10px;font-size:calc(10px * var(--text-scale,1));font-weight:850;letter-spacing:.01em;text-align:center;transition:.16s ease}
.home-reset-btn:hover{background:color-mix(in srgb,var(--theme-accent,#684381) 11%,#fff);border-color:color-mix(in srgb,var(--theme-accent,#684381) 55%,var(--line,#ddd));transform:translateY(-1px)}
.map-toggle-grid label span{display:grid;gap:1px}.map-toggle-grid label span small{display:block;font-size:7px;font-weight:600;line-height:1.2;color:var(--theme-muted,#807783);text-transform:none;letter-spacing:0}
/* Buscar significa filtrar de verdad: las fichas no coincidentes desaparecen del mapa. */
.license-node.filtered{opacity:0!important;visibility:hidden!important;pointer-events:none!important;filter:none!important}
.search-status{display:flex;align-items:center;justify-content:space-between;gap:8px}.search-status span{font-variant-numeric:tabular-nums}

/* Comparador: escala independiente del tamaño global de la aplicación. */
#comparePanel{--compare-font-scale:1}
.compare-toolbar{align-items:center}
.compare-text-controls{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:5px;padding-top:2px}
.compare-text-controls>span{margin-right:3px;font-size:calc(9px * var(--compare-font-scale));font-weight:850;color:var(--theme-muted,#756b78);text-transform:uppercase;letter-spacing:.08em}
.compare-text-controls button{min-width:34px;height:30px;padding:0 8px;border:1px solid var(--theme-line,var(--line,#ddd));background:var(--theme-surface,#fff);color:var(--theme-ink,#332b36);border-radius:8px;font-size:calc(10px * var(--compare-font-scale));font-weight:850}
.compare-text-controls #compareTextReset{min-width:58px}.compare-text-controls button:hover{border-color:var(--theme-accent,#684381);color:var(--theme-accent,#684381)}
.compare-text-controls button:disabled{opacity:.35;cursor:default}
#comparePanel .compare-toolbar select{font-size:calc(10px * var(--compare-font-scale))}
#comparePanel .compare-toolbar>.primary{font-size:calc(10px * var(--compare-font-scale))}
#comparePanel .compare-card>span{font-size:calc(8px * var(--compare-font-scale))}
#comparePanel .compare-card h3{font-size:calc(19px * var(--compare-font-scale));line-height:1.1}
#comparePanel .compare-card code{font-size:calc(9px * var(--compare-font-scale))}
#comparePanel .compare-card p{font-size:calc(9px * var(--compare-font-scale));line-height:1.55;min-height:0}
#comparePanel .compare-card div b{font-size:calc(8px * var(--compare-font-scale))}
#comparePanel .compare-card div i{font-size:calc(8px * var(--compare-font-scale));line-height:1.45}
#comparePanel .matrix-title b{font-size:calc(17px * var(--compare-font-scale))}
#comparePanel .matrix-title span{font-size:calc(8px * var(--compare-font-scale))}
#comparePanel .matrix-scroll th,#comparePanel .matrix-scroll td{font-size:calc(8px * var(--compare-font-scale));line-height:1.45}
#comparePanel .matrix-scroll thead th{font-size:calc(9px * var(--compare-font-scale))}

/* Noche v1.18: contraste completo en controles que antes conservaban fondos claros. */
html[data-theme="night"] .searchbox,
html[data-theme="night"] .home-reset-btn,
html[data-theme="night"] .map-control-panel,
html[data-theme="night"] .theme-popover,
html[data-theme="night"] .toolbar-menu-popover,
html[data-theme="night"] .compare-text-controls button,
html[data-theme="night"] .matrix-scroll,
html[data-theme="night"] .matrix-scroll table{background:#211c28!important;color:#f4edf7!important;border-color:#51445c!important}
html[data-theme="night"] .searchbox input{color:#f7f0fa!important}
html[data-theme="night"] .search-status,html[data-theme="night"] .search-status span,html[data-theme="night"] .legend,html[data-theme="night"] .side-footer,html[data-theme="night"] .map-toggle-grid label span small{color:#c9bdcf!important}
html[data-theme="night"] .chip{color:#ddd2e2;border-color:#544760;background:#211c28}
html[data-theme="night"] .chip:hover{border-color:#9972b0;background:#2a2231}
html[data-theme="night"] .chip.active{background:#b482d2!important;color:#17121b!important;border-color:#c79be0!important}
html[data-theme="night"] .home-reset-btn{color:#d8b8e8!important}
html[data-theme="night"] .home-reset-btn:hover{background:#302639!important;color:#fff!important;border-color:#a77bc0!important}
html[data-theme="night"] .theme-option{background:#211c28!important;color:#f4edf7!important;border-color:#493d53!important}
html[data-theme="night"] .theme-option:hover,html[data-theme="night"] .theme-option.active{background:#302639!important;border-color:#9d72b7!important}
html[data-theme="night"] .theme-option small{color:#bfb3c6!important}
html[data-theme="night"] #comparePanel .matrix-title b,html[data-theme="night"] #comparePanel .matrix-title span{color:#f4edf7!important}
html[data-theme="night"] #comparePanel .matrix-scroll thead th{background:#302639!important;color:#fff7ff!important}
html[data-theme="night"] #comparePanel .matrix-scroll tbody th{background:#28202f!important;color:#e0d2e5!important}
html[data-theme="night"] #comparePanel .matrix-scroll td{background:#211c28!important;color:#e9e0ed!important}
html[data-theme="night"] #comparePanel .compare-card code,html[data-theme="night"] #comparePanel .compare-card>span,html[data-theme="night"] #comparePanel .compare-card div i{color:#d0c3d5!important}
html[data-theme="night"] .compare-text-controls>span{color:#cbbfd0!important}
@media(max-width:700px){.compare-text-controls{justify-content:center}.home-reset-btn{padding:7px 9px}}
