:root{--bg:#0b0b0f;--panel:#13131a;--text:#f2f2f2;--muted:#b7b7b7;--accent:#e10600;--border:#242433;}
*{box-sizing:border-box} body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; background:var(--bg); color:var(--text);}
a{color:var(--text); text-decoration:none} a:hover{color:var(--accent)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(180deg,#0f0f14,#0b0b0f);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.brand{font-weight:800;letter-spacing:.5px} .accent{color:var(--accent)}
.nav a{margin:0 10px;color:var(--muted)} .nav a:hover{color:var(--text)}
.container{max-width:1100px;margin:0 auto;padding:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.grid{grid-template-columns:2fr 1fr}}
h1,h2{margin:0 0 10px 0}
label{display:block;margin:10px 0 6px;color:var(--muted);font-size:14px}
input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#0f0f15;color:var(--text);outline:none}
textarea{min-height:120px;resize:vertical}
.btn{display:inline-block;background:var(--accent);border:none;color:white;padding:10px 14px;border-radius:10px;font-weight:700;cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.row{display:flex;gap:10px}
.row > *{flex:1}
.small{font-size:13px;color:var(--muted)}
.inline{display:inline}
.linklike{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit}
.linklike:hover{color:var(--text)}
.notice{padding:10px 12px;border-radius:10px;background:#101018;border:1px solid var(--border);color:var(--muted)}
.ad-slot{border:1px dashed #3a3a55;border-radius:14px;padding:14px;color:#9aa; text-align:center}


.ad-wrap{margin:16px 0;text-align:center}
.ad-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.ad-slot{border:1px dashed #3a3a55;border-radius:14px;padding:14px;color:#9aa;text-align:center}
.mobile-sticky-ad{display:none}
@media(max-width:768px){
  .mobile-sticky-ad{
    display:block;
    position:sticky;
    bottom:0;
    z-index:30;
    background:rgba(11,11,15,.96);
    padding:8px 8px calc(8px + env(safe-area-inset-bottom));
    border-top:1px solid var(--border);
    margin:16px -16px 0;
  }
}
