/* FrostyArbs — charcoal & blue workspace */
:root {
    color-scheme:dark;
    --bg-main:#080d16;
    --bg-card:#111a29;
    --bg-input:#0a1220;
    --border-color:#283750;
    --text-primary:#edf3ff;
    --text-secondary:#9aaac2;
    --primary-blue:#78adff;
    --primary-purple:#4b86f6;
    --accent-green:#7ee0bb;
    --accent-gold:#91b9ff;
    --accent-red:#ff9b9f;
    --font-family:'DM Sans','Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    --gradient-main:linear-gradient(115deg,#bbd7ff 0%,#8bb8ff 42%,#6496ef 100%);
    --toggle-bg:#33425b;
    --surface-hover:#19263a;
    --blue-wash:rgba(100,158,255,.09);
    --shadow:0 20px 50px rgba(0,0,0,.22),inset 0 1px 0 rgba(206,225,255,.045);
}
body.light-mode {
    color-scheme:light;
    --bg-main:#f4f7fc; --bg-card:#fff; --bg-input:#f4f7fc;
    --border-color:#d9e2ef; --text-primary:#182840; --text-secondary:#5c6c84;
    --primary-blue:#2862bf; --primary-purple:#3977de; --accent-green:#147958;
    --accent-gold:#2862bf; --accent-red:#c0384d; --toggle-bg:#c1ccde;
    --surface-hover:#edf3fc; --blue-wash:rgba(54,118,225,.07);
    --shadow:0 8px 28px rgba(38,63,99,.05);
}
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-height:100%; scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:radial-gradient(ellipse at 80% 0%,rgba(57,100,171,.13),transparent 48%),var(--bg-main); color:var(--text-primary); font-family:var(--font-family); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.modal-open { overflow:hidden; }
button,input,select,textarea { font:inherit; }
button { color:inherit; cursor:pointer; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--primary-blue); outline-offset:4px; }
button:disabled { opacity:.5; cursor:not-allowed; }
a { color:var(--primary-blue); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { line-height:1.2; letter-spacing:-.035em; }
button { transition:background .16s,border-color .16s,transform .16s; }
img { max-width:100%; }
.premium-card { background:linear-gradient(130deg,rgba(166,195,243,.025),transparent 70%),var(--bg-card); border:1px solid var(--border-color); border-radius:18px; box-shadow:var(--shadow); }
.text-gradient { color:var(--text-primary); }
#app { display:none; width:min(1220px,100%); padding:0 36px 24px; margin:auto; }
.app-header { min-height:100px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--border-color); }
.brand-lockup { display:flex; align-items:center; gap:12px; color:var(--text-primary); text-decoration:none; flex-shrink:0; }
.brand-mark { box-shadow:0 4px 18px #609fee22,inset 0 1px 1px #d7e8ff33; width:40px; height:40px; display:grid; place-items:center; border:1px solid #4b76b9; border-radius:12px; background:linear-gradient(145deg,#203b63,#142238); font-size:28px; font-weight:800; color:#a8cbff; line-height:1; padding-bottom:4px; }
.brand-copy { display:flex; flex-direction:column; gap:2px; }
.brand-copy strong { font-size:17px; letter-spacing:-.04em; }
.brand-copy small { font-size:8px; letter-spacing:.2em; color:var(--text-secondary); font-weight:600; }
.header-actions { display:flex; gap:10px; align-items:center; }
.header-identity { display:flex; align-items:center; min-width:0; gap:10px; padding:4px 11px 4px 4px; border:1px solid var(--border-color); border-radius:24px; background:var(--bg-input); }
.header-avatar { width:34px; height:34px; flex:none; display:grid; place-items:center; border-radius:50%; overflow:hidden; border:1px solid #648fce; background:linear-gradient(145deg,#315788,#16263e); color:#e9f3ff; font-size:13px; font-weight:700; box-shadow:0 0 0 2px #243f6338; }
.header-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.header-avatar img[hidden] { display:none; }
.user-badge { font-size:12px; color:var(--text-primary); max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.icon-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:38px; padding:8px 14px; background:var(--bg-input); border:1px solid var(--border-color); border-radius:9px; color:var(--text-primary); font-size:12px; font-weight:600; white-space:nowrap; }
.icon-btn:hover { background:var(--surface-hover); border-color:var(--primary-blue); }
.logout-btn { background:transparent; border-color:transparent; color:var(--text-secondary); }
.dashboard-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:42px 0 30px; }
.eyebrow,.auth-eyebrow { font-size:10px; font-weight:700; letter-spacing:.18em; color:var(--primary-blue); margin-bottom:12px; }
.dashboard-intro h1 { font-size:clamp(30px,3.5vw,44px); font-weight:500; margin-bottom:10px; }
.intro-copy { font-size:14px; color:var(--text-secondary); margin:0; }
.workspace-label { display:flex; align-items:center; gap:8px; border:1px solid var(--border-color); border-radius:30px; padding:8px 12px; color:var(--text-secondary); font-size:11px; }
.workspace-label span { width:6px; height:6px; border-radius:50%; background:var(--primary-blue); }
.workspace-tools { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:34px; }
.tool-card { display:flex; align-items:flex-end; min-height:210px; gap:14px; position:relative; overflow:hidden; padding:26px; text-align:left; border:1px solid var(--border-color); border-radius:16px; background:radial-gradient(ellipse at 82% 0%,rgba(98,151,235,.18),transparent 68%),linear-gradient(135deg,#1a2940,#101927); box-shadow:var(--shadow); }
.tool-card:hover { transform:translateY(-3px); border-color:var(--primary-blue); background-color:var(--surface-hover); }
.tool-card-primary { border-color:#44699c; background:radial-gradient(ellipse at 90% 0%,#42628a77,transparent 70%),linear-gradient(135deg,#1d3454,#132238); }
.tool-art { position:absolute; right:20px; top:10px; width:128px; height:128px; object-fit:contain; filter:drop-shadow(0 12px 20px #0005); transition:transform .25s; }
.tool-card:hover .tool-art { transform:translateY(-5px) rotate(-3deg); }
.tool-card::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; border-top:1px solid #c9e0ff12; }
.tool-copy { display:flex; flex-direction:column; min-width:0; gap:5px; }
.tool-copy strong { font-size:18px; font-weight:600; }
.tool-copy small { font-size:12px; color:var(--text-secondary); line-height:1.4; }
.tool-arrow { position:absolute; top:22px; left:26px; width:30px; height:30px; display:grid; place-items:center; border:1px solid #a6c8ff22; border-radius:50%; color:var(--primary-blue); font-size:18px; line-height:1; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.section-heading h2 { font-size:17px; font-weight:600; margin:0; }
.section-heading p { font-size:12px; color:var(--text-secondary); margin:7px 0 0; }
.overview-heading span { color:var(--text-secondary); font-size:11px; }
.grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin-bottom:30px; }
.stat { grid-column:span 2; display:flex; flex-direction:column; justify-content:center; padding:22px 24px; min-width:0; min-height:152px; text-align:left; position:relative; overflow:hidden; }
.stat:has(#sv),.stat:has(#pv) { grid-column:span 3; min-height:104px; }
.grid.with-third-book .stat:has(#sv),.grid.with-third-book .stat:has(#pv),.stat:has(#cv) { grid-column:span 2; min-height:104px; }
.stat-main { padding-right:84px; background:radial-gradient(ellipse at 100% 0%,#4b81c12e,transparent 75%),var(--bg-card); border-color:#3a5274; }
.stat-profit { background:radial-gradient(ellipse at 100% 0%,#438b7b18,transparent 80%),var(--bg-card); }
.stat-main:hover { border-color:var(--primary-blue); }
.stat-art { position:absolute; right:14px; top:50%; transform:translateY(-50%); width:66px; height:66px; }
.lbl { display:block; font-size:10px; font-weight:600; letter-spacing:.055em; text-transform:uppercase; color:var(--text-secondary); margin-bottom:9px; line-height:1.5; }
.val { font-size:34px; font-weight:600; letter-spacing:-.045em; line-height:1.2; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.stat:has(#sv) .val,.stat:has(#pv) .val,.stat:has(#cv) .val { font-size:23px; }
.stat-caption { margin-top:9px; font-size:10px; color:var(--text-secondary); }
.stat-caption span { color:var(--primary-blue); }
#split-pnl { display:flex; flex-direction:column; gap:5px; font-size:11px; max-height:100px; overflow:auto; }
.book-pnl-row { display:flex; justify-content:space-between; gap:12px; }
.book-pnl-row>span:first-child { overflow-wrap:anywhere; }
.book-pnl-row>span:last-child { white-space:nowrap; font-variant-numeric:tabular-nums; }
.history-note { color:var(--text-secondary); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.pending-reminder { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 22px; margin-bottom:28px; border-color:#304d74; background:var(--blue-wash); border-left:3px solid var(--primary-blue); border-radius:12px; box-shadow:none; }
.pending-reminder strong { display:block; font-size:12px; margin-bottom:3px; }
.settle-btn { color:var(--primary-blue); background:var(--blue-wash); border-color:#3c5e8c; }
.activity-section { margin-top:34px; }
.activity-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.filter-tabs { display:flex; gap:5px; padding:4px; border:1px solid var(--border-color); border-radius:11px; background:var(--bg-input); }
.filter-tab { border:1px solid transparent; background:transparent; color:var(--text-secondary); padding:7px 11px; border-radius:7px; font-size:11px; font-weight:600; white-space:nowrap; }
.filter-tab[aria-pressed=true] { background:var(--surface-hover); color:var(--text-primary); border-color:var(--border-color); }
.filter-tab span { font-size:10px; margin-left:5px; opacity:.7; }
.filter-tab:hover { color:var(--primary-blue); }
.inp { width:100%; min-height:46px; border:1px solid var(--border-color); border-radius:10px; background:var(--bg-input); color:var(--text-primary); padding:12px 14px; margin-bottom:15px; outline:none; transition:border-color .16s,box-shadow .16s; }
.inp:focus { border-color:var(--primary-blue); box-shadow:0 0 0 3px var(--blue-wash); }
.inp::placeholder { color:var(--text-secondary); opacity:.75; }
.inp:disabled { opacity:.5; cursor:not-allowed; }
.search-input { max-width:310px; margin:0; min-height:40px; padding:10px 14px; font-size:11px; }
.bet-list { display:flex; flex-direction:column; gap:12px; }
.bet { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:22px 24px; border-radius:14px; box-shadow:none; }
.bet:hover { border-color:#435c80; }
.bet-main { min-width:0; flex:1; }
.bet-kicker { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:10px; color:var(--text-secondary); font-size:10px; }
.status-pill { padding:3px 8px; background:rgba(126,224,187,.07); color:var(--accent-green); border:1px solid rgba(126,224,187,.15); border-radius:5px; font-size:9px; font-weight:600; letter-spacing:.03em; }
.status-pending { color:var(--primary-blue); background:var(--blue-wash); border-color:rgba(120,173,255,.2); }
.bet-title { font-size:15px; font-weight:600; letter-spacing:-.015em; margin:0 0 7px; overflow-wrap:anywhere; }
.bet-books { font-size:11px; color:var(--text-secondary); overflow-wrap:anywhere; }
.bet-terms { margin-top:10px; font-size:10px; color:var(--text-secondary); }
.bet-terms summary { cursor:pointer; width:fit-content; }
.bet-terms p { margin:7px 0 0; max-width:660px; line-height:1.7; }
.bet-note { color:var(--text-secondary); font-size:11px; margin-top:10px; white-space:pre-wrap; overflow-wrap:anywhere; }
.bet-proof { display:inline-flex; color:var(--primary-blue); background:var(--blue-wash); border:1px solid var(--border-color); border-radius:6px; margin-top:10px; font-size:10px; padding:4px 8px; }
.bet-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.bet-controls:empty { display:none; }
.actions { display:none; gap:8px; }
.icon-btn.del { color:var(--accent-red); }
.bet-summary { text-align:right; min-width:130px; flex-shrink:0; }
.bet-amount { font-size:24px; font-weight:600; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.roi-badge { display:inline-block; padding:3px 7px; border-radius:5px; background:var(--blue-wash); color:var(--text-secondary); font-size:10px; font-weight:500; margin-top:5px; }
.bet-volume { color:var(--text-secondary); font-size:10px; margin-top:9px; }
.reminder-badge { display:inline-block; font-size:10px; color:var(--primary-blue); margin-top:8px; }
.empty-state { padding:48px 24px; text-align:center; border:1px dashed var(--border-color); border-radius:16px; }
.empty-symbol { width:80px; height:80px; object-fit:contain; }
.empty-state h3 { font-size:18px; margin:12px 0; }
.empty-state p { color:var(--text-secondary); font-size:12px; }
.empty-state .btn { width:auto; margin-top:8px; }
.app-footer { display:flex; justify-content:space-between; color:var(--text-secondary); border-top:1px solid var(--border-color); padding:24px 0 0; margin-top:40px; font-size:10px; }
.app-footer span:first-child { font-weight:600; }
.btn { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:46px; padding:12px 20px; border:1px solid transparent; border-radius:10px; color:#081a36; background:var(--gradient-main); font-weight:700; font-size:13px; }
.btn { box-shadow:inset 0 1px 0 #ffffff55,0 6px 16px #397ce522; gap:14px; }
.btn:hover { filter:brightness(1.07); }
.btn-sec { box-shadow:none; }
.btn-sec { background:transparent; border-color:var(--border-color); color:var(--text-secondary); }
.btn-sec:hover { background:var(--surface-hover); color:var(--text-primary); }
.ovl { display:none; position:fixed; inset:0; z-index:1000; justify-content:center; align-items:center; background:rgba(3,8,18,.78); backdrop-filter:blur(14px); padding:24px; }
.modal { width:620px; max-width:100%; max-height:calc(100dvh - 48px); overflow:auto; overscroll-behavior:contain; padding:32px; border-radius:20px; }
.modal h2 { font-size:28px; font-weight:600; margin:0 0 24px; }
.modal-icon { width:58px; height:58px; object-fit:contain; float:right; margin:-5px 0 12px 16px; }
.modal .btn[onclick="closeAll()"] { border-color:var(--border-color) !important; color:var(--text-secondary) !important; background:transparent !important; }
.modal .btn[onclick="closeAll()"]:hover { background:var(--surface-hover) !important; }
.row { display:flex; gap:16px; margin-bottom:4px; }
.col { flex:1; min-width:0; }
textarea.inp { resize:vertical; min-height:90px; }
.det-box { display:none; margin-top:15px; padding:16px; border:1px solid var(--border-color); border-radius:10px; background:var(--bg-input); font-size:11px; }
.det-row { display:flex; justify-content:space-between; gap:12px; padding:4px 0; color:var(--text-secondary); }
.det-row.head { font-weight:600; color:var(--text-primary); border-bottom:1px solid var(--border-color); margin-top:10px; padding-bottom:8px; }
.det-row.total { border-top:1px solid var(--border-color); margin-top:6px; padding-top:9px; font-weight:600; color:var(--text-primary); }
.cap-note { display:none; margin:12px 0; padding:12px; border:1px solid var(--border-color); background:var(--blue-wash); border-radius:10px; font-size:12px; color:var(--text-secondary); }
.switch { width:42px; height:24px; position:relative; display:inline-block; flex-shrink:0; margin-left:14px; }
.switch input { opacity:0; width:0; height:0; }
.slider { position:absolute; cursor:pointer; inset:0; background:var(--toggle-bg); border-radius:20px; transition:background .18s; }
.slider:before { content:''; position:absolute; width:18px; height:18px; border-radius:50%; left:3px; top:3px; background:#fff; transition:transform .18s; }
.switch input:checked+.slider { background:var(--primary-purple); }
.switch input:checked+.slider:before { transform:translateX(18px); }
.switch input:focus-visible+.slider { outline:2px solid var(--primary-blue); outline-offset:4px; }
.btn-toggle-status { width:100%; padding:11px 14px; background:var(--bg-input); border:1px solid var(--border-color); border-radius:10px; color:var(--primary-blue); font-size:12px; margin-top:8px; }
.reminder-setting { border:1px solid var(--border-color); border-radius:12px; padding:16px; margin-top:20px; }
.reminder-setting label { display:block; margin-bottom:10px; }
.reminder-setting input[type=checkbox] { accent-color:var(--primary-blue); margin-right:6px; }
.reminder-setting .inp { margin-bottom:0; }
.proof-preview { display:none; padding:12px; background:var(--blue-wash); border:1px solid var(--border-color); border-radius:10px; margin-bottom:15px; font-size:12px; overflow-wrap:anywhere; }
.settlement-preview { padding:18px; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-input); margin:16px 0; }
#settle-pnl { font-size:22px; }
.form-error { color:var(--accent-red); font-size:12px; }
#mod-confirm .modal { width:400px; text-align:center; }
#mod-confirm h2 { color:var(--accent-red); }
#mod-confirm p { color:var(--text-secondary); }
.actions-modal { display:flex; gap:12px; }
.btn-del { background:#e96d7a; color:#1a070a; }
#auth { display:none; min-height:100dvh; align-items:center; justify-content:center; padding:32px; position:relative; overflow:hidden; }
.auth-shell { width:min(1220px,100%); display:grid; grid-template-columns:1.15fr 1fr; border:1px solid #2d3c5466; border-radius:28px; overflow:hidden; box-shadow:0 36px 100px #0005; background:var(--bg-card); }
.auth-story { position:relative; overflow:hidden; min-height:770px; padding:44px 50px 32px; background:radial-gradient(ellipse at 60% 70%,#335a9955,transparent 55%),linear-gradient(140deg,#18273e,#0d1523 70%); }
.auth-story::before { content:''; position:absolute; width:500px; height:500px; border:1px solid #94b9ed10; border-radius:50%; right:-290px; top:-180px; box-shadow:0 0 0 60px #94b9ed04,0 0 0 120px #94b9ed03; pointer-events:none; }
.auth-story-copy { margin-top:64px; position:relative; z-index:1; }
.auth-story-copy .eyebrow { color:#a0bde4; font-size:9px; letter-spacing:.21em; }
.tiny-spark { font-size:14px; margin-right:8px; }
.auth-story h1 { font-size:clamp(36px,4.1vw,55px); font-weight:500; line-height:1.1; letter-spacing:-.055em; margin:20px 0; color:#eef4ff; }
.auth-story h1 em { font-style:normal; background:linear-gradient(90deg,#9fbeee,#6c97dc); color:transparent; background-clip:text; }
.auth-story-copy>p:last-child { color:#94a5bf; font-size:13px; line-height:1.9; }
.auth-art-stage { position:relative; height:255px; margin:6px -10px 0; display:grid; place-items:center; }
.auth-hero-art { width:250px; height:250px; position:relative; z-index:1; transform:rotate(-8deg); filter:drop-shadow(0 16px 32px #030c22aa); }
.art-orbit { position:absolute; border:1px solid #91b9ff22; width:350px; height:160px; border-radius:50%; transform:rotate(-18deg); }
.orbit-two { width:450px; height:220px; border-color:#91b9ff0f; }
.art-caption { position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #5e7ea74d; border-radius:10px; font-size:11px; color:#dbe8fc; background:linear-gradient(120deg,#293d57ee,#162437ee); box-shadow:0 12px 30px #0003; backdrop-filter:blur(12px); }
.art-caption span { color:#88aee3; font-size:9px; }
.art-caption b { color:#a6caff; font-size:14px; margin-left:8px; }
.caption-top { left:0; top:35px; transform:rotate(-4deg); }
.caption-bottom { right:0; bottom:36px; transform:rotate(3deg); }
.auth-story-footer { display:flex; align-items:center; gap:22px; font-size:9px; letter-spacing:.2em; color:#8fa3bf; margin-top:20px; }
.auth-story-footer i { width:3px; height:3px; background:#5c83b4; border-radius:50%; }
.auth-form-side { display:flex; flex-direction:column; justify-content:center; padding:58px; background:radial-gradient(ellipse at 100% 0%,#5076b012,transparent 60%),#0e1623; }
.auth-form-side>.premium-card { width:100%; background:transparent; padding:0 !important; border:0; box-shadow:none; }
.auth-form-icon { width:50px; height:50px; display:grid; place-items:center; font-size:25px; color:#bcd5fa; border:1px solid #557096; border-radius:15px; background:linear-gradient(140deg,#2d4564,#152339); box-shadow:inset 0 1px 0 #cde2ff33,0 6px 18px #0003; margin-bottom:32px; }
#auth .auth-eyebrow { font-size:9px; letter-spacing:.16em; color:#8599b7; margin-bottom:12px; }
#auth h2 { font-size:36px !important; font-weight:500; letter-spacing:-.045em; margin-bottom:12px; }
.auth-subtitle { color:var(--text-secondary); font-size:14px; margin-bottom:36px; }
#auth .lbl { text-transform:none; letter-spacing:0; font-size:12px; color:#bcc9dd; font-weight:500; }
#auth .inp { min-height:52px; border-radius:10px; margin-bottom:23px; background:#0a1220; border-color:#2a3850; font-size:13px; }
.password-label { display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.text-button { background:none; border:0; color:#90b7f5; padding:0; font-size:11px; }
.password-field { position:relative; }
.password-field .inp { padding-right:62px; }
.password-toggle { position:absolute; right:14px; top:17px; padding:0; background:none; border:0; color:#92a7c7; font-size:11px; }
.auth-submit { min-height:52px; font-size:13px; margin-top:6px; justify-content:space-between; padding:14px 20px; }
.auth-divider { display:flex; align-items:center; gap:16px; color:#7185a3; font-size:8px; letter-spacing:.15em; margin:28px 0; }
.auth-divider::before,.auth-divider::after { content:''; height:1px; background:#28364b; flex:1; }
.auth-card>.btn-sec { font-size:12px; min-height:50px; justify-content:space-between; color:#b8c9e4; }
.auth-footnote { text-align:center; font-size:10px; color:#8293ac; margin:28px 0 0; }
.auth-btns { display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.link { display:block; color:var(--text-secondary); font-size:12px; margin-top:22px; cursor:pointer; text-align:center; text-decoration:underline; text-underline-offset:4px; }
.link:hover { color:var(--primary-blue); }
#toast-container { position:fixed; right:24px; bottom:24px; z-index:9999; display:flex; flex-direction:column; align-items:flex-end; gap:10px; pointer-events:none; width:360px; max-width:calc(100% - 32px); }
.toast { --toast-accent:var(--primary-blue); position:relative; width:100%; min-height:74px; display:grid; grid-template-columns:38px minmax(0,1fr) 28px; align-items:center; gap:12px; overflow:hidden; padding:13px 12px 13px 14px; color:var(--text-primary); border:1px solid #355073; border-radius:15px; background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--toast-accent) 16%,transparent),transparent 45%),rgba(15,25,40,.97); box-shadow:0 22px 55px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.055); opacity:0; transform:translateY(12px) scale(.98); transition:opacity .22s,transform .22s; pointer-events:auto; backdrop-filter:blur(18px); }
.toast.show { opacity:1; transform:translateY(0) scale(1); }
.toast-success { --toast-accent:var(--accent-green); }
.toast-error { --toast-accent:var(--accent-red); }
.toast-warning { --toast-accent:#e7c176; }
.toast-icon { width:36px; height:36px; display:grid; place-items:center; color:var(--toast-accent); border:1px solid color-mix(in srgb,var(--toast-accent) 32%,transparent); border-radius:11px; background:color-mix(in srgb,var(--toast-accent) 9%,transparent); }
.toast-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.toast-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
.toast-copy strong { overflow-wrap:anywhere; font-size:12px; font-weight:700; }
.toast-copy small { color:var(--text-secondary); font-size:9px; }
.toast-close { width:28px; height:28px; display:grid; place-items:center; padding:0; color:#8296b4; border:0; border-radius:8px; background:transparent; }
.toast-close:hover { color:var(--text-primary); background:rgba(255,255,255,.06); }
.toast-close svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.toast-progress { position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--toast-accent); transform-origin:left; animation:toast-progress 4s linear forwards; opacity:.75; }
@keyframes toast-progress { to { transform:scaleX(0); } }

.bankroll-modal { width:520px; padding:30px; overflow:hidden; background:radial-gradient(circle at 100% 0%,rgba(83,142,228,.14),transparent 38%),var(--bg-card); }
.bankroll-modal-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:25px; }
.bankroll-modal-header h2 { margin:0 0 7px; font-size:29px; }
.bankroll-modal-header p:last-child { max-width:340px; margin:0; color:var(--text-secondary); font-size:11px; line-height:1.65; }
.bankroll-modal-header img { width:76px; height:76px; object-fit:contain; filter:drop-shadow(0 12px 20px #0006); }
.bankroll-current { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; padding:13px 15px; border:1px solid var(--border-color); border-radius:11px; background:var(--bg-input); }
.bankroll-current span { color:#7990b0; font-size:8px; font-weight:700; letter-spacing:.12em; }
.bankroll-current strong { font-size:16px; font-variant-numeric:tabular-nums; }
.bankroll-input { position:relative; }
.bankroll-input>span { position:absolute; left:17px; top:13px; z-index:1; color:#7890b1; font-size:25px; }
.bankroll-input .inp { min-height:62px; padding:10px 16px 10px 42px; margin-bottom:10px; font-size:27px; font-weight:600; letter-spacing:-.035em; }
.bankroll-input input[type=number] { -moz-appearance:textfield; }
.bankroll-input input[type=number]::-webkit-inner-spin-button,.bankroll-input input[type=number]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.bankroll-presets { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin-bottom:18px; }
.bankroll-presets button { min-height:34px; color:#9fb2ce; border:1px solid var(--border-color); border-radius:8px; background:rgba(8,16,29,.65); font-size:10px; font-weight:600; }
.bankroll-presets button:hover { color:#eaf3ff; border-color:#4e78af; background:var(--blue-wash); }
.bankroll-actions { display:grid; grid-template-columns:1fr 1.5fr; gap:10px; margin-top:22px; }
.bankroll-actions .btn { min-height:48px; }
@media(min-width:1400px) { #app { padding-left:16px; padding-right:16px; } }
@media(max-width:980px) {
    #app { padding:0 24px 24px; }
    .tool-card { gap:10px; padding:18px 14px; }
    .tool-art { width:55px; height:55px; }
    .tool-copy strong { font-size:13px; }
    .tool-arrow { display:none; }
    .stat { padding:20px; }
    .stat-main { padding-right:65px; }
    .stat-art { width:48px; height:48px; right:10px; }
    .val { font-size:25px; }
}
@media(max-width:720px) {
    #app { padding:0 18px 20px; }
    .app-header { min-height:84px; gap:12px; }
    .brand-copy small { display:none; }
    .brand-copy strong { font-size:15px; }
    .header-identity { padding-right:4px; }
    .user-badge { display:none; }
    .header-actions { gap:4px; }
    .header-actions .icon-btn { padding:7px 10px; font-size:11px; }
    .dashboard-intro { padding:30px 0 24px; }
    .dashboard-intro h1 { font-size:27px; }
    .workspace-label { display:none; }
    .intro-copy { font-size:12px; }
    .workspace-tools { gap:10px; margin-bottom:28px; }
    .tool-card { flex-direction:column; text-align:center; padding:14px 7px 16px; gap:8px; }
    .tool-art { width:60px; height:60px; }
    .tool-copy strong { font-size:11px; }
    .tool-copy small { display:none; }
    .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .grid .stat { grid-column:span 1 !important; min-height:116px; padding:18px; }
    .grid .stat:has(#split-pnl) { grid-column:1 / -1 !important; min-height:90px; }
    .grid .stat:has(#cv) { grid-column:1 / -1 !important; }
    .stat-main { padding-right:18px; }
    .stat-art { display:none; }
    .val { font-size:25px; }
    .stat-caption { font-size:9px; }
    .activity-toolbar { flex-direction:column; align-items:stretch; gap:12px; }
    .filter-tabs { align-self:flex-start; }
    .search-input { max-width:none; font-size:12px; }
    .bet { padding:18px; gap:14px; }
    .bet-title { font-size:14px; }
    .bet-summary { min-width:85px; }
    .bet-amount { font-size:20px; }
    .pending-reminder { padding:16px; gap:14px; }
    .pending-reminder .history-note { font-size:11px; }
}
@media(max-width:480px) {
    .brand-mark { width:34px; height:34px; font-size:25px; border-radius:10px; }
    .brand-lockup { gap:8px; }
    .brand-copy strong { font-size:14px; }
    .dashboard-intro h1 { font-size:25px; }
    .bet { align-items:flex-start; flex-wrap:wrap; }
    .bet-main { flex-basis:100%; }
    .bet-summary { display:flex; align-items:center; flex-wrap:wrap; gap:9px; width:100%; text-align:left; border-top:1px solid var(--border-color); padding-top:12px; }
    .bet-summary .roi-badge { margin:0; }
    .bet-volume { margin:0 0 0 auto; }
    .bet-controls .icon-btn { min-height:36px; }
    .pending-reminder { align-items:flex-start; flex-direction:column; }
    .ovl { padding:12px; }
    .modal { padding:24px 20px; max-height:calc(100dvh - 24px); border-radius:16px; }
    .modal h2 { font-size:21px; }
    .row { flex-direction:column; gap:0; }
    .inp { font-size:16px; }
    .search-input { font-size:13px; }
    .modal-icon { width:48px; height:48px; }
    #auth>.premium-card { padding:28px !important; }
    .auth-btns { flex-direction:column; }
    .app-footer { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
    .tool-card:hover { transform:none; }
}

/* Calculator workspace */
.calculator-modal { width:1020px; padding:0; background:var(--bg-card); border-color:#3b527355; border-radius:24px; }
.calc-header { display:flex; justify-content:space-between; gap:24px; padding:28px 34px; border-bottom:1px solid var(--border-color); background:linear-gradient(100deg,var(--blue-wash),transparent); }
.calc-header .eyebrow { font-size:9px; letter-spacing:.18em; margin-bottom:10px; }
.calc-header h2 { font-size:29px; font-weight:500; margin:0 0 8px; }
.calc-header p:last-child { margin:0; color:var(--text-secondary); font-size:12px; }
.modal-close { width:34px; height:34px; flex-shrink:0; display:grid; place-items:center; font-size:23px; line-height:1; background:var(--bg-input); color:var(--text-secondary); border:1px solid var(--border-color); border-radius:50%; }
.modal-close:hover { color:var(--text-primary); border-color:var(--primary-blue); }
.calc-workspace { display:grid; grid-template-columns:1.08fr 1fr; }
.calc-inputs { padding:30px 34px; }
.input-section+.input-section { margin-top:28px; }
.step-label { display:flex; align-items:center; gap:9px; margin-bottom:20px; font-size:9px; color:var(--text-secondary); letter-spacing:.11em; }
.step-label>span { display:grid; place-items:center; border:1px solid var(--border-color); border-radius:50%; width:23px; height:23px; font-size:9px; color:var(--primary-blue); letter-spacing:0; }
.calc-inputs .lbl { font-size:11px; text-transform:none; letter-spacing:0; font-weight:500; }
.investment-field { position:relative; }
.investment-field>span { position:absolute; top:12px; left:18px; font-size:28px; font-weight:400; color:var(--text-secondary); }
.investment-field .inp { height:70px; padding:12px 18px 12px 43px; font-size:34px; font-weight:500; letter-spacing:-.04em; margin-bottom:10px; background:linear-gradient(110deg,var(--blue-wash),transparent),var(--bg-input); }
.amount-presets { display:flex; gap:7px; }
.amount-presets button { flex:1; padding:7px 8px; border:1px solid var(--border-color); color:var(--text-secondary); background:transparent; border-radius:6px; font-size:11px; }
.amount-presets button:hover,.amount-presets button:focus-visible { background:var(--blue-wash); color:var(--primary-blue); border-color:var(--primary-blue); }
.odds-row { gap:12px; }
.odds-card { padding:14px; background:var(--bg-input); border:1px solid var(--border-color); border-radius:12px; border-top:2px solid #72b9b0; }
.odds-card:nth-child(2) { border-top-color:#81aefa; }
.odds-card:nth-child(3) { border-top-color:#c9b0ed; }
.odds-card .inp { padding:9px 11px; font-size:22px; margin:0; background:var(--bg-card); border-color:transparent; font-weight:500; }
.odds-card .inp:focus { border-color:var(--primary-blue); }
.field-hint { color:var(--text-secondary); font-size:9px; display:block; margin-top:8px; }
.stake-limits { margin-top:24px; border-top:1px solid var(--border-color); padding-top:17px; }
.stake-limits summary { display:flex; align-items:center; cursor:pointer; list-style:none; gap:9px; font-size:12px; color:var(--text-secondary); }
.stake-limits summary::-webkit-details-marker { display:none; }
.stake-limits summary small { color:var(--text-secondary); opacity:.65; font-size:10px; }
.stake-limits summary b { margin-left:auto; color:var(--primary-blue); font-size:18px; font-weight:400; }
.stake-limits[open] summary b { transform:rotate(45deg); }
.stake-limits .row { margin-top:18px; }
.stake-limits .inp { margin-bottom:0; font-size:12px; }
.outcome-field { margin-top:10px; }
.outcome-field label { display:block; font-size:10px; color:var(--text-secondary); margin-bottom:5px; }
.outcome-field .inp { font-size:18px; min-height:41px; }
.calc-result-stage { padding:28px 30px 24px; border-left:1px solid var(--border-color); display:flex; flex-direction:column; position:relative; min-width:0; background:radial-gradient(ellipse at 80% 25%,#4074b325,transparent 75%),linear-gradient(150deg,#15253c,#0b1524); }
.result-topline { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:8px; letter-spacing:.12em; color:#91a8c9; }
.live-indicator { display:flex; align-items:center; gap:5px; text-transform:none; letter-spacing:0; font-size:9px; color:#a3bddf; }
.live-indicator::before { content:''; width:5px; height:5px; background:#9cbfee; border-radius:50%; box-shadow:0 0 8px #94baff77; }
.calc-empty { text-align:center; padding:6px 0 22px; flex:1; }
.result-art-halo { display:grid; place-items:center; width:180px; height:180px; margin:8px auto 0; background:radial-gradient(circle,#659be62a,transparent 68%); position:relative; }
.result-art-halo::before { content:''; position:absolute; inset:21px 0; border:1px solid #7fabe322; border-radius:50%; transform:rotate(-20deg); }
.result-art-halo img { position:relative; width:168px; height:168px; filter:drop-shadow(0 12px 16px #0004); }
.calc-empty h3 { font-size:21px; color:#e1edff; font-weight:500; letter-spacing:-.025em; margin:2px 0 12px; }
.calc-empty p { font-size:12px; line-height:1.8; color:#8fa5c4; margin-bottom:24px; }
.empty-result-line { display:flex; justify-content:space-between; border-top:1px solid #304660; padding-top:16px; color:#8fa5c4; font-size:11px; }
.empty-result-line strong { font-size:18px; }
.result-footer { margin-top:auto; padding-top:20px; }
.result-footer .btn { justify-content:space-between; min-height:48px; font-size:12px; }
.result-footer .btn:disabled { background:#263c5a; color:#9cb1d0; border-color:#425b7e; opacity:.7; box-shadow:none; }
.result-footer p { color:#859bbd; font-size:9px; text-align:center; margin:12px 0 0; }
.calculation-result { padding-top:34px; }
.result-label { font-size:12px; color:#a5b9d6; margin-bottom:8px; }
.result-profit { font-size:clamp(36px,4vw,54px); font-weight:500; line-height:1.15; letter-spacing:-.055em; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.result-roi { margin-top:13px; padding-bottom:27px; border-bottom:1px solid #304660; font-size:10px; color:#91a6c5; }
.result-roi>span { display:inline-block; padding:4px 8px; border:1px solid #8db8ec33; color:#b7d3fa; background:#91b9ff0c; border-radius:5px; margin-right:5px; font-size:11px; }
.allocation-heading { font-size:9px; letter-spacing:.12em; color:#91a6c5; margin:25px 0 14px; }
.allocation-bar { display:flex; gap:3px; height:5px; border-radius:4px; overflow:hidden; margin-bottom:18px; }
.allocation-bar span { background:#88c6bd; transition:width .2s; }
.allocation-bar span:nth-child(2) { background:#80adf2; }
.allocation-bar span:nth-child(3) { background:#c9b0ed; }
.allocation-bar span[style="width: 0%;"] { display:none; }
.allocation-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:14px 0; font-size:12px; color:#b7c7de; }
.allocation-row>span { display:flex; align-items:center; gap:8px; min-width:0; overflow-wrap:anywhere; }
.allocation-row strong { color:#e3efff; font-size:19px; font-weight:500; letter-spacing:-.035em; }
.book-dot { width:6px; height:6px; border-radius:50%; background:#88c6bd; flex-shrink:0; }
.dot-b { background:#80adf2; }.dot-c { background:#c9b0ed; }
.breakdown-toggle { width:100%; background:transparent; border:0; padding:17px 0 0; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#a7c9f6; font-size:11px; text-align:left; }
.calc-result-stage .det-box { background:#0b1626; border-color:#304660; }
.calc-result-stage .det-row { color:#a4b6cf; }.calc-result-stage .det-row.head,.calc-result-stage .det-row.total { color:#e3edfc; }
.calc-result-stage .cap-note { color:#a4b6cf; border-color:#304660; }
.strategy-description { font-size:12px; color:#b7d3fa; margin:20px 0 14px; overflow-wrap:anywhere; }
.optimizer-result-grid { display:flex; flex-wrap:wrap; gap:10px; }
.optimizer-result-card { flex:1; min-width:90px; display:flex; flex-direction:column; padding:12px; border:1px solid #3b557755; background:#ffffff03; border-radius:9px; }
.optimizer-result-card span,.optimizer-result-card small { color:#91a6c5; font-size:9px; }
.optimizer-result-card strong { color:#e1edff; font-size:19px; font-weight:500; margin:3px 0 12px; }
.optimizer-result-card b { color:#c2d9fa; font-size:15px; font-weight:500; margin-top:4px; }
#mod-add .modal { background:radial-gradient(ellipse at 100% 0%,var(--blue-wash),transparent 55%),var(--bg-card); }
#mod-add .modal-icon { width:80px; height:80px; margin-top:-10px; }
#mod-add .modal h2 { margin:6px 0 32px; font-weight:500; }
#mod-add .modal>div:has(>#a-pnl) { background:linear-gradient(120deg,var(--blue-wash),transparent) !important; border:1px solid var(--border-color); padding:22px !important; }
#mod-add #a-pnl { font-size:34px !important; font-weight:500 !important; }
body.light-mode .tool-card { background:radial-gradient(ellipse at 90% 0%,#8fbaff55,transparent 80%),#fff; }
body.light-mode .tool-card-primary { background:linear-gradient(130deg,#e3eeff,#d1e3ff); }
body.light-mode .stat-main { background:linear-gradient(120deg,#e1ecff,#fff); }
body.light-mode .stat-profit { background:linear-gradient(120deg,#e9f6f1,#fff); }
body.light-mode .calc-result-stage { --accent-green:#7ee0bb; --accent-red:#ff9b9f; }
@media(min-width:721px) and (max-width:980px) {
    .tool-art { width:110px; height:110px; right:9px; }
    .tool-card { min-height:190px; padding:22px; }
    .tool-copy strong { font-size:16px; }
    .tool-arrow { display:grid; left:22px; }
}
@media(max-width:1000px) {
    #auth { padding:24px; }
    .auth-story { padding:35px; min-height:720px; }
    .auth-form-side { padding:38px; }
    .auth-story-copy { margin-top:54px; }
    .auth-story h1 { font-size:43px; }
    .auth-art-stage { margin-top:22px; }
    .art-caption { padding:10px; gap:7px; font-size:10px; }
    .caption-top { left:-10px; }.caption-bottom { right:-15px; }
    .calc-inputs { padding:26px; }.calc-result-stage { padding:26px; }
}
@media(max-width:760px) {
    #auth { padding:20px; }
    .auth-shell { grid-template-columns:1fr; max-width:500px; }
    .auth-story { min-height:0; padding:26px; }
    .auth-story-copy { margin-top:30px; }.auth-story h1 { font-size:36px; margin:15px 0 0; }
    .auth-story h1 br:first-child { display:none; }
    .auth-story-copy>p:last-child,.auth-art-stage,.auth-story-footer { display:none; }
    .auth-form-side { padding:30px 26px; }
    .auth-form-icon { display:none; }#auth h2 { font-size:29px !important; }
    .auth-subtitle { margin-bottom:26px; }.auth-footnote { margin-top:22px; }
    .auth-divider { margin:24px 0; }
    .calc-workspace { grid-template-columns:1fr; }
    .calculator-modal { width:550px; }.calc-header { padding:24px; }
    .calc-header h2 { font-size:26px; }.calc-header p:last-child { max-width:280px; line-height:1.6; }
    .calc-result-stage { border-left:0; border-top:1px solid var(--border-color); }
    .calc-empty { padding-bottom:10px; }.result-art-halo { height:140px; margin:0 auto; }
    .result-art-halo img { width:135px; height:135px; }.result-art-halo::before { inset:20px 12px; }
    .result-profit { font-size:46px; }.calculation-result { padding-top:24px; }
}
@media(max-width:720px) {
    .tool-card { min-height:162px; padding:17px 8px; justify-content:flex-end; }
    .tool-art { top:5px; left:50%; transform:translateX(-50%); width:98px; height:98px; }
    .tool-card:hover .tool-art { transform:translateX(-50%) translateY(-3px); }
    .tool-copy strong { font-size:12px; }.tool-arrow { display:none; }
    .tool-copy small { display:none; }
}
@media(max-width:480px) {
    #auth { padding:12px; }.auth-shell { border-radius:20px; }
    .auth-story { padding:24px; }.auth-story h1 { font-size:32px; }
    .auth-story-copy .eyebrow { font-size:8px; letter-spacing:.15em; }
    .auth-form-side { padding:28px 24px; }#auth .inp { font-size:16px; }
    .calculator-modal { padding:0; }.calc-header { padding:22px; }
    .calc-header h2 { font-size:24px; }.calc-header .eyebrow { font-size:8px; }
    .calc-header p:last-child { font-size:11px; }
    .calc-inputs,.calc-result-stage { padding:22px; }
    .calc-workspace .row { flex-direction:row; flex-wrap:wrap; gap:10px; }
    .odds-card { padding:11px; min-width:100px; }.calc-inputs .lbl { font-size:10px; }
    .calc-workspace .stake-limits .col { min-width:100px; }
    .input-section+.input-section { margin-top:25px; }.step-label { margin-bottom:16px; }
    .tool-card { min-height:149px; }.tool-art { width:88px; height:88px; }
}
.amount-presets button[aria-pressed=true] { color:var(--primary-blue); background:var(--blue-wash); border-color:var(--primary-blue); }
#auth .link.text-button { width:100%; margin-top:22px; }
@media(prefers-reduced-motion:reduce) { .tool-card:hover .tool-art { transform:none; } }
@media(prefers-reduced-motion:reduce) and (max-width:720px) { .tool-card:hover .tool-art { transform:translateX(-50%); } }

/* Discord account connection */
.discord-sign-in { margin-top:14px; }
.discord-button { min-height:50px; justify-content:space-between; background:linear-gradient(115deg,#343b72,#252f55); border:1px solid #697bb275; color:#e5edff; box-shadow:inset 0 1px 0 #ffffff12; font-size:12px; }
.discord-symbol { display:inline-grid; place-items:center; width:24px; height:24px; border:1px solid #a9b9ff66; border-radius:8px; font-size:13px; font-weight:800; color:#d2dcff; background:#5865f233; flex-shrink:0; }
.discord-login-note { margin:10px 0 0; font-size:10px; line-height:1.7; color:#92a6c4; }
.discord-connection { padding:20px; margin-bottom:24px; background:linear-gradient(120deg,var(--blue-wash),transparent),var(--bg-input); border:1px solid var(--border-color); border-radius:14px; }
.discord-connection-heading { display:flex; align-items:center; gap:12px; }
.discord-connection-heading .discord-symbol { width:38px; height:38px; font-size:18px; border-radius:11px; }
.discord-connection h3 { font-size:16px; margin:0 0 3px; }
.discord-connection-heading p { font-size:11px; color:var(--text-secondary); margin:0; overflow-wrap:anywhere; }
.discord-connection .history-note { margin:14px 0; }
.discord-connection-actions { display:flex; flex-wrap:wrap; gap:8px; }
.discord-connection-actions a { text-decoration:none; }
.discord-command-disclosure { margin-top:14px; padding-top:13px; border-top:1px solid var(--border-color); }
.discord-command-disclosure summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; color:var(--text-primary); }
.discord-command-disclosure summary::-webkit-details-marker { display:none; }
.discord-command-disclosure summary>span { display:flex; flex-direction:column; gap:2px; }
.discord-command-disclosure summary strong { font-size:10px; }
.discord-command-disclosure summary small { color:var(--text-secondary); font-size:8px; }
.discord-command-disclosure summary b { color:var(--primary-blue); font-size:14px; font-weight:400; line-height:1; transition:transform .2s; }
.discord-command-disclosure[open] summary b { transform:rotate(45deg); }
.discord-command-hint { display:flex; flex-wrap:wrap; gap:8px; border-top:1px solid var(--border-color); padding-top:12px; margin-top:12px; }
.discord-command-hint code { padding:4px 7px; background:var(--blue-wash); border-radius:5px; color:var(--primary-blue); font-size:10px; }
.discord-command-hint>span { width:100%; font-size:10px; color:var(--text-secondary); }
body.light-mode .discord-connection .discord-symbol { color:#4d5fac; border-color:#8697ce; }

/* Premium sign-in and settings workspace */
.auth-form-side { padding:38px 52px; }
.auth-switch { display:flex; padding:5px; gap:5px; margin-bottom:30px; border:1px solid #2d405d; border-radius:12px; background:#091322; }
.auth-switch button { flex:1; min-height:38px; border:1px solid transparent; border-radius:8px; color:#94a8c5; background:transparent; font-size:12px; font-weight:600; }
.auth-switch button[aria-pressed="true"] { background:linear-gradient(130deg,#2a4266,#1b2c46); border-color:#5376a4; color:#f0f6ff; box-shadow:0 3px 10px #0004; }
.auth-switch button:hover { color:#fff; }
#auth button:focus-visible { outline:2px solid #94bdff; outline-offset:3px; }
.auth-form-icon { width:44px; height:44px; margin-bottom:22px; border-radius:13px; font-size:22px; font-weight:800; padding-bottom:3px; }
.auth-subtitle { margin-bottom:24px; }
.discord-sign-in { margin:0 0 24px; }
.discord-entry-label { display:flex; justify-content:space-between; gap:12px; margin-bottom:9px; color:#758aa9; font-size:8px; font-weight:700; letter-spacing:.14em; }
.discord-entry-label span:last-child { color:#7f9bc4; }
.discord-button { width:100%; min-height:58px; display:flex; align-items:center; gap:14px; padding:12px 18px; border:1px solid #8690ff; border-radius:12px; color:#fff; text-align:left; background:#5865f2; box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #5865f22b; }
.discord-button:hover:not(:disabled) { transform:translateY(-1px); border-color:#b5bbff; background:#4752c4; }
.discord-button:disabled { opacity:.52; }
.discord-mark { width:42px; height:42px; display:grid; place-items:center; flex:none; border-radius:12px; background:#5865f2; }
.discord-mark img { display:block; width:30px; height:auto; }
.discord-button .discord-mark { width:32px; height:26px; background:transparent; }
.discord-button-copy { display:flex; flex-direction:column; min-width:0; gap:2px; flex:1; }
.discord-button-copy strong { font-size:14px; }
.discord-button-copy small { color:#c3ccef; font-size:10px; font-weight:500; }
.button-chevron { color:#dce2ff; font-size:26px; font-weight:300; }
.discord-login-note { margin:10px 2px 0; min-height:16px; font-size:10px; color:#a4b5cf; }
.auth-divider { margin:22px 0; font-size:10px; letter-spacing:.03em; }
.auth-create-row { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:18px; color:#8294ae; font-size:11px; }
.auth-create-row .text-button { font-weight:700; font-size:11px; }
.auth-footnote { display:flex; justify-content:center; align-items:center; gap:7px; margin-top:20px; }
.auth-footnote span { width:6px; height:6px; border-radius:50%; background:var(--accent-green); box-shadow:0 0 0 4px rgba(126,224,187,.08); }

#mod-global { align-items:stretch; justify-content:flex-end; padding:14px; }
#mod-global .settings-modal { width:min(920px,calc(100vw - 28px)); height:calc(100dvh - 28px); max-height:none; display:flex; flex-direction:column; padding:0; overflow:hidden; border-radius:24px; background:radial-gradient(ellipse at 100% 0%,rgba(75,134,246,.10),transparent 32%),var(--bg-card); }
.settings-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:28px 32px 24px; border-bottom:1px solid var(--border-color); background:rgba(10,18,32,.56); backdrop-filter:blur(18px); }
.settings-header h2 { margin:2px 0 6px; font-size:30px; }
.settings-header>div>p:last-child { margin:0; color:var(--text-secondary); font-size:12px; }
.settings-kicker { margin:0; color:var(--primary-blue); font-size:8px; font-weight:700; letter-spacing:.19em; }
.settings-content { flex:1; overflow:auto; padding:0 32px 30px; scrollbar-color:#3c5375 transparent; }
.settings-section { padding:28px 0; border-bottom:1px solid var(--border-color); }
.settings-section:last-child { border-bottom:0; padding-bottom:8px; }
.settings-section-title { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.settings-section-title>div { display:flex; align-items:flex-start; gap:12px; }
.section-number { color:#7699cb; font-size:9px; font-weight:700; letter-spacing:.1em; padding-top:4px; }
.settings-section-title h3 { margin:0 0 3px; font-size:16px; letter-spacing:-.02em; }
.settings-section-title p { margin:0; color:var(--text-secondary); font-size:10px; }
.settings-note { color:#7991b3; border:1px solid var(--border-color); border-radius:20px; padding:4px 8px; font-size:8px; letter-spacing:.06em; text-transform:uppercase; }
.account-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:14px; }
.account-profile-card,.discord-connection { min-width:0; border:1px solid var(--border-color); border-radius:16px; background:rgba(8,15,27,.66); }
@media(min-width:721px) {
    .account-grid { grid-auto-rows:256px; }
    .account-profile-card,.discord-connection { height:256px; }
    .account-grid:has(.account-profile-card.is-editing) { grid-auto-rows:270px; }
    .account-grid:has(.account-profile-card.is-editing) .account-profile-card,
    .account-grid:has(.account-profile-card.is-editing) .discord-connection { height:270px; }
}
.account-profile-card { position:relative; display:flex; flex-direction:column; justify-content:center; gap:16px; min-height:170px; padding:22px; overflow:hidden; transition:min-height .2s,border-color .2s; }
.account-profile-card.is-editing { justify-content:flex-start; min-height:270px; border-color:#4f78b1; }
.account-profile-card::after { content:''; position:absolute; width:120px; height:120px; right:-62px; bottom:-70px; border:1px solid #6f9ee429; border-radius:50%; box-shadow:0 0 0 28px #6f9ee408; }
.account-profile-main { display:flex; align-items:center; gap:14px; min-width:0; position:relative; z-index:1; }
.settings-avatar { width:54px; height:54px; flex:none; display:grid; place-items:center; overflow:hidden; border:1px solid #7296cc; border-radius:16px; background:linear-gradient(145deg,#315788,#16263e); color:#eff6ff; font-size:18px; font-weight:700; box-shadow:0 10px 24px #0005; }
.settings-avatar img { width:100%; height:100%; object-fit:cover; }
.settings-avatar img[hidden] { display:none; }
.account-profile-copy { display:flex; flex-direction:column; min-width:0; gap:3px; }
.account-label { color:#758aa9; font-size:8px; font-weight:700; letter-spacing:.12em; }
.account-profile-copy strong { max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:15px; }
.account-email-value { max-width:210px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#9fb2cc; font-size:10px; }
.account-email-add { width:max-content; max-width:215px; display:flex; flex-direction:column; gap:2px; margin-top:4px; padding:7px 10px; color:#eaf3ff; text-align:left; border:1px solid #5081c5; border-radius:9px; background:linear-gradient(120deg,rgba(76,139,235,.25),rgba(45,91,158,.12)); box-shadow:0 0 0 3px rgba(71,132,224,.06); }
.account-email-add:hover { border-color:#78a9ec; background:linear-gradient(120deg,rgba(76,139,235,.35),rgba(45,91,158,.18)); }
.account-email-add[hidden] { display:none; }
.account-email-add span { font-size:10px; font-weight:700; }
.account-email-add small { color:#91a7c6; font-size:8px; font-weight:500; }
.account-method { position:absolute; right:18px; top:16px; z-index:1; color:#86aaf0; font-size:9px; }
.account-email-editor { position:relative; z-index:1; padding-top:14px; border-top:1px solid var(--border-color); }
.account-email-editor>label { display:block; margin:0 0 7px; color:#a9bbd3; font-size:9px; font-weight:600; }
.account-email-editor>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.account-email-editor .inp { min-height:40px; margin:0; padding:9px 10px; }
.account-email-editor .btn { width:auto; min-height:40px; padding:9px 13px; }
.account-email-editor p { min-height:14px; margin:7px 0 0; color:#8195b2; font-size:8px; }
.discord-connection { margin:0; padding:20px; background:linear-gradient(125deg,rgba(88,101,242,.10),transparent 60%),rgba(8,15,27,.66); }
.discord-connection-heading .discord-mark { width:42px; height:42px; border-radius:12px; }
.discord-connection-heading .discord-mark svg { width:27px; height:27px; }
.connection-title-row { display:flex; align-items:center; gap:8px; }
.connection-status { padding:3px 7px; color:#8da0ba; border:1px solid var(--border-color); border-radius:20px; font-size:8px; letter-spacing:.04em; }
.connection-status.is-connected { color:var(--accent-green); border-color:rgba(126,224,187,.25); background:rgba(126,224,187,.06); }
.discord-connection .history-note { min-height:19px; margin:13px 0; font-size:10px; }
.discord-connection-actions { align-items:center; }
.discord-connect-action { min-height:38px; padding:8px 12px; }
.danger-link { margin-left:auto; color:#c18c94; font-size:9px; }
.discord-command-hint code { font-size:9px; }
.bookmaker-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.bookmaker-grid>label>span,.bonus-fields label>span { display:block; margin:0 0 7px 2px; color:var(--text-secondary); font-size:9px; font-weight:600; }
.bookmaker-grid .inp,.bonus-fields .inp { margin:0; }
.preference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px; }
.preference-card { display:flex; align-items:center; justify-content:space-between; min-height:78px; gap:12px; padding:14px; border:1px solid var(--border-color); border-radius:13px; background:var(--bg-input); }
.preference-card strong,.reminder-row strong,.report-action strong { display:block; margin-bottom:3px; font-size:11px; }
.preference-card>div>span,.reminder-row>div>span,.report-action small { display:block; color:var(--text-secondary); font-size:9px; line-height:1.45; }
.settings-disclosure { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:13px 15px; color:var(--text-primary); text-align:left; border:1px solid var(--border-color); border-radius:12px; background:var(--bg-input); }
.settings-disclosure:hover { border-color:#496d9e; background:var(--surface-hover); }
.settings-disclosure>span:first-child { display:flex; flex-direction:column; gap:2px; }
.settings-disclosure strong { font-size:11px; }
.settings-disclosure small { color:var(--text-secondary); font-size:9px; }
.settings-disclosure>span:last-child { color:var(--primary-blue); font-size:18px; }
.settings-inline-note { margin:14px 0 12px; color:var(--text-secondary); font-size:10px; }
.bonus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:15px; border:1px solid var(--border-color); border-radius:13px; background:rgba(8,15,27,.5); }
.bonus-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.bonus-fields .inp { min-height:40px; padding:9px 10px; }
.reminder-setting { display:grid; grid-template-columns:1fr 170px; align-items:center; gap:18px; margin:0; padding:17px; background:var(--bg-input); }
.reminder-row { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.reminder-row label.switch { display:inline-block; margin:0; }
.reminder-days { display:flex; align-items:center; justify-content:flex-end; gap:10px; color:var(--text-secondary); font-size:9px; }
.reminder-days>label { margin:0; white-space:nowrap; }
.reminder-days>div { position:relative; width:92px; }
.reminder-days .inp { min-height:40px; margin:0; padding-right:38px; }
.reminder-days>div>span { position:absolute; right:10px; top:12px; color:#7185a3; pointer-events:none; }
.report-action { width:100%; display:flex; align-items:center; justify-content:space-between; margin-top:10px; padding:15px 17px; color:var(--text-primary); text-align:left; border:1px solid var(--border-color); border-radius:13px; background:linear-gradient(110deg,var(--blue-wash),transparent),var(--bg-input); }
.report-action:hover { border-color:#496d9e; }
.report-action>span:last-child { color:var(--primary-blue); font-size:18px; }
.settings-footer { flex:none; display:flex; justify-content:flex-end; gap:10px; padding:16px 32px; border-top:1px solid var(--border-color); background:rgba(10,18,32,.86); backdrop-filter:blur(18px); }
.settings-footer .btn { width:auto; min-width:130px; min-height:42px; }
.settings-close { color:var(--text-secondary); }
.settings-save { box-shadow:inset 0 1px 0 #ffffff55,0 8px 24px #397ce533; }

body.light-mode .settings-header,body.light-mode .settings-footer { background:rgba(255,255,255,.86); }
body.light-mode .account-profile-card,body.light-mode .discord-connection,body.light-mode .bonus-grid { background:rgba(244,247,252,.7); }

@media(max-width:720px) {
    .auth-form-side { padding:30px 26px; }
    .auth-switch { margin-bottom:26px; }
    .discord-button { min-height:58px; }
    #mod-global { padding:0; }
    #mod-global .settings-modal { width:100%; height:100dvh; border:0; border-radius:0; }
    .settings-header { padding:22px 20px 18px; }
    .settings-header h2 { font-size:25px; }
    .settings-content { padding:0 20px 24px; }
    .settings-section { padding:23px 0; }
    .account-grid { grid-template-columns:1fr; }
    .account-profile-card { min-height:150px; }
    .bookmaker-grid,.preference-grid,.bonus-grid { grid-template-columns:1fr; }
    .bookmaker-grid { gap:10px; }
    .preference-grid { gap:8px; }
    .preference-card { min-height:68px; }
    .reminder-setting { grid-template-columns:1fr; }
    .reminder-days { justify-content:space-between; border-top:1px solid var(--border-color); padding-top:13px; }
    .settings-footer { padding:13px 20px; }
    .settings-footer .btn { flex:1; min-width:0; }
}

@media(max-width:480px) {
    .discord-entry-label { display:none; }
    .discord-sign-in { margin-top:4px; }
    .discord-button-copy small { font-size:9px; }
    .settings-section-title p { max-width:210px; }
    .settings-note { display:none; }
    #toast-container { right:16px; bottom:16px; width:calc(100% - 32px); max-width:none; }
    .toast { min-height:70px; }
    .bankroll-modal { padding:22px; }
    .bankroll-modal-header { gap:14px; margin-bottom:20px; }
    .bankroll-modal-header h2 { font-size:25px; }
    .bankroll-modal-header img { width:62px; height:62px; }
    .bankroll-presets { grid-template-columns:1fr 1fr; }
}
:root .scanner-launch{display:flex;align-items:center;gap:16px;padding:18px 24px;margin:0 0 28px;border:1px solid var(--border-color,#283750);border-radius:16px;background:linear-gradient(115deg,rgba(77,131,224,.12),rgba(15,24,39,.5));color:var(--text-primary,#edf3ff);text-decoration:none;transition:border-color .2s}
:root .scanner-launch:hover{border-color:#78adff}
.scanner-launch-icon{display:grid;place-items:center;color:#8db9ff;width:42px;height:42px;border:1px solid #334b71;border-radius:12px;flex-shrink:0}
.scanner-launch strong,.scanner-launch small{display:block}.scanner-launch strong{font-size:15px}.scanner-launch small{font-size:12px;color:var(--text-secondary,#9aaac2);margin-top:5px}.scanner-launch-tag{margin-left:auto;font-size:10px;letter-spacing:.12em;color:#8db9ff}
@media(max-width:600px){:root .scanner-launch{padding:16px}.scanner-launch-tag{font-size:0}.scanner-launch-tag span{font-size:22px}}

/* Production audit: readable auth details, consistent blue glass, public feature overview. */
#auth .auth-eyebrow, #auth .auth-footnote, #auth .auth-divider,
#auth .auth-story-footer, #auth .discord-login-note { color:#b4c4dc; font-size:12px; }
#auth .text-button, #auth .password-toggle { color:#bdd8ff; font-size:13px; }
#auth .discord-button { background:linear-gradient(145deg,#365a89,#203654); border-color:#709ac8; box-shadow:inset 0 1px 0 #e3f0ff35,0 8px 24px #030a1640; }
#auth .discord-button:hover:not(:disabled) { background:linear-gradient(145deg,#42699a,#2a466b); border-color:#a0c5f3; }
#auth .auth-story-copy { margin-top:36px; }
#auth .auth-art-stage { height:180px; }
#auth .auth-hero-art { width:180px; height:180px; }
.auth-features { position:relative; display:grid; gap:14px; margin:18px 0; }
.auth-features>div { display:grid; gap:4px; padding-left:14px; border-left:1px solid #6c96c366; }
.auth-features strong { font-size:13px; color:#e6effd; font-weight:600; }
.auth-features span { font-size:12px; color:#b4c4dc; line-height:1.6; }
@media(max-width:800px) { #auth .auth-features { display:none; } }
@media(prefers-reduced-motion:reduce) { #auth .discord-button { transition:none; transform:none; } }
