.editor-page-shell { min-height: 100vh; display: grid; grid-template-rows: 56px minmax(0, 1fr) 32px; background: #e8e8e5; color: #111111; } .editor-toolbar { display: grid; grid-template-columns: 40px minmax(160px, 1fr) auto minmax(128px, 160px) auto auto; gap: 12px; align-items: center; min-width: 0; padding: 0 16px; border-bottom: 1px solid #111111; background: #ffffff; } .editor-toolbar button, .editor-back, .editor-inspector button { min-height: 36px; padding: 7px 12px; border: 1px solid #111111; border-radius: 0; color: #111111; background: #ffffff; font: inherit; font-weight: 700; text-decoration: none; } .editor-toolbar button:disabled, .editor-inspector button:disabled { border-color: #b9b9b3; color: #62625d; background: #e8e8e5; cursor: not-allowed; } .editor-back { display: grid; width: 40px; place-items: center; padding: 0; font-size: 20px; } .editor-title { display: flex; min-width: 0; align-items: baseline; gap: 12px; } .editor-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .editor-title span, .editor-statusbar, .editor-inspector header p, .editor-confirm p:first-child { font-family: Consolas, monospace; font-size: 11px; letter-spacing: 0; } .editor-history-actions { display: flex; gap: 4px; } .editor-history-actions button { width: 36px; padding: 0; font-size: 20px; } .editor-save-status { display: inline-flex; min-width: 128px; min-height: 36px; align-items: center; padding: 0 10px; border-left: 3px solid #16794b; background: #f7f7f5; font-size: 12px; font-weight: 700; } .editor-save-status.dirty, .editor-save-status.saving { border-color: #1769aa; } .editor-save-status.failed, .editor-save-status.conflicted { border-color: #c92a24; color: #8f1d14; } .editor-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr) 320px; min-height: 0; } .editor-assets-panel, .editor-inspector { min-width: 0; overflow: auto; background: #f7f7f5; } .editor-assets-panel { border-right: 1px solid #b9b9b3; } .editor-inspector { border-left: 1px solid #b9b9b3; padding: 20px; } .editor-asset-tabs { display: grid; gap: 2px; padding: 12px; border-bottom: 1px solid #b9b9b3; } .editor-asset-tabs button { min-height: 36px; padding: 7px 10px; border: 0; border-left: 3px solid transparent; color: #111111; background: transparent; text-align: left; font-weight: 700; } .editor-asset-tabs button[aria-current="page"] { border-left-color: #111111; background: #ffffff; } .editor-asset-tabs button:disabled { color: #62625d; cursor: not-allowed; } .editor-assets-panel section { padding: 18px 16px; border-bottom: 1px solid #b9b9b3; } .editor-assets-panel h2 { margin: 0 0 10px; font-size: 16px; } .editor-source { display: flex; width: 100%; align-items: center; gap: 10px; padding: 8px; border: 1px solid #b9b9b3; border-radius: 0; background: #ffffff; color: #111111; text-align: left; } .editor-source + .editor-source { margin-top: 8px; } .editor-source.active { border: 2px solid #111111; padding: 7px; } .editor-thumb { width: 52px; height: 68px; flex: 0 0 auto; border: 1px solid #b9b9b3; background: #e8e8e5 center / cover no-repeat; } .editor-muted { color: #62625d; font-size: 12px; } .editor-workspace { display: grid; min-width: 0; min-height: 0; place-items: center; padding: 32px; background: #e8e8e5; overflow: auto; } .editor-canvas-frame { display: grid; width: min(100%, 720px); max-height: calc(100vh - 128px); place-items: center; border: 1px solid #62625d; background: #ffffff; box-shadow: 8px 8px 0 #b9b9b3; } .editor-canvas { display: block; width: 100%; height: 100%; outline: none; } .editor-canvas:focus { outline: 3px solid #005fcc; outline-offset: 3px; } .editor-inspector header { padding-bottom: 16px; border-bottom: 1px solid #b9b9b3; } .editor-inspector header p { margin: 0 0 4px; } .editor-inspector h2 { margin: 0; font-size: 20px; } .editor-inspector > label { display: grid; gap: 6px; margin-top: 18px; font-size: 13px; font-weight: 700; } .editor-inspector select, .editor-inspector input[type="range"] { width: 100%; } .editor-inspector select { min-height: 40px; padding: 7px 8px; border: 1px solid #85857f; border-radius: 0; background: #ffffff; font: inherit; } .editor-range > span { display: flex; justify-content: space-between; } .editor-range output { font-family: Consolas, monospace; } .editor-inspector-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 24px; } .editor-primary { background: #f2f400 !important; } .editor-statusbar { display: flex; align-items: center; gap: 24px; padding: 0 16px; border-top: 1px solid #111111; background: #ffffff; color: #62625d; } .editor-notice { position: fixed; z-index: 4; top: 68px; left: 50%; margin: 0; padding: 8px 14px; border: 1px solid #1769aa; background: #ffffff; transform: translateX(-50%); font-size: 12px; } .editor-dialog-backdrop { position: fixed; z-index: 5; inset: 0; display: grid; place-items: center; padding: 24px; background: rgb(17 17 17 / 60%); } .editor-confirm { width: min(480px, 100%); padding: 24px; border: 2px solid #111111; background: #ffffff; box-shadow: 8px 8px 0 #111111; } .editor-confirm h2 { margin: 4px 0 12px; font-size: 22px; } .editor-confirm p { margin: 0; } .editor-confirm > div { display: flex; gap: 8px; margin-top: 24px; } .editor-confirm button { min-height: 40px; padding: 8px 14px; border: 1px solid #111111; border-radius: 0; background: #ffffff; font: inherit; font-weight: 700; } .editor-loading { display: grid; min-height: 100vh; place-items: center; background: #e8e8e5; } @media (max-width: 1100px) { .editor-layout { grid-template-columns: 220px minmax(0, 1fr) 280px; } .editor-workspace { padding: 20px; } .editor-toolbar { grid-template-columns: 40px minmax(120px, 1fr) auto minmax(110px, 128px) auto auto; gap: 8px; padding: 0 10px; } } @media (max-width: 760px) { .editor-page-shell { grid-template-rows: auto minmax(0, 1fr) auto; } .editor-toolbar { grid-template-columns: 40px minmax(0, 1fr) auto; min-height: 56px; } .editor-toolbar > button, .editor-save-status { display: none; } .editor-layout { grid-template-columns: 1fr; } .editor-assets-panel, .editor-inspector { border: 0; } .editor-assets-panel { order: 2; } .editor-inspector { order: 3; } .editor-workspace { min-height: 55vh; order: 1; padding: 16px; } .editor-canvas-frame { width: min(100%, 480px); } .editor-statusbar { flex-wrap: wrap; min-height: 32px; gap: 8px 16px; padding: 8px 12px; } }