:root{--bg: #ffffff;--surface: #f8fafc;--card: var(--surface);--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--line: #e2e8f0;--line-strong: #cbd5e1;--accent: #1d4ed8;--accent-hover: #1e40af;--accent-soft: #eff6ff;--accent-ring: rgb(29 78 216 / .35);--danger: #b91c1c;--danger-soft: #fef2f2;--danger-ring: rgb(185 28 28 / .3);--note-bg: #fffbeb;--note-line: #f59e0b;--note-ink: #78350f;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.125rem;--fs-xl: clamp(1.375rem, 1.2rem + .8vw, 1.625rem);--fs-h1: clamp(1.625rem, 1.3rem + 1.6vw, 2.25rem);--fs-figure: clamp(1.75rem, 1.4rem + 1.5vw, 2.25rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--radius: 14px;--radius-sm: 10px;--tap: 48px;--maxw: 720px;--shadow: 0 1px 2px rgb(15 23 42 / .04), 0 4px 16px rgb(15 23 42 / .05)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--fs-base);line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}[hidden]{display:none!important}img,svg{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:-100px;z-index:10;padding:var(--s-2) var(--s-4);background:var(--ink);color:#fff;border-radius:var(--radius-sm);text-decoration:none}.skip-link:focus{top:var(--s-2);color:#fff}.site-header{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-3);padding:var(--s-1) max(var(--s-4),calc((100% - var(--maxw)) / 2 + var(--s-4)));border-bottom:1px solid var(--line);background:var(--bg)}.site-header .brand{display:inline-flex;align-items:center;min-height:var(--tap);font-weight:700;font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--ink);text-decoration:none}.site-header .brand:hover{color:var(--accent)}.site-header .tag{color:var(--muted);font-size:var(--fs-sm);padding-bottom:var(--s-2)}@media (min-width: 480px){.site-header .tag{padding-bottom:0}}main{max-width:var(--maxw);margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-7)}@media (min-width: 640px){main{padding-top:var(--s-6)}}h1{font-size:var(--fs-h1);line-height:1.15;letter-spacing:-.02em;font-weight:800;margin:0 0 var(--s-2);text-wrap:balance}h2{font-size:var(--fs-xl);line-height:1.25;letter-spacing:-.01em;margin:var(--s-6) 0 var(--s-3);text-wrap:balance}h3{font-size:var(--fs-lg);line-height:1.3;margin:var(--s-5) 0 var(--s-2)}p{margin:0 0 var(--s-4)}.lede{color:var(--ink-2);font-size:var(--fs-lg);max-width:60ch;margin:0 0 var(--s-5)}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-4);box-shadow:var(--shadow)}.tool>:first-child{margin-top:0}.tool>:last-child{margin-bottom:0}@media (min-width: 480px){.tool{padding:var(--s-5)}}fieldset{border:0;margin:0;padding:0;min-width:0}legend,label{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--ink-2);margin:var(--s-4) 0 var(--s-2);padding:0}fieldset:first-child legend{margin-top:0}.field-group{margin-top:var(--s-4)}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;min-height:var(--tap);padding:var(--s-2) var(--s-3);font-size:max(16px,1rem);color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color .15s,box-shadow .15s}textarea{min-height:9rem;resize:vertical;line-height:1.5;font-family:var(--font-mono)}input:hover,select:hover,textarea:hover{border-color:#94a3b8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}[aria-invalid=true]{border-color:var(--danger)}[aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-ring)}.input-lg{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}.input-affix{position:relative}.input-affix>span{position:absolute;left:var(--s-3);top:50%;transform:translateY(-50%);color:var(--muted);font-weight:600;pointer-events:none}.input-affix>input{padding-left:2.75rem}.hint{font-size:var(--fs-sm);color:var(--muted);margin:var(--s-2) 0 0}.error{font-size:var(--fs-sm);color:var(--danger);font-weight:600;margin:var(--s-2) 0 0}button{width:100%;min-height:var(--tap);margin-top:var(--s-4);padding:var(--s-2) var(--s-4);background:var(--accent);color:#fff;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;touch-action:manipulation;transition:background-color .15s,border-color .15s}button:hover{background:var(--accent-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:var(--accent);border-color:var(--line-strong)}.btn-secondary:hover{background:var(--accent-soft);border-color:var(--accent)}.actions{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-top:var(--s-3)}.actions>button{margin-top:0;flex:1 1 auto;width:auto}@media (min-width: 480px){.actions>button{flex:0 0 auto}}.segmented{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:#e9eef5;border-radius:var(--radius-sm)}.segmented input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}.segmented label{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:var(--s-2) var(--s-3);border-radius:calc(var(--radius-sm) - 3px);font-size:var(--fs-sm);line-height:1.2;text-align:center;color:var(--ink-2);cursor:pointer;transition:background-color .15s,color .15s}.segmented label:hover{color:var(--ink)}.segmented input:checked+label{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0f172a1f}.segmented input:focus-visible+label{outline:3px solid var(--accent);outline-offset:1px}.result{margin-top:var(--s-5);padding:var(--s-4);background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--fs-lg);font-weight:600}.result:empty{display:none}.result-label{font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.result-value{margin-top:var(--s-1);font-size:var(--fs-figure);font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.breakdown{display:grid;grid-template-columns:1fr auto;gap:var(--s-2) var(--s-4);margin:var(--s-4) 0 0;padding-top:var(--s-3);border-top:1px dashed var(--line-strong);font-size:var(--fs-base);font-weight:400}.breakdown dt{color:var(--ink-2)}.breakdown dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.breakdown .total{padding-top:var(--s-2);border-top:1px solid var(--line);font-weight:700;color:var(--ink)}.explain{margin:var(--s-3) 0 0;color:var(--muted);font-size:var(--fs-sm);font-weight:400;white-space:pre-line;font-variant-numeric:tabular-nums}.table-wrap{margin-top:var(--s-4);overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);font-variant-numeric:tabular-nums}th,td{padding:var(--s-2) var(--s-3);text-align:right;white-space:nowrap;border-bottom:1px solid var(--line)}thead th{background:var(--surface);color:var(--ink-2);font-weight:600}tfoot th,tfoot td{background:var(--accent-soft);font-weight:700;border-bottom:0}.text-left{text-align:left}.line-cell{max-width:11rem;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}tr.is-error td{color:var(--danger);background:var(--danger-soft)}.note{margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);background:var(--note-bg);border-left:4px solid var(--note-line);border-radius:var(--radius-sm);color:var(--note-ink);font-size:var(--fs-sm)}.note a{color:inherit;font-weight:600}.ad-slot{position:relative;display:grid;place-items:center;min-height:calc(100px + 2rem);margin:var(--s-6) 0;padding:var(--s-5) var(--s-3) var(--s-3);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);font-size:var(--fs-xs);overflow:hidden;contain:layout}.ad-slot:before{content:"Publicidad";position:absolute;top:var(--s-2);left:var(--s-3);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}@media (min-width: 768px){.ad-slot{min-height:calc(90px + 2rem)}}.prose{margin-top:var(--s-6)}.prose>h2:first-child{margin-top:0}.prose p,.prose li{color:var(--ink-2);max-width:65ch}.prose ul,.prose ol{padding-left:1.25rem;margin:0 0 var(--s-4)}.prose li+li{margin-top:var(--s-2)}.prose strong{color:var(--ink)}code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);border:1px solid var(--line);padding:.1em .35em;border-radius:6px}.site-footer{max-width:var(--maxw);margin:0 auto;padding:var(--s-5) var(--s-4) var(--s-6);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-sm)}.site-footer p{margin:0 0 var(--s-2)}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}.site-footer small{display:block;margin-top:var(--s-1);line-height:1.5}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}@media print{.ad-slot,.actions,.skip-link,.site-header .tag{display:none!important}.tool{box-shadow:none}}.badge{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);margin:0 0 var(--s-5);background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:999px;font-size:var(--fs-sm);font-weight:600}.dropzone{position:relative;background:#fff;border:2px dashed var(--line-strong);border-radius:var(--radius);transition:border-color .15s,background-color .15s}.dropzone label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-1);min-height:9rem;margin:0;padding:var(--s-5) var(--s-4);text-align:center;font-weight:400;font-size:var(--fs-sm);color:var(--muted);cursor:pointer}.dropzone label strong{color:var(--accent);font-size:var(--fs-lg)}.dropzone-icon{font-size:2rem;line-height:1}.dropzone:hover,.dropzone.is-dragover{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:3px solid var(--accent);outline-offset:2px}.dropzone.is-compact label{min-height:var(--tap);flex-direction:row;gap:var(--s-2);padding:var(--s-2) var(--s-4)}.dropzone.is-compact label strong{font-size:var(--fs-base)}.dropzone.is-compact .dropzone-icon{font-size:1.25rem}.dropzone.is-compact .dropzone-sub{display:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s-3)}input[type=range]{min-height:var(--tap);padding:0;border:0;background:transparent;box-shadow:none;accent-color:var(--accent);cursor:pointer}input[type=range]:focus{box-shadow:none}input[type=range]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input:disabled,select:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}output{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.preview{margin:var(--s-4) 0 0;padding:var(--s-3);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);text-align:center}.preview img{display:inline-block;max-width:100%;max-height:60vh;width:auto;height:auto;border-radius:4px;box-shadow:0 0 0 1px var(--line)}.preview figcaption{margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--muted)}.result[aria-busy=true],.preview[aria-busy=true]{opacity:.6;transition:opacity .15s}.explain.is-ok{color:#047857}.explain.is-warn{color:var(--note-ink)}.check{display:flex;align-items:flex-start;gap:var(--s-3);min-height:var(--tap);margin:var(--s-3) 0 0;padding:var(--s-2) 0;font-size:var(--fs-base);font-weight:400;color:var(--ink);cursor:pointer}.check input{flex:none;width:1.25rem;height:1.25rem;min-height:0;margin:.15rem 0 0;padding:0;accent-color:var(--accent)}.check input:focus{box-shadow:none}.check input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.steps{list-style:none;counter-reset:step;margin:var(--s-4) 0 0;padding:var(--s-2) 0 0;border-top:1px dashed var(--line-strong);font-size:var(--fs-base);font-weight:400}.steps li{counter-increment:step;display:grid;grid-template-columns:1.5rem 1fr auto;gap:var(--s-1) var(--s-3);align-items:baseline;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}.steps li:before{content:counter(step);grid-row:span 2;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:700}.step-label{font-weight:600;color:var(--ink)}.step-value{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.step-how{grid-column:2 / -1;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.steps li.is-total{border-bottom:0}.steps li.is-total .step-label,.steps li.is-total .step-value{font-weight:800}.steps li.is-total:before{background:var(--accent);color:#fff}.faq{margin:var(--s-3) 0 var(--s-5);border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:var(--tap);padding:var(--s-3) 0;font-weight:600;color:var(--ink);cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;line-height:1}.faq details[open] summary:after{content:"−"}.faq summary:hover{color:var(--accent)}.faq details>:not(summary){margin:0 0 var(--s-3)}.step-value.is-negative{color:var(--danger)}.tool-nav{position:sticky;top:0;z-index:5;display:flex;gap:var(--s-2);margin:0 calc(-1 * var(--s-4)) var(--s-5);padding:var(--s-2) var(--s-4);overflow-x:auto;scrollbar-width:none;background:var(--bg);border-bottom:1px solid var(--line)}.tool-nav::-webkit-scrollbar{display:none}.tool-nav a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s-4);background:#fff;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-2);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.tool-nav a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.tool-section{scroll-margin-top:4.5rem}.tool-section+.tool-section,.ad-slot+.tool-section{margin-top:var(--s-7)}.tool-section>h2{margin-top:0}.tool-section .prose{margin-top:var(--s-5)}.prose h3:first-child{margin-top:0}.band{margin-top:var(--s-4)}.band legend strong{color:var(--ink)}.swatches{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:var(--s-2)}.swatches input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;border:0;opacity:0;pointer-events:none}.swatch{display:block;min-height:44px;margin:0;padding:0;border:1px solid rgb(15 23 42 / .2);border-radius:var(--radius-sm);cursor:pointer;transition:transform .1s}.swatch:hover{transform:translateY(-1px)}.swatches input:checked+.swatch{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.swatches input:focus-visible+.swatch{outline:3px solid var(--accent);outline-offset:4px}.diagram{margin:var(--s-4) 0 0;padding:var(--s-3);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink)}.diagram svg{display:block;width:100%;height:auto;max-height:240px;margin:0 auto}.diagram svg text{font-family:var(--font);font-size:13px;fill:currentColor}.diagram figcaption{margin-top:var(--s-2);font-size:var(--fs-sm);color:var(--muted);text-align:center}.dropzone.dropzone-lg label{min-height:13rem}.dropzone.dropzone-lg.is-compact label{min-height:var(--tap)}.dropzone[data-state=error]{border-color:var(--danger);background:var(--danger-soft)}.dropzone[data-state=loaded]{border-style:solid}.dropzone[data-state=reading] label{cursor:progress}.spinner{display:inline-block;width:1.5rem;height:1.5rem;border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;animation:mtb-spin .8s linear infinite}@keyframes mtb-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:2.4s}}.file-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);margin:var(--s-3) 0 0;font-size:var(--fs-sm);color:var(--ink-2)}.file-info .file-name{font-weight:600;color:var(--ink);overflow-wrap:anywhere}.ext-badge{display:inline-flex;align-items:center;padding:.1rem var(--s-2);border-radius:6px;background:var(--ink);color:#fff;font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--s-3);margin-top:var(--s-4)}.action-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}.action-card h3{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin:0;font-size:var(--fs-lg)}.action-card p{flex:1;margin:0;color:var(--muted);font-size:var(--fs-sm)}.action-card button{margin-top:var(--s-2)}.action-card.is-active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.action-card.is-soon{background:var(--surface);border-style:dashed}.action-card.is-soon h3{color:var(--ink-2)}.pill{display:inline-flex;align-items:center;padding:.1rem var(--s-2);border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:var(--fs-xs);font-weight:700}.pill-soon{background:#eef2f6;color:var(--muted)}.panel{margin-top:var(--s-5);padding:var(--s-4);background:#fff;border:1px solid var(--line);border-radius:var(--radius);scroll-margin-top:var(--s-4)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.panel-head h3{margin:0}.panel-head h3:focus{outline:none}.panel-head button{width:auto;margin:0}.file-list{list-style:none;margin:var(--s-3) 0 0;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm)}.file-list li{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line)}.file-list li:last-child{border-bottom:0}.file-list .file-meta{flex:1;min-width:0;font-size:var(--fs-sm);color:var(--muted)}.file-list .file-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.btn-icon{flex:none;width:44px;min-height:44px;margin:0;padding:0;font-size:1.05rem}.link-list{list-style:none;display:grid;gap:var(--s-2);margin:var(--s-3) 0 0;padding:0}.link-list a{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);min-height:var(--tap);padding:var(--s-2) var(--s-3);background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-weight:600;text-decoration:none}.link-list a:hover{background:var(--accent-soft);border-color:var(--accent)}.link-list small{color:var(--muted);font-weight:400;white-space:nowrap}.text-button{width:auto;min-height:var(--tap);margin:0;padding:0 var(--s-2);background:none;border:0;color:var(--muted);font-weight:400;text-decoration:underline}.text-button:hover{background:none;color:var(--ink)}main.mtb-main{max-width:none;margin:0;padding:0}.stage{position:relative;display:grid;min-height:calc(100vh - 3.25rem);min-height:calc(100svh - 3.25rem)}.stage[data-state=empty]{place-items:center;padding:var(--s-5) var(--s-4);background:radial-gradient(60% 50% at 50% 38%,#e8f0ff,#e8f0ff00 70%),linear-gradient(180deg,#f8fafc,#fff)}.stage[data-state=work]{min-height:0;align-items:start;padding:var(--s-4) var(--s-4) var(--s-6);background:var(--surface);border-bottom:1px solid var(--line)}.invite{width:min(100%,640px)}.invite-target{display:flex;flex-direction:column;align-items:center;gap:var(--s-3);padding:var(--s-7) var(--s-5);text-align:center;background:#ffffffb8;border:2px dashed #c7d6f5;border-radius:28px;cursor:pointer;transition:border-color .2s,background-color .2s}.invite-target:hover,body.is-dragging .invite-target{border-color:var(--accent);background:#fff}.invite-target h1{margin:0;font-size:clamp(2rem,1.4rem + 3vw,3.25rem);letter-spacing:-.03em}.invite-target p{margin:0;max-width:38ch;color:var(--ink-2);font-size:var(--fs-lg)}.invite-orb{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#c7d9ff 45%,#93b4f5);box-shadow:0 10px 40px #2563eb40;color:#fff;font-size:2rem;animation:mtb-breathe 6s ease-in-out infinite}@keyframes mtb-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.invite-cta{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);margin:var(--s-2) 0 0;padding:0 var(--s-6);background:var(--accent);color:#fff;border-radius:999px;font-size:var(--fs-base);font-weight:600;cursor:pointer}.invite-cta:hover{background:var(--accent-hover)}#file:focus-visible+.invite .invite-cta{outline:3px solid var(--accent);outline-offset:3px}.invite-promise{color:#065f46;font-size:var(--fs-sm);font-weight:600}.invite-formats{color:var(--muted);font-size:var(--fs-xs)}.workspace{display:grid;gap:var(--s-5);width:100%;max-width:1200px;margin:0 auto}@media (min-width: 900px){.workspace{grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:var(--s-6);align-items:start}.tray{position:sticky;top:var(--s-4)}}.tray-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2)}.tray-head h2{margin:0;font-size:var(--fs-lg)}.tray-tools{display:flex;align-items:center;gap:var(--s-1)}.tray-tools button{width:auto;margin:0}.tray-list{display:flex;gap:var(--s-3);margin:var(--s-3) calc(-1 * var(--s-4)) 0;padding:var(--s-2) var(--s-4) var(--s-3);overflow-x:auto;list-style:none;scroll-snap-type:x proximity}@media (min-width: 900px){.tray-list{flex-direction:column;margin:var(--s-3) 0 0;padding:var(--s-2) 0 var(--s-3);overflow:visible}}.tray-item{position:relative;flex:0 0 210px;scroll-snap-align:start;animation:mtb-float 7s ease-in-out infinite}.tray-item:nth-child(3n+2){animation-duration:8.5s;animation-delay:-2.5s}.tray-item:nth-child(3n){animation-duration:9.5s;animation-delay:-5s}@media (min-width: 900px){.tray-item{flex-basis:auto}}@keyframes mtb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.tray-select{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:72px;margin:0;padding:var(--s-3) 3.25rem var(--s-3) var(--s-3);background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px #0f172a14;font-weight:400;text-align:left}.tray-select:hover{background:#fff;border-color:var(--line-strong)}.tray-item.is-active .tray-select{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring),0 10px 28px #2563eb26}.tray-item.is-error .tray-select{border-color:var(--danger);background:var(--danger-soft)}.tray-thumb{flex:none;display:grid;place-items:center;width:48px;height:48px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:var(--fs-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tray-thumb img{width:100%;height:100%;object-fit:cover}.tray-thumb.is-pdf{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.tray-meta{display:flex;flex-direction:column;gap:2px;min-width:0;color:var(--muted);font-size:var(--fs-sm)}.tray-meta strong{overflow:hidden;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.tray-item.is-error .tray-meta span{color:var(--danger)}.tray-remove{position:absolute;top:50%;right:var(--s-1);width:44px;min-height:44px;margin:0;padding:0;transform:translateY(-50%);background:transparent;border:0;border-radius:999px;color:var(--muted);font-size:1.1rem}.tray-remove:hover{background:var(--surface);color:var(--ink)}.deck{min-width:0}.deck-head h2{margin:0;font-size:var(--fs-xl);overflow-wrap:anywhere}.deck-head h2:focus{outline:none}.deck-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);margin:var(--s-2) 0 0;color:var(--muted);font-size:var(--fs-sm)}.deck-group{margin-top:var(--s-5)}.deck-group h3{margin:0;color:var(--muted);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase}.spinner-sm{width:1rem;height:1rem;border-width:2px}.crop-stage{position:relative;width:fit-content;max-width:100%;margin:var(--s-4) auto 0;overflow:hidden;background:#0f172a;border-radius:var(--radius-sm);line-height:0;user-select:none;-webkit-user-select:none}.crop-stage canvas{display:block;width:auto;height:auto;max-width:100%;max-height:60vh}.crop-box{position:absolute;outline:2px solid #fff;box-shadow:0 0 0 9999px #0f172a8c;cursor:move;touch-action:none;background-image:linear-gradient(to right,transparent 33.2%,rgb(255 255 255 / .45) 33.2%,rgb(255 255 255 / .45) 33.5%,transparent 33.5%,transparent 66.5%,rgb(255 255 255 / .45) 66.5%,rgb(255 255 255 / .45) 66.8%,transparent 66.8%),linear-gradient(to bottom,transparent 33.2%,rgb(255 255 255 / .45) 33.2%,rgb(255 255 255 / .45) 33.5%,transparent 33.5%,transparent 66.5%,rgb(255 255 255 / .45) 66.5%,rgb(255 255 255 / .45) 66.8%,transparent 66.8%)}.crop-box:focus-visible{outline:3px solid var(--accent)}.crop-handle{position:absolute;width:32px;height:32px;touch-action:none}.crop-handle:after{content:"";position:absolute;width:14px;height:14px;background:#fff;border-radius:3px;box-shadow:0 1px 4px #00000073}.crop-handle[data-h=nw]{left:-6px;top:-6px;cursor:nwse-resize}.crop-handle[data-h=nw]:after{left:4px;top:4px}.crop-handle[data-h=ne]{right:-6px;top:-6px;cursor:nesw-resize}.crop-handle[data-h=ne]:after{right:4px;top:4px}.crop-handle[data-h=sw]{left:-6px;bottom:-6px;cursor:nesw-resize}.crop-handle[data-h=sw]:after{left:4px;bottom:4px}.crop-handle[data-h=se]{right:-6px;bottom:-6px;cursor:nwse-resize}.crop-handle[data-h=se]:after{right:4px;bottom:4px}.drop-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#eff6ffe6;border:3px dashed var(--accent);color:var(--accent);font-size:var(--fs-xl);font-weight:700;opacity:0;pointer-events:none;transition:opacity .15s}body.is-dragging .drop-veil{opacity:1}.mtb-below{max-width:var(--maxw);margin:0 auto;padding:var(--s-6) var(--s-4) var(--s-7)}@media (prefers-reduced-motion: reduce){.tray-item,.invite-orb{animation:none}}
