:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#edf4f7;background:#08141c;font-size:16px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 85% -8%,#1a5360 0,transparent 36%),#08141c;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.topbar,.wrap{width:min(100%,700px);margin:auto}.topbar{height:78px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:.14em;line-height:1.08}.brand strong{font-size:17px;letter-spacing:.05em}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#6df4cc;color:#09201d;font-weight:900;letter-spacing:-.06em}.icon-button{width:44px;height:44px;border:1px solid #38606c;border-radius:14px;background:#122b35;color:#d6f4ed;font-size:28px}.wrap{padding:4px 18px max(35px,env(safe-area-inset-bottom))}.hero,.section{background:#102631;border:1px solid #31505b;border-radius:24px;box-shadow:0 18px 32px #03101638}.hero{padding:24px;margin:4px 0 19px;background:linear-gradient(145deg,#153b45,#0c232e 72%)}.hero-head,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{color:#6df4cc;letter-spacing:.16em;font-size:11px;font-weight:800;margin:0}.state{padding:7px 11px;border-radius:999px;background:#244741;color:#88ffd5;font-size:12px;font-weight:700;white-space:nowrap}.state.busy{background:#5d481c;color:#ffe4a0}.hero h1{font-size:clamp(25px,6vw,34px);margin:23px 0 6px;line-height:1.3}.muted{color:#9ab4c0}.hero .muted{margin:0}.hero-count{display:flex;align-items:baseline;gap:8px;margin:8px 0 4px}.hero-count strong{font-size:68px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.07em}.hero-count span{font-weight:700;color:#b9d8de}.fine{font-size:12px;color:#91adb8;line-height:1.55}.section{padding:21px 19px;margin:18px 0}.section-head h2{margin:0;font-size:20px}.section-head span{font-size:12px;color:#8eabb6;text-align:right}.helper{color:#aec8cf;line-height:1.6;font-size:14px}.generate-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.button{min-height:48px;border-radius:13px;border:1px solid #5fefc3;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:space-between;gap:10px}.button.primary{background:#6df4cc;color:#08221c}.button.secondary{background:#15313b;color:#c6f9e9;border-color:#407565}.button.wide{width:100%;justify-content:center;margin-top:20px}.switch-row{min-height:67px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #2b4751}.switch-row strong{display:block}.switch-row small{display:block;color:#8eabb6;margin-top:4px}.switch-row input{appearance:none;flex:none;width:53px;height:31px;border-radius:18px;background:#38515a;position:relative;border:1px solid #5a7780}.switch-row input:before{content:"";position:absolute;top:3px;left:3px;width:23px;height:23px;border-radius:50%;background:#e9f5f4;transition:transform .15s}.switch-row input:checked{background:#39cfa4;border-color:#55ecc1}.switch-row input:checked:before{transform:translateX(22px);background:#063022}.field{display:block;color:#d8e8eb;font-size:14px;font-weight:650;margin-top:18px}.field select,.field input[type=number]{display:block;width:100%;margin-top:9px;min-height:47px;border-radius:11px;border:1px solid #45616b;background:#0c2029;color:#f0f9f9;padding:0 13px}.field input[type=range]{display:block;width:100%;margin:14px 0 5px;accent-color:#6df4cc;height:30px}.field output{float:right;color:#84f1cb}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stack{display:grid;gap:10px;margin-top:16px}.card{padding:14px;border-radius:14px;background:#0a1e28;border:1px solid #294550}.card strong{font-size:15px;line-height:1.45}.card p{margin:7px 0;color:#9bb8c1;font-size:13px;line-height:1.5}.card-top{display:flex;justify-content:space-between;gap:10px}.chip{white-space:nowrap;font-size:11px;color:#78edc1;border:1px solid #3e806d;border-radius:999px;padding:4px 8px;height:fit-content}.card a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 12px;margin-top:9px;background:#173c43;color:#8cf3d3;text-decoration:none;border:1px solid #3e806d;border-radius:11px;font-weight:700}.error-box,.notice{padding:13px 15px;border-radius:12px;line-height:1.5}.error-box{background:#3a2425;color:#ffccca;border:1px solid #a65b5e;margin-top:15px}.notice{position:sticky;top:8px;z-index:3;background:#214f44;color:#e1fff4;border:1px solid #63d9b7;margin:4px 0 12px}.notice.error{background:#4b282a;color:#ffe1de;border-color:#da8887}footer{display:flex;justify-content:space-between;align-items:center;color:#72929e;padding:20px 5px 36px;font-size:11px;letter-spacing:.1em}.text-button{background:transparent;border:0;color:#9cdcc9;text-decoration:underline;min-height:44px}dialog{width:min(calc(100% - 28px),500px);border:1px solid #5e8d81;border-radius:20px;background:#102a33;color:#edf5f4;box-shadow:0 20px 70px #000b}dialog::backdrop{background:#000b}.dialog-content{padding:4px}.dialog-content h2{margin:11px 0}.dialog-content p{line-height:1.5}.confirm-check{display:flex;align-items:center;gap:9px;padding:13px 0}.confirm-check input{width:21px;height:21px;accent-color:#6df4cc}.dialog-actions{display:flex;gap:10px}.dialog-actions .button{flex:1}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}.login-panel{width:min(100%,430px);padding:32px 25px;border:1px solid #3f685f;border-radius:25px;background:#102b32}.login-panel .mark{width:55px;height:55px;font-size:22px}.login-panel h1{font-size:32px;line-height:1.2;margin:24px 0 12px}.login-panel p{line-height:1.7;color:#aec8ce}.login-panel .button{width:100%;justify-content:center;text-decoration:none;margin:17px 0 4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffde7a;outline-offset:3px}@media(max-width:360px){.wrap{padding-left:12px;padding-right:12px}.section{padding:17px 14px}.button{font-size:13px;padding:10px}.two-cols{gap:7px}}
