:root{--b:#7c3aed;--bd:#5b21b6;--t:#1f2937;--m:#6b7280;--l:#e5e7eb;--bg:#f8fafc;--c:#fff}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--t);background:var(--bg)}
a{color:var(--b)}.wrap{max-width:860px;margin:0 auto;padding:0 1rem}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
.et-head{background:#fff;border-bottom:1px solid var(--l)}.et-head .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.7rem 1rem}
.et-logo{font-weight:800;font-size:1.2rem;color:var(--t);text-decoration:none}.et-logo span:last-child{color:var(--b)}.et-head nav a{margin-left:1rem;text-decoration:none;color:var(--m)}
main{padding:1rem 1rem 2rem}h1{font-size:1.7rem;line-height:1.2;margin:.3rem 0 .5rem}h2{font-size:1.25rem;margin:1.8rem 0 .5rem}.crumb{font-size:.9rem}.crumb a{text-decoration:none}
.et-lead{color:var(--m);margin-top:0}
.et-tool{background:var(--c);border:1px solid var(--l);border-radius:14px;padding:1rem;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.et-tool label{display:block;font-size:.9rem;color:var(--m);margin:.4rem 0;flex:1;min-width:120px}
.et-tool input:not([type=checkbox]):not([type=range]):not([type=color]),.et-tool select,.et-tool textarea{display:block;width:100%;margin-top:.2rem;padding:.6rem .7rem;font:inherit;color:var(--t);border:1px solid #cbd5e1;border-radius:10px;background:#fff}
.et-tool input[type=range]{width:100%}.et-tool input[type=color]{width:100%;height:46px;border:0;padding:0;background:none;margin-top:.2rem}
.et-tool textarea{resize:vertical}.et-mono{font-family:ui-monospace,Menlo,Consolas,monospace!important;font-size:.9rem!important}
.et-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:flex-end}.et-inline,.et-checks label{display:inline-flex!important;align-items:center;gap:.35rem;min-width:0!important;margin-right:1rem!important;color:var(--t)!important}
.et-btn,.et-btn2{display:inline-block;padding:.6rem 1rem;font:inherit;font-weight:600;border-radius:10px;border:1px solid var(--b);cursor:pointer;text-decoration:none;margin:.4rem .4rem 0 0}
.et-btn{background:var(--b);color:#fff}.et-btn:hover{background:var(--bd)}.et-btn2{background:#fff;color:var(--b)}.et-btn2:hover{background:#eff6ff}
.et-swap{margin-bottom:.45rem}
.et-out{margin-top:.8rem;padding:.8rem;background:#eff6ff;border-radius:10px;min-height:2.6rem}.et-big{font-size:1.35rem;font-weight:700}
.et-pct{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 0;border-bottom:1px solid var(--l)}.et-pct input{width:7rem!important;display:inline-block!important}.et-pct b{font-size:1.2rem;color:var(--bd)}
.et-pw{font-family:ui-monospace,Menlo,monospace!important;font-size:1.1rem!important;flex:1}.et-strength{color:var(--m);margin:.3rem 0}
.et-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;margin-top:.6rem}.et-stats div{background:#eff6ff;border-radius:10px;padding:.5rem;text-align:center;font-size:.85rem;color:var(--m)}.et-stats b{display:block;font-size:1.4rem;color:var(--t)}
.et-qr{text-align:center;margin:.6rem 0}.et-qr canvas{max-width:100%;height:auto;border:1px solid var(--l)}
.et-swatch{width:64px;height:46px;border-radius:10px;border:1px solid var(--l)}.et-codes .et-row input{flex:1}
.et-clock{font:700 3.2rem/1.1 ui-monospace,Menlo,monospace;text-align:center;padding:.6rem 0}.et-clock.done{color:#dc2626}.et-laps{font-family:ui-monospace,monospace}
.et-msg{min-height:1.2em;color:var(--m)}.et-msg.ok{color:#15803d}.et-msg.bad{color:#b91c1c}
.et-note{font-size:.85rem;color:#92400e;background:#fffbeb;border-radius:10px;padding:.6rem .8rem;margin-top:.8rem}
.et-private{font-size:.85rem;color:var(--m)}
.et-ad-slot{min-height:0;margin:1rem 0}
.et-faq details{background:#fff;border:1px solid var(--l);border-radius:10px;padding:.6rem .9rem;margin:.4rem 0}.et-faq summary{cursor:pointer;font-weight:600}
.et-hero{text-align:center;padding:1rem 0}.et-hero h1{font-size:2rem}.et-hero p{color:var(--m)}#et-search{width:100%;max-width:520px;padding:.8rem 1rem;font:inherit;font-size:1.05rem;border:2px solid #cbd5e1;border-radius:999px}#et-search:focus{outline:none;border-color:var(--b)}
.et-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.6rem}
.et-card{display:flex;gap:.7rem;align-items:flex-start;background:#fff;border:1px solid var(--l);border-radius:12px;padding:.8rem;text-decoration:none;color:var(--t)}.et-card:hover{border-color:var(--b);box-shadow:0 2px 8px rgba(37,99,235,.12)}
.et-card b{display:block}.et-card small{color:var(--m);font-size:.82rem;line-height:1.35;display:block}.et-ic{font-size:1.5rem;width:2rem;text-align:center;flex:none}
.et-foot{border-top:1px solid var(--l);background:#fff;font-size:.88rem;color:var(--m)}.et-foot nav a{margin-right:1rem}.et-foot .wrap{padding:1rem}
[hidden]{display:none!important}
@media(max-width:520px){h1{font-size:1.45rem}.et-clock{font-size:2.6rem}}
.ff-search{background:#fff;border:1px solid var(--l);border-radius:14px;padding:1rem;margin:1rem 0}
.ff-search label{display:block;font-weight:600;margin-bottom:.3rem}
.ff-search input{width:100%;padding:.7rem .8rem;font:inherit;border:1px solid #cbd5e1;border-radius:10px}
.ff-count{color:var(--m);font-size:.9rem}
.ff-fact{background:#fff;border:1px solid var(--l);border-left:4px solid var(--b);border-radius:12px;padding:.8rem 1rem;margin:.7rem 0}
.ff-t{margin:0 0 .4rem;font-size:1.05rem}.ff-src{margin:0;font-size:.8rem;color:var(--m)}.ff-src a{color:var(--m)}
.ff-tag{display:inline-block;background:#ede9fe;color:#5b21b6!important;border-radius:99px;padding:0 .5rem;text-decoration:none;margin-right:.3rem}
.ff-btn{background:var(--b);color:#fff;border:0;border-radius:10px;padding:.65rem 1rem;font:inherit;font-weight:600;cursor:pointer}.ff-btn:hover{background:var(--bd)}
.ff-random-box{margin:1rem 0}
.ff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem}
.ff-cat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--l);border-radius:14px;padding:1rem;text-decoration:none;color:var(--t)}
.ff-cat:hover{border-color:var(--b)}.ff-ic{font-size:1.8rem}.ff-cat small{color:var(--m)}
.ff-pager{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.ff-pager a,.ff-pager span{padding:.3rem .7rem;border:1px solid var(--l);border-radius:8px;background:#fff;text-decoration:none}.ff-pager span{background:var(--b);color:#fff}
.ff-ad-slot:empty{display:none}
