:root{--primary:#0aa8a7;--primary-dark:#0e8e8f;--secondary:#1e858b;--accent:#fb3;--bg:#fff;--bg-soft:#f6f6f6;--surface:#ffffffe0;--surface-strong:#fff;--border:#0aa8a71f;--text:#333;--text-soft:#636363;--text-strong:#222;--danger:#d94b4b;--shadow:0 20px 60px #093f481a;--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--container-width:1170px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Quicksand,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);background:radial-gradient(circle at 0 0,#0aa8a714,#0000 28%),linear-gradient(#fbffff 0%,#fff 45%,#f8fafa 100%);margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.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}#app,.app-shell{min-height:100vh}.container{width:min(var(--container-width), calc(100% - 32px));margin:0 auto}.hero-section{margin-bottom:1rem;padding:1.5rem 0;position:relative;overflow:hidden}.hero-background{pointer-events:none;background:linear-gradient(135deg,#0aa8a724,#1e858b0a),url(/icons.svg) right -60px top -40px/320px no-repeat;position:absolute;inset:0}.hero-content{grid-template-columns:minmax(0,1.2fr) minmax(320px,420px);align-items:center;gap:28px;display:grid;position:relative}.tool-hero-content{grid-template-columns:1fr}.hero-copy h1,.section-heading h2{color:var(--text-strong);margin:0}.hero-copy h1{letter-spacing:-.04em;font-size:clamp(2.5rem,5vw,4.25rem);line-height:1.1}.hero-badge,.section-eyebrow,.result-badge{color:var(--primary-dark);background:#0aa8a71a;border-radius:999px;align-items:center;font-size:.85rem;font-weight:700;display:inline-flex}.hero-badge,.section-eyebrow{padding:8px 14px}.hero-description,.section-heading p,.result-text,.uploader-dropzone span,.uploader-dropzone small,.empty-state span,.note-list li,.status-strip p{color:var(--text-soft);line-height:1.75}.hero-description{max-width:680px;margin-top:18px;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.surface-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-panel{padding:26px}.hero-panel-head{color:var(--text-soft);justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.hero-panel-head strong{color:var(--primary-dark)}.hero-feature-list,.note-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.hero-feature-list li,.note-list li{padding-left:18px;position:relative}.hero-feature-list li:before,.note-list li:before{content:"";background:var(--primary);border-radius:50%;width:7px;height:7px;position:absolute;top:.8em;left:0}.page-body{padding-bottom:72px}.status-strip{background:#0aa8a714;border:1px solid #0aa8a71f;border-radius:16px;align-items:center;gap:12px;margin:12px 0 24px;padding:0 18px;display:flex}.status-dot{background:var(--primary);border-radius:50%;flex:none;width:10px;height:10px}.tool-grid{grid-template-columns:minmax(0,6fr) minmax(280px,4fr);align-items:start;gap:24px;display:grid}.tool-left,.tool-right{gap:24px;display:grid}.tool-right .results-card{height:100%}.tool-directory-card{padding:28px}.tool-directory-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.tool-entry-card{background:var(--surface-strong);border:1px solid #0aa8a724;border-radius:24px;gap:16px;padding:22px;display:grid;box-shadow:0 16px 40px #0aa8a714}.tool-entry-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-entry-head strong{color:var(--text-strong);font-size:1.15rem}.tool-entry-text{color:var(--text-soft);margin:0;line-height:1.75}.tool-entry-tags{flex-wrap:wrap;gap:8px;display:flex}.tool-entry-tag{min-height:30px;color:var(--primary-dark);background:#0aa8a714;border-radius:999px;align-items:center;padding:0 12px;font-size:.84rem;font-weight:700;display:inline-flex}.tool-entry-button{justify-self:start}.uploader-card,.results-card,.note-card,.surface-card{padding:24px}.section-heading{gap:10px;margin-bottom:22px;display:grid}.section-heading h2{font-size:1.6rem;line-height:1.25}.section-heading-inline{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.uploader-dropzone{text-align:center;background:linear-gradient(#0aa8a70d,#ffffffe6);border:2px dashed #0aa8a742;border-radius:24px;justify-items:center;gap:10px;padding:34px 20px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.uploader-dropzone:hover,.uploader-dropzone.is-dragging{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 20px 50px #0aa8a71f}.uploader-dropzone.is-busy{opacity:.7;cursor:progress}.uploader-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:22px;place-items:center;width:64px;height:64px;font-size:2rem;line-height:1;display:grid;box-shadow:0 18px 35px #0aa8a740}.uploader-dropzone strong{color:var(--text-strong);font-size:1.15rem}.uploader-strategy{border-top:1px solid #0aa8a71f;margin-top:24px;padding-top:24px}.uploader-strategy-heading{margin-bottom:16px}.format-grid{flex-wrap:nowrap;gap:8px;margin-bottom:16px;display:flex}.format-chip{background:var(--surface-strong);min-width:0;min-height:40px;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;border:1px solid #0aa8a724;border-radius:12px;flex:1 1 0;padding:0 6px;font-size:clamp(.7rem,1.3vw,.88rem);font-weight:700;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.format-chip:hover,.format-chip.active{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 8px 20px #0aa8a71f}.format-chip.active{background:#0aa8a714}.quality-grid{flex-wrap:nowrap;gap:8px;margin-bottom:16px;display:flex}.quality-chip{background:var(--surface-strong);min-width:0;min-height:40px;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;text-align:center;border:1px solid #0aa8a724;border-radius:12px;flex:1 1 0;padding:0 6px;font-size:clamp(.7rem,1.3vw,.88rem);font-weight:700;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.quality-chip:hover,.quality-chip.active{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 8px 20px #0aa8a71f}.quality-chip.active{background:#0aa8a714}.quality-chip.disabled{opacity:.55}.compress-button{width:100%;margin-top:16px}.primary-button,.secondary-button,.ghost-button,.download-link{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s;display:inline-flex}.primary-button,.download-link{background:var(--primary);color:#fff;box-shadow:0 15px 35px #0aa8a740}.primary-button:hover,.download-link:hover{background:var(--primary-dark);transform:translateY(-1px)}.primary-button:disabled{color:#22222294;box-shadow:none;cursor:not-allowed;background:#cfd8dc;transform:none}.secondary-button,.ghost-button{color:var(--text-strong);background:#fffc;border-color:#0aa8a724}.secondary-button:hover,.ghost-button:hover{transform:translateY(-1px);box-shadow:0 12px 30px #0aa8a71a}.ghost-button:disabled,.primary-button:disabled,.quality-chip:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.empty-state{text-align:center;background:#0aa8a70a;border:1px dashed #0aa8a72e;border-radius:20px;gap:8px;padding:28px;display:grid}.empty-state strong{color:var(--text-strong)}.result-list{gap:16px;display:grid}.result-item{background:var(--surface-strong);border:1px solid #0aa8a71f;border-radius:20px;justify-content:space-between;gap:18px;padding:18px;display:flex}.result-item.error{background:#d94b4b08;border-color:#d94b4b2e}.result-main{gap:10px;min-width:0;display:grid}.result-header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.result-header strong{color:var(--text-strong);word-break:break-all}.result-badge{padding:6px 10px}.result-metrics{color:var(--text-soft);flex-wrap:wrap;gap:12px;font-size:.95rem;display:flex}.error-text{color:var(--danger)}.download-link{white-space:nowrap;align-self:center}.password-control{gap:12px;display:grid}.password-control+.password-control{margin-top:24px}.password-control-label{color:var(--text-strong);font-weight:700}.password-length-input,.password-output{background:var(--surface-strong);width:100%;color:var(--text-strong);border:1px solid #0aa8a724;border-radius:16px}.password-length-input{min-height:52px;padding:0 16px}.password-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.password-option{background:var(--surface-strong);border:1px solid #0aa8a724;border-radius:18px;align-items:flex-start;gap:12px;padding:16px;display:flex}.password-option input{accent-color:var(--primary);margin-top:3px}.password-option-copy{gap:6px;min-width:0;display:grid}.password-option-copy strong{color:var(--text-strong)}.password-option-copy small{color:var(--text-soft);word-break:break-all;line-height:1.6}.password-output-card{background:#0aa8a70a;border:1px dashed #0aa8a72e;border-radius:20px;padding:18px}.password-output{resize:vertical;min-height:90px;padding:16px 18px;line-height:1.75}.password-action-row{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.password-length-input:focus,.password-output:focus{outline-offset:2px;outline:2px solid #0aa8a72e}@media (width<=980px){.hero-section{padding-top:42px}.hero-content,.tool-grid{grid-template-columns:1fr}.tool-right .results-card{height:auto}}@media (width<=720px){.container{width:min(var(--container-width), calc(100% - 20px))}.surface-card,.uploader-card,.results-card,.note-card{border-radius:22px;padding:18px}.section-heading-inline,.result-item{flex-direction:column}.download-link,.ghost-button,.primary-button,.secondary-button{width:100%}.hero-actions{display:grid}.hero-topbar{flex-direction:column;align-items:stretch}.tool-entry-button{justify-self:stretch}.password-option-grid{grid-template-columns:1fr}}
