/* Reset FrolicForge globals that leak into this scoped app */
:where(.organic-forms) h1,
:where(.organic-forms) h2,
:where(.organic-forms) h3 {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  letter-spacing: normal;
  text-transform: none;
}
:where(.organic-forms) p {
  color: inherit;
}
:where(.organic-forms) a {
  text-decoration: underline;
  color: var(--lime, #FF4D1A);
}
:where(.organic-forms) .btn {
  text-transform: none;
  box-shadow: none;
  letter-spacing: normal;
  background: var(--panel2, #1a1d22);
  border: 1px solid var(--line, #2A2F36);
  border-radius:0;
  color: inherit;
}
:where(.organic-forms) .btn:hover {
  transform: none;
}

:root{--bg:#0B0D10;--panel:#111417;--panel2:#1a1d22;--line:#2A2F36;--text:#CCD2D8;--muted:#8E98A2;--lime:#FF4D1A;--orange:#FF7A3B;--ink:#fff;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}.organic-forms{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;background:none;border:0}button:hover:not(:disabled){filter:brightness(1.12)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--lime);outline-offset:3px}a{color:var(--lime);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{font-weight:580;letter-spacing:-1.5px;font-size:clamp(30px,3vw,44px);line-height:1.15}h2{font-weight:550;letter-spacing:-.7px;font-size:27px;line-height:1.2}h3{font-weight:600;font-size:14px}.shell{max-width:1620px;padding:22px 26px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:10px}.brand svg{width:34px;height:34px}.brand b{font-weight:600;font-size:17px;letter-spacing:-.4px}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--lime)}.brand .eyebrow{font-size:9px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.offline{font:10px var(--mono);color:var(--muted);letter-spacing:1px;margin-right:14px}.offline:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin-right:7px}.btn{font-size:12px;font-weight:500;padding:8px 12px;border:1px solid var(--line);border-radius:0;background:var(--panel2);line-height:1.4}.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn.small{padding:5px 9px;font-size:11px}.hero{margin:28px 0 22px;display:flex;justify-content:space-between;gap:20px;align-items:end}.hero p{color:var(--muted);font-size:14px;margin-top:10px}.hero .eyebrow{margin-bottom:8px}.hero-tag{color:var(--muted);font:10px/1.6 var(--mono);text-align:right;white-space:nowrap}.chapters{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:0;overflow:hidden;margin-bottom:18px;background:var(--panel)}.chapter{padding:12px 9px;text-align:left;font-size:12px;border-right:1px solid var(--line);display:flex;align-items:center;gap:9px}.chapter:last-child{border:0}.chapter .num{font:10px var(--mono);color:var(--muted)}.chapter.active{background:var(--lime);color:var(--ink)}.chapter.active .num{color:#FF4D1A}.chapter.done:not(.active) .num{color:var(--lime)}.workspace{display:grid;grid-template-columns:285px minmax(350px,1fr) 334px;gap:16px;align-items:start}.panel{border:1px solid var(--line);border-radius:0;background:var(--panel);overflow:hidden}.lesson{padding:23px 21px}.lesson h2{margin:8px 0 16px}.copy p{font-size:13px;margin-bottom:13px;color:#9aa1ab}.copy strong{color:var(--text);font-weight:600}.cite{font:9px var(--mono);vertical-align:super;margin-left:3px;text-decoration:none}.callout{margin-top:17px;background:#1a1d22;border-left:2px solid var(--lime);padding:13px 12px;border-radius:0;font-size:12px;color:#9aa1ab}.callout strong{display:block;font:9px var(--mono);letter-spacing:1.1px;color:var(--lime);margin-bottom:6px}.try-label{font:10px var(--mono);letter-spacing:1px;color:var(--muted);margin:21px 0 9px}.task{font-size:12px;display:flex;align-items:start;gap:8px;margin:8px 0;color:#9aa1ab}.task i{width:16px;height:16px;border:1px solid #2A2F36;flex:none;margin-top:2px;border-radius:50%;font-size:10px;text-align:center;line-height:14px;font-style:normal}.task.done i{background:var(--lime);color:var(--ink);border-color:var(--lime)}.lesson-tools{margin-top:17px;display:flex;flex-wrap:wrap;gap:8px}.lesson-tools p{width:100%}.quiz{border-top:1px solid var(--line);margin-top:23px;padding-top:16px}.quiz-q{font-size:12px;font-weight:600;margin-bottom:8px}.answer{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:0;padding:7px 9px;font-size:11px;margin:6px 0}.answer.correct{border-color:var(--lime);background:#2A2F36}.answer.incorrect{border-color:var(--orange)}.feedback{font-size:11px;color:var(--muted);margin-top:8px;min-height:16px}.lesson-nav{display:flex;justify-content:space-between;gap:8px;margin-top:20px}.lesson-progress{color:var(--muted);font:10px var(--mono);margin-top:15px}.studio{min-width:0}.assetbar{display:flex;background:var(--panel);border:1px solid var(--line);border-radius:0;padding:8px;gap:7px;align-items:center}.assetbar .asset{padding:7px 11px;border-radius:0;font-size:12px;color:var(--muted)}.assetbar .asset.active{background:#2A2F36;color:var(--lime)}.asset-note{margin-left:auto;font:9px var(--mono);color:var(--muted);padding:0 5px}.viewport{height:535px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 36%,#e4e7ec 0%,#c8cdd4 57%,#b0b7c0 100%);border:1px solid #c0c5cc;border-top:0;overflow:hidden}.viewport:after{content:'';pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #3a3f4818;z-index:-1}#stage{width:100%;height:100%;display:block;touch-action:none;cursor:grab;position:relative;z-index:1}#stage.painting{cursor:crosshair}#stage:active{cursor:grabbing}.viewer-tools{position:absolute;left:13px;right:13px;top:13px;display:flex;align-items:start;justify-content:space-between;gap:8px;z-index:2;pointer-events:none}.modes,.angle-tools{display:flex;gap:3px;background:#f0f2f5d9;border:1px solid #b0b7c070;border-radius:0;padding:3px;pointer-events:auto;backdrop-filter:blur(6px)}.modes button,.angle-tools button{font-size:11px;color:#3a3f48;padding:5px 8px;border-radius:0}.modes button.active{background:#2A2F36;color:#CCD2D8}.angle-tools{margin-left:auto}.scene-info{position:absolute;left:19px;top:62px;pointer-events:none;color:#3a3f48;z-index:2}.scene-info b{display:block;font:10px var(--mono);letter-spacing:1.4px}.scene-info span{font:9px var(--mono);display:block;margin-top:4px}.seam-legend{position:absolute;right:17px;top:65px;font:9px var(--mono);color:#3a3f48;z-index:2;text-align:right;pointer-events:none}.seam-legend:before{content:'';display:inline-block;width:15px;height:2px;background:#FF4D1A;vertical-align:middle;margin-right:5px}.scene-footer{position:absolute;left:17px;right:17px;bottom:14px;display:flex;justify-content:space-between;align-items:end;gap:7px;z-index:2;pointer-events:none}.pointertools{display:flex;background:#f0f2f5db;border:1px solid #b0b7c070;border-radius:0;padding:3px;pointer-events:auto}.pointertools button{padding:7px 11px;color:#3a3f48;font-size:11px;border-radius:0}.pointertools button.active{background:#2A2F36;color:#CCD2D8}.scene-hint{color:#3a3f48;font:9px/1.7 var(--mono);text-align:right}.toast{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);max-width:90%;width:max-content;background:#0B0D10eb;color:#CCD2D8;border:1px solid #2A2F36;border-radius:0;font-size:11px;padding:9px 13px;z-index:3;opacity:0;transition:opacity .15s;pointer-events:none}.toast.show{opacity:1}.webgl-error{display:none;position:absolute;inset:100px 35px auto;color:#1a1d22;z-index:3;background:#eef0f3eb;padding:22px;border-radius:0}.unwrap-panel{border:1px solid var(--line);border-top:0;background:var(--panel);border-radius:0;padding:15px 17px}.unwrap-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.unwrap-top b{font-size:12px;font-weight:600}.unwrap-top output{color:var(--lime);font:11px var(--mono);margin-left:8px}.unwrap-range{display:flex;gap:13px;align-items:center}.unwrap-range input{flex:1}.unwrap-endpoints{display:flex;justify-content:space-between;font:9px var(--mono);color:var(--muted);margin-top:5px}.microcopy{font-size:11px;line-height:1.6;color:var(--muted)}.unwrap-panel .microcopy{margin-top:9px;font-size:10px}input[type=range]{accent-color:var(--lime);width:100%;height:18px;cursor:pointer;margin:0}input[type=checkbox]{accent-color:var(--lime);margin-right:5px}input[type=color]{height:29px;width:35px;border:1px solid var(--line);border-radius:0;padding:2px;background:var(--panel)}select{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:0;padding:7px 8px;font-size:12px;max-width:100%}.below-view{margin-top:14px;padding:14px 16px}.section-line{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.toggle-line{display:flex;gap:13px;font-size:11px;color:var(--muted);flex-wrap:wrap}.looks{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.look{display:flex;gap:7px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:0;padding:8px 7px}.look.active{border-color:var(--lime);background:#1a1d22}.swatch{width:24px;height:28px;border-radius:0;flex:none}.look b{font-size:10px;font-weight:550;display:block}.look small{font:8px var(--mono);color:var(--muted);display:block}.inspector{padding:16px}.inspector-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.badge{font:9px var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:0;padding:3px 6px;white-space:nowrap}.atlas-target{display:none;margin-bottom:10px;width:100%}.maptabs{display:flex;gap:2px;margin-bottom:10px}.maptabs button{font-size:10px;color:var(--muted);padding:5px 7px;border-radius:0}.maptabs button.active{background:#2A2F36;color:var(--lime)}.atlas-wrap{position:relative;border:1px solid var(--line);border-radius:0;overflow:hidden;background:#0a0c0f;aspect-ratio:1}#atlas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.atlas-axes{position:absolute;bottom:6px;left:8px;color:#CCD2D8;font:9px var(--mono);pointer-events:none;background:#0a0c0fe6;padding:2px 5px;border-radius:0}.readout{display:flex;justify-content:space-between;gap:7px;color:var(--muted);font:9px/1.6 var(--mono);margin:9px 0}.selected-info{font-size:11px;min-height:17px;color:var(--lime)}.atlas-controls{border-top:1px solid var(--line);padding-top:13px;margin-top:12px}.field-label{font:10px var(--mono);letter-spacing:.6px;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:6px}.field-label output{color:var(--lime)}.full{width:100%}.controls-row{display:flex;gap:7px;align-items:center}.control{margin:12px 0}.face-controls{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.brush{display:none;background:#1a1d22;border:1px solid #2A2F36;border-radius:0;padding:12px;margin:13px 0}.brush.visible{display:block}.brush-row{display:flex;gap:7px;align-items:center;margin:10px 0}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid transparent}.color-dot.active{border-color:var(--lime)}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.export-actions{border-top:1px solid var(--line);padding-top:14px;margin-top:16px;display:flex;gap:7px;flex-wrap:wrap}.export-actions .primary{width:100%}input[type=file]{display:none}.footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font:10px/1.6 var(--mono);padding:19px 2px 0}.footer button{font:inherit;color:var(--lime);padding:0;text-decoration:underline;text-underline-offset:4px}.footer span{max-width:900px}dialog{color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:0;padding:27px;max-width:780px;width:calc(100% - 30px);max-height:88vh;line-height:1.7}dialog::backdrop{background:#000000bb;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:16px}.dialog-head h2{font-size:26px}dialog p{margin:10px 0;color:#9aa1ab;font-size:13px}dialog h3{margin-top:22px;color:var(--lime)}dialog ol,dialog ul{padding-left:22px;font-size:13px;color:#9aa1ab}dialog li{margin:9px 0}dialog code{font:11px var(--mono);color:var(--lime)}.note-box{padding:13px 15px;border:1px solid var(--line);border-radius:0;background:var(--panel2);margin:15px 0}.note-box p{margin:0}.kbd{font:11px var(--mono);padding:2px 6px;border:1px solid var(--line);border-radius:0}.hidden{display:none!important}@media(min-width:1470px){.workspace{grid-template-columns:305px minmax(400px,1fr) 350px}.viewport{height:565px}}@media(max-width:1190px){.workspace{grid-template-columns:250px minmax(330px,1fr)}.inspector{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:14px}.atlas-section{grid-column:1}.inspector-bottom{grid-column:2}.lesson{grid-row:1/3}.hero-tag{display:none}.asset-note{display:none}.viewport{height:530px}.chapter{font-size:11px;gap:6px}.inspector-title{font-size:12px}.face-controls{margin-top:12px}.shell{padding:18px}}@media(max-width:830px){.workspace{grid-template-columns:1fr}.lesson{grid-column:1;grid-row:3}.studio{grid-row:1}.inspector{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hero{margin-top:23px}.hero p{font-size:12px;max-width:550px}.chapters{grid-template-columns:repeat(3,1fr)}.chapter{border-bottom:1px solid var(--line)}.chapter:nth-child(3){border-right:0}.chapter:nth-child(n+4){border-bottom:0}.offline{display:none}.viewport{height:540px}.lesson{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.lesson-main{grid-column:1}.lesson-secondary{grid-column:2}.quiz{margin-top:0}.lesson-nav,.lesson-progress{grid-column:1/-1}.shell{padding:16px}.hero h1{font-size:33px}}@media(max-width:520px){.shell{padding:13px}.top-actions .hide-mobile{display:none}.hero h1{font-size:30px;letter-spacing:-1px}.hero p{max-width:335px;font-size:12px}.brand b{font-size:15px}.brand svg{width:28px}.brand .eyebrow{font-size:8px}.top-actions .btn{font-size:10px;padding:7px 9px}.chapter{font-size:10px;padding:10px 8px;gap:6px}.workspace{gap:13px}.viewport{height:440px}.viewer-tools{left:9px;right:9px;top:10px}.modes button,.angle-tools button{padding:5px 6px;font-size:10px}.scene-info{left:13px;top:60px}.seam-legend{top:90px;right:12px;font-size:8px}.scene-hint{font-size:8px;max-width:130px}.scene-footer{left:12px;right:12px}.assetbar{padding:6px;gap:3px}.assetbar .asset{padding:6px 10px;font-size:11px}.below-view{padding:13px}.looks{gap:5px}.look{display:block;padding:7px}.swatch{display:block;width:100%;height:18px;margin-bottom:5px}.look b{font-size:10px}.look small{font-size:7px}.section-line select{max-width:180px;font-size:10px}.inspector{display:block}.inspector-bottom{margin-top:18px}.atlas-wrap{max-width:390px;margin:auto}.inspector-title h3{font-size:15px}.maptabs button{font-size:11px}.readout{font-size:10px}.lesson{display:block;padding:20px}.lesson-secondary{margin-top:24px}.footer{font-size:9px;display:block}.footer button{margin-top:9px}.toggle-line{gap:10px}.unwrap-top b{font-size:11px}.unwrap-panel{padding:13px}.unwrap-top .btn{font-size:10px}.scene-info span{max-width:210px;font-size:8px}}
