:root{--bg: #f7f8fc;--surface: #ffffff;--surface-alt: #f3f4f8;--surface-sunken: #eef0f6;--text: #1f2430;--text-muted: #5b6271;--text-faint: #8b91a1;--border: #e4e7f0;--border-strong: #d3d8e6;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0ff;--accent-2: #c2724f;--accent-2-soft: #f7ede7;--success: #15a06b;--success-soft: #e6f6ee;--danger: #d6455d;--danger-soft: #fcebee;--warning: #c98a1b;--grad-brand: linear-gradient(120deg, #1d4ed8 0%, #2563eb 45%, #3b82f6 100%);--grad-soft: linear-gradient(135deg, #eef0ff 0%, #f7ede7 100%);--radius-sm: 8px;--radius: 14px;--radius-lg: 22px;--shadow-sm: 0 1px 2px rgba(31, 36, 48, .06);--shadow: 0 6px 20px rgba(31, 36, 48, .08);--shadow-lg: 0 18px 48px rgba(31, 36, 48, .14);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}::selection{background:var(--accent-soft)}.app{min-height:100vh;display:flex;flex-direction:column}.site-header{background:var(--grad-brand);color:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:20}.site-header__inner{max-width:960px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px}.brand__mark{width:42px;height:42px;border-radius:12px;background:#ffffff29;display:grid;place-items:center;backdrop-filter:blur(4px)}.brand__text{display:flex;flex-direction:column;line-height:1.2}.brand__name{font-weight:700;font-size:1.12rem;letter-spacing:.2px}.brand__tag{font-size:.78rem;opacity:.85}.pill-link{color:#fff;text-decoration:none;font-weight:600;font-size:.86rem;padding:8px 16px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.28);transition:background .15s ease;white-space:nowrap}.pill-link:hover{background:#ffffff47}.app__main{flex:1;width:100%;max-width:960px;margin:0 auto;padding:40px 24px 64px}.hero{text-align:center;margin-bottom:32px}.hero__title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;margin:0 0 12px;letter-spacing:-.5px}.hero__title span{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero__subtitle{margin:0 auto;max-width:560px;color:var(--text-muted);font-size:1.04rem;line-height:1.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:28px;margin-bottom:24px}.workspace__step{display:flex;align-items:center;gap:12px;margin:26px 0 14px}.workspace__step:first-child{margin-top:0}.workspace__heading{font-size:1.04rem;font-weight:700;margin:0}.step-badge{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:.86rem;flex:0 0 auto}.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-alt);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .05s ease;color:var(--text-muted)}.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone--active{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.005)}.dropzone__icon{width:64px;height:64px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;background:var(--grad-soft);color:var(--accent)}.dropzone__title{font-size:1.05rem;font-weight:600;color:var(--text);margin:0 0 6px}.dropzone__title span{color:var(--accent);text-decoration:underline}.dropzone__hint{margin:0;font-size:.84rem;color:var(--text-faint)}.filecard{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-alt)}.filecard__icon{flex:0 0 auto;width:48px;height:48px;border-radius:10px;background:var(--grad-brand);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.72rem;letter-spacing:.5px}.filecard__meta{flex:1;min-width:0;display:flex;flex-direction:column}.filecard__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filecard__size{font-size:.82rem;color:var(--text-faint)}.formats__from{color:var(--text-muted);margin-bottom:12px}.formats__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.format-chip{text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:14px 16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.format-chip:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.format-chip--active{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #4f46e51f}.format-chip__label{font-weight:700;color:var(--text)}.format-chip__desc{font-size:.8rem;color:var(--text-muted)}.convert-panel{margin-top:6px}.convert-panel__actions{display:flex;flex-wrap:wrap;gap:12px}.btn{border:none;border-radius:10px;padding:12px 22px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .05s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #4f46e547}.btn--primary:not(:disabled):hover{background:var(--accent-hover)}.btn--success{background:var(--success);color:#fff;box-shadow:0 6px 16px #15a06b42}.btn--success:not(:disabled):hover{filter:brightness(.96)}.btn--ghost{background:var(--surface);color:var(--accent);border:1.5px solid var(--border-strong)}.btn--ghost:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft)}.btn--sm{padding:6px 12px;font-size:.8rem;border-radius:8px}.progress{margin-top:18px;position:relative;height:30px;background:var(--surface-sunken);border-radius:999px;overflow:hidden}.progress__bar{height:100%;background:var(--grad-brand);border-radius:999px;transition:width .25s ease}.progress__label{position:absolute;inset:0;display:grid;place-items:center;font-size:.8rem;font-weight:600;color:var(--text)}.alert{margin-top:18px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem}.alert--error{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(214,69,93,.25)}.preview__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.preview__title{font-weight:700;font-size:1.05rem}.preview__body{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface-alt)}.preview__text{margin:0;padding:18px;max-height:460px;overflow:auto;font-family:var(--font-mono);font-size:.84rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text)}.preview__html{padding:24px;max-height:520px;overflow:auto;background:#fff;line-height:1.6}.preview__html :first-child{margin-top:0}.preview__images{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding:18px}.preview__page{margin:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}.preview__page img{display:block;width:100%;height:auto}.preview__page figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:.82rem;color:var(--text-muted);border-top:1px solid var(--border)}.preview--empty{padding:8px 0}.about-card{background:linear-gradient(140deg,#fff,#f7f9ff)}.about-card__header{margin-bottom:18px}.about-card__title{margin:0;font-size:1.2rem;letter-spacing:-.2px}.about-card__subtitle{margin:6px 0 0;color:var(--text-muted)}.about-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.about-profile{border:1px solid var(--border);background:#fff;border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.about-profile__label{text-transform:uppercase;letter-spacing:1.3px;font-size:.72rem;font-weight:700;color:var(--accent-2)}.about-profile__main{display:flex;align-items:center;gap:12px}.about-profile__avatar{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface-sunken)}.about-profile__avatar--org{border-radius:16px}.about-profile__meta{min-width:0;display:flex;flex-direction:column;gap:2px}.about-profile__meta strong{color:var(--text)}.about-profile__meta span{color:var(--text-muted);font-size:.88rem}.about-profile__tagline{margin:0;color:var(--text-muted);font-size:.9rem}.about-profile__links{display:flex;flex-wrap:wrap;gap:10px}.about-profile__links a{color:var(--accent);text-decoration:none;font-weight:600;font-size:.9rem}.about-profile__links a:hover{text-decoration:underline}.site-footer{background:var(--surface);border-top:1px solid var(--border);margin-top:auto}.site-footer__inner{max-width:960px;margin:0 auto;padding:32px 24px 8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.credit{display:flex;flex-direction:column;gap:8px}.credit__role{text-transform:uppercase;letter-spacing:1.5px;font-size:.7rem;font-weight:700;color:var(--accent-2)}.credit__profile{display:flex;align-items:center;gap:12px}.credit__avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;border:2px solid var(--border);box-shadow:var(--shadow-sm);background:var(--surface-sunken)}.credit__avatar--org{border-radius:16px}.credit__profileText{display:flex;flex-direction:column;gap:2px;min-width:0}.credit__name{font-weight:700;color:var(--text);line-height:1.2}.credit__links{display:flex;align-items:center;gap:8px}.credit a{color:var(--accent);font-weight:600;text-decoration:none}.credit a:hover{text-decoration:underline}.credit__sep{color:var(--text-faint)}.credit__org{font-weight:700}.credit__tag{font-size:.84rem;color:var(--text-muted)}.site-footer__base{max-width:960px;margin:0 auto;padding:16px 24px 28px;font-size:.8rem;color:var(--text-faint);text-align:center}.muted{color:var(--text-muted)}@media (max-width: 560px){.card{padding:20px}.app__main{padding:28px 16px 48px}}
