*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090f;--s1:#111118;--s2:#18181f;--s3:#22222e;--border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.13);--accent:#b5f23d;--ag:rgba(181,242,61,0.12);--ag2:rgba(181,242,61,0.06);--text:#eeeef5;--t2:#8a8a9e;--t3:#44445a;--mono:"JetBrains Mono",monospace;--sans:"Outfit",sans-serif;--r:10px;--rl:14px;--sw:258px}body,html{height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--s3);border-radius:99px}.layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}header{gap:14px;padding:0 18px;height:52px;background:var(--s1);border-bottom:1px solid var(--border);position:relative;z-index:20}.logo,header{display:flex;align-items:center;flex-shrink:0}.logo{gap:9px;text-decoration:none}.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}.logo-name{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.3px}.logo-name span{color:var(--accent)}.search-wrap{flex:1;max-width:300px;position:relative;margin-left:8px}.search-wrap svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--t3);pointer-events:none}.search-wrap input{width:100%;padding:7px 12px 7px 34px;background:var(--s2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--sans);font-size:13px;outline:none;transition:border-color .18s}.search-wrap input:focus{border-color:var(--border2)}.search-wrap input::placeholder{color:var(--t3)}.spacehint{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t3);white-space:nowrap}kbd{padding:2px 7px;background:var(--s2);border:1px solid var(--border2);border-radius:5px;font-family:var(--mono);font-size:11px}.hamburger,kbd{color:var(--t2)}.hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border2);border-radius:7px;cursor:pointer;flex-shrink:0;transition:border-color .15s,color .15s}.hamburger:hover{border-color:rgba(255,255,255,.25);color:var(--text)}.hamburger svg{pointer-events:none}.body{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sw);flex-shrink:0;background:var(--s1);border-right:1px solid var(--border);overflow-y:auto;padding:10px 8px 20px;display:flex;flex-direction:column;gap:2px;transition:transform .25s cubic-bezier(.4,0,.2,1)}.cat-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.07em;color:var(--t3);text-transform:uppercase;padding:12px 8px 4px}.cat-label:first-child{padding-top:4px}.cat-count{font-size:10px;font-weight:600;background:var(--s3);color:var(--t3);border-radius:99px;padding:1px 6px;letter-spacing:0;font-family:var(--mono)}.tool-btn{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;border:none;background:transparent;color:var(--t2);font-family:var(--sans);font-size:13.5px;text-align:left;width:100%;transition:background .12s,color .12s,box-shadow .12s}.tool-btn:hover{background:var(--s2);color:var(--text)}.tool-btn.active{background:var(--ag);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(181,242,61,.25)}.ti{font-size:15px;width:22px;text-align:center;flex-shrink:0}.sidebar-overlay{display:none;position:fixed;inset:0;top:52px;background:rgba(0,0,0,.6);z-index:15;backdrop-filter:blur(2px);opacity:0;transition:opacity .25s;pointer-events:none}.main{flex:1;overflow-y:auto;padding:28px 32px;display:flex;flex-direction:column;gap:20px}.tool-hdr{gap:14px;position:sticky;top:0;z-index:10;background:var(--bg);padding:12px 0 16px;margin:-12px 0 -8px;border-bottom:1px solid var(--border)}.tool-big-icon,.tool-hdr{display:flex;align-items:center}.tool-big-icon{width:46px;height:46px;border-radius:12px;background:var(--ag);justify-content:center;font-size:22px;flex-shrink:0}.tool-title{font-size:22px;font-weight:700;letter-spacing:-.3px}.tool-desc{font-size:13px;color:var(--t2);margin-top:3px}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.panel{background:var(--s1);border:1px solid var(--border);border-radius:var(--rl);padding:20px;animation:fadeUp .22s ease both}.ctrl-panel,.panel{display:flex;flex-direction:column;gap:14px}.ctrl-panel{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);padding:18px;animation:fadeUp .18s ease both}.panel:nth-child(2){animation-delay:.04s}.panel:nth-child(3){animation-delay:.08s}.panel:nth-child(4){animation-delay:.12s}.panel-title{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t3)}.result-big{font-family:var(--mono);font-size:26px;font-weight:700;color:var(--accent);word-break:break-all;line-height:1.3;min-height:40px}.result-big.sm{font-size:15px;font-weight:500;letter-spacing:.02em}.result-big.md{font-size:19px}.result-big.italic{font-style:italic;font-family:var(--sans);font-weight:400;font-size:19px;color:var(--text);line-height:1.6}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:8px 18px;border-radius:8px;font-family:var(--sans);font-size:13.5px;font-weight:500;cursor:pointer;border:none;transition:all .14s}.btn-p{background:var(--accent);color:#0a0b0e}.btn-p:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-p:active{transform:scale(.97)}.btn-g{background:transparent;color:var(--t2);border:1px solid var(--border2)}.btn-g:hover{border-color:rgba(255,255,255,.25);color:var(--text)}.btn-copied{background:var(--s3)!important;color:var(--accent)!important;border-color:transparent!important}.ctrl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}input[type=range]{-webkit-appearance:none;appearance:none;flex:1;min-width:100px;height:3px;background:var(--s3);border-radius:99px;outline:none}.ctrl-val{font-size:13px;font-family:var(--mono);color:var(--accent);min-width:28px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--accent);cursor:pointer}input[type=number],input[type=text],select,textarea{background:var(--s3);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:var(--sans);font-size:13.5px;padding:7px 11px;outline:none;transition:border-color .18s}input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{border-color:rgba(181,242,61,.4)}input[type=number]{width:74px}input[type=text],textarea{width:100%}textarea{min-height:90px;resize:vertical;line-height:1.6;font-size:13.5px}select{cursor:pointer;padding-right:8px}.chk-row{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:13.5px;color:var(--t2);user-select:none}.chk-row input{accent-color:var(--accent);width:14px;height:14px;cursor:pointer}.r-list{display:flex;flex-direction:column;gap:5px}.r-item{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:var(--s2);border-radius:8px;border:1px solid var(--border);gap:10px}.r-item span{font-family:var(--mono);font-size:13.5px;color:var(--text);flex:1;word-break:break-all}.copy-xs{font-size:11px;padding:3px 8px;border-radius:5px;background:var(--s3);border:1px solid var(--border);color:var(--t3);cursor:pointer;flex-shrink:0;font-family:var(--sans);transition:all .13s}.copy-xs:hover{border-color:var(--border2);color:var(--t2)}.dice-wrap{display:flex;flex-wrap:wrap;gap:9px}.die{width:50px;height:50px;border-radius:10px;border:1.5px solid var(--border2);background:var(--s2);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;font-family:var(--mono);color:var(--accent);animation:pop .2s ease}@keyframes pop{0%{transform:scale(.65);opacity:0}to{transform:scale(1);opacity:1}}.coin-face{width:88px;height:88px;border-radius:50%;background:var(--s2);border:2.5px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:32px;transition:all .28s}.coin-face.heads{border-color:var(--accent);background:var(--ag)}.coin-face.tails{border-color:var(--t3)}.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{flex:1;min-width:88px;padding:11px 14px;background:var(--s2);border-radius:8px;border:1px solid var(--border);text-align:center}.stat-n{font-size:20px;font-weight:700;font-family:var(--mono);color:var(--accent)}.stat-l{font-size:11px;color:var(--t3);margin-top:2px}.pal-wrap{display:flex;gap:8px;flex-wrap:wrap}.swatch{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.swatch-c{width:52px;height:52px;border-radius:10px;transition:transform .15s;border:1px solid rgba(255,255,255,.08)}.swatch-c:hover{transform:scale(1.1)}.swatch-hex{font-size:10px;font-family:var(--mono);color:var(--t3);width:52px;text-align:center}.quote-mark{font-size:48px;color:var(--accent);line-height:.6;margin-bottom:8px}.team-grid{display:flex;flex-wrap:wrap;gap:10px}.team-card{flex:1;min-width:130px;background:var(--s2);border-top-width:1px;border-radius:10px;padding:14px;border:1px solid var(--border);border-top:3px solid var(--border)}.team-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}.team-member{font-size:13.5px;padding:5px 0;border-bottom:1px solid var(--border);color:var(--text)}.team-member:last-child{border-bottom:none}#qr-out{display:flex;justify-content:center;padding:12px}#qr-out canvas,#qr-out img{border-radius:8px;border:6px solid #fff}.related-wrap{border-top:1px solid var(--border);padding-top:16px}.rel-lbl{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t3);margin-bottom:10px}.rel-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:6px 13px;background:var(--s2);border:1px solid var(--border);border-radius:99px;font-size:13px;color:var(--t2);cursor:pointer;transition:all .15s}.chip:hover{border-color:rgba(181,242,61,.4);color:var(--accent)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{border-radius:8px;background:linear-gradient(90deg,var(--s2) 25%,var(--s3) 50%,var(--s2) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite}.skeleton-text{height:14px;border-radius:4px;margin-bottom:8px}.skeleton-text.lg{height:28px;width:60%}.skeleton-result{height:44px;border-radius:8px;width:100%}.skeleton-btn{height:36px;border-radius:8px;width:120px}.toast{position:fixed;bottom:22px;right:22px;z-index:999;background:var(--s3);border:1px solid var(--border2);color:var(--text);padding:10px 16px;border-radius:9px;font-size:13px;opacity:0;transform:translateY(8px);transition:all .22s;pointer-events:none}.toast.on{opacity:1;transform:translateY(0)}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--t3);font-size:14px;padding:40px;text-align:center}.empty svg{opacity:.3}.tool-footer{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border);margin-top:8px;padding-top:28px}.section-heading{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--t3);margin-bottom:12px}.faq-section{margin-bottom:28px}.faq-list{display:flex;flex-direction:column;gap:4px}.faq-item{background:var(--s1);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;transition:border-color .15s}.faq-item[data-open=true]{border-color:var(--border2)}.faq-question{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 14px;cursor:pointer;color:var(--t2);font-size:13.5px;font-weight:500;gap:12px;transition:color .15s,background .15s}.faq-question:hover{color:var(--text);background:var(--s2)}.faq-item[data-open=true] .faq-question{color:var(--text)}.faq-chevron{flex-shrink:0;font-size:16px;color:var(--t3);line-height:1;font-weight:300;transition:color .15s}.faq-item[data-open=true] .faq-chevron{color:var(--accent)}.faq-answer{padding:12px 14px 13px;color:var(--t2);font-size:13px;line-height:1.7;border-top:1px solid var(--border)}.faq-answer p{margin:0}.related-section{margin-bottom:28px}.related-grid{display:flex;flex-wrap:wrap;gap:6px}.related-card{text-decoration:none;color:inherit;display:flex;align-items:center;gap:9px;padding:9px 13px;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);transition:border-color .15s,background .15s;min-width:155px}.related-card:hover{background:var(--s3);border-color:var(--border2)}.related-icon{font-size:17px;line-height:1;flex-shrink:0}.related-info{display:flex;flex-direction:column;gap:2px}.related-name{font-size:13px;font-weight:500;color:var(--text)}.related-desc{font-size:11.5px;color:var(--t3)}@media(max-width:720px){.hamburger{display:flex}.spacehint{display:none}.main{padding:16px}.search-wrap{max-width:44px;overflow:hidden}.search-wrap input,.search-wrap span{display:none}.logo-name{font-size:15px}.tool-title{font-size:18px}.result-big{font-size:20px}.result-big.md{font-size:16px}.ctrl-panel,.panel{padding:14px}.main{padding:12px}.tool-big-icon{width:36px;height:36px;font-size:18px}.tool-title{font-size:16px}.tool-desc{font-size:12px}.result-big{font-size:18px}.result-big.italic,.result-big.md{font-size:15px}.btn{padding:7px 14px;font-size:13px}.ctrl-panel,.panel{padding:12px;gap:10px}.stat-n{font-size:16px}.swatch-c{width:42px;height:42px}.coin-face{width:70px;height:70px;font-size:26px}.die{width:42px;height:42px;font-size:17px}.faq-question{font-size:13px;padding:10px 12px}.related-card{min-width:130px;padding:8px 10px}.tool-hdr{margin:-10px 0 -6px;padding:10px 0}.sidebar{position:fixed;top:52px;left:0;height:calc(100dvh - 52px);z-index:18;transform:translateX(-100%);box-shadow:4px 0 24px rgba(0,0,0,.5)}.sidebar.open{transform:translateX(0)}.sidebar-overlay{display:block}.sidebar-overlay.open{opacity:1;pointer-events:auto}.tool-hdr{padding:10px 0 12px}}.new-badge{padding:1px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.25);line-height:1.6}.new-badge,.tool-end{margin-left:auto;flex-shrink:0}.tool-end{display:flex;align-items:center;gap:5px}.new-badge{margin-left:0}.star-btn{background:transparent;border:none;cursor:pointer;font-size:14px;color:var(--t3);padding:0;line-height:1;transition:color .12s,transform .12s;flex-shrink:0;user-select:none}.star-btn:hover{transform:scale(1.25)}.star-btn.starred,.star-btn:hover{color:var(--accent)}.tool-btn.active .star-btn{color:rgba(181,242,61,.45)}.tool-btn.active .star-btn.starred{color:var(--accent)}