*{box-sizing:border-box}:root{--bg:#fff;--fg:#000;--bd:#ddd;--card:#fff;--mut:#888}[data-theme=dark]{--bg:#1c1d21;--fg:#eceae4;--bd:#34363c;--card:#25262b;--mut:#9a9aa0;color-scheme:dark}body{margin:0;font:19px system-ui,sans-serif;background:var(--bg);color:var(--fg);text-align:center}main{max-width:1100px;margin:auto;padding:20px}main>:not(.grid){max-width:520px;margin-left:auto;margin-right:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.grid .c{margin:0}
header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--bd)}.hb{max-width:1100px;margin:auto;padding:10px 20px;display:flex;align-items:center;gap:10px}.hb a,.hb button{color:var(--fg);text-decoration:none;background:none;border:0;font:inherit;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px}.hb a:hover,.hb button:hover{background:var(--bd)}.hb .logo{font-weight:700;margin-right:auto;padding-left:0}.hb .logo img{width:28px;height:28px;border-radius:6px}.hb .ic{width:42px;height:42px;justify-content:center;padding:0;border:1px solid var(--bd);border-radius:50%}@media(max-width:480px){.hl span{display:none}}nav .b{margin:0}.b{display:block;width:100%;margin:8px 0;padding:18px;border:0;border-radius:10px;background:#006d77;color:#fff;font-size:1.15rem;cursor:pointer;text-decoration:none}
.b:disabled{background:#aaa;cursor:not-allowed}.b.g:disabled{background:#2a9d3f;opacity:1}.b.r:disabled{background:#c1121f;opacity:1}.g{background:#2a9d3f}.r{background:#c1121f}
input{width:100%;padding:16px;margin:8px 0;border:1px solid #888;border-radius:10px;font-size:1.1rem;background:var(--card);color:var(--fg)}.c{border:1px solid var(--bd);background:var(--card);border-radius:12px;padding:16px;margin:16px 0}.c h2{font-size:1.25rem;margin:0 0 10px}s{color:var(--mut)}
summary{cursor:pointer;padding:10px}.tm{display:flex;gap:8px;align-items:center}select{flex:1;padding:16px;font-size:1.1rem;border-radius:10px;border:1px solid #888;background:var(--card);color:var(--fg)}#t{position:fixed;right:12px;bottom:12px;background:#006d77;color:#fff;padding:12px 16px;border-radius:8px;animation:o 4s forwards}
@keyframes o{0%,85%{opacity:1}100%{opacity:0;visibility:hidden}}