:root{--ink:#090B11;--blue:#5AB1E4;--slate:#3B4F6C;--mist:#EDEEF0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--mist);color:var(--ink)}
a{color:var(--blue)}.top{position:sticky;top:0;z-index:5;background:var(--ink);padding:12px 18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-bottom:3px solid var(--blue)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.brand img{height:40px}.brand b{font-family:Cinzel,serif;letter-spacing:2px;font-size:20px}.brand i{font-family:Yellowtail,cursive;color:var(--blue);font-style:normal;font-size:22px;margin-left:6px}
nav{display:flex;gap:16px;overflow-x:auto}nav a{color:#fff;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}nav a:hover{color:var(--blue)}
main{max-width:1040px;margin:auto;padding:18px}
.hero{background:linear-gradient(135deg,var(--ink),var(--slate));color:#fff;border-radius:18px;padding:34px 24px;margin-bottom:18px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:var(--blue);opacity:.18}
.hero h1{font-family:Cinzel,serif;font-size:34px;margin:0 0 8px;letter-spacing:1px}.hero p{margin:0 0 6px;opacity:.9}.script{font-family:Yellowtail,cursive;color:var(--blue);font-size:28px;opacity:1!important}
.card{background:#fff;border-radius:16px;padding:22px;margin-bottom:16px;box-shadow:0 6px 20px #090b1114}.narrow{max-width:460px}
h2{font-family:Cinzel,serif;font-size:18px;margin:8px 0 6px;color:var(--ink)}label{display:block;font-weight:600;margin-bottom:6px}
input{width:100%;font:inherit;font-size:18px;padding:14px;border:1px solid #cfd5dd;border-radius:10px;margin-bottom:12px}input:focus{outline:2px solid var(--blue)}
button,.btn{display:inline-block;width:100%;font:inherit;font-weight:700;font-size:17px;padding:14px;border:0;border-radius:999px;background:var(--blue);color:var(--ink);text-align:center;text-decoration:none;cursor:pointer}
.btn.ghost{width:auto;padding:8px 18px;font-size:14px;background:transparent;border:1px solid #fff6;color:#fff;margin-top:10px}
.danger{background:#cf2e2e;color:#fff;width:auto;padding:10px 16px;font-size:14px}.row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding:10px 0}
.muted{color:var(--slate)}.err{color:#cf2e2e;font-weight:600}.info{background:#e3f2fb;border-left:4px solid var(--blue);padding:10px;border-radius:8px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.slot{border-top:4px solid var(--blue);transition:transform .15s}.slot:hover{transform:translateY(-3px)}.slot p{color:var(--slate);margin:0 0 14px}
.ico{width:48px;height:48px;border-radius:12px;background:var(--ink);display:grid;place-items:center;font-size:24px}
.pill{display:inline-block;font-size:12px;font-weight:600;background:var(--mist);color:var(--slate);padding:5px 12px;border-radius:999px}
.tip{text-align:center;color:var(--slate);font-size:14px}footer{background:var(--ink);color:#aab3c2;text-align:center;padding:22px;font-size:13px;margin-top:20px}footer b{font-family:Cinzel,serif;color:#fff}

.ann{border-top:1px solid rgba(255,255,255,.1);padding:.6rem 0}.ann p{margin:.3rem 0 0;white-space:normal}textarea{width:100%;box-sizing:border-box;font:inherit;padding:.7rem;border-radius:10px;margin:.4rem 0}
.rl input,.rl select{width:100%;box-sizing:border-box;font:inherit;padding:.6rem;border-radius:10px;margin:.3rem 0;border:1px solid #cfd5df}
.rl-row{display:flex;gap:8px}.rl-row>*{flex:1}.rl-talk{position:relative}.rl-talk textarea{padding-right:64px;border:1px solid #cfd5df}
.mic{position:absolute;right:8px;top:14px;width:48px;height:48px;border-radius:50%;border:0;background:#0B1F3A;color:#fff;font-size:22px;cursor:pointer;padding:0}
.mic.live{background:#c0392b;animation:pulse 1.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(192,57,43,.25)}}
.sch{border-top:1px solid #eee;padding:8px 0}.sch p{margin:4px 0}.sch.cur b{color:var(--ink)}
.coord select,.coord input[type=file]{width:100%;font:inherit;padding:.6rem;margin:.3rem 0 12px}.chk{display:flex;gap:8px;align-items:center;font-weight:500}.chk input{width:auto;margin:0}
.wk{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.wk .pill{font-size:12px}.wk .pill.now{background:#1f3b2d;color:#fff}
