:root{--sth-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;--sth-accent: #0b5bd3;--sth-accent-hover: #094aad;--sth-text: #1a1a2e;--sth-muted: #6b7280;--sth-bg: #f5f6fa;--sth-card-bg: #ffffff;--sth-card-border: #e2e4e9;--sth-card-shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--sth-card-shadow-hover: 0 4px 12px rgba(0,0,0,.1);--sth-input-bg: #ffffff;--sth-input-border: #d1d5db;--sth-desc-bg: #f0f2f5;--sth-radius: 12px;--sth-radius-sm: 8px}[data-bs-theme=dark],[data-theme=dark]{--sth-text: #e8e8ec;--sth-muted: #9ca3af;--sth-bg: #111318;--sth-card-bg: #1c1e26;--sth-card-border: #2e3039;--sth-card-shadow: 0 1px 3px rgba(0,0,0,.2);--sth-card-shadow-hover: 0 4px 12px rgba(0,0,0,.3);--sth-input-bg: #1c1e26;--sth-input-border: #3a3d48;--sth-desc-bg: #22242c;--sth-accent: #5b9cf5;--sth-accent-hover: #7db4ff}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--sth-font);-webkit-text-size-adjust:100%}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--sth-accent);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;border:0!important}body.page-index{background:var(--sth-bg);color:var(--sth-text)}body.page-index .sth-wrap{max-width:1320px;margin:0 auto;padding:0 1rem}body.page-index .sth-hero{text-align:center;padding:2rem 0 1rem}body.page-index .sth-hero h1{font-size:clamp(1.4rem,1rem + 2vw,2rem);font-weight:700;color:var(--sth-text);margin:0 0 .5rem}body.page-index .sth-hero p{font-size:clamp(.95rem,.9rem + .3vw,1.1rem);color:var(--sth-muted);max-width:640px;margin:0 auto;line-height:1.5}body.page-index .sth-search{display:flex;gap:.5rem;max-width:480px;margin:1.25rem auto 1.5rem}body.page-index .sth-search input{flex:1;min-height:44px;padding:.5rem .75rem;font-size:1rem;border:1px solid var(--sth-input-border);border-radius:var(--sth-radius-sm);background:var(--sth-input-bg);color:var(--sth-text)}body.page-index .sth-search button{min-height:44px;min-width:44px;padding:.5rem .75rem;border:1px solid var(--sth-input-border);border-radius:var(--sth-radius-sm);background:var(--sth-card-bg);color:var(--sth-muted);cursor:pointer;font-size:1rem}body.page-index #results-count{text-align:center;font-size:.9rem;color:var(--sth-muted);margin-bottom:1rem}body.page-index .card-list{display:grid;gap:1rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}@media(min-width:540px){body.page-index .card-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){body.page-index .card-list{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){body.page-index .card-list{grid-template-columns:repeat(4,1fr)}}body.page-index .tool-card{display:block;background:var(--sth-card-bg);border:1px solid var(--sth-card-border);border-radius:var(--sth-radius);padding:1rem;text-decoration:none;color:var(--sth-text);box-shadow:var(--sth-card-shadow);-webkit-transition:box-shadow .2s,border-color .2s;transition:box-shadow .2s,border-color .2s}body.page-index .tool-card:hover,body.page-index .tool-card:focus{box-shadow:var(--sth-card-shadow-hover);border-color:var(--sth-accent);text-decoration:none}body.page-index .tool-card .tool-title{font-size:1.05rem;font-weight:700;color:var(--sth-text);margin:0 0 .35rem;line-height:1.3}body.page-index .tool-card p{font-size:.92rem;color:var(--sth-muted);margin:0;line-height:1.45}body.page-index .faq-section{max-width:800px;margin:2rem auto 0;padding:0}body.page-index .faq-section h2{font-size:1.3rem;font-weight:700;margin-bottom:1rem;color:var(--sth-text)}body.page-index .exp-box{background:var(--sth-card-bg);border:1px solid var(--sth-card-border);border-radius:var(--sth-radius-sm);padding:.75rem 1rem;margin-bottom:.6rem;font-size:.95rem;color:var(--sth-text)}body.page-index .exp-box summary{cursor:pointer;font-weight:600}body.page-index .sth-footer{text-align:center;padding:2rem 1rem;margin-top:2rem;border-top:1px solid var(--sth-card-border);color:var(--sth-muted);font-size:.9rem}body.page-index .sth-footer a{color:var(--sth-muted);text-decoration:none;margin:0 .5rem}body.page-index .sth-footer a:hover{text-decoration:underline}body.page-index .sth-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--sth-card-border);margin-bottom:.5rem}body.page-index .sth-header-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem}body.page-index .sth-header-left img{height:36px;width:auto}body.page-index .sth-header-left span{font-weight:700;font-size:1.1rem;color:var(--sth-text)}body.page-index .sth-header-actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem}body.page-index #themeToggle{background:none;border:1px solid var(--sth-card-border);border-radius:var(--sth-radius-sm);padding:.4rem;cursor:pointer;color:var(--sth-text);min-width:36px;min-height:36px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.card-body .row{--bs-gutter-x: 0;--bs-gutter-y: 0;margin-left:0;margin-right:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.6rem;margin-bottom:1rem}.card-body .row>[class*=col-]{padding-right:calc(var(--bs-gutter-x, 1.5rem) * .5);padding-left:calc(var(--bs-gutter-x, 1.5rem) * .5)}.card-body .row.g-3{--bs-gutter-x: 1rem;--bs-gutter-y: 1rem}.card-body .row>label{min-width:100px;font-weight:500}.card-body .row input[type=text],.card-body .row input[type=search],.card-body .row input[type=number],.card-body .row select{font-size:1rem;padding:.35rem .6rem;border-radius:6px;border:1px solid var(--sth-input-border, #d1d5db);background:var(--sth-input-bg, #fff);color:var(--sth-text, #1a1a2e);min-height:38px}.card-body .row input[type=number]{width:5rem}.card-body .row select{min-width:10rem}@media(max-width:600px){.card-body .row{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.card-body .row>label{min-width:auto}.card-body .row input[type=number],.card-body .row select{width:100%;min-width:0}}.card-body .tool-title{font-weight:700;font-size:1.05rem;margin:0 0 .35rem;color:var(--sth-text, #1a1a2e)}.card-body .alert{color:#b91c1c;font-size:.95rem;margin:.5rem 0;padding:.5rem .75rem;border-radius:6px}.tool-btn{min-height:44px;min-width:44px;padding:.5rem 1rem;font-weight:700;font-size:1rem;background:var(--sth-accent, #0b5bd3);color:#fff;border:none;border-radius:var(--sth-radius-sm);cursor:pointer}.tool-btn:hover,.tool-btn:focus{background:var(--sth-accent-hover, #094aad)}.btn-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.dropzone{cursor:pointer;border:2px dashed var(--sth-input-border, #d1d5db);border-radius:var(--sth-radius);padding:2rem 1rem;text-align:center;background:var(--sth-desc-bg, #f0f2f5)}.dropzone:hover{border-color:var(--sth-accent)}.result-box{background:var(--sth-desc-bg, #f0f2f5);border-radius:var(--sth-radius);padding:1rem;margin:1rem 0;border:1px solid var(--sth-card-border, #e2e4e9)}.exp-box{background:var(--sth-desc-bg, #f0f2f5);border-radius:var(--sth-radius-sm);padding:.6rem 1rem;margin-bottom:.6rem;font-size:.95rem}.exp-box summary{cursor:pointer;font-weight:600}.alert-text{color:#b91c1c;font-size:.95rem;margin:.5rem 0}.name-item{background:var(--sth-card-bg, #fff);border:1px solid var(--sth-card-border, #e2e4e9);border-radius:var(--sth-radius-sm);padding:.6rem .75rem;margin-bottom:.5rem;position:relative}.copy-btn{position:absolute;right:.6rem;top:.55rem;background:none;border:1px solid var(--sth-card-border, #e2e4e9);border-radius:6px;padding:.3rem .6rem;cursor:pointer;font-size:.9rem;color:var(--sth-text, #1a1a2e);min-height:32px}.copy-btn:hover{background:#0000000d}.emoji-categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem;margin:1rem 0}.category-card{background:var(--sth-card-bg);border:1px solid var(--sth-card-border);border-radius:var(--sth-radius-sm);padding:.6rem .4rem;text-align:center;font-size:.88rem;font-weight:500;cursor:pointer}.category-card.active{background:var(--sth-accent);color:#fff;border-color:var(--sth-accent)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.emoji-card{background:var(--sth-card-bg);border:1px solid var(--sth-card-border);border-radius:var(--sth-radius-sm);padding:.6rem;text-align:center}.emoji-icon{font-size:1.8rem}.emoji-name{font-size:.82rem;color:var(--sth-muted);margin-top:.25rem}.preview-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:1rem}.preview-thumb{background:var(--sth-card-bg);border:1px solid var(--sth-card-border);border-radius:var(--sth-radius-sm);overflow:hidden}.preview-thumb img{display:block;width:100%;height:auto}.back-to-top{display:none;position:fixed;right:1rem;bottom:1rem;z-index:999;background:var(--sth-card-bg);color:var(--sth-accent);border:2px solid var(--sth-card-border);border-radius:50%;width:44px;height:44px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.4rem;cursor:pointer;box-shadow:var(--sth-card-shadow)}@media(max-width:768px){.back-to-top{display:-webkit-box;display:-ms-flexbox;display:flex}}.progress{width:100%;height:.75rem;border-radius:999px;overflow:hidden;background:var(--sth-desc-bg);border:1px solid var(--sth-card-border)}.progress-bar{height:100%;background:var(--sth-accent);width:0%;-webkit-transition:width .3s;transition:width .3s}
