:root{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#f4f1ea;background:radial-gradient(circle at top,rgba(153,110,52,.28),transparent 34%),linear-gradient(180deg,#19171a,#111013 55%,#0b0b0d);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.landing-page{min-height:100vh;display:grid;place-items:center;padding:32px}.hero-card,.panel,.viewer-placeholder{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#121215d1;border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 24px 70px #00000052}.hero-card{width:min(760px,100%);padding:40px}.eyebrow{display:inline-flex;margin-bottom:10px;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#d0a56f}.hero-card h1,.viewer-header h2,.panel h3,.viewer-placeholder h3{margin:0}.hero-copy,.panel-copy,.viewer-placeholder p{color:#f4f1eabd}.hero-actions{display:flex;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent}.button-primary{background:linear-gradient(135deg,#d0a56f,#b87736);color:#140f0a;font-weight:600}.button-secondary{background:#ffffff0d;border-color:#ffffff1a;color:#f4f1ea}.file-button{position:relative;width:fit-content;cursor:pointer}.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}.app-shell{display:grid;grid-template-columns:minmax(320px,380px) 1fr;gap:20px;min-height:100vh;padding:20px}.app-sidebar{display:flex;flex-direction:column;gap:16px}.panel{padding:20px}.panel-header{margin-bottom:12px}.app-viewer{min-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:16px}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:8px 6px}.viewer-header-actions{display:flex;align-items:center;gap:10px}.viewer-placeholder{flex:1;min-height:520px;padding:24px;display:grid;place-content:center;text-align:center}.viewer-canvas-shell{position:relative;flex:1;min-height:620px;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:#08080ad9;box-shadow:0 24px 70px #00000052}.viewer-canvas-shell canvas{display:block}.viewer-canvas-shell.is-dragging{outline:2px dashed rgba(208,165,111,.9);outline-offset:-10px}.viewer-overlay{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:18px}.viewer-callout,.viewer-status{align-self:flex-start;max-width:360px;padding:16px 18px;border-radius:18px;background:#0e0e12c7;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.status-pill{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#d0a56f24;border:1px solid rgba(208,165,111,.35);color:#f5d1a3;font-size:.88rem}.viewer-callout h3{margin:0}.viewer-status{margin-top:auto}.viewer-status-error,.status-error{color:#ffb4ab}.list-stack{display:grid;gap:12px}.metadata-list{display:grid;gap:10px}.metadata-card{display:grid;gap:4px;padding:12px;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.metadata-button{width:100%;color:inherit;text-align:left;cursor:pointer}.metadata-button.is-selected{border-color:#d0a56fb3;background:#d0a56f1f}.metadata-card span{color:#f4f1eaa6;font-size:.92rem}.field-stack{display:grid;gap:14px}.field-group{display:grid;gap:8px;color:#f4f1ead6}.field-group input[type=color],.field-group select,.field-group textarea,.field-group input[type=text]{width:100%;min-height:42px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:inherit}.field-group input[type=color]{padding:6px}.field-group input[type=range]{width:100%}.button-row{display:grid;gap:10px}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.app-viewer{min-height:auto}}
