:root{--smir-accent:#0d9488;--smir-accent-soft:rgba(13,148,136,0.12);--smir-ink:#0f172a;--smir-card:rgba(255,255,255,0.72);--smir-border:rgba(15,23,42,0.08);--smir-glow:0 20px 50px -12px rgba(13,148,136,0.25);--surface:#fff;--surface-muted:#f8fafc;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--primary:#0d9488;--primary-dark:#0f766e;--accent:#14b8a6;--shadow-soft:0 4px 24px rgba(15,23,42,0.08);--gradient:linear-gradient(135deg,#0d9488 0%,#0891b2 100%);}
.smir-hero-metrics{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;margin-top:1rem;padding:0;list-style:none;}
.smir-hero-metrics li{font-size:0.8125rem;font-weight:600;color:var(--text-muted);letter-spacing:0.02em;}
.smir-hero-metrics li span{color:var(--smir-accent);font-variant-numeric:tabular-nums;}
.smir-workspace{margin:0 0 2.5rem;padding:0;}
.smir-shell{background:var(--smir-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--smir-border);border-radius:20px;box-shadow:var(--smir-glow);overflow:hidden;}
.smir-rail-wrap{padding:0.75rem 0 0.25rem;border-bottom:1px solid var(--smir-border);background:linear-gradient(180deg,rgba(13,148,136,0.04) 0%,transparent 100%);}
.smir-rail-label{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:var(--text-muted);padding:0 1rem 0.35rem;}
.smir-rail{display:flex;gap:0.5rem;overflow-x:auto;padding:0 1rem 0.75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.smir-rail::-webkit-scrollbar{height:4px;}
.smir-rail::-webkit-scrollbar-thumb{background:var(--smir-accent);border-radius:4px;}
.smir-chip{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:stretch;min-width:7.5rem;padding:0.65rem 0.75rem;border-radius:14px;border:1px solid var(--smir-border);background:var(--surface);cursor:pointer;text-align:left;transition:border-color 0.2s,box-shadow 0.2s,transform 0.15s;}
.smir-chip:hover{border-color:var(--smir-accent);transform:translateY(-1px);}
.smir-chip[aria-pressed="true"]{border-color:var(--smir-accent);box-shadow:0 0 0 2px var(--smir-accent-soft);background:var(--smir-accent-soft);}
.smir-chip strong{display:block;font-size:0.8125rem;font-weight:700;color:var(--smir-ink);}
.smir-chip span{font-size:0.6875rem;color:var(--text-muted);margin-top:0.15rem;}
.smir-chip em{font-size:0.625rem;font-style:normal;font-weight:700;color:var(--smir-accent);margin-top:0.35rem;font-variant-numeric:tabular-nums;}
.smir-aspect{margin-top:0.4rem;height:28px;border-radius:6px;background:var(--surface-muted);border:1px solid var(--border);position:relative;overflow:hidden;}
.smir-aspect i{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--smir-accent),#06b6d4);border-radius:3px;opacity:0.85;}
.smir-body{padding:1rem 1rem 1.25rem;display:flex;flex-direction:column;gap:1rem;}
@media (min-width:768px){.smir-body{padding:1.25rem 1.5rem 1.5rem;}}
.smir-dropzone{position:relative;border:2px dashed var(--border);border-radius:16px;padding:1.75rem 1rem;text-align:center;background:var(--surface-muted);transition:border-color 0.2s,background 0.2s;}
.smir-dropzone.smir-dropzone--hover{border-color:var(--smir-accent);background:var(--smir-accent-soft);}
.smir-dropzone input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.smir-drop-icon{width:48px;height:48px;margin:0 auto 0.75rem;border-radius:12px;background:var(--gradient);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:800;}
.smir-dropzone h2{margin:0;font-size:1rem;font-weight:700;color:var(--smir-ink);}
.smir-dropzone p{margin:0.35rem 0 0;font-size:0.8125rem;color:var(--text-muted);line-height:1.45;}
.smir-file-name{font-size:0.75rem;color:var(--smir-accent);font-weight:600;margin-top:0.5rem;min-height:1.25em;}
.smir-controls{display:flex;flex-direction:column;gap:1rem;}
.smir-fieldset{border:0;margin:0;padding:0;}
.smir-fieldset legend{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);padding:0;margin:0 0 0.35rem;}
.smir-fit-row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;}
.smir-fit-row legend{width:100%;}
.smir-seg{display:inline-flex;border-radius:999px;border:1px solid var(--border);overflow:hidden;background:var(--surface);}
.smir-seg label{display:flex;align-items:center;gap:0.35rem;padding:0.45rem 0.9rem;font-size:0.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;margin:0;}
.smir-seg input{clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;}
.smir-seg label:has(input:checked){background:var(--smir-accent-soft);color:var(--smir-ink);}
.smir-format{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;}
.smir-format span{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);}
.smir-select{appearance:none;border:1px solid var(--border);border-radius:10px;padding:0.5rem 2rem 0.5rem 0.75rem;font-size:0.875rem;font-weight:600;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M3 4.5L6 8l3-3.5'/%3E%3C/svg%3E") no-repeat right 0.65rem center;background-size:12px;color:var(--smir-ink);}
.smir-custom-toggle{display:flex;align-items:center;gap:0.5rem;font-size:0.8125rem;font-weight:600;color:var(--smir-accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.smir-custom-grid{display:none;grid-template-columns:1fr 1fr;gap:0.75rem;max-width:20rem;}
.smir-custom-grid.smir-custom-grid--open{display:grid;}
.smir-custom-grid label{display:flex;flex-direction:column;gap:0.25rem;font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);}
.smir-custom-grid input{width:100%;border:1px solid var(--border);border-radius:10px;padding:0.5rem 0.65rem;font-size:0.875rem;font-weight:600;font-variant-numeric:tabular-nums;}
.smir-actions{display:flex;flex-direction:column;gap:0.5rem;}
@media (min-width:480px){.smir-actions{flex-direction:row;flex-wrap:wrap;}}
.smir-btn-primary{flex:1;min-width:10rem;border:0;border-radius:12px;padding:0.85rem 1.25rem;font-size:0.9375rem;font-weight:700;color:#fff;background:var(--gradient);cursor:pointer;box-shadow:var(--shadow-soft);transition:filter 0.2s,transform 0.15s;}
.smir-btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);}
.smir-btn-primary:disabled{opacity:0.45;cursor:not-allowed;transform:none;filter:none;}
.smir-btn-ghost{border:1px solid var(--border);border-radius:12px;padding:0.85rem 1.25rem;font-size:0.875rem;font-weight:700;color:var(--smir-ink);background:var(--surface);cursor:pointer;}
.smir-output{display:none;margin-top:0.25rem;padding:1rem;border-radius:16px;border:1px solid var(--smir-border);background:var(--surface);}
.smir-output.smir-output--visible{display:block;}
.smir-output-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.5rem;margin-bottom:0.75rem;}
.smir-output-head h3{margin:0;font-size:0.9375rem;font-weight:700;}
.smir-dim-badge{font-size:0.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--smir-accent);background:var(--smir-accent-soft);padding:0.25rem 0.65rem;border-radius:999px;}
.smir-preview-wrap{border-radius:12px;overflow:hidden;background:repeating-conic-gradient(#f1f5f9 0% 25%,#e2e8f0 0% 50%) 50% / 16px 16px;border:1px solid var(--border);text-align:center;padding:0.75rem;}
.smir-preview-wrap img{max-width:100%;height:auto;vertical-align:middle;border-radius:8px;box-shadow:var(--shadow-soft);}
.smir-prose{margin:0 0 3rem;}
.smir-prose h2{font-size:1.35rem;font-weight:800;margin:2rem 0 0.75rem;color:var(--smir-ink);line-height:1.25;}
.smir-prose h2:first-child{margin-top:0;}
.smir-prose h3{font-size:1.05rem;font-weight:700;margin:1.5rem 0 0.5rem;color:var(--smir-ink);}
.smir-prose p{font-size:0.9375rem;line-height:1.65;color:var(--text-muted);margin:0 0 0.85rem;}
.smir-prose ul,.smir-prose ol{margin:0 0 1rem;padding-left:1.2rem;color:var(--text-muted);font-size:0.9375rem;line-height:1.6;}
.smir-prose li{margin-bottom:0.35rem;}
.smir-callout{border-left:4px solid var(--smir-accent);padding:0.85rem 1rem;margin:1.25rem 0;background:var(--smir-accent-soft);border-radius:0 12px 12px 0;}
.smir-callout p{margin:0;font-size:0.875rem;color:var(--smir-ink);line-height:1.55;}
.smir-dl{display:grid;gap:0.5rem 1.5rem;margin:1rem 0 1.5rem;}
@media (min-width:600px){.smir-dl{grid-template-columns:auto 1fr;}}
.smir-dl dt{font-size:0.8125rem;font-weight:700;color:var(--smir-ink);}
.smir-dl dd{margin:0;font-size:0.875rem;color:var(--text-muted);line-height:1.5;}
.smir-table-wrap{overflow-x:auto;margin:1rem 0 1.5rem;border-radius:12px;border:1px solid var(--border);}
.smir-table{width:100%;border-collapse:collapse;font-size:0.8125rem;}
.smir-table th,.smir-table td{padding:0.65rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);}
.smir-table th{background:var(--surface-muted);font-weight:700;color:var(--smir-ink);}
.smir-table td{color:var(--text-muted);font-variant-numeric:tabular-nums;}
.smir-table tr:last-child td{border-bottom:0;}
.smir-trust{font-size:0.875rem;color:var(--text-muted);line-height:1.6;margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border);}
