:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f7f9f8;--panel:#fff;--border:#dfe7ea;--text:#172033;--muted:#58657a;--accent:#0d5c70;--accent-strong:#0a4351;--accent-soft:#e9f4f6;--success:#1b8c61;--success-soft:#e9f7f1;--danger:#b54436;--danger-soft:#fff1ed;--shadow:0 20px 50px #0f172a17;background:#f7f9f8;font-family:Inter,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:linear-gradient(#f7f9f8 0%,#eef3f2 100%);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafced;border-bottom:1px solid #dde5ef;position:sticky;top:0}.nav-wrap,.footer-content,.page-shell{width:min(1100px,100% - 32px);margin:0 auto}.nav-wrap{justify-content:space-between;align-items:center;min-height:72px;display:flex}.brand,.footer-brand{align-items:center;gap:10px;font-size:19px;font-weight:800;display:inline-flex}.brand small,.footer-brand small{color:var(--muted);font-size:11px;font-weight:600;display:block}.brand-mark{color:#fff;background:#f06449;border-radius:8px;justify-content:center;align-items:center;width:29px;height:29px;font-family:monospace;font-size:18px;font-weight:700;display:inline-flex}.nav-links{color:#536175;gap:26px;font-size:14px;font-weight:600;display:flex}.nav-links a:hover,.footer-links a:hover{color:var(--accent)}.page-shell{flex:1;padding:36px 0 56px}.tool-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:30px 28px 26px}.eyebrow{color:#d26045;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}h1,h2,p,ol,ul{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:0;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.08}h2{letter-spacing:-.035em;font-size:1.45rem;line-height:1.2}.page-subtitle{max-width:680px;color:var(--muted);margin:16px 0 0;font-size:1.1rem;line-height:1.6}.privacy-banner{background:var(--success-soft);color:var(--success);border:1px solid #1b8c612e;border-radius:999px;align-items:center;gap:10px;margin-top:20px;padding:12px 16px;font-weight:600;display:inline-flex}.dropzone-wrap{margin-top:28px}.dropzone{background:linear-gradient(#f9fbfb 0%,#f3f8f6 100%);border:2px dashed #b9d4d7;border-radius:22px;justify-content:center;align-items:stretch;min-height:240px;transition:all .2s;display:flex}.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.dropzone-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.dropzone-icon{color:var(--accent)}.dropzone-title{letter-spacing:-.04em;font-size:clamp(1.5rem,2vw,2rem);font-weight:700}.dropzone-divider,.dropzone-caption{color:var(--muted)}.file-input{display:none}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 17px;font-weight:700;transition:all .2s;display:inline-flex}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{color:var(--accent);background:#fff;border-color:#c9d9dc}.button.secondary:hover{background:var(--accent-soft)}.button.ghost{color:var(--muted);background:0 0;border-color:#0000}.button.ghost:hover{color:var(--accent)}.file-summary{border:1px solid var(--border);background:#f8fbfa;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding:16px 18px;display:flex}.file-summary-main{min-width:0;color:var(--accent);align-items:center;gap:12px;display:flex}.file-summary-main div{min-width:0}.file-summary strong,.file-summary span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.file-summary strong{color:var(--text)}.file-summary span{color:var(--muted);margin-top:3px;font-size:.9rem}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--danger);border-color:#e6b9b1}.status-box{background:var(--accent-soft);border:1px solid #c9dfe2;border-radius:14px;margin-top:22px;padding:18px}.status-row{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.status-row strong{color:var(--muted);font-weight:600}.progress-track{background:#d5e4e4;border-radius:99px;height:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .2s;display:block}.progress-caption{color:var(--muted);margin-top:8px;font-size:.85rem;display:block}.message{border-radius:12px;margin-top:20px;padding:16px}.message.error{background:var(--danger-soft);color:var(--danger);border:1px solid #edc2bb}.message.empty{background:#fffaf0;border:1px solid #e5d3a9}.message.empty p{color:var(--muted);margin:8px 0}.message.partial{color:#745b22;background:#fffaf0;border:1px solid #e5d3a9;margin:14px 0}.success-heading{color:var(--success);flex-wrap:wrap;align-items:center;gap:9px;margin:28px 0 14px;display:flex}.success-heading span{width:100%;color:var(--muted);font-size:.9rem}.result-area textarea{resize:vertical;color:#263143;background:#fbfdfc;border:1px solid #cddcdf;border-radius:12px;outline:none;width:100%;min-height:410px;padding:18px;font-family:SFMono-Regular,Consolas,monospace;font-size:.92rem;line-height:1.65;display:block}.result-area textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0d5c701f}.action-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.notice{color:var(--success);margin:14px 0 0;font-weight:600}.content-section{grid-template-columns:repeat(3,1fr);gap:30px;margin:58px 4px 0;display:grid}.content-section p,.content-section li,.faq-section p{color:var(--muted);line-height:1.7}.content-section ol,.content-section ul{padding-left:20px}.faq-section{margin:58px 4px 0}.faq-section details{border-top:1px solid var(--border);padding:18px 0}.faq-section details:last-child{border-bottom:1px solid var(--border)}summary{cursor:pointer;font-weight:700}.site-footer{color:#eef3f9;background:#172033;padding:36px 0 26px}.footer-brand{font-size:17px}.footer-brand small{color:#d4ddea}.footer-links{flex-wrap:wrap;gap:18px;margin-top:22px;display:flex}.footer-links a,.site-footer>.footer-content>small{color:#d4ddea;font-size:12px}.site-footer>.footer-content>small{border-top:1px solid #ffffff1f;margin-top:26px;padding-top:18px;display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.nav-wrap,.footer-content,.page-shell{width:min(100% - 24px,1100px)}.nav-links{gap:14px}.tool-panel{padding:24px 16px}.privacy-banner{border-radius:14px;align-items:flex-start;font-size:.9rem}.content-section{grid-template-columns:1fr;gap:18px;margin-top:42px}.content-section h2{margin-bottom:10px}.action-row .button{flex:calc(50% - 10px)}.action-row .ghost{flex-basis:100%}.status-row{flex-direction:column;align-items:flex-start;gap:4px}}
