:root{--bg:#fffbf0;--surface2:#f0ead6;--border:#1a1a1a;--text:#1a1a1a;--muted:#555;--muted2:#888;--accent:var(--hl-yellow);--accent-bg:#fffbeb;--accent-border:var(--hl-yellow);--danger:var(--hl-red);--danger-bg:#fef2f2;--warn:var(--hl-orange);--warn-bg:#fff7ed;--warn-border:var(--hl-orange);--module-url:var(--hl-yellow);--module-image:var(--hl-blue);--module-post:var(--hl-orange);--module-secret:var(--hl-purple);--module-notes:var(--hl-green);--module-vault:var(--hl-pink);--module-auth:var(--hl-cyan);--module-link:var(--hl-teal);--module-convert:var(--hl-orange);--module-mail:var(--hl-indigo);--hl-red:#f87171;--hl-yellow:#fbbf24;--hl-blue:#60a5fa;--hl-green:#34d399;--hl-purple:#c084fc;--hl-orange:#fb923c;--hl-pink:#f472b6;--hl-cyan:#22d3ee;--hl-teal:#2dd4bf;--hl-indigo:#818cf8;--radius:4px;--radius-lg:6px;--radius-badge:999px;--shadow:4px 4px 0 #1a1a1a;--shadow-sm:3px 3px 0 #1a1a1a;--border-width:2px}[data-theme=dark]{--bg:#2a2e33;--surface2:#333840;--text:#f5f5f5;--muted:#a3a3a3;--muted2:#737373;--warn-bg:#3a2e1a;--accent-bg:#2e2d1a;--danger-bg:#3a1a1a}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;margin:0;font-family:Geist,Inter,system-ui,-apple-system,sans-serif;display:flex}a{color:var(--text);text-decoration:none}a:hover:not([class*=btn]):not(.nav-signup):not(.module-card){text-decoration:underline}hr{border:none;border-top:var(--border-width) solid var(--border);margin:2rem 0}.container{flex:1;width:100%;max-width:800px;margin:0 auto;padding:2rem}.container-lg{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.container-sm{flex:1;width:100%;max-width:500px;margin:0 auto;padding:2rem}.page-header{text-align:center;margin-bottom:2rem;position:relative}.page-header h1{letter-spacing:-.04em;margin:0;font-size:2rem;font-weight:900}.page-header .tagline{color:var(--muted);margin:.5rem 0 0;font-weight:500}.module-badge{background:var(--module-color,var(--hl-yellow));color:#1a1a1a;text-transform:uppercase;letter-spacing:.08em;border:var(--border-width) solid var(--border);border-radius:var(--radius-badge);margin-bottom:.75rem;padding:.25rem .7rem;font-size:.7rem;font-weight:800;display:inline-block}.back-link{color:var(--text);border:var(--border-width) solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface2);padding:.3rem .7rem;font-size:.8rem;font-weight:800;text-decoration:none;transition:transform 80ms,box-shadow 80ms;position:absolute;top:0;left:0}.back-link:hover{box-shadow:var(--shadow);text-decoration:none;transform:translate(-1px,-1px)}.card{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:1.5rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-header h2{margin:0;font-size:1.1rem;font-weight:700}.field{margin-bottom:1rem}label{color:var(--text);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.875rem;font-weight:700;display:block}input,textarea,select{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:.75rem;font-family:inherit;font-size:1rem;transition:box-shadow .1s}input:focus,textarea:focus,select:focus{box-shadow:var(--shadow-sm);outline:none}textarea{resize:vertical}.password-manager-username{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.input-group{gap:.5rem;display:flex}.input-group input{flex:1}.field-row{gap:1rem;display:flex}.field-row .field{flex:1}.field-row .field-small{flex:0 0 80px}button,.btn{background:var(--surface2);border:var(--border-width) solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);white-space:nowrap;justify-content:center;align-items:center;padding:.6rem 1.1rem;font-family:inherit;font-size:.875rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}button:hover:not(:disabled),.btn:hover{box-shadow:var(--shadow);transform:translate(-2px,-2px)}button:active:not(:disabled),.btn:active{box-shadow:none;transform:translate(2px,2px)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--hl-yellow);border-color:var(--border);color:#1a1a1a!important}.btn-danger{background:var(--hl-red);border-color:var(--border);color:#1a1a1a!important}.btn-ghost{box-shadow:none;color:var(--text);background:0 0;border-color:#0000;font-weight:600}.btn-small{padding:.3rem .65rem;font-size:.8rem}.btn-full{width:100%}.error{color:var(--danger);margin:.5rem 0;font-size:.875rem;font-weight:700}.success{color:var(--text);margin:.5rem 0;font-size:.875rem;font-weight:700}.hint{color:var(--muted2);margin:.4rem 0 0;font-size:.8rem}.muted{color:var(--muted)}.alert-warn{background:var(--warn-bg);border:var(--border-width) solid var(--warn-border);color:var(--text);border-radius:var(--radius);padding:.75rem;font-size:.875rem;font-weight:700}.success-box{background:var(--accent-bg);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius);text-align:center;padding:1rem}.success-box p{color:var(--text);margin:0 0 .75rem;font-weight:700}.result{background:var(--accent-bg);border:var(--border-width) solid var(--accent-border);border-radius:var(--radius);margin-top:1.5rem;padding:1rem}.url-box{align-items:center;gap:.5rem;display:flex}.url-box code{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius);word-break:break-all;flex:1;padding:.5rem;font-size:.875rem}.list-item{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding:1rem;display:flex}.list-item-actions{gap:.5rem;display:flex}.meta{color:var(--muted2);font-size:.75rem}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 1rem;animation:.8s linear infinite spin}.top-nav{border-bottom:var(--border-width) solid var(--border);background:var(--bg);box-shadow:0 var(--border-width) 0 var(--border);justify-content:space-between;align-items:center;padding:.875rem 2rem;display:flex}.top-nav .logo{color:var(--text);letter-spacing:-.03em;text-transform:uppercase;font-size:1.25rem;font-weight:900}.top-nav .logo:hover{color:var(--text);text-decoration:underline}.top-nav .nav-links{align-items:center;gap:1rem;display:flex}.top-nav .nav-links a,.top-nav .nav-links button:not(.btn-primary):not(.btn-danger):not(.nav-signup){color:var(--text);box-shadow:none;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .1s}.top-nav .nav-links a:not(.nav-signup):hover,.top-nav .nav-links button:not(.btn-primary):not(.btn-danger):not(.nav-signup):hover{color:var(--muted);box-shadow:none;transform:none}.app-footer{text-align:center;border-top:var(--border-width) solid var(--border);background:var(--bg);flex-direction:column;gap:.4rem;padding:1.25rem 2rem;display:flex}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.footer-links a{color:var(--muted);font-size:.8rem;font-weight:600}.footer-links a:hover{text-decoration:underline}.footer-sep{color:var(--muted2);font-size:.8rem}.footer-copy{color:var(--muted2);margin:0;font-size:.75rem}.nav-signup{color:#1a1a1a;border:var(--border-width) solid var(--border);border-radius:var(--radius);background:var(--hl-yellow);box-shadow:var(--shadow-sm);padding:.35rem .85rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms}.theme-toggle{background:var(--surface2);border:var(--border-width) solid var(--border);cursor:pointer;border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.3rem;font-size:1rem;line-height:1;transition:transform 80ms,box-shadow 80ms}.theme-toggle:hover{box-shadow:var(--shadow);transform:translate(-2px,-2px)}.modules{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;width:100%;margin-bottom:2rem;display:grid}.module-card{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);color:inherit;box-shadow:var(--shadow);padding:1.5rem;text-decoration:none;transition:transform .1s,box-shadow .1s}.module-card:hover{color:inherit;transform:translate(-3px,-3px);box-shadow:6px 6px #1a1a1a}.module-card .icon{margin-bottom:.75rem;font-size:1.75rem;display:block}.module-card h2{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.05rem;font-weight:800}.module-card p{color:var(--muted);margin:0;font-size:.875rem;line-height:1.5}.module-card.disabled{opacity:.45;cursor:not-allowed}.module-card.disabled:hover{transform:none}.badge{background:var(--surface2);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border:var(--border-width) solid var(--border);border-radius:var(--radius-badge);margin-top:.5rem;padding:.2rem .5rem;font-size:.7rem;font-weight:700;display:inline-block}.centered{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:2rem;display:flex}.auth-card{background:var(--bg);border:var(--border-width) solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow);padding:2rem}.auth-card h1{text-align:center;letter-spacing:-.03em;margin:0 0 1.5rem;font-size:1.75rem;font-weight:900}.auth-card button[type=submit]{width:100%;margin-top:.5rem}.auth-link{text-align:center;color:var(--muted);margin-top:1.25rem;font-size:.875rem}.auth-rgpd{text-align:center;color:var(--muted2);margin-top:1rem;font-size:.75rem;line-height:1.5}.auth-rgpd a{color:var(--muted)}.danger-zone h2{color:var(--text);margin:0 0 1rem;font-size:1rem}.zk-banner,.module-info{grid-template-columns:repeat(auto-fill,minmax(300px,3fr));gap:.75rem;margin-bottom:1.75rem;display:grid}.zk-item,.module-info-card{background:var(--bg);border:var(--border-width) solid var(--border);border-left:5px solid var(--module-color,var(--hl-yellow));border-radius:var(--radius-lg);flex-direction:column;gap:.35rem;padding:1rem;display:flex}.zk-item strong,.module-info-card strong{color:var(--text);font-size:.875rem;font-weight:800}.zk-item span,.module-info-card span{color:var(--muted);font-size:.78rem;line-height:1.5}@media (width<=640px){.zk-item{flex:100%}}.pagination{justify-content:center;align-items:center;gap:1rem;margin:2rem 0;display:flex}.pagination .btn.disabled{opacity:.4;pointer-events:none}.unlock-form{margin-bottom:1.25rem}.unlock-form p{color:var(--muted);font-size:.875rem}.unlock-form .field-row{gap:.5rem;display:flex}.unlock-form .field-row input{flex:1}.page-content{flex-direction:column;display:flex}@media (width<=640px){.info-bottom{order:99;margin-top:2rem;margin-bottom:0}.container,.container-lg,.container-sm{padding:1rem}.top-nav{padding:.75rem 1rem}.top-nav .nav-links{gap:.75rem}.back-link{margin-bottom:.75rem;display:block;position:static}.page-header{margin-bottom:1.25rem}.page-header h1{font-size:1.5rem}.input-group{flex-wrap:wrap}.input-group input{min-width:0}.field-row{flex-direction:column;gap:0}.list-item{flex-direction:column;gap:.75rem}.list-item-actions{justify-content:flex-end;width:100%}.url-box{flex-wrap:wrap}.url-box code{flex:none;width:100%}.card{padding:1.25rem}.modules{grid-template-columns:1fr}.app-footer{padding:1rem}.footer-links{flex-direction:column;gap:.25rem}.footer-sep{display:none}.btn-primary,.btn-danger{width:100%}}
