html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;line-height:1.4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}.app{display:flex;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;color:var(--figma-color-text);background:var(--figma-color-bg)}.app.loading{align-items:center;justify-content:center;gap:12px}.spinner{width:24px;height:24px;border:2px solid var(--figma-color-border);border-top-color:var(--figma-color-text-brand);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid var(--figma-color-border)}.header h1{font-size:14px;font-weight:600}.subtitle{margin-top:2px;font-size:11px;color:var(--figma-color-text-secondary)}.editor-badge{flex-shrink:0;font-size:10px;font-weight:500;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--figma-color-bg-secondary);color:var(--figma-color-text-secondary)}.content{flex:1;display:flex;flex-direction:column;gap:16px;padding:16px;overflow-y:auto}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:120px;padding:20px;font:inherit;color:var(--figma-color-text);text-align:center;background:var(--figma-color-bg-secondary);border:1.5px dashed var(--figma-color-border-strong, var(--figma-color-border));border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s}.dropzone:hover:not(:disabled),.dropzone.dragging{border-color:var(--figma-color-border-brand, var(--figma-color-text-brand));background:var(--figma-color-bg-brand-tertiary, var(--figma-color-bg-hover))}.dropzone:disabled{cursor:default;opacity:.6}.dropzone.has-file{border-style:solid}.dropzone-title{font-weight:600}.dropzone-hint,.file-meta{font-size:11px;color:var(--figma-color-text-secondary)}.file-name{font-weight:600;word-break:break-all}.mode{border:none;display:flex;flex-direction:column;gap:8px}.mode legend{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--figma-color-text-secondary);margin-bottom:8px}.mode:disabled{opacity:.6}.mode-option{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:10px 12px;border:1px solid var(--figma-color-border);border-radius:6px;cursor:pointer;transition:border-color .12s,background .12s}.mode-option.selected{border-color:var(--figma-color-border-brand, var(--figma-color-text-brand));background:var(--figma-color-bg-brand-tertiary, var(--figma-color-bg-hover))}.mode-option input{grid-row:span 2;accent-color:var(--figma-color-bg-brand)}.mode-label{font-weight:500}.mode-desc{grid-column:2;font-size:11px;color:var(--figma-color-text-secondary)}.status{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;font-size:11px;background:var(--figma-color-bg-secondary)}.status.success{background:var(--figma-color-bg-success-tertiary, var(--figma-color-bg-secondary));color:var(--figma-color-text-success, var(--figma-color-text))}.status.error{background:var(--figma-color-bg-danger-tertiary, var(--figma-color-bg-secondary));color:var(--figma-color-text-danger, var(--figma-color-text))}.footer{padding:16px;border-top:1px solid var(--figma-color-border)}.import-button{width:100%;padding:10px 16px;font-size:12px;font-weight:600;color:var(--figma-color-text-onbrand);background:var(--figma-color-bg-brand);border:none;border-radius:6px;cursor:pointer;transition:opacity .12s}.import-button:hover:not(:disabled){opacity:.9}.import-button:disabled{opacity:.4;cursor:not-allowed}.secondary-button{width:100%;padding:10px 16px;font-size:12px;font-weight:600;color:var(--figma-color-text);background:var(--figma-color-bg-secondary);border:1px solid var(--figma-color-border);border-radius:6px;cursor:pointer;transition:background .12s}.secondary-button:hover{background:var(--figma-color-bg-hover)}.dropzone-wrap{position:relative}.clear-button{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:12px;line-height:1;color:var(--figma-color-text-secondary);background:var(--figma-color-bg);border:1px solid var(--figma-color-border);border-radius:50%;cursor:pointer}.clear-button:hover{color:var(--figma-color-text);background:var(--figma-color-bg-hover)}.error-screen{align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.error-screen h1{font-size:14px;font-weight:600}.error-screen p{color:var(--figma-color-text-secondary)}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}*{transition-duration:.01ms!important}}:root{--figma-color-bg: #ffffff;--figma-color-bg-secondary: #f5f5f5;--figma-color-bg-hover: #f0f0f0;--figma-color-bg-brand: #0d99ff;--figma-color-text: #1a1a1a;--figma-color-text-secondary: #666666;--figma-color-text-brand: #0d99ff;--figma-color-text-onbrand: #ffffff;--figma-color-border: #e0e0e0}@media(prefers-color-scheme:dark){:root{--figma-color-bg: #2c2c2c;--figma-color-bg-secondary: #383838;--figma-color-bg-hover: #3a3a3a;--figma-color-text: #ffffff;--figma-color-text-secondary: #b3b3b3;--figma-color-border: #444444}}
