:root{font-family:Segoe UI,Noto Sans KR,sans-serif;line-height:1.5;font-weight:400;color:#d4d4d8;background:radial-gradient(circle at top left,rgba(245,158,11,.08),transparent 24%),linear-gradient(180deg,#101012,#1a1a1d);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#111114}body,button,input,textarea,select{font:inherit}#root{min-height:100vh;zoom:.8}a{color:inherit}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.2rem 0}.app-header__brand{display:grid;gap:.2rem}.app-header__brand strong{color:#f1f1f3;font-size:1rem}.app-header__brand .panel__eyebrow{margin-bottom:0}.app-header__tabs{display:inline-flex;gap:.45rem;padding:.35rem;border:1px solid rgba(148,163,184,.18);background:#1c1c1fe6;border-radius:3px}.app-header__tab{min-height:2.1rem;padding:0 .9rem;border:1px solid rgba(148,163,184,.18);background:#242428f5;color:#c8c8cc;font-weight:700;cursor:pointer;border-radius:3px}.app-header__tab--active{border-color:#96969e59;background:linear-gradient(135deg,#4a4a50f5,#36363cf5);color:#f1f1f3}.app-shell{display:grid;gap:1.2rem;min-height:100vh;padding:1.2rem}.topbar-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.58fr) minmax(240px,.6fr);gap:1rem;align-items:stretch}.panel__eyebrow{margin:0 0 .75rem;color:#f59e0b;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero-panel,.info-card,.viewport-panel,.editor-panel,.compile-panel,.console-panel,.preset-panel,.inspector-panel,.project-panel,.model-import-panel,.asset-browser-panel,.editor-panel__editor,.editor-panel__loading,.compile-panel__button,.compile-panel__logs,.console-panel__body,.console-line,.console-line__button,.preset-panel--compact,.preset-panel__select select,.preset-panel__apply,.preset-panel__info,.compile-panel__error-list li,.inspector-group,.property-card,.property-card input[type=number],.property-card input[type=color],.property-card select,.texture-slot,.texture-preview,.project-panel__facts div,.asset-card,.asset-card__wrap-grid select,.viewport-panel__canvas-frame,.model-import-panel__facts div,.viewport-controls,.viewport-panel__facts div,.editor-panel__post-pass-chip,.editor-panel__post-pass-add,.editor-panel__post-pass-button,.editor-panel__post-pass-name,.editor-panel__tab,.viewport-mode-button,.viewport-controls__reset,.viewport-toolbar__select select,.status-chip,.editor-panel__tabs,.viewport-toolbar__group{border-radius:3px!important}.hero-panel,.info-card,.viewport-panel{border:1px solid rgba(148,163,184,.2);background:#1c1c1fe6;box-shadow:0 24px 80px #02061759;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-panel{padding:1.5rem;border-radius:1.5rem}.hero-panel h1,.viewport-panel h2,.info-card h2{margin:0}.hero-panel h1{max-width:14ch;font-size:clamp(2rem,4vw,3.5rem);line-height:1.05}.hero-panel__description{max-width:52rem;margin:1rem 0 0;color:#cbd5e1}.hero-panel__grid,.workspace{display:grid;gap:1rem}.hero-panel__grid{margin-top:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.workspace{grid-template-columns:minmax(0,1.3fr) minmax(360px,.9fr);align-items:start}.workspace--three-column{grid-template-columns:minmax(0,.82fr) minmax(0,1.58fr) minmax(240px,.6fr)}.workspace-main,.workspace-sidebar{display:grid;gap:1rem}.workspace-column{display:grid;gap:1rem;align-self:start;min-width:0}.workspace-column--editor{min-width:0}.info-card{padding:1rem 1.1rem;border-radius:1.1rem}.info-card ul{margin:1rem 0 0;padding-left:1rem;color:#c4c4ca}.info-card li+li{margin-top:.35rem}.info-card pre{overflow:auto;margin:1rem 0 0;padding:1rem;border-radius:.9rem;background:#121214f2;color:#cfcfd4;font-size:.8rem;line-height:1.55}.editor-grid{display:grid;gap:1rem}.editor-panel,.compile-panel,.console-panel,.preset-panel,.inspector-panel,.project-panel,.model-import-panel,.asset-browser-panel{min-width:0;border:1px solid rgba(148,163,184,.2);background:#1c1c1fe6;box-shadow:0 24px 80px #02061759;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1rem}.project-panel,.model-import-panel,.compile-panel{height:100%}.editor-panel__header,.compile-panel__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.editor-panel__stage{padding:.25rem .7rem;background:#6e6e762e;color:#d0d0d4;font-size:.75rem;font-weight:700;text-transform:uppercase}.editor-panel__editor{min-width:0;max-width:100%;overflow:hidden;margin-top:1rem;border:1px solid rgba(148,163,184,.18);background:#121214f5}.editor-panel__editor .cm-editor,.editor-panel__editor .cm-scroller,.editor-panel__editor .cm-content{min-width:0;max-width:100%}.editor-panel__editor .cm-scroller{overflow-x:auto;overflow-y:auto}.editor-panel__editor .cm-line{white-space:pre}.editor-panel__tabs{display:inline-flex;flex-wrap:wrap;gap:.45rem;padding:.35rem;background:#121214cc}.editor-panel__tabs-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-top:1rem;min-width:0}.editor-panel__preset-slot{display:flex;justify-content:flex-end;flex:0 1 360px;min-width:0}.editor-panel__tab{min-height:2.2rem;padding:0 .9rem;border:1px solid rgba(148,163,184,.18);background:#242428f5;color:#c8c8cc;font-weight:700;cursor:pointer}.editor-panel__tab--active{border-color:#96969e59;background:linear-gradient(135deg,#4a4a50f5,#36363cf5);color:#f1f1f3}.editor-panel__loading{display:grid;gap:.85rem;place-items:center;min-height:320px;margin-top:1rem;border:1px solid rgba(148,163,184,.18);background:#121214f5;color:#d0d0d4;text-align:center}.editor-panel__editor--codemirror{min-height:320px}.editor-panel__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.editor-panel__summary p{margin:0;color:#c4c4ca;font-size:.82rem}.editor-panel__post-pass-manager{display:grid;gap:.75rem;margin-top:.85rem}.editor-panel__fragment-target{display:flex;justify-content:flex-start;margin-top:.85rem}.editor-panel__post-pass-list{display:flex;flex-wrap:wrap;gap:.5rem}.editor-panel__post-pass-chip,.editor-panel__post-pass-add,.editor-panel__post-pass-button{min-height:2rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#242428f5;color:#c8c8cc;font-weight:700;cursor:pointer}.editor-panel__post-pass-chip--active{border-color:#96969e59;background:linear-gradient(135deg,#4a4a50f5,#36363cf5);color:#f1f1f3}.editor-panel__post-pass-add{border-style:dashed}.editor-panel__post-pass-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.editor-panel__post-pass-name{min-width:0;flex:1 1 220px;min-height:2.2rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#121214db;color:#d4d4d8}.editor-panel__post-pass-format{position:relative;display:flex;align-items:flex-start;min-width:110px;align-self:flex-start;color:#c8c8cc;font-size:.76rem}.editor-panel__post-pass-format span{position:absolute;top:-.95rem;left:0;line-height:1}.editor-panel__post-pass-format select{min-height:2.2rem;padding:0 .65rem;border:1px solid rgba(148,163,184,.18);background:#121214db;color:#d4d4d8}.editor-panel__post-pass-button--danger:disabled{opacity:.45;cursor:not-allowed}.editor-panel__line-diagnostic--error{background:linear-gradient(90deg,rgba(239,68,68,.14),transparent 65%)}.editor-panel__line-diagnostic--warning{background:linear-gradient(90deg,rgba(132,132,140,.14),transparent 65%)}.editor-panel__hint{margin:.75rem 0 0;color:#94a3b8;font-size:.8rem}.compile-panel__button{min-height:2.75rem;padding:0 1rem;border:0;background:linear-gradient(135deg,#6d6d73,#505056);color:#f3f3f5;font-weight:800;cursor:pointer}.compile-panel__button:disabled{opacity:.7;cursor:progress}.compile-panel__toggle{display:inline-flex;align-items:center;gap:.65rem;margin-top:.75rem;color:#cbd5e1}.compile-panel__result{margin:.75rem 0 0;padding:.75rem .8rem;background:#121214cc;color:#d4d4d8;font-size:.82rem;font-weight:700}.console-panel__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.console-panel__body{margin-top:1rem;padding:1rem;background:#121214d1}.console-panel__list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.console-line{border-radius:.9rem}.console-line__button{display:grid;width:100%;gap:.45rem;padding:.9rem;border:1px solid rgba(148,163,184,.18);background:#222226e6;text-align:left;cursor:pointer}.console-line__button--error,.console-line__button--warning{border-color:#7878803d;background:#2e2e32f5}.console-line__meta{display:flex;flex-wrap:wrap;gap:.6rem;color:#b8b8be;font-size:.82rem}.console-line p,.console-panel__empty{margin:.5rem 0 0;color:#d0d0d4}.console-line__button--warning p,.console-line__button--warning .console-line__meta{color:#d0d0d4}.console-panel__empty{color:#cbd5e1}.preset-panel--compact{width:100%;max-width:360px;padding:.55rem .65rem;box-shadow:none;border-radius:1rem}.preset-panel__compact-header{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.preset-panel__compact-header strong{display:block;margin-top:-.2rem;font-size:.88rem}.preset-panel__count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;min-height:2rem;padding:0 .65rem;background:#6e6e762e;color:#d0d0d4;font-size:.78rem;font-weight:800}.preset-panel__compact-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;margin-top:.55rem}.preset-panel__select{display:grid;min-width:0}.preset-panel__select select{min-width:0;min-height:2.35rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#1c1c1ff2;color:#d4d4d8}.preset-panel__apply{min-height:2.35rem;padding:0 .9rem;border-radius:.8rem}.preset-panel__info{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border:1px solid rgba(148,163,184,.18);background:#1c1c1fe6;color:#c8c8cc;font-weight:800;cursor:help}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.compile-panel__logs{margin-top:1rem;padding:1rem;border-radius:1rem;background:#0206179e}.compile-panel__error-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.compile-panel__error-list li{padding:.9rem;border-radius:.9rem;border:1px solid rgba(239,68,68,.2);background:#7f1d1d33}.compile-panel__error-list strong,.compile-panel__error-list span{display:inline-block;margin-right:.6rem}.compile-panel__error-list p,.compile-panel__empty{margin:.5rem 0 0;color:#fecaca}.compile-panel__empty{color:#cbd5e1}.inspector-panel__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.inspector-panel__list{display:grid;gap:.85rem;margin-top:1rem}.inspector-panel__groups{display:grid;gap:1rem;margin-top:1rem}.inspector-panel__tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.inspector-panel__tab{min-height:2rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#242428f5;color:#c8c8cc;font-weight:700;cursor:pointer;border-radius:3px}.inspector-panel__tab--active{border-color:#96969e59;background:linear-gradient(135deg,#4a4a50f5,#36363cf5);color:#f1f1f3}.inspector-group{padding:1rem;background:#121214c7}.inspector-group__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.inspector-group__header h3,.inspector-group__header span{margin:0}.inspector-group__header span{color:#94a3b8;font-size:.82rem}.property-card{display:grid;gap:.45rem;padding:.95rem;background:#18181cdb}.property-card strong{font-size:.95rem}.property-card span,.property-card p{color:#a1a1aa;font-size:.8rem;margin:0}.property-card input[type=number]{width:100%;min-height:2.5rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#1e1e22f5;color:#d4d4d8;accent-color:#8a8a92;color-scheme:dark}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{filter:grayscale(1) brightness(.78) contrast(.9);opacity:1}input[type=number]{-moz-appearance:textfield}.property-card input[type=color]{width:100%;min-height:3rem;padding:.35rem;border:1px solid rgba(148,163,184,.18);background:#1e1e22f5}.property-card select{width:100%;min-height:2.5rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#1e1e22f5;color:#d4d4d8}.property-card--checkbox{grid-template-columns:1fr auto;align-items:center}.property-card__vector{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:.6rem}.property-card__slider{display:grid;gap:.65rem}.property-card__slider input[type=range]{width:100%}.property-card__color{display:grid;gap:.75rem}.property-card__alpha{display:grid;gap:.45rem}.property-card__alpha span{color:#cbd5e1}.inspector-panel__empty{margin:1rem 0 0;color:#cbd5e1}.texture-slot{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;padding:0 1rem;background:#5c5c6233;color:#d6d6da;font-weight:700;cursor:pointer}.texture-slot input{display:none}.texture-preview{display:grid;grid-template-columns:72px 1fr;gap:.75rem;align-items:center;padding:.75rem;background:#1c1c1fe0}.texture-preview img{width:72px;height:72px;object-fit:cover;border-radius:.75rem}.texture-preview p{margin:0;color:#cbd5e1;font-size:.8rem}.texture-preview__empty,.texture-preview__error{margin:0;color:#cbd5e1;font-size:.85rem}.texture-preview__error{color:#d0d0d4}.project-panel__header,.asset-browser-panel__header,.asset-browser-panel__section-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.project-panel__header,.compile-panel__header,.viewport-panel__header{min-height:2rem}.project-panel__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.project-panel__import{min-width:140px}.project-panel__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0 0}.project-panel__facts div,.asset-card{padding:.9rem;background:#121214cc}.project-panel__facts dt{color:#94a3b8;font-size:.8rem}.project-panel__facts dd{margin:.4rem 0 0;font-weight:700}.asset-browser-panel__section+.asset-browser-panel__section{margin-top:1rem}.asset-browser-panel__list{display:grid;gap:.75rem;margin-top:.85rem}.asset-card{display:grid;gap:.45rem}.asset-card--texture{grid-template-columns:72px 1fr auto;align-items:center;gap:.85rem}.asset-card--texture img{width:72px;height:72px;object-fit:cover;border-radius:.75rem}.asset-card p,.asset-browser-panel__empty{margin:0;color:#cbd5e1;font-size:.82rem}.asset-card__wrap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.45rem}.asset-card__wrap-grid label{display:grid;gap:.3rem}.asset-card__wrap-grid span{color:#a1a1aa;font-size:.72rem}.asset-card__wrap-grid select{min-width:0;min-height:2.2rem;padding:0 .65rem;border:1px solid rgba(148,163,184,.18);background:#1e1e22f5;color:#d4d4d8}.viewport-panel{width:100%;min-width:0;padding:1rem;border-radius:1.4rem}.viewport-panel__header{display:flex;align-items:center;justify-content:flex-start;gap:1rem}.viewport-toolbar,.viewport-controls__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.viewport-toolbar{margin-top:1rem;flex-wrap:wrap;align-items:stretch}.viewport-toolbar__group{display:inline-flex;flex-wrap:wrap;max-width:100%;gap:.5rem;padding:.35rem;border-radius:999px;background:#0206178c}.viewport-mode-button,.viewport-controls__reset{min-height:2.4rem;padding:0 .95rem;border:1px solid rgba(148,163,184,.18);background:#242428f5;color:#d4d4d8;font-weight:700;cursor:pointer}.viewport-mode-button--active{border-color:#96969e59;background:linear-gradient(135deg,#4a4a50f5,#36363cf5)}.viewport-toolbar__select{display:grid;gap:.35rem;min-width:0;flex:1 1 140px;color:#c8c8cc;font-size:.8rem}.viewport-toolbar__select select{width:100%;min-height:2.5rem;padding:0 .8rem;border:1px solid rgba(148,163,184,.18);background:#1e1e22f5;color:#d4d4d8}.viewport-panel__canvas-frame{position:relative;width:100%;min-width:0;min-height:420px;margin-top:1rem;overflow:hidden;border:1px solid rgba(148,163,184,.16);background:linear-gradient(135deg,#18181cfa,#212125fa),linear-gradient(90deg,rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}.viewport-panel__canvas-frame:focus-visible{outline:2px solid rgba(160,160,166,.9);outline-offset:2px}.viewport-panel__canvas-frame--orbit{cursor:grab}.viewport-panel__canvas-frame--dragging{cursor:grabbing}.viewport-panel__canvas{display:block;width:100%;height:420px}.model-import-panel{display:grid;gap:.85rem;padding:1rem}.model-import-panel__header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.model-import-panel__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:0}.model-import-panel__facts div{padding:.8rem;background:#1c1c1fe6}.model-import-panel__facts dt{color:#94a3b8;font-size:.8rem}.model-import-panel__facts dd{margin:.4rem 0 0;font-weight:700}.model-import-panel__empty,.model-import-panel__error{margin:0;color:#cbd5e1;font-size:.85rem}.model-import-panel__error{color:#d0d0d4}.model-import-panel__warnings{display:grid;gap:.55rem;margin:0;padding-left:1rem;color:#bdbdc4;font-size:.82rem}.viewport-panel__message{margin:1rem 0 0;color:#cbd5e1}.viewport-controls{display:grid;gap:.9rem;margin-top:1rem;padding:1rem;background:#121214d1}.viewport-controls__grid{display:grid;gap:.85rem}.viewport-controls__grid label{display:grid;gap:.45rem}.viewport-controls__grid span{color:#cbd5e1;font-size:.82rem}.viewport-controls input[type=range]{width:100%}.viewport-panel__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;margin:1rem 0 0}.viewport-panel__facts div{padding:.8rem;background:#121214cc}.viewport-panel__facts dt{color:#94a3b8;font-size:.8rem}.viewport-panel__facts dd{margin:.4rem 0 0;font-weight:700}.status-chip{display:inline-flex;align-items:center;min-height:2rem;padding:0 .8rem;font-size:.85rem;font-weight:700}.status-chip--ready{background:#5e5e6433;color:#d4d4d8}.status-chip--error{background:#4c4c5247;color:#ededf0}.guide-view{display:grid;gap:1rem;min-width:0;border:1px solid rgba(148,163,184,.2);background:#1c1c1fe6;box-shadow:0 24px 80px #02061759;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:1.1rem;font-size:1.07em}.guide-view__header{display:grid;gap:.35rem}.guide-view__header h1,.guide-view__content h1,.guide-view__content h2,.guide-view__content h3,.guide-view__content p,.guide-view__content ul,.guide-view__content ol,.guide-view__content figure{margin:0}.guide-view__header p,.guide-view__content p,.guide-view__content li{color:#d4d4d8}.guide-view__content{display:grid;gap:.85rem;line-height:1.65}.guide-view__content h1,.guide-view__content h2,.guide-view__content h3{color:#f3f3f5}.guide-view__content h2{margin-top:.5rem;font-size:1.2rem}.guide-view__content h3{margin-top:.35rem;font-size:1rem}.guide-view__content ul,.guide-view__content ol{display:grid;gap:.35rem;padding-left:1.2rem}.guide-view__content code{padding:.08rem .3rem;background:#121214e6;border-radius:3px}.guide-view__code{overflow:auto;padding:1rem;border:1px solid rgba(148,163,184,.18);background:#121214f5;border-radius:3px}.guide-view__figure{display:grid;gap:.5rem;padding:.8rem;border:1px solid rgba(148,163,184,.18);background:#121214d1;border-radius:3px}.guide-view__figure img{width:100%;height:auto;border-radius:3px}.guide-view__figure figcaption{color:#a1a1aa;font-size:.82rem}@media(max-width:960px){.app-header{flex-direction:column;align-items:stretch;padding-top:1rem}.topbar-grid,.workspace{grid-template-columns:1fr}.preset-panel--compact{width:100%}.editor-panel__tabs-row{align-items:stretch;flex-direction:column}.editor-panel__preset-slot{width:100%}.hero-panel h1{max-width:none}.editor-panel__summary,.viewport-toolbar,.viewport-controls__header{align-items:stretch;flex-direction:column}}
