:root{color-scheme:light dark;--bg:#fff;--surface:#f8f8f7;--hover:#efefed;--text:#1c1917;--muted:#57534e;--border:#e7e5e4;--border-strong:#8a8178;--accent:#c2410c;--accent-hover:#9a3412;--on-accent:#fff;--accent-soft:#fff4ec;--danger:#b91c1c;--danger-soft:#fef2f2;--success:#15803d;--success-soft:#f0fdf4;--radius:8px;--radius-sm:6px;--sidebar:248px;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--surface:#232120;--hover:#2e2b29;--text:#fafaf9;--muted:#b8b1aa;--border:#38342f;--border-strong:#8f8780;--accent:#fb923c;--accent-hover:#fdba74;--on-accent:#1c1917;--accent-soft:#33241a;--danger:#fca5a5;--danger-soft:#3b1f1f;--success:#86efac;--success-soft:#1a2e20}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6}h1,h2,h3{letter-spacing:-.012em;text-wrap:balance;margin:0;font-weight:650;line-height:1.25}h1{font-size:clamp(1.625rem,3.5vw,2rem)}h2{font-size:1.1875rem}h3{letter-spacing:0;font-size:.9375rem;font-weight:600}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.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}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);padding:8px 14px;text-decoration:none;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.icon{flex:none;width:16px;height:16px}.muted{color:var(--muted)}.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{display:none}.topbar{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding-inline:16px;display:flex;position:relative}.logo{letter-spacing:-.02em;align-items:center;gap:8px;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.logo .icon{width:18px;height:18px;color:var(--accent)}.menu>summary{cursor:pointer;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:8px;min-height:44px;padding-inline:12px;font-size:.875rem;font-weight:550;list-style:none;display:flex}.menu>summary::-webkit-details-marker{display:none}.menu-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100dvh - 72px);padding:8px;position:absolute;top:calc(100% + 4px);left:8px;right:8px;overflow-y:auto;box-shadow:0 8px 24px #00000024}.menu-panel .foot-links{border-top:1px solid var(--border);margin-top:8px;padding:8px 8px 0}.content-area{flex-direction:column;min-width:0;display:flex}main{flex:1}.site-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:16px 20px;font-size:.8125rem}@media (width>=900px){.app{grid-template-columns:var(--sidebar) minmax(0, 1fr);grid-template-rows:1fr}.topbar{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-head{border-bottom:1px solid var(--border);align-items:center;min-height:56px;padding-inline:16px;display:flex}.sidebar-body{flex:1;padding:8px}.sidebar-foot{border-top:1px solid var(--border);padding:12px 16px}}.tree-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 8px 4px;font-size:.6875rem;font-weight:500;display:block}.tree-group summary{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:8px;min-height:36px;padding-inline:8px;font-size:.875rem;font-weight:550;list-style:none;transition:background-color .12s;display:flex}.tree-group summary::-webkit-details-marker{display:none}.tree-group summary:hover{background:var(--hover)}.tree-chevron{color:var(--muted);margin-left:auto;transition:transform .12s}.tree-group[open] .tree-chevron{transform:rotate(90deg)}.tree-group ul{border-left:1px solid var(--border);margin:0 0 4px 15px;padding:0 0 0 8px;list-style:none}.tree-link{border-radius:var(--radius-sm);min-height:36px;color:var(--muted);align-items:center;padding-inline:8px;font-size:.875rem;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.tree-link:hover{background:var(--hover);color:var(--text)}.tree-link[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:550}.foot-links{color:var(--muted);flex-wrap:wrap;gap:2px 14px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.foot-links a{padding-block:6px;display:inline-block}.page{width:100%;max-width:760px;margin-inline:auto;padding:24px 20px 56px}.page-wide{max-width:960px}@media (width>=900px){.page{padding-top:32px}}.crumbs{font-family:var(--mono);color:var(--muted);margin-bottom:16px;font-size:.8125rem}.crumbs ol{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:6px}.crumbs a{text-underline-offset:2px;display:inline-block}.lede{color:var(--muted);margin-top:8px}.private-note{color:var(--success);align-items:center;gap:6px;margin-top:10px;font-size:.8125rem;font-weight:500;display:flex}.hero{padding-block:16px 24px}.hero h1{letter-spacing:-.025em;font-size:clamp(1.875rem,4.5vw,2.5rem)}.hero p{max-width:58ch;color:var(--muted);margin-top:10px;font-size:1.0625rem}.promises{flex-wrap:wrap;gap:6px;margin:18px 0 0;padding:0;list-style:none;display:flex}.promises li{border:1px solid var(--border);border-radius:99px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:.8125rem;font-weight:500;display:flex}.promises .icon{width:14px;height:14px;color:var(--success)}.cat-section{padding-top:24px}.cat-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.cat-head .icon{color:var(--muted)}.cat-head a{text-decoration:none}.cat-head a:hover{text-underline-offset:3px;text-decoration:underline}.tool-grid{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media (width>=620px){.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tool-grid-spaced{margin-top:24px}.tool-card{border:1px solid var(--border);border-radius:var(--radius);gap:12px;padding:14px;text-decoration:none;transition:border-color .12s,background-color .12s;display:flex}.tool-card:hover{background:var(--surface);border-color:var(--border-strong)}.tool-card .icon{color:var(--accent);margin-top:3px}.tool-card span{color:var(--muted);margin-top:2px;font-size:.875rem;line-height:1.45;display:block}.tool-panel{border:1px solid var(--border);border-radius:var(--radius);margin-top:20px}.tool-host{align-content:start;gap:16px;min-height:200px;padding:16px;display:grid}@media (width>=620px){.tool-host{padding:20px}}.tool-stack{gap:16px;min-width:0;display:grid}.retention{border-bottom:1px solid var(--border);background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:6px 8px 6px 16px;font-size:.8125rem;display:flex}.retention-text{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.retention-done{margin:12px 16px 0}.content{gap:32px;margin-top:40px;display:grid}.content h2{margin-bottom:10px}.steps{gap:6px;margin:0;padding-left:1.25rem;display:grid}.steps li::marker{color:var(--muted);font-family:var(--mono);font-size:.875em}.faq{border-top:1px solid var(--border)}.faq:last-child{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding-block:10px;font-size:.9375rem;font-weight:550;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--muted);transition:transform .12s}.faq[open] summary .icon{transform:rotate(180deg)}.faq p{color:var(--muted);padding-bottom:14px}.prose{gap:12px;display:grid}.prose h1{margin-bottom:4px}.prose h2{margin-top:16px}.prose ul{gap:6px;margin:0;padding-left:1.25rem;display:grid}.dropzone{text-align:center;cursor:pointer;background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);justify-items:center;gap:4px;padding:36px 16px;transition:border-color .12s,background-color .12s;display:grid}.dropzone:hover,.dropzone.is-over{background:var(--accent-soft);border-color:var(--accent)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dropzone .icon{width:22px;height:22px;color:var(--accent);margin-bottom:4px}.dropzone strong{font-size:.9375rem;font-weight:600}.dropzone span{color:var(--muted);font-size:.8125rem}.btn{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:6px 14px;font-size:.875rem;font-weight:550;transition:background-color .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-quiet{background:0 0;border-color:#0000;min-height:32px;padding:2px 10px;font-size:.8125rem}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.icon-btn{min-width:36px;min-height:36px;padding:4px}.fields{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;display:grid}.field{align-content:start;gap:4px;min-width:0;display:grid}.field>label{font-size:.8125rem;font-weight:550}.field-hint{color:var(--muted);font-size:.8125rem}.input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:40px;padding:6px 10px}textarea.input{resize:vertical;min-height:200px;line-height:1.5}input[type=range]{width:100%;min-height:28px;accent-color:var(--accent);cursor:pointer}input[type=color]{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;width:100%;height:40px;padding:3px}.check{cursor:pointer;align-items:center;gap:8px;min-height:32px;font-size:.875rem;display:flex}.check input{width:16px;height:16px;accent-color:var(--accent)}.file-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.file-row{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:6px 6px 6px 12px;display:flex}.file-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.875rem}.file-meta{font-family:var(--mono);color:var(--muted);font-size:.75rem;display:block}.file-actions{flex:none;gap:4px;display:flex}.progress{gap:4px;display:grid}.progress-track{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .15s linear;transform:scaleX(0)}.progress-text{font-family:var(--mono);color:var(--muted);font-size:.75rem}.notice{border-radius:var(--radius-sm);overflow-wrap:anywhere;padding:10px 12px;font-size:.875rem}.notice-error{background:var(--danger-soft);color:var(--danger)}.notice-info{background:var(--surface);color:var(--muted);border:1px solid var(--border)}.notice-success{background:var(--success-soft);color:var(--success)}.result{gap:10px;display:grid}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.stat{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.stat b{font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650;line-height:1.25;display:block}.stat span{color:var(--muted);font-size:.75rem}.qr-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);place-items:center;padding:16px;display:grid}.qr-preview canvas{max-width:100%;height:auto!important}.password-output{min-height:52px;font-family:var(--mono);overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px;font-size:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
