*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:#f4f4f0;font-size:13px}.app{display:grid;grid-template-columns:340px 1fr;height:100vh}.sidebar{background:#fff;border-right:1px solid #e0e0dc;padding:18px;overflow-y:auto}.sidebar h1{margin:0;font-size:20px;font-weight:700}.sidebar .tag{margin:2px 0 14px;font-size:11px;color:#888}.sidebar h2{margin:18px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#555;font-weight:600}.field{display:block;margin-bottom:10px}.field-label{display:block;font-size:11px;color:#555;margin-bottom:3px;font-weight:500}.field-label-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:2px}.field-value{font-variant-numeric:tabular-nums;color:#666}.field-row{display:flex;align-items:center;gap:6px}.field-input{flex:1;padding:5px 8px;font-size:13px;border:1px solid #d0d0cc;border-radius:4px;font-variant-numeric:tabular-nums}.field-input:focus{outline:2px solid #4a7bc8;outline-offset:-1px;border-color:transparent}.field-unit{color:#888;font-size:11px;min-width:24px}.field-select{width:100%;padding:5px 8px;font-size:13px;border:1px solid #d0d0cc;border-radius:4px;background:#fff}.field input[type=range]{width:100%}.toggle-group{display:flex;gap:0;border:1px solid #d0d0cc;border-radius:5px;overflow:hidden}.toggle-btn{flex:1;padding:6px 8px;font-size:12px;background:#f8f8f4;border:none;border-right:1px solid #d0d0cc;cursor:pointer;color:#333;transition:background .1s}.toggle-btn:last-child{border-right:none}.toggle-btn:hover{background:#ececea}.toggle-btn.active{background:#1a1a1a;color:#fff;font-weight:500}.warnings{margin:12px 0}.warn{padding:7px 9px;margin-bottom:6px;border-radius:4px;font-size:11.5px;line-height:1.35}.warn-warning{background:#fff4d6;color:#6b4e00;border-left:3px solid #e0a800}.warn-error{background:#ffdfdf;color:#8a0000;border-left:3px solid #c83030}.download-btn{display:block;width:100%;padding:10px;margin-bottom:6px;font-size:13px;font-weight:500;border:1px solid #1a1a1a;background:#1a1a1a;color:#fff;border-radius:5px;cursor:pointer}.download-btn:hover{background:#333}.hint{font-size:10.5px;color:#888;margin-top:10px;line-height:1.4}.preview{position:relative;background:#e8e6de;display:flex;flex-direction:column}.view-tabs{display:flex;background:#d7d4ca;border-bottom:1px solid #c3c0b6;padding:0 12px}.view-tab{padding:8px 16px;font-size:12px;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:#555}.view-tab:hover{color:#1a1a1a}.view-tab.active{color:#1a1a1a;border-bottom-color:#1a1a1a}.view-body{flex:1;position:relative;overflow:hidden}.box-preview{position:absolute;top:0;right:0;bottom:0;left:0}.view-presets{position:absolute;top:12px;right:12px;display:flex;gap:4px;background:#ffffffeb;border:1px solid #d4d0c4;border-radius:6px;padding:3px;box-shadow:0 1px 4px #0000001a;z-index:10}.view-preset{padding:5px 10px;font-size:11px;font-weight:500;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#555}.view-preset:hover{background:#eee;color:#1a1a1a}.view-preset.active{background:#1a1a1a;color:#fff}.sheet-preview{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;padding:20px;background:#fafafa}.sheet-preview svg{max-width:100%;height:auto;background:#fff;box-shadow:0 1px 8px #00000014;padding:10px;display:block}.sheet-preview svg path,.sheet-preview svg line,.sheet-preview svg polyline,.sheet-preview svg polygon,.sheet-preview svg circle,.sheet-preview svg rect,.sheet-preview svg ellipse{stroke:#2563eb!important;stroke-width:1.25px!important;fill:none!important;vector-effect:non-scaling-stroke}
