:root{--color-bg: #0A0A0C;--color-surface: #1A1A1F;--color-ink: #F5F3ED;--color-accent: #F5C518;--color-accent-ink: #0E0E10;--color-border: #F5F3ED;--color-muted: #9A9A9A;--color-shadow: #3A3A3F;--font-display: "Archivo Black", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-x: 6px;--shadow-y: 6px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;background:var(--color-bg)}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-ink);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:var(--color-ink);text-decoration:none}a:hover{color:var(--color-ink)}img{max-width:100%;height:auto}.brutal-box{border:2px solid var(--color-border);box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);background:var(--color-surface);border-radius:2px}.brutal-box-interactive{border:2px solid var(--color-border);box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);background:var(--color-surface);border-radius:2px;transition:transform .12s ease-out,box-shadow .12s ease-out;cursor:pointer}.brutal-box-interactive:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--color-accent)}h1{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.02em}h2{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(1.5rem,3vw,2.25rem)}body,p{font-family:var(--font-body);font-size:1rem;line-height:1.55}.label,.eyebrow,nav a,.badge,.sidebar-category-header,.footer-heading,.btn-primary,.btn-secondary,.trust-item,.breadcrumb,.preview-top .label,.preview-stats .label,.rating p,.result-label,.category-title,.page-header .features span,.footer-bottom p{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}h3,h4,.tool-card h3,.step-content h3,.blog-post h3,.faq-question,.page-header h1,.content-section h2{font-family:Space Grotesk,sans-serif;font-weight:700}.container{max-width:1200px;margin:0 auto;padding:0 20px}.header{border-bottom:2px solid var(--color-border);background:var(--color-surface);position:sticky;top:0;z-index:100}.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;position:relative;overflow:hidden}.logo{font-family:var(--font-display);font-size:1.35rem;color:var(--color-ink);display:flex;align-items:center;gap:8px;letter-spacing:-.02em}.logo:hover{color:var(--color-ink)}.logo-icon{color:var(--color-accent);display:flex}.logo-icon svg{width:20px;height:20px;display:block}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.sidebar-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:2px solid var(--color-border);cursor:pointer;padding:8px;min-height:40px;min-width:40px;justify-content:center;align-items:center;color:var(--color-ink);border-radius:2px;transition:transform .12s ease-out,box-shadow .12s ease-out}.sidebar-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:.2s}.sidebar-toggle:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-shadow)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);cursor:pointer;font-family:inherit;transition:transform .12s ease-out,box-shadow .12s ease-out;flex-shrink:0;border-radius:2px}.theme-toggle:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-shadow)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .sun-icon{display:block}.theme-toggle .moon-icon,.theme-toggle.is-light .sun-icon{display:none}.theme-toggle.is-light .moon-icon{display:block}.dev-mode-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;cursor:pointer;border-radius:2px;white-space:nowrap;margin-right:0;min-height:40px;transition:transform .12s ease-out,box-shadow .12s ease-out}.dev-mode-toggle:hover{background:var(--color-accent);color:var(--color-accent-ink);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-shadow)}.dev-mode-toggle svg{width:16px;height:16px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:150}.sidebar-overlay.active{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;background:var(--color-surface);border-right:2px solid var(--color-border);z-index:200;display:flex;flex-direction:column;transform:translate(-100%);overflow:hidden}@media (max-width: 1024px){.sidebar{transition:transform .25s}}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;gap:8px;padding:14px 12px;min-height:60px;border-bottom:2px solid var(--color-border)}.sidebar-search-wrapper{flex:1;display:flex;align-items:center;gap:6px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px;padding:6px 10px}.sidebar-search-wrapper svg{width:16px;height:16px;color:var(--color-muted);flex-shrink:0}.sidebar-search-wrapper:focus-within{border-color:var(--color-accent)}.sidebar-search{flex:1;background:none;border:none;color:var(--color-ink);font-size:.85rem;font-family:var(--font-body);outline:none}.sidebar-search::placeholder{color:var(--color-muted)}.sidebar-close{background:none;border:2px solid var(--color-border);color:var(--color-ink);cursor:pointer;padding:8px 10px;min-height:40px;display:flex;align-items:center;border-radius:2px}.sidebar-close svg{width:18px;height:18px;display:block}.sidebar-close:hover{background:var(--color-accent);color:var(--color-accent-ink)}.sidebar-nav{flex:1;overflow-y:auto;padding:0}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:0}.sidebar-category{border-bottom:1px solid var(--color-border)}.sidebar-category-header{display:flex;align-items:center;gap:8px;padding:12px 16px;min-height:44px;font-size:.75rem;font-weight:500;color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s;border-left:2px solid transparent}.sidebar-category-header:hover{color:var(--color-ink)}.sidebar-category:first-of-type .sidebar-category-header{border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.sidebar-category-header .cat-arrow{font-size:.7rem;transition:transform .2s;margin-left:auto}.sidebar-category-header .cat-arrow svg{width:12px;height:12px;display:block}.sidebar-category.collapsed .cat-arrow{transform:rotate(-90deg)}.sidebar-category-links{display:flex;flex-direction:column}.sidebar-category.collapsed .sidebar-category-links{display:none}.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 24px;min-height:44px;font-size:.85rem;color:var(--color-ink);font-family:var(--font-body);transition:background .12s;border-left:2px solid transparent}.sidebar-link:hover{background:var(--color-accent);color:var(--color-accent-ink)}.sidebar-link.active{border-left:3px solid var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent);color:var(--color-ink)}.sidebar-link svg{width:16px;height:16px;flex-shrink:0}.sidebar-footer{padding:8px 12px;border-top:2px solid var(--color-border);display:flex;gap:4px;flex-wrap:wrap}.sidebar-footer a{color:var(--color-muted);padding:8px 10px;min-height:44px;display:flex;align-items:center;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.sidebar-footer a:hover{color:var(--color-ink)}body.sidebar-open{overflow:hidden}@media (min-width: 1025px){.sidebar{transform:translate(0);transition:none}.sidebar-overlay{display:none!important}.sidebar-close{display:none}main,.footer{margin-left:260px}.header-inner{max-width:1460px}body.sidebar-open{overflow:auto}}.breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:.75rem;color:var(--color-muted)}.breadcrumb a{color:var(--color-muted)}.breadcrumb a:hover,.breadcrumb span{color:var(--color-ink)}.hero{padding:60px 0 40px}.hero-layout{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}.hero-text{min-width:0}.eyebrow{display:inline-block;padding:6px 12px;border:2px solid var(--color-border);background:var(--color-surface);margin-bottom:24px;font-size:.7rem;color:var(--color-ink)}.hero-line{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);line-height:.95;letter-spacing:-.02em;color:var(--color-ink)}.hero-heading{margin:0;font-size:0;line-height:0}.hero-highlight{display:inline-block;background:var(--color-accent);color:var(--color-accent-ink);border:2px solid var(--color-ink);padding:4px 8px 0;margin-top:4px}.hero-sub{font-size:1.1rem;color:var(--color-muted);max-width:520px;margin-top:24px;line-height:1.55}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:.8rem;font-weight:500;border:2px solid var(--color-border);cursor:pointer;font-family:inherit;line-height:1.4;border-radius:2px;transition:transform .12s ease-out,box-shadow .12s ease-out}.btn-primary{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:14px 22px;background:var(--color-ink);color:var(--color-bg);border:2px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-accent);display:inline-flex;align-items:center;gap:10px;font-size:.8rem}.btn-primary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-accent)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-secondary{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:14px 22px;background:transparent;color:var(--color-ink);border:2px solid var(--color-ink);box-shadow:4px 4px 0 var(--color-ink);font-size:.8rem;display:inline-flex;align-items:center;gap:10px}.btn-secondary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-ink)}.btn-danger{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.btn-danger:hover{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.btn-group{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn-group .btn{min-height:44px;justify-content:center}.trust-strip{display:flex;align-items:center;gap:0;margin-top:32px;flex-wrap:wrap;border:2px solid var(--color-border);padding:12px 0;background:var(--color-surface);border-radius:2px}.trust-item{display:flex;align-items:center;gap:6px;padding:0 16px;font-size:.68rem;color:var(--color-ink);white-space:nowrap}.trust-item svg{width:14px;height:14px;flex-shrink:0}.trust-divider{width:1px;height:20px;background:var(--color-border);flex-shrink:0}.preview-panel{padding:20px;position:sticky;top:80px}.preview-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.preview-top .label{font-size:.65rem;color:var(--color-muted)}.preview-pct{font-family:var(--font-mono);font-size:.85rem;font-weight:500;color:var(--color-accent)}.preview-filename{font-family:var(--font-mono);font-size:1rem;color:var(--color-ink);margin-bottom:12px;padding:8px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-stats{display:flex;align-items:center;gap:8px;margin-bottom:16px}.preview-stat-num{font-family:var(--font-display);font-size:1.5rem;color:var(--color-ink);line-height:1}.preview-stats .label{font-size:.6rem;color:var(--color-muted)}.preview-stat-divider{color:var(--color-muted);font-size:1.2rem}.preview-bar{height:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;overflow:hidden}.preview-bar-fill{height:100%;background:var(--color-accent);transition:width .3s}.category-section{padding:48px 0}.category-section+.category-section{border-top:1px solid var(--color-border)}.category-title{font-size:.75rem;display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:2px solid var(--color-border);margin-bottom:24px;color:var(--color-muted)}.category-title .icon{font-size:1rem;display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:2px;background:var(--color-surface)}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}.tool-card{border:2px solid var(--color-border);box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);background:var(--color-surface);border-radius:2px;padding:20px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .12s ease-out,box-shadow .12s ease-out}.tool-card:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--color-accent)}.tool-card-header{display:flex;align-items:center;gap:12px}.tool-card-icon{width:36px;height:36px;border:2px solid var(--color-border);border-radius:2px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;background:var(--color-bg)}.tool-card-icon svg{width:18px;height:18px}.tool-card h3{font-size:1rem;font-weight:700;color:var(--color-ink)}.tool-card p{font-size:.85rem;color:var(--color-muted);line-height:1.55}.page-header{padding:32px 0 24px;border-bottom:2px solid var(--color-border);margin-bottom:32px}.page-header h1{font-size:1.65rem;font-weight:700;margin-bottom:8px;color:var(--color-ink)}.page-header p{color:var(--color-muted);font-size:1rem;max-width:700px}.page-header .features{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.page-header .features span{font-size:.7rem;color:var(--color-ink);display:flex;align-items:center;gap:4px}.page-header .notice{margin-top:12px;font-size:.85rem;color:var(--color-muted);border-left:3px solid var(--color-accent);padding-left:10px;max-width:700px}.tool-interface{background:var(--color-surface);border:2px solid var(--color-border);box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);border-radius:2px;padding:32px;margin-bottom:40px}.drop-zone{border:2px dashed var(--color-border);border-radius:2px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .12s;background:var(--color-bg)}.drop-zone:hover,.drop-zone.dragover{border-color:var(--color-accent);background:var(--color-accent)}.drop-zone.drop-invalid{border-color:#dc2626;background:#dc2626;animation:shake .4s}.drop-zone.dragover-invalid{border-color:#dc2626;background:#dc2626}.drop-zone.drop-invalid p,.drop-zone.drop-invalid .sub,.drop-zone.dragover-invalid p,.drop-zone.dragover-invalid .sub{color:#fff}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.drop-zone:hover p,.drop-zone.dragover p,.drop-zone:hover .sub,.drop-zone.dragover .sub{color:var(--color-accent-ink)}.drop-zone-icon{font-size:2rem;margin-bottom:12px;color:var(--color-muted)}.drop-zone-icon svg{width:2rem;height:2rem;display:block;margin:0 auto}.drop-zone p{color:var(--color-ink);margin-bottom:4px;font-weight:500}.drop-zone .sub{font-size:.85rem;color:var(--color-muted)}.drop-zone input{display:none}.form-input{width:100%;padding:10px 12px;border:2px solid var(--color-border);border-radius:2px;background:var(--color-bg);color:var(--color-ink);font-size:.85rem;font-family:var(--font-mono);outline:none;transition:border-color .12s}.form-input:focus{border-color:var(--color-accent)}select.form-input{font-family:var(--font-body);cursor:pointer}textarea.form-input{resize:vertical;min-height:80px;font-family:var(--font-body)}@media (max-width: 480px){.form-input,select,input,textarea{font-size:16px}}.input-label{display:block;font-size:.7rem;font-weight:500;color:var(--color-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.input-row{display:flex;gap:6px}.input-row .form-input{flex:1}.input-row .btn{flex-shrink:0}input[type=file].form-input{padding:6px 8px;cursor:pointer}input[type=file]::file-selector-button{background:var(--color-accent);color:var(--color-accent-ink);font-weight:600;font-size:.85rem;border:2px solid var(--color-border);padding:10px 18px;border-radius:2px;cursor:pointer;margin-right:10px;font-family:var(--font-mono);transition:transform .12s}input[type=file]::file-selector-button:hover{transform:translate(1px,1px)}.colour-preview{margin-top:12px;padding:16px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px}.colour-swatch-wrapper{display:flex;align-items:center;gap:12px;margin-bottom:12px}.colour-swatch{width:40px;height:40px;border:2px solid var(--color-border);border-radius:2px}.colour-swatch-label{font-family:var(--font-mono);font-size:.85rem;color:var(--color-ink)}.colour-results{display:flex;flex-direction:column;gap:4px}.result-row{display:flex;align-items:center;gap:8px;padding:4px 0}.result-label{font-size:.65rem;font-weight:500;color:var(--color-muted);width:44px;flex-shrink:0}.result-value{font-family:var(--font-mono);font-size:.85rem;color:var(--color-ink);flex:1}.btn-copy{background:none;border:2px solid var(--color-border);cursor:pointer;font-size:.75rem;padding:4px 8px;border-radius:2px;color:var(--color-muted);font-family:var(--font-mono);transition:transform .12s}.btn-copy:hover{transform:translate(1px,1px)}.error-msg{margin-top:10px;padding:8px 12px;border:2px solid #ef4444;background:transparent;color:#ef4444;border-radius:2px;font-size:.8rem}.colour-input-group{display:flex;gap:8px;align-items:flex-end}.colour-input-group .form-input{flex:1}.colour-input-group input[type=color]{width:40px;height:36px;padding:2px;border:2px solid var(--color-border);border-radius:2px;background:var(--color-bg);cursor:pointer;flex-shrink:0}.colour-input-group input[type=color]:hover{border-color:var(--color-accent)}input[type=color].colour-picker{width:40px;height:36px;padding:2px;border:2px solid var(--color-border);border-radius:2px;background:var(--color-bg);cursor:pointer;flex-shrink:0}input[type=color].colour-picker:hover{border-color:var(--color-accent)}input[type=color].colour-picker::-webkit-color-swatch-wrapper{padding:2px}input[type=color].colour-picker::-webkit-color-swatch{border:none;border-radius:0}.swatch-xl{width:100px;height:100px;border:2px solid var(--color-border);border-radius:2px;flex-shrink:0}.swatch-lg{width:64px;height:64px;border:2px solid var(--color-border);border-radius:2px;flex-shrink:0}.swatch-display{display:flex;align-items:center;gap:16px;padding:16px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px;margin-bottom:16px}.swatch-info{display:flex;flex-direction:column;gap:2px}.swatch-info .hex-label{font-family:var(--font-mono);font-size:1rem;font-weight:600}.swatch-info .desc-label{font-size:.75rem;color:var(--color-muted)}.preview-strip{display:flex;gap:3px;border-radius:2px;border:2px solid var(--color-border);overflow:hidden;height:64px;background:var(--color-bg)}.preview-strip-item{flex:1;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;cursor:pointer;transition:flex .2s;position:relative}.preview-strip-item:hover{flex:1.5}.preview-strip-item code{font-size:.6rem;background:var(--color-ink);padding:2px 5px;color:var(--color-bg);opacity:0;transition:opacity .2s;font-family:var(--font-mono)}.preview-strip-item:hover code{opacity:1}.shade-strip{display:flex;flex-direction:column;gap:2px;border-radius:2px;overflow:hidden}.shade-item{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer;transition:background .12s;border:1px solid var(--color-border);border-radius:2px;margin-bottom:2px}.shade-item:hover{background:var(--color-accent)}.shade-item:hover code,.shade-item:hover .shade-label{color:var(--color-accent-ink)}.shade-swatch{width:36px;height:36px;border:2px solid var(--color-border);border-radius:2px;flex-shrink:0}.shade-item code{font-family:var(--font-mono);font-size:.75rem;color:var(--color-ink)}.shade-item .shade-label{font-size:.65rem;color:var(--color-muted);width:36px;flex-shrink:0}.harmony-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.harmony-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;overflow:hidden;cursor:pointer;transition:transform .12s}.harmony-card:hover{transform:translate(2px,2px)}.harmony-swatch{height:64px;border-bottom:2px solid var(--color-border)}.harmony-card .harmony-info{padding:6px 10px;display:flex;flex-direction:column;gap:2px}.harmony-card .harmony-info code{font-family:var(--font-mono);font-size:.7rem;color:var(--color-ink)}.sim-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sim-panel{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;overflow:hidden}.sim-panel-header{padding:6px 12px;font-size:.7rem;font-weight:500;color:var(--color-muted);border-bottom:2px solid var(--color-border);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.sim-panel-body{padding:16px}.gauge-bar{height:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;overflow:hidden;margin:10px 0}.gauge-fill{height:100%;border-radius:0;transition:width .3s,background .3s}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 640px){.two-col-grid,.sim-panels{grid-template-columns:1fr}}@media (max-width: 640px){.harmony-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.swatch-xl{width:72px;height:72px}}.contrast-swatches{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}.contrast-swatch-pair{display:flex;gap:12px}.contrast-sample{margin-top:12px;padding:20px;border:2px solid var(--color-border);border-radius:2px;font-size:1rem;line-height:1.5}.contrast-ratio-display{display:flex;align-items:baseline;gap:8px;margin:16px 0}.ratio-number{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-accent)}.ratio-label{font-size:.7rem;color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.contrast-results{display:flex;flex-direction:column;gap:6px}.contrast-grade{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border:2px solid var(--color-border);border-radius:2px;font-size:.85rem;font-weight:500}.contrast-grade.pass{border-color:#22c55e;color:#22c55e}.contrast-grade.fail{border-color:#ef4444;color:#ef4444}.file-list{margin-top:16px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;margin-bottom:8px}.file-item-info{display:flex;align-items:center;gap:10px}.file-item-name{font-weight:500;font-size:.9rem}.file-item-size{font-size:.8rem;color:var(--color-muted)}.file-item-remove{background:none;border:2px solid var(--color-border);color:var(--color-muted);cursor:pointer;padding:4px 8px;border-radius:2px;font-family:var(--font-mono);font-size:.75rem}.file-item-remove:hover{border-color:#ef4444;color:#ef4444}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin:16px 0}.option-group{display:flex;flex-direction:column;gap:6px}.option-group label{font-size:.8rem;font-weight:500;color:var(--color-ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.option-group select,.option-group input{padding:10px 12px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px;color:var(--color-ink);font-size:.9rem;font-family:var(--font-body)}.option-group select:focus,.option-group input:focus{outline:none;border-color:var(--color-accent)}.option-group input[type=number]{width:100px}.option-group input[type=password]{width:100%}.option-group .option-group-title{margin-bottom:2px}.checkbox-row{display:flex;align-items:center;gap:8px;font-family:var(--font-body);text-transform:none;letter-spacing:normal;font-size:.9rem;color:var(--color-ink);font-weight:400;cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent)}.progress-container{margin:16px 0;display:none}.progress-container.active{display:block}.progress-bar{width:100%;height:8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);width:0%;transition:width .3s}.progress-text{font-size:.85rem;color:var(--color-muted);margin-top:8px;font-family:var(--font-mono)}.result-container{display:none;margin-top:16px}.result-container.active{display:block}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.preview-box{background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px;padding:16px;margin:16px 0;max-height:500px;overflow:auto}.preview-box img{max-width:100%}.how-to{padding:40px 0}.how-to h2{font-size:1.3rem;font-weight:700;margin-bottom:24px}.steps{display:grid;gap:16px;counter-reset:step}.step{display:flex;gap:16px;padding:16px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px}.step-num{width:32px;height:32px;border:2px solid var(--color-border);background:var(--color-accent);color:var(--color-accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;font-family:var(--font-mono)}.step-content h3{font-size:.95rem;font-weight:600;margin-bottom:4px}.step-content p{font-size:.85rem;color:var(--color-muted)}.content-section{padding:32px 0;border-top:2px solid var(--color-border)}.content-section h2{font-size:1.3rem;font-weight:700;margin-bottom:16px}.content-section h3{font-size:1.1rem;font-weight:600;margin-bottom:12px;margin-top:24px}.content-section p{color:var(--color-muted);margin-bottom:16px;line-height:1.7}.content-section ul,.content-section ol{color:var(--color-muted);margin:0 0 16px 20px}.content-section li{margin-bottom:8px}.comparison-table{width:100%;border-collapse:collapse;margin:16px 0;border:2px solid var(--color-border)}.comparison-table th,.comparison-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-border);font-size:.9rem}.comparison-table th{background:var(--color-surface);color:var(--color-ink);font-weight:600;font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.comparison-table td{color:var(--color-ink)}.comparison-table .check{color:#22c55e}.comparison-table .cross{color:#ef4444}.faq-section{padding:32px 0;border-top:2px solid var(--color-border)}.faq-section h2{font-size:1.3rem;font-weight:700;margin-bottom:24px}.faq-item{border:2px solid var(--color-border);border-radius:2px;margin-bottom:8px;overflow:hidden}.faq-question{width:100%;padding:14px 16px;min-height:48px;background:var(--color-surface);border:none;color:var(--color-ink);font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.faq-question:hover{background:var(--color-accent);color:var(--color-accent-ink)}.faq-question .arrow{transition:transform .2s;font-size:.8rem}.faq-question.active .arrow{transform:rotate(180deg)}.faq-answer{padding:0 16px;max-height:0;overflow:hidden;transition:all .2s}.faq-answer.open{padding:16px;max-height:500px}.faq-answer p{color:var(--color-muted);font-size:.9rem;line-height:1.6}.related-tools{padding:32px 0;border-top:2px solid var(--color-border)}.related-tools h2{font-size:1.3rem;font-weight:700;margin-bottom:16px}.related-links{display:flex;flex-wrap:wrap;gap:8px}.related-links a{padding:10px 18px;min-height:44px;display:flex;align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;color:var(--color-ink);font-size:.85rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;transition:transform .12s}.related-links a:hover{background:var(--color-accent);color:var(--color-accent-ink);transform:translate(2px,2px)}.footer{border-top:2px solid var(--color-border);padding:40px 0;margin-top:60px;background:var(--color-surface)}.footer-inner{display:flex;flex-wrap:wrap;gap:40px}.footer-col{flex:1;min-width:200px}.footer-col .footer-heading,.footer-col h4{font-size:.7rem;font-weight:500;color:var(--color-muted);margin-bottom:16px;letter-spacing:.08em}.footer-col a{display:block;color:var(--color-ink);font-size:.85rem;padding:4px 0}.footer-col a:hover{color:var(--color-ink);text-decoration:underline}.footer-bottom{text-align:center;padding-top:32px;margin-top:32px;border-top:2px solid var(--color-border);font-size:.7rem;color:var(--color-muted)}.footer-social{display:flex;justify-content:center;gap:16px;margin-top:16px}.footer-social a{color:var(--color-muted);transition:color .2s;display:inline-flex;align-items:center}.footer-social a:hover{color:var(--color-ink)}.footer-social svg{width:20px;height:20px}.rating{margin:32px 0;text-align:center}.rating p{font-size:.75rem;color:var(--color-muted);margin-bottom:8px}.stars{display:flex;justify-content:center;gap:4px}.stars button{background:none;border:2px solid var(--color-border);font-size:1.2rem;cursor:pointer;color:var(--color-muted);transition:all .12s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:2px}.stars button:hover,.stars button.active{border-color:var(--color-accent);color:var(--color-accent);background:transparent}.stars button:disabled{cursor:default}.text-center{text-align:center}.text-muted{color:var(--color-muted)}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-16{gap:16px}.items-center{align-items:center}.justify-between{justify-content:space-between}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:16px 0;touch-action:none}.thumbnail-item{position:relative;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;overflow:hidden;cursor:grab;transition:transform .12s}.thumbnail-item:active{cursor:grabbing}.thumbnail-item img{width:100%;display:block;pointer-events:none}.thumbnail-item .page-num{position:absolute;bottom:4px;right:4px;background:var(--color-ink);color:var(--color-bg);padding:2px 6px;font-size:.7rem;font-family:var(--font-mono);pointer-events:none}.thumbnail-actions{position:absolute;top:4px;right:4px;display:flex;gap:3px}.thumbnail-actions button{width:28px;height:28px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);cursor:pointer;font-size:.7rem;display:flex;align-items:center;justify-content:center;border-radius:2px;font-family:var(--font-mono)}.thumbnail-actions button:hover{background:var(--color-accent);color:var(--color-accent-ink)}.drop-indicator{height:3px;background:var(--color-accent);margin:2px 0;pointer-events:none;flex-shrink:0}.thumbnail-item.dragging{opacity:.3}.drag-ghost{transform-origin:top left;border-color:var(--color-accent)!important;cursor:grabbing!important}.toast{position:fixed;bottom:24px;right:24px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;padding:12px 20px;font-size:.9rem;color:var(--color-ink);box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);transform:translateY(100px);opacity:0;transition:all .3s;z-index:200}.toast.show{transform:translateY(0);opacity:1}.toast-error{border-color:#ef4444;color:#ef4444;box-shadow:4px 4px #ef4444}.warning-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border:2px solid #f59e0b;background:#fef3c7;color:#b45309;font-size:.82rem;line-height:1.5;border-radius:2px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:.75rem;font-weight:500;border-radius:999px;border:2px solid currentColor;color:var(--color-muted)}.status-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.ok,.status-badge.connecting{color:#16a34a}.status-badge.error,.status-badge.err{color:#dc2626}.status-badge.info{color:var(--color-muted)}.pw-strength{flex-direction:column;gap:6px}.pw-strength-bar{height:8px;width:0%;border:2px solid var(--color-border);box-sizing:border-box;background:var(--color-muted);transition:width .25s,background .25s}.pw-strength-label{font-size:.72rem;font-weight:500;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.sidebar-no-results{padding:20px 16px;font-size:.82rem;color:var(--color-muted);text-align:center;line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-loading{position:relative;pointer-events:none}.btn-loading .btn-text{visibility:hidden}.btn-loading .spinner{position:absolute;top:50%;left:50%;margin-top:-9px;margin-left:-9px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease-out}.slide-up,.result-container.active{animation:slideUp .3s ease-out}.error-message{display:none;padding:10px 14px;border:2px solid #ef4444;color:#ef4444;font-size:.85rem;margin-top:12px;align-items:center;gap:8px;border-radius:2px}.error-message.active{display:flex}.error-message svg{width:16px;height:16px;flex-shrink:0}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:var(--color-bg);border:1px solid var(--color-border);border-radius:2px;animation:shimmer 1.5s ease-in-out infinite}.skeleton-text{height:14px;margin-bottom:8px;width:100%}.skeleton-text.short{width:60%}.skeleton-button{height:40px;width:120px}.skeleton-block{height:200px;margin-bottom:16px}[data-icon]{display:inline-block;width:1em;height:1em;vertical-align:middle}[data-icon] svg{width:1em;height:1em;display:inline-block;vertical-align:middle}.drop-zone{padding:40px 20px}.back-bar{padding:12px 0 0;min-height:0}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:var(--color-muted);font-family:var(--font-mono);transition:color .12s}.back-link:hover{color:var(--color-ink)}.back-link svg{width:14px;height:14px}.page-devtools .page-header{padding:20px 0 16px;border-bottom:none;margin-bottom:16px}.page-devtools .page-header h1{font-size:1.35rem;font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:2px;color:var(--color-ink)}.page-devtools .page-header p{font-size:.85rem;color:var(--color-muted);margin-top:2px}.devtool-section-badge{font-size:.65rem;font-weight:500;color:var(--color-ink);white-space:nowrap;padding:4px 8px;border:1px solid var(--color-border);background:var(--color-accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.page-devtools .back-bar{padding:6px 0 2px}.page-devtools .back-link{font-size:.75rem;color:var(--color-muted);transition:color .15s}.page-devtools .back-link:hover{color:var(--color-ink)}.page-devtools .tool-interface{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;padding:20px;margin-bottom:28px;box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow)}.page-devtools .tool-interface .btn-primary{margin-top:8px}.page-devtools .colour-preview{background:var(--color-bg);border:2px solid var(--color-border);border-radius:2px;padding:16px 20px}.page-devtools .result-row{padding:4px 0}.page-devtools .result-label{font-size:.65rem;width:40px}.page-devtools .result-value{font-size:.85rem;font-family:var(--font-mono);word-break:break-all}.page-devtools .how-to{padding:16px 0}.page-devtools .how-to h2{font-size:1rem;font-weight:600;margin-bottom:12px}.page-devtools .related-tools{padding:12px 0}.page-devtools .related-tools h2{font-size:.9rem;font-weight:600;margin-bottom:10px}.page-devtools .related-links{display:flex;flex-wrap:wrap;gap:6px}.page-devtools .related-links a{padding:4px 12px;font-size:.7rem;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-ink);transition:all .12s;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em}.page-devtools .related-links a:hover{border-color:var(--color-border);background:var(--color-accent);color:var(--color-accent-ink);transform:translate(1px,1px)}.blog-post{max-width:720px;margin:0 auto;padding:32px 0}.blog-post h1{font-family:var(--font-display);font-size:2.5rem;line-height:.95;margin-bottom:8px}.blog-post .blog-meta{color:var(--color-muted);font-size:.8rem;margin-bottom:32px;font-family:var(--font-mono)}.blog-post h2{font-size:1.4rem;font-weight:700;margin:32px 0 16px}.blog-post h3{font-size:1.1rem;font-weight:600;margin:24px 0 12px}.blog-post p{color:var(--color-muted);line-height:1.7;margin-bottom:16px}.blog-post ul,.blog-post ol{color:var(--color-muted);line-height:1.7;margin:0 0 16px 20px}.blog-post li{margin-bottom:6px}.blog-post table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.9rem}.blog-post th,.blog-post td{border:1px solid var(--color-border);padding:10px 12px;text-align:left}.blog-post th{background:var(--color-surface);font-weight:600;font-family:var(--font-mono);font-size:.75rem}.blog-post .code-block{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;padding:16px;overflow-x:auto;font-family:var(--font-mono);font-size:.85rem;line-height:1.5;margin:16px 0}.blog-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin:32px 0}.blog-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:2px;padding:24px;box-shadow:var(--shadow-x) var(--shadow-y) 0 var(--color-shadow);transition:transform .12s}.blog-card:hover{transform:translate(3px,3px)}.blog-card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.blog-card h3 a{color:var(--color-ink);text-decoration:none}.blog-card h3 a:hover{color:var(--color-ink)}.blog-card .card-excerpt{color:var(--color-muted);font-size:.9rem;line-height:1.5;margin-bottom:12px}.blog-card .card-meta{color:var(--color-muted);font-size:.75rem;font-family:var(--font-mono)}@media (max-width: 768px){.hero{padding:32px 0 24px}.hero-layout{grid-template-columns:1fr;gap:32px}.hero-sub{font-size:.95rem}.trust-strip{gap:0;padding:8px 0}.trust-item{padding:0 10px;font-size:.6rem}.preview-panel{position:static}.tool-grid{grid-template-columns:1fr}.tool-card{padding:14px}.page-header{padding:20px 0 16px}.page-header h1{font-size:1.3rem}.page-header p{font-size:.9rem}.page-header .features{gap:8px}.page-header .features span{font-size:.7rem}.tool-interface{padding:14px;margin-bottom:24px}.drop-zone{padding:32px 14px}.drop-zone-icon{font-size:1.8rem}.drop-zone-icon svg{width:1.8rem;height:1.8rem}.options-grid{grid-template-columns:1fr;gap:12px}.option-group select,.option-group input{font-size:16px;padding:10px 12px}.header-inner{height:52px}.logo{font-size:1.1rem}.btn{padding:12px 20px;font-size:.85rem;min-height:44px;justify-content:center}.btn-group{flex-direction:column}.btn-group .btn{width:100%}.file-item{padding:10px 12px}.file-item-info{gap:8px;min-width:0}.file-item-name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item-size{font-size:.75rem;white-space:nowrap}.thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px}.thumbnail-actions{gap:4px}.thumbnail-actions button{width:32px;height:32px;font-size:.8rem}.category-section{padding:24px 0}.category-title{font-size:.7rem;padding-bottom:8px;margin-bottom:16px}.content-section{padding:20px 0}.content-section h2{font-size:1.1rem}.content-section p{font-size:.85rem}.how-to{padding:24px 0}.how-to h2{font-size:1.2rem}.step{padding:12px}.comparison-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.comparison-table th,.comparison-table td{font-size:.8rem;padding:8px 10px;white-space:nowrap}.faq-section{padding:20px 0}.faq-section h2{font-size:1.1rem}.faq-question{font-size:.85rem;padding:12px}.faq-answer.open{padding:12px}.faq-answer p{font-size:.85rem}.related-tools{padding:20px 0}.related-tools h2{font-size:1.1rem}.related-links a{padding:8px 12px;font-size:.7rem}.footer{padding:24px 0;margin-top:32px}.footer-inner{flex-direction:column;gap:20px}.footer-col{min-width:100%}.footer-bottom{font-size:.7rem;padding-top:20px;margin-top:20px}.breadcrumb{font-size:.7rem;padding:8px 0}.stars button{font-size:1.5rem}.toast{left:16px;right:16px;bottom:16px;text-align:center}.preview-box{max-height:300px}.organizer-container #thumbnailGrid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}@media (max-width: 480px){.hero-line{font-size:clamp(2rem,10vw,2.5rem)}.hero-sub{font-size:.9rem}.page-header h1{font-size:1.15rem}.drop-zone{padding:24px 12px}.drop-zone-icon{font-size:1.5rem}.drop-zone-icon svg{width:1.5rem;height:1.5rem}.tool-interface{padding:12px}.thumbnail-grid{grid-template-columns:repeat(2,1fr);gap:6px}.thumbnail-actions{gap:3px}.thumbnail-actions button{width:40px;height:40px;font-size:.85rem}.container{padding:0 12px}.btn{font-size:.8rem;padding:12px 18px;min-height:44px}.hero-actions{flex-direction:column}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%;justify-content:center}.trust-strip{flex-wrap:wrap;padding:8px;gap:4px}.trust-item{padding:4px 8px}.trust-divider{display:none}}[data-theme=light]{--color-bg: #F5F3ED;--color-surface: #FFFFFF;--color-ink: #0E0E10;--color-accent: #F5C518;--color-accent-ink: #0E0E10;--color-border: #0E0E10;--color-muted: #6B6B6B;--color-shadow: var(--color-ink)}[data-theme=light] .tool-card:hover,[data-theme=light] .blog-card:hover,[data-theme=light] .brutal-box-interactive:hover{box-shadow:3px 3px 0 var(--color-shadow)}[data-theme=light] .drag-ghost{box-shadow:6px 6px 0 var(--color-shadow)}
