:root { color: #20242c; background: #eef1f5; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-synthesis: none; text-rendering: optimizeLegibility; } * { box-sizing: border-box; } body { margin: 0; min-width: 320px; min-height: 100vh; } button, input, select { font: inherit; } .app { min-height: 100vh; display: grid; grid-template-rows: auto 1fr; } .app-toolbar { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid #d8dde6; background: #fbfcfe; } .title-group { min-width: 0; } .title-group h1 { margin: 0; font-size: 20px; line-height: 1.25; font-weight: 700; letter-spacing: 0; } .title-group p { margin: 4px 0 0; color: #697283; font-size: 13px; line-height: 1.35; } .file-action { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid #2f6fed; border-radius: 6px; color: #ffffff; background: #2f6fed; cursor: pointer; } .file-action input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; } .workspace { min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; } .preview-pane { position: relative; min-width: 0; min-height: 0; background: linear-gradient(45deg, #dfe4ec 25%, transparent 25%), linear-gradient(-45deg, #dfe4ec 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #dfe4ec 75%), linear-gradient(-45deg, transparent 75%, #dfe4ec 75%); background-color: #f7f9fc; background-position: 0 0, 0 10px, 10px -10px, -10px 0; background-size: 20px 20px; overflow: hidden; } .preview-pane[data-dragging="true"] { outline: 3px solid #2f6fed; outline-offset: -3px; } #previewCanvas { display: block; width: 100%; height: 100%; } .empty-state { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); min-width: 180px; padding: 12px 16px; border: 1px solid #d8dde6; border-radius: 8px; color: #596273; background: rgba(255, 255, 255, 0.92); text-align: center; font-size: 14px; } .empty-state[hidden] { display: none; } .inspector { min-width: 0; padding: 16px; border-left: 1px solid #d8dde6; background: #ffffff; overflow: auto; } .status-box { min-height: 42px; display: flex; align-items: center; padding: 10px 12px; border: 1px solid #d8dde6; border-radius: 6px; color: #334155; background: #f8fafc; font-size: 14px; line-height: 1.35; } .status-box[data-tone="success"] { border-color: #91d2aa; color: #19643a; background: #eefaf2; } .status-box[data-tone="error"] { border-color: #f1a0a0; color: #9e2626; background: #fff3f3; } .field-label, .log-title { display: block; margin: 16px 0 8px; color: #4b5563; font-size: 12px; font-weight: 700; } #skeletonSelect { width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid #cbd3df; border-radius: 6px; background: #ffffff; color: #20242c; } .summary-list { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 8px 10px; margin: 16px 0 0; font-size: 13px; } .summary-list dt { color: #6b7280; } .summary-list dd { min-width: 0; margin: 0; color: #1f2937; overflow-wrap: anywhere; } .log-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; } .log-list li { padding: 8px 10px; border: 1px solid #e0e5ed; border-radius: 6px; background: #f8fafc; color: #4b5563; font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; } .log-list li[data-tone="error"] { border-color: #f1a0a0; color: #9e2626; background: #fff3f3; } .log-list li[data-tone="success"] { border-color: #91d2aa; color: #19643a; background: #eefaf2; } @media (max-width: 860px) { .app-toolbar { align-items: flex-start; flex-direction: column; } .file-action { width: 100%; } .workspace { grid-template-columns: 1fr; grid-template-rows: minmax(360px, 58vh) auto; } .inspector { border-left: 0; border-top: 1px solid #d8dde6; } }