:root{--color-bg:#f8f9fa;--color-surface:#fff;--color-primary:#4a6cf7;--color-primary-light:#e8ecff;--color-text:#1a1a2e;--color-text-muted:#6b7280;--color-border:#e2e8f0;--color-success:#22c55e;--color-error:#ef4444;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;padding:2rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-layout{align-items:flex-start;gap:2rem;max-width:1300px;margin:0 auto;display:flex}.left-sidebar{flex-shrink:0;width:220px;position:sticky;top:2rem}.site-logo-link{margin-bottom:1rem;display:block}.site-logo{border-radius:var(--radius);width:100%;height:auto}.sidebar-nav h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:.75rem;font-size:.8rem}.sidebar-nav h2:first-child{margin-top:0}.sidebar-nav ul{list-style:none}.sidebar-nav a{color:var(--color-primary);font-size:.85rem;font-weight:500;line-height:1.8;text-decoration:none}.sidebar-nav a:hover{text-decoration:underline}.container{flex:1;min-width:0}.sidebar{flex-shrink:0;width:240px;position:sticky;top:2rem}.sidebar-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem}.sidebar-section h2{margin-bottom:.5rem;font-size:.95rem;font-weight:600}.sidebar-section p{color:var(--color-text-muted);margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.sidebar-section p:last-child{margin-bottom:0}.sidebar-section ul{color:var(--color-text-muted);font-size:.85rem;line-height:1.6;list-style:none}.sidebar-quote blockquote{margin:0}.sidebar-quote .quote-text{color:var(--color-text);margin-bottom:.5rem;font-size:.85rem;font-style:italic;line-height:1.55}.sidebar-quote .quote-author{color:var(--color-text-muted);font-size:.8rem}.sidebar-quote .quote-author cite{font-style:italic}.sidebar-privacy{border-left:3px solid var(--color-success)}header{text-align:center;margin-bottom:2rem}header h1{margin-bottom:.5rem;font-size:2rem}header p{color:var(--color-text-muted)}#drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--color-surface);padding:4rem 2rem;transition:border-color .2s,background .2s}#drop-zone:hover,#drop-zone.dragover{border-color:var(--color-primary);background:var(--color-primary-light)}.drop-zone-content p{color:var(--color-text-muted);margin-top:.25rem}.drop-zone-content p strong{color:var(--color-text);font-size:1.1rem}.drop-icon{width:48px;height:48px;color:var(--color-text-muted);margin:0 auto .75rem;display:block}.controls{background:var(--color-surface);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1.5rem;margin:1.5rem 0;padding:1rem 1.5rem;display:flex}.control-group{align-items:center;gap:.5rem;display:flex}.control-group:last-child{flex:1}.controls label{white-space:nowrap;font-weight:500}.controls input[type=range]{accent-color:var(--color-primary);flex:1}.format-toggle{border:1px solid var(--color-border);border-radius:8px;display:flex;overflow:hidden}.fmt-btn{background:var(--color-surface);cursor:pointer;color:var(--color-text-muted);border:none;padding:.35rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s}.fmt-btn+.fmt-btn{border-left:1px solid var(--color-border)}.fmt-btn.active{background:var(--color-primary);color:#fff}#results{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem;display:grid}.card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden}.card-preview{aspect-ratio:4/3;background:var(--color-bg);justify-content:center;align-items:center;display:flex;overflow:hidden}.card-preview img{object-fit:cover;width:100%;height:100%}.card-info{padding:1rem}.card-filename{word-break:break-all;margin-bottom:.25rem;font-weight:600}.card-size{color:var(--color-text-muted);font-size:.875rem}.card-status{margin-top:.5rem;font-size:.875rem}.card-status.success{color:var(--color-success)}.card-status.error-text{color:var(--color-error)}.card.queue-card{opacity:.7;border-style:dashed}.card.queue-card .card-preview{aspect-ratio:4/3}.queue-status{color:var(--color-primary);font-size:1rem;font-weight:600}.btn-download{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:opacity .2s;display:block}.btn-download:hover{opacity:.9}.btn-reconvert{background:var(--color-surface);width:100%;color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;border-radius:8px;margin-top:.5rem;padding:.4rem 1rem;font-size:.8rem;transition:border-color .2s,color .2s;display:block}.btn-reconvert:hover{border-color:var(--color-primary);color:var(--color-primary)}.actions{gap:.75rem;margin-top:1.5rem;display:flex}.btn-action{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s}.btn-action:hover{opacity:.9}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}#download-all{background:var(--color-primary);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;flex:1;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s;display:none}#download-all:hover,.btn-secondary:hover{opacity:.9}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{background:var(--color-error);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.25rem;font-weight:700;display:flex}.notification{background:var(--color-text);color:#fff;pointer-events:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;animation:3s fadeInOut;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%)translateY(10px)}10%{opacity:1;transform:translate(-50%)translateY(0)}80%{opacity:1}to{opacity:0}}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius);width:90%;max-width:420px;box-shadow:0 8px 32px #00000026}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.modal-title{word-break:break-all;margin-right:.5rem;font-size:1rem;font-weight:600}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.modal-row{align-items:center;gap:.75rem;display:flex}.modal-row label{white-space:nowrap;font-size:.9rem;font-weight:500}.modal-row input[type=range]{accent-color:var(--color-primary);flex:1}.modal-size-row{gap:1rem}.modal-preview-btn{flex-shrink:0;padding:.4rem .75rem;font-size:.875rem}.modal-preview-btn:disabled{opacity:.6;cursor:default}.modal-size-result{color:var(--color-text);font-size:.9rem;font-weight:500}.modal-size-error{color:var(--color-error)}.modal-footer{border-top:1px solid var(--color-border);gap:.75rem;padding:1rem 1.25rem;display:flex}.modal-footer .btn-action{flex:1;padding:.6rem 1rem;font-size:.9rem}.format-article{flex-direction:column;gap:1.5rem;display:flex}.format-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem}.format-section h2{margin-bottom:.5rem;font-size:1.25rem}.format-meta{gap:.75rem;margin-bottom:1rem;display:flex}.format-ext,.format-type{background:var(--color-primary-light);color:var(--color-primary);border-radius:6px;padding:.2rem .6rem;font-size:.8rem;font-weight:500}.format-section p{color:var(--color-text);margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.format-section p:last-of-type{margin-bottom:0}.format-facts{background:var(--color-bg);border-radius:8px;grid-template-columns:auto 1fr;gap:.35rem 1rem;margin-top:1rem;padding:1rem;font-size:.9rem;display:grid}.format-facts dt{color:var(--color-text);font-weight:600}.format-facts dd{color:var(--color-text-muted)}.comparison-table-wrapper{overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;margin-top:.5rem;font-size:.9rem}.comparison-table th,.comparison-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.6rem .75rem}.comparison-table th{color:var(--color-text);background:var(--color-bg);font-weight:600}.comparison-table td{color:var(--color-text-muted)}.format-back{margin-top:1.5rem}.format-back a{color:var(--color-primary);font-size:.95rem;font-weight:500;text-decoration:none}.format-back a:hover{text-decoration:underline}.resize-preview-area{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.resize-preview-area .card-preview{aspect-ratio:auto;max-height:400px}.resize-preview-area .card-preview img{object-fit:contain;width:100%;height:100%;display:block}.resize-file-info{border-top:1px solid var(--color-border);padding:1rem}.resize-controls{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.resize-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem}.resize-section h3{margin-bottom:.75rem;font-size:1rem;font-weight:600}.resize-dimensions{align-items:flex-end;gap:.75rem;display:flex}.dimension-input{flex:1}.dimension-input label{color:var(--color-text-muted);margin-bottom:.25rem;font-size:.85rem;font-weight:500;display:block}.dimension-input input{border:1px solid var(--color-border);border-radius:8px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.95rem}.dimension-input input:focus{border-color:var(--color-primary);outline:none}.lock-btn{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;color:var(--color-text-muted);border-radius:8px;margin-bottom:1px;padding:.45rem;transition:color .15s,border-color .15s}.lock-btn.locked{color:var(--color-primary);border-color:var(--color-primary)}.lock-btn:not(.locked) .lock-shackle{d:path("M7 11V7a5 5 0 0 1 9 1")}.resize-scale-row{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.resize-scale-row label{white-space:nowrap;font-size:.9rem;font-weight:500}.resize-scale-row input[type=range]{accent-color:var(--color-primary);flex:1}.resize-scale-row span{text-align:right;min-width:3rem;font-size:.9rem;font-weight:500}.mode-toggle{border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;display:flex;overflow:hidden}.maxsize-input-row{align-items:center;gap:.5rem;display:flex}.maxsize-input-row label{white-space:nowrap;font-size:.9rem;font-weight:500}.maxsize-input-row input{border:1px solid var(--color-border);border-radius:8px;width:130px;padding:.5rem .75rem;font-family:inherit;font-size:.95rem}.maxsize-input-row input:focus{border-color:var(--color-primary);outline:none}.maxsize-input-row select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;padding:.5rem;font-family:inherit;font-size:.95rem}.resize-size-preview{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.resize-output-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.resize-output-card .card-preview{aspect-ratio:auto;max-height:400px}.resize-output-card .card-preview img{object-fit:contain;width:100%;height:100%;display:block}.resize-output-card .card-info{border-top:1px solid var(--color-border);padding:1rem}.resize-start-over{margin-top:1rem}.resize-start-over .btn-action{width:100%}@media (width<=960px){.page-layout{flex-wrap:wrap}.left-sidebar{align-items:flex-start;gap:1rem;width:100%;display:flex;position:static}.site-logo-link{flex-shrink:0;width:80px;margin-bottom:0}.left-sidebar .sidebar-nav{flex:1}.left-sidebar .sidebar-quote{display:none!important}.sidebar{width:100%;position:static}}@media (width<=480px){#results{grid-template-columns:1fr}#drop-zone{padding:3rem 1rem}}
