:root{--bg:#090b13;--panel:#111522;--panel2:#171c2c;--line:#293047;--text:#f3f6ff;--muted:#929bb4;--cyan:#4de8d1;--pink:#ff5da8;--yellow:#ffd166;--shadow:0 22px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 12% 0,#18213c 0,transparent 34rem),var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:20;background:linear-gradient(rgba(255,255,255,.018) 50%,transparent 50%);background-size:100% 4px;opacity:.45}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:rgba(9,11,19,.8);backdrop-filter:blur(14px);position:relative;z-index:5}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;letter-spacing:.03em}.brand-icon{display:grid;place-items:center;width:42px;height:42px;border:2px solid var(--cyan);box-shadow:4px 4px 0 var(--pink);font-weight:900;font-size:22px}.brand strong{display:block;font-size:18px}.brand small{display:block;color:var(--muted);font:700 10px/1.2 ui-monospace,monospace;letter-spacing:.18em}.panel{background:linear-gradient(145deg,rgba(23,28,44,.96),rgba(14,18,30,.96));border:1px solid var(--line);box-shadow:var(--shadow)}.hero{margin:70px 0;min-height:530px;display:grid;grid-template-columns:1.45fr .55fr;overflow:hidden}.hero-copy{padding:clamp(34px,6vw,78px);display:flex;flex-direction:column;justify-content:center}.eyebrow{margin:0 0 10px;color:var(--cyan);font:800 12px/1.2 ui-monospace,monospace;letter-spacing:.18em}.hero h1,.dashboard-heading h1{font-size:clamp(36px,6vw,68px);line-height:1.02;letter-spacing:-.05em;margin:0;max-width:780px}.hero h1{white-space:nowrap}.lede{font-size:19px;color:#c4cadb;max-width:670px;margin:24px 0 30px}.lede code{color:var(--yellow);background:#080a10;padding:2px 7px;border:1px solid var(--line)}.hero-art{display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,rgba(77,232,209,.08),rgba(255,93,168,.08)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px)}.screen{width:min(100%,360px);aspect-ratio:4/3;background:#05070b;border:14px solid #242b3d;outline:1px solid #3c4661;box-shadow:13px 15px 0 #080910;padding:26px;font:700 12px/1.5 ui-monospace,monospace;color:var(--cyan)}.screen-title{font-size:21px;color:var(--text);border-bottom:2px solid var(--pink);padding-bottom:10px;margin-bottom:16px}.pixel-row{display:flex;justify-content:space-between;margin:10px 0}.pixel-row b{color:var(--yellow)}.bars{height:90px;display:flex;gap:7px;align-items:end;margin-top:18px}.bars i{flex:1;background:var(--cyan);box-shadow:3px 0 0 var(--pink)}.bars i:nth-child(1){height:35%}.bars i:nth-child(2){height:62%}.bars i:nth-child(3){height:43%}.bars i:nth-child(4){height:82%}.bars i:nth-child(5){height:58%}.bars i:nth-child(6){height:100%}.upload-form{display:grid;grid-template-columns:1fr auto;gap:14px;max-width:690px}.dropzone{grid-column:1/-1;border:1px dashed #4c5878;background:rgba(4,6,12,.45);padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;cursor:pointer;transition:.2s}.dropzone:hover{border-color:var(--cyan);background:rgba(77,232,209,.05)}.upload-icon{font-size:30px;color:var(--cyan)}.file-prompt strong,.file-prompt small{display:block}.file-prompt small,.file-name,.privacy-note{color:var(--muted);font-size:13px}.file-name{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}input[type=file]{position:absolute;inline-size:1px;block-size:1px;opacity:0}.button{border:0;background:var(--cyan);color:#05100e;padding:13px 22px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;text-decoration:none;box-shadow:5px 5px 0 var(--pink);transition:.15s}.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--pink)}.button-small{font-size:12px;padding:10px 15px}.privacy-note{margin:18px 0 0}.alert{border-left:4px solid var(--pink);background:rgba(255,93,168,.09);padding:14px 16px;margin:0 0 22px;color:#ffd7e9}.alert strong{display:block}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;margin:58px 0 30px}.dashboard-heading h1{font-size:clamp(36px,5vw,58px)}.status{color:var(--muted);font:700 12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em}.status span{display:inline-block;width:8px;height:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px var(--cyan);margin-right:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}.stat{padding:24px}.stat small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font:700 11px ui-monospace,monospace}.stat strong{display:block;font-size:clamp(25px,3vw,39px);letter-spacing:-.04em;margin-top:6px}.section-panel{margin:16px 0;padding:26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.section-head h2{font-size:26px;margin:0;letter-spacing:-.03em}.search{display:flex;align-items:center;gap:8px;background:#090c14;border:1px solid var(--line);padding:10px 13px;min-width:280px}.search span{color:var(--cyan);font-size:20px}.search input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:730px}th{text-align:left;color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;padding:12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid rgba(41,48,71,.7)}td strong,td small{display:block}td small{color:var(--muted);font-size:12px;margin-top:3px}.right{text-align:right}.duration{font:700 14px ui-monospace,monospace;color:var(--yellow)}.chip{display:inline-block;padding:4px 8px;border:1px solid #3b4561;background:#171d2c;color:#b9c7ea;font:700 11px ui-monospace,monospace}.empty{text-align:center;color:var(--muted);padding:28px}.two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.rank-list{display:grid;gap:17px}.rank-item{display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:center}.rank-number{color:#5d6781;font:800 18px ui-monospace,monospace}.rank-info>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px}.rank-info span{color:var(--yellow);font:700 12px ui-monospace,monospace}.meter{height:6px;background:#080a11;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}.timeline{display:grid}.timeline-item{display:grid;grid-template-columns:18px 1fr;gap:12px;position:relative;padding:0 0 20px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:5px;top:11px;bottom:0;width:1px;background:var(--line)}.timeline-dot{width:11px;height:11px;border:2px solid var(--cyan);background:var(--panel);margin-top:5px;z-index:1}.action-1 .timeline-dot,.action-3 .timeline-dot{border-color:var(--pink)}.timeline-item strong,.timeline-item span,.timeline-item small{display:block}.timeline-item span{font-size:13px;color:#c6ccdc;overflow-wrap:anywhere}.timeline-item small{font-size:12px;color:var(--muted);margin-top:2px}footer{color:#69728b;text-align:center;font-size:12px;padding:45px 0 55px}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero h1{white-space:normal}.hero-art{display:none}.stats{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.dashboard-heading{align-items:start;gap:20px;flex-direction:column}.section-head{align-items:stretch;flex-direction:column}.search{min-width:0}.upload-form{grid-template-columns:1fr}.dropzone{grid-template-columns:auto 1fr}.file-name{grid-column:2}.button{width:100%}}
@media(max-width:520px){.wrap{width:min(100% - 22px,1180px)}.header-inner{height:70px}.button-small{font-size:0;padding:10px}.button-small:after{content:'New file';font-size:11px}.hero{margin:28px 0}.hero-copy{padding:28px 20px}.hero h1{font-size:39px}.stats{grid-template-columns:1fr 1fr}.stat{padding:18px}.section-panel{padding:19px}.dropzone{padding:14px}}
.ra-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.ra-fields label{display:grid;gap:7px}.ra-fields label>span{color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.ra-fields em{font-style:normal;color:#616b85}.ra-fields input{width:100%;background:#090c14;border:1px solid var(--line);color:var(--text);padding:12px 13px;font:inherit;outline:0}.ra-fields input:focus{border-color:var(--cyan)}.ra-profile{display:flex;align-items:center;gap:18px;padding:22px 25px;margin-bottom:16px}.ra-profile>img{width:64px;height:64px;object-fit:cover;border:2px solid var(--cyan);box-shadow:4px 4px 0 var(--pink)}.ra-profile h2{margin:0;font-size:25px}.ra-profile p:not(.eyebrow){margin:4px 0 0;color:var(--muted)}.ra-profile-stats{margin-left:auto;display:flex;gap:28px;text-align:right}.ra-profile-stats span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.07em}.ra-profile-stats b{display:block;color:var(--yellow);font-size:22px}.ra-game{display:grid;grid-template-columns:38px minmax(145px,1fr);align-items:center;column-gap:10px;color:inherit;text-decoration:none;min-width:205px}.ra-game>img{width:38px;height:38px;object-fit:cover;border:1px solid var(--line)}.ra-game>span{display:block;min-width:145px}.ra-game strong{font-size:12px}.ra-game small{font-size:11px}.ra-meter-row{display:flex;align-items:center;gap:7px;width:100%;margin-top:5px}.ra-game .ra-meter-row>i{display:block;flex:1 1 auto;min-width:0;height:4px;background:#080a11;margin-top:0}.ra-game .ra-meter-row>i b{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}.ra-crown{display:inline-block;flex:0 0 auto;color:#c8ced8;font-size:17px;line-height:1;text-shadow:0 1px 0 #fff,0 2px 0 #555;cursor:help;align-self:center;transform:none}.ra-unmatched{color:#626c84;font-size:12px}#games-table{min-width:940px}@media(max-width:650px){.ra-fields{grid-template-columns:1fr}.ra-profile{align-items:flex-start;flex-wrap:wrap}.ra-profile-stats{width:100%;margin-left:82px;text-align:left}.ra-profile-stats span{flex:1}}

.game-title-link {
    display: inline-block;
    color: inherit;
    text-decoration: none;
}
.game-title-link strong {
    display: inline;
    border-bottom: 1px solid transparent;
    transition: color .15s ease, border-color .15s ease;
}
.game-title-link:hover strong,
.game-title-link:focus-visible strong {
    color: var(--accent);
    border-color: currentColor;
}
.game-detail-heading {
    align-items: flex-end;
}
.game-detail-heading .eyebrow a {
    color: inherit;
    text-decoration: none;
}
.game-path {
    margin: .55rem 0 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}
.game-stats {
    margin-bottom: 1.5rem;
}
.session-range {
    display: grid;
    gap: .2rem;
    text-align: right;
}
.session-range small {
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.status-live {
    color: var(--accent);
    font-weight: 700;
}
.detail-error {
    margin-top: 2rem;
}
@media (max-width: 700px) {
    .game-detail-heading {
        align-items: flex-start;
    }
    .session-range {
        text-align: left;
    }
}

.game-title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.game-title-row h1{margin:0}.ra-title-icon{display:inline-flex;flex:0 0 auto;text-decoration:none}.ra-title-icon img{display:block;width:48px;height:48px;object-fit:cover;border:2px solid var(--cyan);box-shadow:3px 3px 0 var(--pink)}.ra-title-icon:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}@media(max-width:650px){.ra-title-icon img{width:42px;height:42px}}

.game-detail-meta{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.game-detail-meta .ra-title-icon{align-self:flex-end}@media(max-width:850px){.game-detail-meta{align-items:flex-start}.game-detail-meta .ra-title-icon{align-self:flex-start}}

.system-link,
.system-name-link {
    text-decoration: none;
}
.system-link:hover,
.system-link:focus-visible,
.system-name-link:hover,
.system-name-link:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.setup-guide{margin:-42px 0 70px;padding:28px 32px}.setup-guide h2{margin:0 0 18px;font-size:26px;letter-spacing:-.03em}.setup-guide ol{margin:0;padding-left:1.4rem;display:grid;gap:12px;color:#c4cadb}.setup-guide li{padding-left:.35rem}.setup-guide li::marker{color:var(--cyan);font-weight:900}.setup-guide code{color:var(--yellow);background:#080a10;padding:2px 6px;border:1px solid var(--line)}.setup-guide a{color:var(--cyan);text-underline-offset:3px}.setup-guide a:hover{color:var(--text)}
@media(max-width:850px){.setup-guide{margin:-42px 0 40px}}
@media(max-width:520px){.setup-guide{margin:-12px 0 28px;padding:24px 20px}}

.play-frequency-panel{margin-bottom:16px}.chart-year-control{display:flex;align-items:center;gap:10px;color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.chart-year-control select{background:#090c14;border:1px solid var(--line);color:var(--text);padding:9px 34px 9px 11px;font:700 13px ui-monospace,monospace}.chart-year-label{color:var(--yellow);font:800 14px ui-monospace,monospace}.monthly-chart{height:260px;display:grid;grid-template-columns:repeat(12,minmax(34px,1fr));gap:12px;align-items:stretch;padding:10px 0 0}.monthly-bar-item{min-width:0;display:grid;grid-template-rows:24px 1fr 22px;gap:7px;text-align:center}.monthly-bar-value{font:800 13px ui-monospace,monospace;color:var(--yellow)}.monthly-bar-track{position:relative;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,rgba(41,48,71,.55) 1px,transparent 1px);background-size:100% 25%;border-bottom:1px solid var(--line);overflow:hidden}.monthly-bar-track i{display:block;width:min(44px,72%);min-height:0;background:linear-gradient(180deg,var(--cyan),var(--pink));box-shadow:3px 0 0 rgba(255,255,255,.08);transition:height .25s ease}.monthly-bar-item span{color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase}.chart-note{margin:16px 0 0;color:var(--muted);font-size:12px}@media(max-width:700px){.monthly-chart{height:220px;gap:6px}.monthly-bar-track i{width:74%}.monthly-bar-item span{font-size:9px}.play-frequency-panel .section-head{flex-direction:row;align-items:flex-end}.chart-year-control{flex-direction:column;align-items:flex-start;gap:4px}}@media(max-width:460px){.monthly-chart{height:190px;gap:3px}.monthly-bar-value{font-size:10px}.monthly-bar-item span{font-size:8px;letter-spacing:-.02em}}

.ra-cell{position:relative;padding-right:42px!important;vertical-align:middle}.ra-cell .ra-game{padding-right:0}.ra-cell>.ra-crown{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0;align-self:auto}

.ra-crown-silver{color:#c8ced8}.ra-crown-gold{color:#ffd34e;text-shadow:0 1px 0 #fff4b0,0 2px 0 #8a6200}
.monthly-bar-label{color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;text-decoration:none;align-self:center}.monthly-bar-label:hover,.monthly-bar-label:focus-visible{color:var(--cyan);text-decoration:underline}.month-summary-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:28px 0 18px}.month-summary-heading h1{margin:4px 0 0}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:18px}.month-calendar-head{color:var(--muted);font:700 10px ui-monospace,monospace;text-align:center;text-transform:uppercase}.month-day{min-height:104px;border:1px solid var(--line);background:#090c14;padding:8px;display:flex;flex-direction:column;gap:5px}.month-day.empty{visibility:hidden}.month-day.played{border-color:rgba(62,224,255,.5);background:rgba(62,224,255,.07)}.month-day strong{font:800 13px ui-monospace,monospace}.month-day small{color:var(--muted);font:700 10px ui-monospace,monospace}.month-day.played small{color:var(--cyan)}@media(max-width:600px){.month-calendar{gap:3px}.month-day{min-height:78px;padding:5px}.month-day small{font-size:8px}.month-summary-heading{align-items:flex-start;flex-direction:column}}
.daily-month-chart{height:260px;display:grid;grid-template-columns:repeat(var(--days,31),minmax(8px,1fr));gap:4px;align-items:stretch;padding:10px 0 0}.daily-bar-item{min-width:0;display:grid;grid-template-rows:1fr 20px;gap:6px;text-align:center}.daily-bar-value{overflow:hidden;color:var(--yellow);font:700 9px ui-monospace,monospace;white-space:nowrap;text-overflow:ellipsis}.daily-bar-track{position:relative;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,rgba(41,48,71,.55) 1px,transparent 1px);background-size:100% 25%;border-bottom:1px solid var(--line);overflow:hidden}.daily-bar-track i{display:block;width:72%;min-height:0;background:linear-gradient(180deg,var(--cyan),var(--pink));box-shadow:2px 0 0 rgba(255,255,255,.08)}.daily-bar-item>span{color:var(--muted);font:700 9px ui-monospace,monospace}.chart-year-label{text-decoration:none}.chart-year-label:hover,.chart-year-label:focus-visible{color:var(--cyan);text-decoration:underline}@media(max-width:700px){.daily-month-chart{height:220px;gap:2px}.daily-bar-value{font-size:0}.daily-bar-item>span{font-size:8px}}@media(max-width:460px){.daily-month-chart{height:190px;gap:1px}.daily-bar-item{grid-template-rows:1fr 18px}.daily-bar-track i{width:82%}.daily-bar-item>span{font-size:7px}}

.session-extra[hidden]{display:none}.sessions-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin:0;border:0;border-top:1px solid var(--line);background:rgba(9,12,20,.45);color:var(--cyan);cursor:pointer}.sessions-toggle:hover,.sessions-toggle:focus-visible{background:rgba(77,232,209,.08);color:var(--text)}.sessions-toggle-arrow{display:inline-block;font-size:28px;line-height:1;transition:transform .2s ease}.sessions-toggle[aria-expanded="true"] .sessions-toggle-arrow{transform:rotate(180deg)}

.game-extra[hidden]{display:none}.games-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin:0;border:0;border-top:1px solid var(--line);background:rgba(9,12,20,.45);color:var(--cyan);cursor:pointer}.games-toggle:hover,.games-toggle:focus-visible{background:rgba(77,232,209,.08);color:var(--text)}.games-toggle-arrow{display:inline-block;font-size:28px;line-height:1;transition:transform .2s ease}.games-toggle[aria-expanded="true"] .games-toggle-arrow{transform:rotate(180deg)}

/* v1.1.51: ensure the current-month plot consumes the full chart height. */
.daily-month-chart{align-items:stretch}
.daily-bar-item{display:flex;flex-direction:column;height:100%;min-height:0}
.daily-bar-track{flex:1 1 auto;height:auto;min-height:0;width:100%}
.daily-bar-item>span{flex:0 0 20px;display:flex;align-items:center;justify-content:center}
@media(max-width:460px){.daily-bar-item>span{flex-basis:18px}}

/* v1.1.52: persistent light/dark theme toggle. */
.header-actions{display:flex;align-items:center;gap:14px}
.theme-toggle{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);background:var(--panel2);color:var(--yellow);font-size:20px;line-height:1;cursor:pointer;box-shadow:3px 3px 0 var(--pink);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.theme-toggle:hover,.theme-toggle:focus-visible{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--pink);background:var(--panel)}
.theme-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
html[data-theme="light"]{color-scheme:light;--bg:#eef2f7;--panel:#ffffff;--panel2:#f5f7fb;--line:#c8d0dd;--text:#172033;--muted:#626d80;--cyan:#087f77;--pink:#c72d73;--yellow:#9a6500;--shadow:0 18px 52px rgba(40,54,78,.15)}
html[data-theme="light"] body{background:radial-gradient(circle at 12% 0,#dce8f5 0,transparent 34rem),var(--bg)}
html[data-theme="light"] .scanlines{background:linear-gradient(rgba(14,32,55,.025) 50%,transparent 50%);opacity:.32}
html[data-theme="light"] .site-header{background:rgba(245,248,252,.88)}
html[data-theme="light"] .panel{background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(242,246,251,.98))}
html[data-theme="light"] .lede,html[data-theme="light"] .setup-guide ol,html[data-theme="light"] .timeline-item span{color:#4f5b6f}
html[data-theme="light"] .lede code,html[data-theme="light"] .setup-guide code{background:#edf1f6}
html[data-theme="light"] .hero-art{background:linear-gradient(135deg,rgba(8,127,119,.08),rgba(199,45,115,.07)),repeating-linear-gradient(45deg,transparent 0 18px,rgba(20,40,65,.035) 18px 19px)}
html[data-theme="light"] .screen{background:#f8fafc;border-color:#c6cfdb;outline-color:#aab5c5;box-shadow:13px 15px 0 #d8dee8}
html[data-theme="light"] .dropzone,html[data-theme="light"] .search,html[data-theme="light"] .chart-year-control select,html[data-theme="light"] .month-day{background:#f7f9fc}
html[data-theme="light"] .dropzone{border-color:#9ca9ba}
html[data-theme="light"] .button{color:#fff}
html[data-theme="light"] .chip{background:#eef2f7;color:#33415a;border-color:#bac5d3}
html[data-theme="light"] .meter,html[data-theme="light"] .ra-game .ra-meter-row>i{background:#dce2ea}
html[data-theme="light"] td{border-bottom-color:rgba(174,185,201,.7)}
html[data-theme="light"] .daily-bar-track,html[data-theme="light"] .monthly-bar-track{background-image:linear-gradient(to top,rgba(150,162,180,.45) 1px,transparent 1px)}
html[data-theme="light"] .sessions-toggle,html[data-theme="light"] .games-toggle{background:rgba(238,242,247,.8)}
html[data-theme="light"] .alert{color:#7b1947}
html[data-theme="light"] .theme-toggle{background:#fff8dc;color:#8a5a00}
@media(max-width:600px){.header-actions{gap:9px}.theme-toggle{width:38px;height:38px}.header-actions .button-small{padding:9px 11px}}

/* v1.1.53: lit bulb in dark mode, unlit bulb in light mode. */
.theme-toggle>span{display:grid;place-items:center;width:24px;height:24px}
.theme-bulb-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-bulb-icon-on .bulb-glow{fill:currentColor;fill-opacity:.2}
.theme-bulb-icon-on .bulb-rays{stroke-width:2}
.theme-bulb-icon-off{opacity:.72}


/* v1.1.54: let month-summary Top Games use the full panel width. */
.month-rank-list{width:100%;gap:20px}
.month-rank-list .rank-item{display:block;width:100%}
.month-rank-list .rank-info{width:100%}
.month-rank-list .rank-info>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;margin-bottom:8px}
.month-rank-list .rank-info strong{min-width:0;overflow-wrap:anywhere}
.month-rank-list .rank-info span{white-space:nowrap;text-align:right}
.month-rank-list .meter{width:100%}

.month-day .month-award{display:block;line-height:1.25;text-transform:none;overflow-wrap:anywhere}.month-day .month-award-beat{color:#c8ced8}.month-day .month-award-mastered{color:#ffd34d}html[data-theme="light"] .month-day .month-award-beat{color:#596273}html[data-theme="light"] .month-day .month-award-mastered{color:#9a6500}

.month-title-nav{display:flex;align-items:center;gap:16px}.month-title-nav h1{min-width:min(420px,60vw);text-align:center}.month-nav-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:var(--panel);color:var(--cyan);font:800 32px/1 ui-monospace,monospace;text-decoration:none}.month-nav-arrow:hover,.month-nav-arrow:focus-visible{border-color:var(--cyan);background:rgba(62,224,255,.08)}.calendar-button{white-space:nowrap}@media(max-width:600px){.month-title-nav{gap:8px}.month-title-nav h1{min-width:0;text-align:left}.month-nav-arrow{width:36px;height:36px;font-size:27px}}
/* Month navigation: large arrows fixed horizontally either side of title. */
.month-summary-heading>div:first-child{min-width:0;flex:1}
.month-title-nav{display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center;gap:18px;width:min(720px,100%);margin-top:6px}
.month-title-nav h1{min-width:0;margin:0;text-align:center;white-space:nowrap}
.month-nav-arrow{display:grid;place-items:center;width:56px;height:56px;font-size:44px;line-height:1;justify-self:center}
@media(max-width:600px){.month-title-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.month-title-nav h1{text-align:center;white-space:normal}.month-nav-arrow{width:44px;height:44px;font-size:36px}}

.month-award-crown{display:inline-block;font-size:13px;line-height:1;vertical-align:-1px;text-shadow:0 1px 0 rgba(255,255,255,.55),0 2px 0 rgba(0,0,0,.35)}

.month-day .month-award{display:flex;align-items:center;gap:4px;min-width:0;line-height:1.25;text-transform:none;color:var(--text)}.month-award-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-award-crown{flex:0 0 auto}.month-award-crown.silver{color:#c8ced8!important}.month-award-crown.gold{color:#ffd34d!important}html[data-theme="light"] .month-award-crown.silver{color:#596273!important}html[data-theme="light"] .month-award-crown.gold{color:#9a6500!important}

/* Month calendar refinements */
.month-day{min-height:86px}
.calendar-tooltip{position:relative;cursor:help}
.calendar-tooltip::after{content:attr(data-tooltip);position:absolute;left:0;bottom:calc(100% + 8px);z-index:30;display:none;width:max-content;min-width:180px;max-width:calc(100vw - 32px);padding:9px 11px;border:1px solid var(--line);background:#090c14;color:var(--text);box-shadow:var(--shadow);white-space:pre;text-align:left;font:600 11px/1.45 ui-monospace,monospace;text-transform:none}
.calendar-tooltip:hover::after,.calendar-tooltip:focus-visible::after{display:block}
.rank-extra[hidden]{display:none}
html[data-theme="light"] .calendar-tooltip::after{background:#fff;color:#172033}
@media(max-width:600px){.month-day{min-height:66px}}

/* v1.1.62: grouped calendar awards and game-page RetroAchievements panel. */
.month-award.calendar-tooltip{position:relative}
.month-award-crown{position:relative;display:inline-grid;place-items:center;width:15px;height:15px}
.month-award-crown .crown-glyph{display:block;line-height:1}
.month-award-crown .crown-plus{position:absolute;left:50%;top:57%;transform:translate(-50%,-50%);font:900 8px/1 Arial,sans-serif;color:#111;text-shadow:0 1px 0 rgba(255,255,255,.7)}
html[data-theme="light"] .month-award-crown .crown-plus{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.65)}
.ra-detail-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px}
.ra-detail-icon{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);background:#090c14}
.ra-detail-progress{display:grid;gap:5px;min-width:0}.ra-detail-progress>strong{font-size:16px}.ra-detail-progress>small{color:var(--muted)}
.ra-detail-award{display:flex;align-items:center;gap:10px;min-width:130px}.ra-detail-award .ra-crown{position:static;font-size:31px}.ra-detail-award>span:last-child{display:grid;gap:3px}.ra-detail-award small{color:var(--muted)}
@media(max-width:600px){.ra-detail-content{grid-template-columns:auto minmax(0,1fr)}.ra-detail-award{grid-column:1/-1}.ra-detail-icon{width:52px;height:52px}}

/* Account and saved-playlog controls */
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0}.topbar nav{color:var(--muted)}.success{padding:12px 14px;border:1px solid #2f9b69;background:rgba(47,155,105,.12)}.error{padding:12px 14px;border:1px solid #c84f67;background:rgba(200,79,103,.12)}.panel form+form{margin-top:12px}.panel input[readonly]{width:100%;margin-top:8px;padding:10px;background:var(--bg);border:1px solid var(--line);color:var(--text)}


/* v1.1.67: visible file controls on the account dashboard. */
.dashboard-file-picker{display:grid;gap:7px;margin:10px 0 14px;color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.dashboard-file-input{position:static!important;inline-size:auto!important;block-size:auto!important;opacity:1!important;width:100%;padding:10px;border:1px dashed #4c5878;background:rgba(4,6,12,.45);color:var(--text);font:inherit;cursor:pointer}
.dashboard-file-input:hover,.dashboard-file-input:focus-visible{border-color:var(--cyan)}
.dashboard-file-picker-small{max-width:520px}
html[data-theme="light"] .dashboard-file-input{background:#f7f9fc;border-color:#9ca9ba}

/* v1.1.69: polished account page. */
.account-page{padding-bottom:28px}.account-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:58px 0 28px}.account-heading h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:-.05em}.account-heading>div>p:last-child{margin:12px 0 0;color:var(--muted);font-size:17px}.account-back-link{color:var(--cyan);font:800 12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.account-back-link:hover{text-decoration:underline}.account-message{display:flex;gap:8px;align-items:center;margin:0 0 16px}.account-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:26px;margin-bottom:16px}.account-avatar{display:grid;place-items:center;width:68px;height:68px;border:2px solid var(--cyan);box-shadow:5px 5px 0 var(--pink);background:var(--panel2);color:var(--text);font:900 30px/1 ui-monospace,monospace}.account-profile-copy h2{margin:0;font-size:27px;letter-spacing:-.03em}.account-profile-copy>p:last-child{margin:3px 0 0;color:var(--muted)}.account-status,.account-connection-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);background:rgba(77,232,209,.06);color:var(--muted);font:800 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.account-status i,.account-connection-badge i{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.account-ra-card{margin-bottom:16px}.account-section-head{align-items:flex-start}.account-section-head>div{max-width:760px}.account-section-head h2{margin-bottom:8px}.account-section-head>div>p:last-child{margin:0;color:var(--muted)}.account-connection-badge.is-disconnected{background:rgba(255,93,168,.05)}.account-connection-badge.is-disconnected i{background:var(--pink);box-shadow:0 0 10px var(--pink)}.ra-account-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:17px 18px;margin:8px 0 22px;border:1px solid var(--line);background:rgba(4,6,12,.35)}.ra-account-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--yellow);color:var(--yellow);font:900 14px ui-monospace,monospace;box-shadow:3px 3px 0 var(--pink)}.ra-account-summary small,.ra-account-summary strong,.ra-account-summary span{display:block}.ra-account-summary small{color:var(--muted);font:800 10px ui-monospace,monospace;letter-spacing:.1em}.ra-account-summary strong{margin:2px 0;font-size:18px}.ra-account-summary span{color:var(--muted);font-size:13px}.account-form{padding-top:4px}.account-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-field-grid label{display:grid;gap:7px}.account-field-grid label>span{color:var(--muted);font:800 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.account-field-grid input{width:100%;padding:13px 14px;border:1px solid var(--line);background:#090c14;color:var(--text);font:inherit;outline:0}.account-field-grid input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(77,232,209,.12)}.account-help{margin:13px 0 0;color:var(--muted);font-size:13px;max-width:820px}.account-form-actions{display:flex;justify-content:flex-start;margin-top:20px}.account-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.account-danger-zone strong,.account-danger-zone span{display:block}.account-danger-zone span{margin-top:3px;color:var(--muted);font-size:13px}.account-danger-zone form{margin:0!important}.account-danger-button{background:transparent;color:#ff8ab9;border:1px solid #a83b69;box-shadow:4px 4px 0 #5b203d}.account-danger-button:hover{box-shadow:6px 6px 0 #5b203d}.account-danger-button:focus-visible{outline:2px solid var(--pink);outline-offset:3px}html[data-theme="light"] .ra-account-summary{background:#f7f9fc}html[data-theme="light"] .account-field-grid input{background:#f7f9fc}html[data-theme="light"] .account-danger-button{color:#9e245d;border-color:#b75b84;background:#fff}
@media(max-width:760px){.account-heading{align-items:flex-start;flex-direction:column}.account-profile-card{grid-template-columns:auto minmax(0,1fr)}.account-status{grid-column:1/-1;width:max-content}.account-field-grid{grid-template-columns:1fr}.account-danger-zone{align-items:flex-start;flex-direction:column}.account-danger-zone .button{width:auto}}
@media(max-width:520px){.account-heading{margin-top:32px}.account-profile-card{padding:20px}.account-avatar{width:56px;height:56px;font-size:24px}.account-section-head{gap:14px}.account-connection-badge{align-self:flex-start}.ra-account-summary{padding:14px}.account-form-actions .button,.account-danger-zone .button{width:100%}.account-danger-zone form{width:100%}}

/* v1.1.70: polished dashboard and single-line account helper copy. */
.dashboard-page{padding-bottom:34px}.dashboard-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:58px 0 28px}.dashboard-heading h1{margin:0;font-size:clamp(38px,5vw,58px);line-height:1.02;letter-spacing:-.05em}.dashboard-heading>div>p:last-child{margin:12px 0 0;color:var(--muted);font-size:17px}.dashboard-account-link{color:var(--cyan);font:800 12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;white-space:nowrap}.dashboard-account-link:hover{text-decoration:underline}.dashboard-message{display:flex;align-items:center;gap:8px;margin:0 0 16px}.dashboard-share-result{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:center;gap:24px;margin-bottom:16px}.dashboard-share-result h2{margin:2px 0 5px}.dashboard-share-result p:last-child{margin:0;color:var(--muted)}.dashboard-share-result input{margin:0!important}.dashboard-empty-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;padding:30px}.dashboard-empty-icon,.dashboard-db-mark{display:grid;place-items:center;width:68px;height:68px;border:2px solid var(--cyan);background:var(--panel2);box-shadow:5px 5px 0 var(--pink);color:var(--text);font:900 20px/1 ui-monospace,monospace}.dashboard-empty-card h2,.dashboard-playlog-card h2,.dashboard-action-card h2{margin:3px 0 8px;font-size:27px;letter-spacing:-.03em}.dashboard-empty-card>div:nth-child(2)>p:last-child{margin:0;color:var(--muted);max-width:760px}.dashboard-upload-form{grid-column:2;max-width:700px}.dashboard-playlog-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;margin-bottom:16px}.dashboard-playlog-main{display:flex;align-items:center;gap:20px;min-width:0}.dashboard-playlog-main h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font:700 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.dashboard-meta span+span{position:relative}.dashboard-meta span+span::before{content:"·";position:absolute;left:-11px;color:var(--cyan)}.dashboard-open-button{flex:0 0 auto;white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-action-card{display:flex;flex-direction:column;padding:26px;min-width:0}.dashboard-card-heading{display:flex;align-items:center;gap:14px;margin-bottom:10px}.dashboard-card-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--yellow);color:var(--yellow);font:900 13px ui-monospace,monospace;box-shadow:3px 3px 0 var(--pink)}.dashboard-card-heading h2{margin:2px 0 0}.dashboard-action-card>p{margin:0 0 20px;color:var(--muted);line-height:1.65}.dashboard-update-form,.dashboard-share-create{margin-top:auto}.dashboard-share-list{display:grid;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.dashboard-share-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:10px 0;border-bottom:1px solid rgba(140,150,180,.15)}.dashboard-share-row span{color:var(--muted);font-size:12px}.dashboard-revoke-button{background:transparent;color:#ff8ab9;border-color:#a83b69;box-shadow:none}.dashboard-revoke-button:hover{box-shadow:3px 3px 0 #5b203d}.account-section-head>div{max-width:none}.account-section-head>div>p:last-child,.account-help{white-space:nowrap;max-width:none}
@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.dashboard-share-result{grid-template-columns:1fr}.account-section-head>div>p:last-child,.account-help{white-space:normal}}
@media(max-width:760px){.dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-playlog-card{align-items:flex-start;flex-direction:column}.dashboard-open-button{width:100%;white-space:normal;text-align:center}.dashboard-empty-card{grid-template-columns:auto minmax(0,1fr)}.dashboard-upload-form{grid-column:1/-1}.dashboard-share-row{align-items:flex-start;flex-direction:column}.dashboard-revoke-button{width:auto}}
@media(max-width:520px){.dashboard-heading{margin-top:32px}.dashboard-empty-card,.dashboard-playlog-card,.dashboard-action-card{padding:20px}.dashboard-empty-icon,.dashboard-db-mark{width:56px;height:56px;font-size:17px}.dashboard-playlog-main{align-items:flex-start}.dashboard-meta{display:grid;gap:5px}.dashboard-meta span+span::before{display:none}.dashboard-action-card .button,.dashboard-empty-card .button{width:100%}.dashboard-share-row .button{width:auto}}

/* v1.1.71: polished authentication pages. */
.auth-page{display:grid;place-items:center;min-height:calc(100vh - 180px);padding-top:52px;padding-bottom:52px}.auth-card{width:min(100%,620px);padding:34px}.auth-card-wide{width:min(100%,900px)}.auth-card-intro{text-align:center;margin-bottom:26px}.auth-mark{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:2px solid var(--cyan);background:var(--panel2);box-shadow:5px 5px 0 var(--pink);color:var(--yellow);font:900 26px/1 ui-monospace,monospace}.auth-card-intro h1{margin:5px 0 10px;font-size:clamp(38px,6vw,56px);line-height:1;letter-spacing:-.05em}.auth-card-intro>p:last-child{max-width:650px;margin:0 auto;color:var(--muted);line-height:1.65}.auth-message{display:grid;gap:3px;margin:0 0 20px}.auth-form{display:grid;gap:18px}.auth-field{display:grid;gap:7px}.auth-field>span{color:var(--muted);font:800 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.auth-field input{width:100%;padding:13px 14px;border:1px solid var(--line);background:#090c14;color:var(--text);font:inherit;outline:0}.auth-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(77,232,209,.12)}.auth-field small{color:var(--muted);font-size:12px}.auth-primary-button{width:100%;margin-top:2px}.auth-switch{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.auth-switch a{font-weight:900;text-decoration:none}.auth-switch a:hover{text-decoration:none}.auth-switch-button{width:auto;padding:9px 14px;font-size:11px;white-space:nowrap}.auth-form-section{padding:24px;border:1px solid var(--line);background:rgba(4,6,12,.28)}.auth-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.auth-section-heading h2{margin:2px 0 0;font-size:25px;letter-spacing:-.03em}.auth-section-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--yellow);color:var(--yellow);font:900 13px ui-monospace,monospace;box-shadow:3px 3px 0 var(--pink)}.auth-optional-badge{margin-left:auto;padding:6px 9px;border:1px solid var(--line);color:var(--muted);font:800 10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.auth-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-field-wide{grid-column:1/-1}.auth-section-copy{margin:-4px 0 18px;color:var(--muted);line-height:1.6}.auth-security-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--cyan);background:rgba(77,232,209,.06);color:var(--muted);font-size:13px}.auth-security-note strong{color:var(--text)}html[data-theme="light"] .auth-field input{background:#f7f9fc}html[data-theme="light"] .auth-form-section{background:#f7f9fc}
@media(max-width:720px){.auth-page{place-items:start center;padding-top:32px}.auth-card{padding:24px}.auth-field-grid{grid-template-columns:1fr}.auth-field-wide{grid-column:auto}.auth-form-section{padding:20px}.auth-section-heading{align-items:flex-start;flex-wrap:wrap}.auth-optional-badge{margin-left:0}.auth-switch{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.auth-card{padding:19px}.auth-mark{width:52px;height:52px}.auth-form-section{padding:16px}.auth-switch{font-size:12px}}

/* All-games library */
.all-games-action{display:flex;justify-content:center;padding:14px;border-top:1px solid var(--line);background:rgba(9,12,20,.35)}
.all-games-action .button{min-width:150px;text-align:center}
.system-library{display:grid;gap:22px}
.system-library-section{overflow:hidden}
.system-library-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line)}
.system-library-heading h2{margin:0}
.system-library-heading .status{flex:0 0 auto}
.system-library-section table{margin:0}
html[data-theme="light"] .all-games-action{background:rgba(238,242,247,.65)}
@media(max-width:700px){.system-library-heading{align-items:flex-start;padding:15px}.system-library-heading .status{font-size:11px}}

/* MiSTer direct sync */
.dashboard-sync-ready{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}
.dashboard-sync-ready p,.dashboard-sync-note{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.dashboard-sync-status{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}
.dashboard-sync-status>div{display:grid;gap:3px;min-width:0}
.dashboard-sync-status small{color:var(--muted);line-height:1.4}
.dashboard-sync-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dashboard-sync-actions form{margin:0}
.dashboard-sync-details{border-top:1px solid var(--line);padding-top:10px}
.dashboard-sync-details summary{cursor:pointer;font-weight:700;color:var(--accent)}
.dashboard-sync-details label{display:grid;gap:6px;margin-top:10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.dashboard-sync-details input{width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--input);color:var(--text);font:inherit;text-transform:none;letter-spacing:0}
@media(max-width:680px){.dashboard-sync-actions{align-items:stretch}.dashboard-sync-actions form,.dashboard-sync-actions .button{width:100%}}
.dashboard-empty-sync-card{margin-top:16px;align-items:start}.dashboard-empty-sync-card>div:last-child{display:grid;gap:14px}.dashboard-empty-sync-card h2,.dashboard-empty-sync-card p{margin-top:0}
.dashboard-sync-revoke-form{margin:0}


/* v1.1.81 dashboard priority layout and account imagery */
.dashboard-grid-priority{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch}.dashboard-grid-priority>.dashboard-sync-card{height:100%}.dashboard-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:16px;min-width:0}.dashboard-compact-card{padding:20px}.dashboard-compact-card .dashboard-card-heading{margin-bottom:6px}.dashboard-compact-card>p{margin-bottom:12px;line-height:1.45}.dashboard-compact-card .dashboard-card-number{width:36px;height:36px}.dashboard-compact-card h2{font-size:23px}.dashboard-compact-card .dashboard-share-list{margin-top:12px;padding-top:10px}.dashboard-sync-ready p{line-height:1.7}
.account-avatar-form{margin:0}.account-avatar-clickable{position:relative;overflow:hidden;cursor:pointer}.account-avatar-clickable img,.ra-account-avatar,.banner-avatar img{width:100%;height:100%;object-fit:cover}.account-avatar-clickable span{position:absolute;inset:auto 0 0;padding:4px;background:rgba(0,0,0,.75);font:800 9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;text-align:center;opacity:0;transition:opacity .15s}.account-avatar-clickable:hover span,.account-avatar-clickable:focus-within span{opacity:1}.account-avatar-clickable input{position:absolute;width:1px;height:1px;opacity:0}.ra-account-avatar{width:48px;height:48px;border:1px solid var(--yellow);box-shadow:3px 3px 0 var(--pink)}
.account-ra-banner{display:grid;grid-template-columns:1fr 1fr;min-height:134px;padding:0;margin-bottom:16px;overflow:hidden}.account-ra-banner-side{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;padding:24px 28px;min-width:0}.account-ra-banner-side+.account-ra-banner-side{border-left:1px solid var(--line)}.banner-avatar{display:grid;place-items:center;width:64px;height:64px;flex:none;border:2px solid var(--cyan);box-shadow:5px 5px 0 var(--pink);background:var(--panel2);font:900 25px ui-monospace,monospace;overflow:hidden}.account-ra-banner h2{margin:3px 0 4px;font-size:25px}.account-ra-banner p{margin:0;color:var(--muted)}.ra-account-side{grid-template-columns:auto minmax(0,1fr) auto}.ra-account-side>.banner-avatar{border-width:2px}.ra-profile-stats{white-space:nowrap}
@media(max-width:980px){.dashboard-grid-priority{grid-template-columns:1fr}.dashboard-side-stack{grid-template-rows:auto}.account-ra-banner{grid-template-columns:1fr}.account-ra-banner-side+.account-ra-banner-side{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:650px){.account-ra-banner-side,.ra-account-side{grid-template-columns:auto minmax(0,1fr);padding:20px}.ra-profile-stats{grid-column:1/-1;justify-self:start}.banner-avatar{width:54px;height:54px}}

.front-account-actions{display:block;text-align:center}.front-account-actions .hero-copy{max-width:720px;margin:0 auto}.front-auth-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}.button-secondary{background:transparent;color:var(--text);border:1px solid var(--border)}

/* Game screenshot gallery */
.game-media-row{display:grid;grid-template-columns:minmax(360px,1.7fr) minmax(0,2fr);gap:8px;align-items:stretch;margin-bottom:16px}.game-media-row .section-panel{margin:0}.game-media-ra{min-width:0}.game-screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.game-screenshot-card{position:relative;min-height:202px;overflow:hidden;display:flex;align-items:stretch;justify-content:stretch}.screenshot-add{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;cursor:pointer;text-align:center}.screenshot-add span{font-size:54px;font-weight:200;line-height:1}.screenshot-add small{font-size:11px;font-weight:700;text-transform:uppercase}.screenshot-add.disabled{cursor:default;opacity:.55}.game-screenshot-card>img{width:100%;height:100%;min-height:202px;object-fit:cover;display:block}.screenshot-actions{position:absolute;inset:auto 8px 8px 8px;display:flex;gap:6px;justify-content:center;opacity:0;transition:opacity .15s ease}.game-screenshot-card:hover .screenshot-actions,.game-screenshot-card:focus-within .screenshot-actions{opacity:1}.screenshot-actions form{margin:0}.button-danger{border-color:#ff638f}.alert.success{border-color:#45e0c0}.ra-detail-panel .ra-detail-content{gap:16px}@media(max-width:1050px){.game-media-row{grid-template-columns:1fr}.game-screenshot-card{min-height:180px}}@media(max-width:700px){.game-screenshot-grid{grid-template-columns:1fr}.game-screenshot-card,.game-screenshot-card>img{min-height:220px}}

/* v1.1.85: force the RA panel and three screenshot cards into one row. */
.game-media-row{
  display:grid;
  grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  margin-bottom:16px;
}
.game-media-row>.game-media-ra{grid-column:1;min-width:0;margin:0;height:100%}
.game-media-row>.game-screenshot-grid{display:contents}
.game-media-row .game-screenshot-card{
  min-width:0;
  min-height:202px;
  height:100%;
  margin:0;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
}
.game-media-row .screenshot-add{
  width:100%;
  height:100%;
  min-height:202px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  cursor:pointer;
  text-align:center;
  color:var(--text);
  text-decoration:none;
}
.game-media-row .screenshot-add span{display:block;font-size:54px;font-weight:200;line-height:1}
.game-media-row .screenshot-add small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1050px){
  .game-media-row{grid-template-columns:1fr 1fr}
  .game-media-row>.game-media-ra{grid-column:1/-1}
  .game-media-row>.game-screenshot-grid{display:contents}
}
@media(max-width:700px){
  .game-media-row{grid-template-columns:1fr}
  .game-media-row>.game-media-ra{grid-column:auto}
  .game-media-row .game-screenshot-card,
  .game-media-row .screenshot-add,
  .game-media-row .game-screenshot-card>img{min-height:220px}
}


/* v1.1.86 screenshot storage/layout and front-page polish */
.game-media-row.no-ra{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-left:auto;margin-right:auto}
.game-media-row.no-ra>.game-screenshot-grid{display:contents}
.front-auth-buttons .button{background:var(--accent);color:#071017;border-color:var(--accent)}
@media(max-width:1050px){.game-media-row.no-ra{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.game-media-row.no-ra{grid-template-columns:1fr;max-width:none}}

/* v1.1.88: keep every guest authentication action on the shared blue primary style. */
a[href="login.php"].button,a[href="register.php"].button{background:var(--cyan);color:#05100e;border-color:var(--cyan)}
.front-auth-buttons a[href="login.php"],.front-auth-buttons a[href="register.php"]{background:var(--cyan);color:#05100e}
@media(max-width:850px){.auth-switch-button{width:auto}}

/* v1.1.89: give game titles the available desktop width and prevent premature wrapping. */
.game-detail-heading>div:first-child{flex:1 1 auto;min-width:0;max-width:none}.game-detail-heading .game-title-row{max-width:none}.game-detail-heading .game-title-row h1{max-width:none;white-space:normal}.game-detail-meta{flex:0 0 auto}@media(min-width:851px){.game-detail-heading .game-title-row h1{white-space:nowrap}}


/* v1.1.91: compact the logged-out front-page authentication panel. */
.front-account-actions-compact{padding-top:22px;padding-bottom:22px}.front-account-actions-compact .hero-copy{display:flex;align-items:center;justify-content:center;gap:24px;max-width:980px}.front-account-actions-compact .hero-copy h1{margin:0}.front-account-actions-compact .lede{margin:0;max-width:520px}.front-account-actions-compact .front-auth-buttons{margin-top:0;flex:none}@media(max-width:850px){.front-account-actions-compact .hero-copy{display:block}.front-account-actions-compact .hero-copy h1{margin-bottom:8px}.front-account-actions-compact .lede{margin-left:auto;margin-right:auto}.front-account-actions-compact .front-auth-buttons{margin-top:16px}}@media(max-width:520px){.front-account-actions-compact{padding-top:18px;padding-bottom:18px}}

/* v1.1.91: genuinely compact logged-out front-page authentication panel. */
.front-account-actions-compact{
  min-height:0;
  margin:36px 0 28px;
  display:block;
  padding:0;
}
.front-account-actions-compact .hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  max-width:none;
  padding:22px 28px 24px;
}
.front-account-actions-compact .hero-copy h1{
  margin:0;
  font-size:clamp(40px,5vw,58px);
  line-height:1;
}
.front-account-actions-compact .lede{
  max-width:650px;
  margin:11px auto 16px;
  font-size:18px;
  line-height:1.4;
}
.front-account-actions-compact .front-auth-buttons{
  margin-top:0;
}
.front-account-actions-compact + .setup-guide{
  margin-top:0;
}
@media(max-width:850px){
  .front-account-actions-compact .hero-copy{display:flex;padding:22px 24px 24px}
  .front-account-actions-compact .hero-copy h1{margin:0}
  .front-account-actions-compact .lede{margin:10px auto 15px}
  .front-account-actions-compact .front-auth-buttons{margin-top:0}
}
@media(max-width:520px){
  .front-account-actions-compact{margin:24px 0 20px}
  .front-account-actions-compact .hero-copy{padding:20px 18px 22px}
  .front-account-actions-compact .hero-copy h1{font-size:36px;white-space:normal}
  .front-account-actions-compact .lede{font-size:16px}
}


/* v1.1.92: primary account action, persistent active share links, dismissible notices. */
.front-auth-buttons .front-playlog-button{background:var(--cyan);color:#05100e;border-color:var(--cyan)}
.dismissible-message{position:relative;padding-right:48px}
.message-dismiss{position:absolute;top:50%;right:12px;transform:translateY(-50%);border:0;background:transparent;color:inherit;font:inherit;font-size:24px;line-height:1;cursor:pointer;padding:4px 6px;opacity:.8}
.message-dismiss:hover,.message-dismiss:focus-visible{opacity:1}
.dashboard-share-row{align-items:center;gap:16px}
.dashboard-share-row>form{margin:0;flex:0 0 auto}
.dashboard-share-link-details{display:flex;flex-direction:column;min-width:0;gap:5px;flex:1 1 auto}
.dashboard-active-share-link{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cyan);text-decoration:underline}
@media(max-width:700px){.dashboard-share-row{align-items:flex-start}.dashboard-active-share-link{white-space:normal;overflow-wrap:anywhere}}


/* v1.1.93: align password fields on registration. */
.auth-field-spacer{visibility:hidden}

/* v1.1.95: account-level theme selection. */
.account-theme-card{margin-bottom:16px}.account-theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-theme-option{display:flex;align-items:flex-start;gap:12px;padding:17px 18px;border:1px solid var(--line);background:rgba(4,6,12,.28);cursor:pointer}.account-theme-option:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 2px rgba(77,232,209,.12)}.account-theme-option input{margin-top:3px;accent-color:var(--cyan)}.account-theme-option span,.account-theme-option strong,.account-theme-option small{display:block}.account-theme-option strong{color:var(--text)}.account-theme-option small{margin-top:4px;color:var(--muted);font-size:12px}html[data-theme="light"] .account-theme-option{background:#f7f9fc}@media(max-width:600px){.account-theme-options{grid-template-columns:1fr}}


/* v1.1.95: instant-save theme dropdown plus Pastel and Rainbow themes. */
.account-theme-control{display:grid;grid-template-columns:minmax(110px,auto) minmax(220px,360px) minmax(80px,1fr);align-items:center;gap:14px}.account-theme-control>label{color:var(--muted);font:800 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.account-theme-select{width:100%;padding:13px 42px 13px 14px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font:inherit;cursor:pointer;outline:0}.account-theme-select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px color-mix(in srgb,var(--cyan) 18%,transparent)}.account-theme-select:disabled{cursor:wait;opacity:.72}.account-theme-save-status{min-height:1em;color:var(--cyan);font:800 11px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.account-theme-options{display:none}@media(max-width:600px){.account-theme-control{grid-template-columns:1fr}.account-theme-save-status{min-height:16px}}

html[data-theme="pastel"]{color-scheme:light;--bg:#fff7f2;--panel:#fffdfb;--panel2:#f6efff;--line:#d8cce4;--text:#3e3747;--muted:#776d80;--cyan:#58a9a2;--pink:#c878a2;--yellow:#b4884d;--shadow:0 18px 52px rgba(111,83,126,.16)}
html[data-theme="pastel"] body{background:radial-gradient(circle at 10% 0,#e7f6ef 0,transparent 31rem),radial-gradient(circle at 92% 9%,#f8dfeb 0,transparent 29rem),var(--bg)}
html[data-theme="pastel"] .scanlines{background:linear-gradient(rgba(104,78,118,.025) 50%,transparent 50%);opacity:.25}
html[data-theme="pastel"] .site-header{background:rgba(255,250,248,.9)}
html[data-theme="pastel"] .panel{background:linear-gradient(145deg,rgba(255,253,251,.98),rgba(246,239,255,.92))}
html[data-theme="pastel"] .screen,html[data-theme="pastel"] .dropzone,html[data-theme="pastel"] .search,html[data-theme="pastel"] .chart-year-control select,html[data-theme="pastel"] .month-day,html[data-theme="pastel"] .dashboard-file-input,html[data-theme="pastel"] .account-field-grid input,html[data-theme="pastel"] .auth-field input,html[data-theme="pastel"] .auth-form-section,html[data-theme="pastel"] .ra-account-summary{background:#fffafc}
html[data-theme="pastel"] .setup-guide code,html[data-theme="pastel"] .lede code{background:#f3eaf7}
html[data-theme="pastel"] .button{color:#fff}
html[data-theme="pastel"] .chip{background:#f5edf9;color:#584d62;border-color:#d6c8df}
html[data-theme="pastel"] .meter,html[data-theme="pastel"] .ra-game .ra-meter-row>i{background:#eadfeb}
html[data-theme="pastel"] .sessions-toggle,html[data-theme="pastel"] .games-toggle{background:rgba(246,239,255,.78)}
html[data-theme="pastel"] td{border-bottom-color:rgba(205,190,213,.72)}

html[data-theme="rainbow"]{color-scheme:dark;--bg:#090a12;--panel:#121522;--panel2:#191d2d;--line:#3e4560;--text:#f4f6ff;--muted:#aeb5cc;--cyan:#58e8ff;--pink:#ff67ba;--yellow:#ffe36e;--shadow:0 18px 58px rgba(0,0,0,.42)}
html[data-theme="rainbow"] body{background:radial-gradient(circle at 8% 0,rgba(88,232,255,.16) 0,transparent 30rem),radial-gradient(circle at 92% 7%,rgba(255,103,186,.16) 0,transparent 28rem),radial-gradient(circle at 50% 105%,rgba(151,111,255,.15) 0,transparent 34rem),var(--bg)}
html[data-theme="rainbow"] .site-header{background:rgba(9,10,18,.88);border-bottom-image:linear-gradient(90deg,#58e8ff,#8df58d,#ffe36e,#ff9a62,#ff67ba,#9b7cff) 1}
html[data-theme="rainbow"] .panel{background:linear-gradient(145deg,rgba(18,21,34,.98),rgba(25,29,45,.97));border-color:#454d6a}
html[data-theme="rainbow"] .eyebrow{background:linear-gradient(90deg,#58e8ff,#8df58d,#ffe36e,#ff9a62,#ff67ba,#9b7cff);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="rainbow"] .button{background:linear-gradient(90deg,#18aee0,#875cf4,#e5469c);border-color:#9b7cff;color:#fff;box-shadow:5px 5px 0 #ffb84f}
html[data-theme="rainbow"] .button:hover,html[data-theme="rainbow"] .button:focus-visible{box-shadow:7px 7px 0 #58e8ff}
html[data-theme="rainbow"] .monthly-bar-track i,html[data-theme="rainbow"] .daily-bar-track i,html[data-theme="rainbow"] .meter>i,html[data-theme="rainbow"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#58e8ff,#8df58d 25%,#ffe36e 50%,#ff67ba 75%,#9b7cff)}
html[data-theme="rainbow"] .account-avatar,html[data-theme="rainbow"] .auth-mark{border-image:linear-gradient(135deg,#58e8ff,#ffe36e,#ff67ba,#9b7cff) 1;box-shadow:5px 5px 0 #ff67ba}
html[data-theme="rainbow"] .account-theme-select{background:#191d2d}

/* v1.1.96: Metallic and 90s account themes. */
html[data-theme="metallic"]{color-scheme:dark;--bg:#11151a;--panel:#242a31;--panel2:#171c22;--line:#69737e;--text:#f2f5f7;--muted:#b4bec7;--cyan:#79b9d7;--pink:#b9c3cc;--yellow:#e1b96d;--shadow:0 18px 58px rgba(0,0,0,.48)}
html[data-theme="metallic"] body{background:radial-gradient(circle at 18% 0,rgba(147,171,188,.13) 0,transparent 30rem),linear-gradient(135deg,#0f1317,#1b2026 48%,#101419)}
html[data-theme="metallic"] .site-header{background:rgba(19,24,29,.91);border-bottom-color:#87919a}
html[data-theme="metallic"] .panel{background:linear-gradient(145deg,rgba(52,59,67,.98),rgba(28,33,39,.98) 42%,rgba(20,25,30,.98));border-color:#75808a;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),inset 0 -1px 0 rgba(0,0,0,.48),var(--shadow)}
html[data-theme="metallic"] .button{background:linear-gradient(180deg,#a8b5bf,#66737e 48%,#414b54 52%,#7f8c96);border-color:#c7d0d7;color:#101419;box-shadow:4px 4px 0 #0a0d10;text-shadow:0 1px rgba(255,255,255,.34)}
html[data-theme="metallic"] .button:hover,html[data-theme="metallic"] .button:focus-visible{background:linear-gradient(180deg,#c2ccd3,#7d8993 48%,#53606a 52%,#98a4ad);box-shadow:6px 6px 0 #0a0d10}
html[data-theme="metallic"] .chip,html[data-theme="metallic"] .account-theme-select{background:linear-gradient(180deg,#303740,#1c2228);border-color:#7b8791;color:#f2f5f7}
html[data-theme="metallic"] .screen,html[data-theme="metallic"] .dropzone,html[data-theme="metallic"] .search,html[data-theme="metallic"] .month-day,html[data-theme="metallic"] .dashboard-file-input,html[data-theme="metallic"] .account-field-grid input,html[data-theme="metallic"] .auth-field input,html[data-theme="metallic"] .auth-form-section{background:#171c22;border-color:#66717c}
html[data-theme="metallic"] .monthly-bar-track i,html[data-theme="metallic"] .daily-bar-track i,html[data-theme="metallic"] .meter>i,html[data-theme="metallic"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#d8e0e5,#8b99a4 48%,#4e5a64)}

html[data-theme="90s"]{color-scheme:light;--bg:#d9d9d9;--panel:#f2f2f2;--panel2:#cfcfcf;--line:#202020;--text:#111;--muted:#4b4b4b;--cyan:#00a9a5;--pink:#f0008c;--yellow:#f4df00;--shadow:8px 8px 0 rgba(49,24,91,.42)}
html[data-theme="90s"] body{background-color:#d9d9d9;background-image:linear-gradient(45deg,rgba(0,169,165,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(240,0,140,.07) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(244,223,0,.1) 75%),linear-gradient(-45deg,transparent 75%,rgba(97,47,164,.09) 75%);background-size:38px 38px;background-position:0 0,0 19px,19px -19px,-19px 0}
html[data-theme="90s"] .site-header{background:#c9c9c9;border-bottom:3px solid #202020;box-shadow:0 4px 0 #00a9a5}
html[data-theme="90s"] .panel{background:#ededed;border:3px solid #202020;box-shadow:8px 8px 0 #6832a3}
html[data-theme="90s"] .eyebrow{color:#6832a3;text-shadow:2px 2px 0 #f4df00}
html[data-theme="90s"] .button{background:#00a9a5;border:3px solid #202020;color:#fff;box-shadow:4px 4px 0 #f0008c;text-transform:uppercase}
html[data-theme="90s"] .button:hover,html[data-theme="90s"] .button:focus-visible{background:#6832a3;box-shadow:6px 6px 0 #f4df00}
html[data-theme="90s"] .chip{background:#f4df00;color:#111;border:2px solid #202020}
html[data-theme="90s"] .account-theme-select,html[data-theme="90s"] .screen,html[data-theme="90s"] .dropzone,html[data-theme="90s"] .search,html[data-theme="90s"] .month-day,html[data-theme="90s"] .dashboard-file-input,html[data-theme="90s"] .account-field-grid input,html[data-theme="90s"] .auth-field input,html[data-theme="90s"] .auth-form-section{background:#fff;border:2px solid #202020;color:#111}
html[data-theme="90s"] .monthly-bar-track i,html[data-theme="90s"] .daily-bar-track i,html[data-theme="90s"] .meter>i,html[data-theme="90s"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#00a9a5 0 25%,#6832a3 25% 50%,#f0008c 50% 75%,#f4df00 75%)}
html[data-theme="90s"] a{color:#5b21a6}


/* v1.1.97: stronger Rainbow plus Legend of Zelda and Super Mario themes. */
html[data-theme="rainbow"] body{background:radial-gradient(circle at 5% 5%,rgba(255,55,95,.28),transparent 24rem),radial-gradient(circle at 28% 0,rgba(255,154,45,.22),transparent 25rem),radial-gradient(circle at 50% 0,rgba(255,232,70,.2),transparent 24rem),radial-gradient(circle at 72% 0,rgba(70,235,130,.22),transparent 25rem),radial-gradient(circle at 95% 5%,rgba(72,180,255,.28),transparent 24rem),radial-gradient(circle at 50% 105%,rgba(166,86,255,.26),transparent 35rem),#090a12}
html[data-theme="rainbow"] .panel{border:2px solid transparent;background:linear-gradient(#121522,#191d2d) padding-box,linear-gradient(135deg,#ff405f,#ff9a2d,#ffe846,#46eb82,#48b4ff,#a656ff,#ff4fb2) border-box}
html[data-theme="rainbow"] .site-header{border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#ff405f,#ff9a2d,#ffe846,#46eb82,#48b4ff,#a656ff,#ff4fb2) 1}
html[data-theme="rainbow"] h1,html[data-theme="rainbow"] h2,html[data-theme="rainbow"] .brand strong{background:linear-gradient(90deg,#ff405f,#ff9a2d,#ffe846,#46eb82,#48b4ff,#a656ff,#ff4fb2);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme="rainbow"] .button{background:linear-gradient(90deg,#ff405f,#ff9a2d 18%,#ffe846 34%,#46eb82 50%,#48b4ff 67%,#a656ff 83%,#ff4fb2);border-color:#fff;color:#090a12;text-shadow:0 1px rgba(255,255,255,.5);box-shadow:5px 5px 0 #48b4ff}
html[data-theme="rainbow"] .button:hover,html[data-theme="rainbow"] .button:focus-visible{filter:saturate(1.25) brightness(1.08);box-shadow:7px 7px 0 #ff4fb2}
html[data-theme="rainbow"] .stat:nth-child(6n+1),html[data-theme="rainbow"] .metric-card:nth-child(6n+1){border-color:#ff405f}html[data-theme="rainbow"] .stat:nth-child(6n+2),html[data-theme="rainbow"] .metric-card:nth-child(6n+2){border-color:#ff9a2d}html[data-theme="rainbow"] .stat:nth-child(6n+3),html[data-theme="rainbow"] .metric-card:nth-child(6n+3){border-color:#ffe846}html[data-theme="rainbow"] .stat:nth-child(6n+4),html[data-theme="rainbow"] .metric-card:nth-child(6n+4){border-color:#46eb82}html[data-theme="rainbow"] .stat:nth-child(6n+5),html[data-theme="rainbow"] .metric-card:nth-child(6n+5){border-color:#48b4ff}html[data-theme="rainbow"] .stat:nth-child(6n),html[data-theme="rainbow"] .metric-card:nth-child(6n){border-color:#a656ff}
html[data-theme="rainbow"] .chip:nth-child(6n+1){background:#ff405f;color:#fff}html[data-theme="rainbow"] .chip:nth-child(6n+2){background:#ff9a2d;color:#111}html[data-theme="rainbow"] .chip:nth-child(6n+3){background:#ffe846;color:#111}html[data-theme="rainbow"] .chip:nth-child(6n+4){background:#46eb82;color:#111}html[data-theme="rainbow"] .chip:nth-child(6n+5){background:#48b4ff;color:#111}html[data-theme="rainbow"] .chip:nth-child(6n){background:#a656ff;color:#fff}

html[data-theme="zelda"]{color-scheme:dark;--bg:#101a12;--panel:#1b2a1d;--panel2:#142117;--line:#8a7435;--text:#f5ecd2;--muted:#beb28f;--cyan:#4ec08b;--pink:#d6b84d;--yellow:#f2d675;--shadow:0 18px 58px rgba(0,0,0,.48)}
html[data-theme="zelda"] body{background:radial-gradient(circle at 50% -10%,rgba(91,147,80,.22),transparent 34rem),linear-gradient(135deg,#0c150e,#142019 50%,#0d1710)}
html[data-theme="zelda"] .site-header{background:rgba(12,21,14,.93);border-bottom:3px solid #b89a43}
html[data-theme="zelda"] .panel{background:linear-gradient(145deg,#243624,#16241a);border:2px solid #9b8138;box-shadow:inset 0 0 0 1px rgba(242,214,117,.18),var(--shadow)}
html[data-theme="zelda"] .eyebrow,html[data-theme="zelda"] a{color:#72d69e}
html[data-theme="zelda"] h1,html[data-theme="zelda"] h2,html[data-theme="zelda"] .brand strong{color:#f2d675;text-shadow:0 2px 0 #4b3c15}
html[data-theme="zelda"] .button{background:linear-gradient(180deg,#d9be63,#9a7627);border:2px solid #f2dc89;color:#172015;box-shadow:4px 4px 0 #071009}
html[data-theme="zelda"] .button:hover,html[data-theme="zelda"] .button:focus-visible{background:linear-gradient(180deg,#f0d97b,#b58a30);box-shadow:6px 6px 0 #071009}
html[data-theme="zelda"] .chip,html[data-theme="zelda"] .account-theme-select{background:#203422;border-color:#8a7435;color:#f5ecd2}
html[data-theme="zelda"] .monthly-bar-track i,html[data-theme="zelda"] .daily-bar-track i,html[data-theme="zelda"] .meter>i,html[data-theme="zelda"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#65d99c,#2d8058)}

html[data-theme="mario"]{color-scheme:light;--bg:#dff4ff;--panel:#fffdf6;--panel2:#edf8ff;--line:#2d5ca8;--text:#17233b;--muted:#52627a;--cyan:#168de2;--pink:#e83b35;--yellow:#f4c62f;--shadow:0 16px 44px rgba(32,84,150,.22)}
html[data-theme="mario"] body{background:radial-gradient(circle at 15% 4%,rgba(255,255,255,.95) 0 4rem,transparent 4.2rem),radial-gradient(circle at 78% 9%,rgba(255,255,255,.9) 0 5rem,transparent 5.2rem),linear-gradient(#77c9ff 0 36%,#dff4ff 36%)}
html[data-theme="mario"] .site-header{background:rgba(255,253,246,.94);border-bottom:4px solid #e83b35}
html[data-theme="mario"] .panel{background:#fffdf6;border:3px solid #2d5ca8;border-radius:18px;box-shadow:7px 7px 0 #f4c62f}
html[data-theme="mario"] h1,html[data-theme="mario"] h2,html[data-theme="mario"] .brand strong{color:#e83b35;text-shadow:2px 2px 0 #f4c62f}
html[data-theme="mario"] .eyebrow{color:#168de2}
html[data-theme="mario"] .button{background:#e83b35;border:3px solid #9c1f1a;border-radius:999px;color:#fff;box-shadow:4px 4px 0 #168de2}
html[data-theme="mario"] .button:hover,html[data-theme="mario"] .button:focus-visible{background:#168de2;border-color:#0c5e9f;box-shadow:6px 6px 0 #f4c62f}
html[data-theme="mario"] .chip:nth-child(4n+1){background:#e83b35;color:#fff}html[data-theme="mario"] .chip:nth-child(4n+2){background:#168de2;color:#fff}html[data-theme="mario"] .chip:nth-child(4n+3){background:#f4c62f;color:#17233b}html[data-theme="mario"] .chip:nth-child(4n){background:#46a846;color:#fff}
html[data-theme="mario"] .account-theme-select,html[data-theme="mario"] .screen,html[data-theme="mario"] .dropzone,html[data-theme="mario"] .search,html[data-theme="mario"] .month-day,html[data-theme="mario"] .dashboard-file-input,html[data-theme="mario"] .account-field-grid input,html[data-theme="mario"] .auth-field input,html[data-theme="mario"] .auth-form-section{background:#fff;border:2px solid #2d5ca8;color:#17233b}
html[data-theme="mario"] .monthly-bar-track i,html[data-theme="mario"] .daily-bar-track i,html[data-theme="mario"] .meter>i,html[data-theme="mario"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#e83b35 0 25%,#168de2 25% 50%,#f4c62f 50% 75%,#46a846 75%)}


/* v1.1.98: compact logged-in front panel and fix Metallic select contrast. */
html[data-theme="metallic"] .account-theme-select{background:#f4f6f8;border-color:#8b969f;color:#151a1f}
html[data-theme="metallic"] .account-theme-select option{background:#fff;color:#151a1f}
html[data-theme="metallic"] select,html[data-theme="metallic"] select option{color:#151a1f}

/* v1.1.104: richer Pastel palette and 80s synthwave theme. */
html[data-theme="pastel"]{color-scheme:light;--bg:#fff3f8;--panel:#fffafd;--panel2:#f2ecff;--line:#d8c9e8;--text:#463b52;--muted:#786b84;--cyan:#73cfc5;--pink:#e99bc0;--yellow:#d9ae68;--shadow:0 18px 52px rgba(137,102,153,.18)}
html[data-theme="pastel"] body{background:radial-gradient(circle at 6% 2%,#cfeee6 0,transparent 28rem),radial-gradient(circle at 96% 5%,#ffd9e8 0,transparent 30rem),radial-gradient(circle at 50% 105%,#dce8ff 0,transparent 34rem),linear-gradient(145deg,#fff4da,#fff3f8 46%,#eee8ff)}
html[data-theme="pastel"] .site-header{background:rgba(255,248,252,.91);border-bottom:3px solid #d9c3ef}
html[data-theme="pastel"] .panel{background:linear-gradient(145deg,rgba(255,251,253,.98),rgba(240,234,255,.95));border-color:#d7c0e8;box-shadow:0 18px 52px rgba(145,105,164,.16)}
html[data-theme="pastel"] .stat:nth-child(5n+1),html[data-theme="pastel"] .metric-card:nth-child(5n+1){background:#ffe4ef;border-color:#e9a9c6}
html[data-theme="pastel"] .stat:nth-child(5n+2),html[data-theme="pastel"] .metric-card:nth-child(5n+2){background:#ddf5ed;border-color:#9fd7c7}
html[data-theme="pastel"] .stat:nth-child(5n+3),html[data-theme="pastel"] .metric-card:nth-child(5n+3){background:#e7e0ff;border-color:#bfb0e8}
html[data-theme="pastel"] .stat:nth-child(5n+4),html[data-theme="pastel"] .metric-card:nth-child(5n+4){background:#dfeeff;border-color:#a9c9eb}
html[data-theme="pastel"] .stat:nth-child(5n),html[data-theme="pastel"] .metric-card:nth-child(5n){background:#fff0d8;border-color:#e6c795}
html[data-theme="pastel"] .button{background:linear-gradient(135deg,#9fcfe8,#c4a8e4 52%,#e8a9c9);border-color:#aa8fc9;color:#352e40;box-shadow:4px 4px 0 #f5c8da;text-shadow:none}
html[data-theme="pastel"] .button:hover,html[data-theme="pastel"] .button:focus-visible{background:linear-gradient(135deg,#8fd8c8,#b7a3e9 52%,#efa9c8);box-shadow:6px 6px 0 #c8e7ff}
html[data-theme="pastel"] .chip:nth-child(4n+1){background:#f8cddd;color:#583947}html[data-theme="pastel"] .chip:nth-child(4n+2){background:#ccecdf;color:#31564c}html[data-theme="pastel"] .chip:nth-child(4n+3){background:#d9d0f4;color:#4b4164}html[data-theme="pastel"] .chip:nth-child(4n){background:#d6e8fb;color:#344d67}
html[data-theme="pastel"] .account-theme-select,html[data-theme="pastel"] .screen,html[data-theme="pastel"] .dropzone,html[data-theme="pastel"] .search,html[data-theme="pastel"] .month-day,html[data-theme="pastel"] .dashboard-file-input,html[data-theme="pastel"] .account-field-grid input,html[data-theme="pastel"] .auth-field input,html[data-theme="pastel"] .auth-form-section{background:#fff9fc;border-color:#d5c0e4;color:#463b52}
html[data-theme="pastel"] .monthly-bar-track i,html[data-theme="pastel"] .daily-bar-track i,html[data-theme="pastel"] .meter>i,html[data-theme="pastel"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#9fdccc,#b9b0e9 50%,#efa9ca)}

html[data-theme="80s"]{color-scheme:dark;--bg:#08051a;--panel:#15102d;--panel2:#0e0a22;--line:#5d3aa8;--text:#f6efff;--muted:#bcaed7;--cyan:#28f2ea;--pink:#ff3ca6;--yellow:#ffd34e;--shadow:0 18px 60px rgba(0,0,0,.52)}
html[data-theme="80s"] body{background:radial-gradient(circle at 50% 12%,rgba(255,60,166,.27),transparent 25rem),linear-gradient(180deg,#14062d 0,#09051b 52%,#04030d 100%);background-attachment:fixed}
html[data-theme="80s"] body:before{content:"";position:fixed;left:0;right:0;bottom:0;height:38vh;pointer-events:none;opacity:.28;background:linear-gradient(rgba(40,242,234,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(40,242,234,.55) 1px,transparent 1px);background-size:52px 28px;transform:perspective(360px) rotateX(58deg);transform-origin:bottom center}
html[data-theme="80s"] .site-header{background:rgba(8,5,26,.9);border-bottom:3px solid #28f2ea;box-shadow:0 3px 0 #ff3ca6}
html[data-theme="80s"] .panel{background:linear-gradient(145deg,rgba(25,16,54,.97),rgba(10,7,29,.98));border:2px solid #8f46d9;box-shadow:0 0 0 1px rgba(40,242,234,.28),0 18px 60px rgba(0,0,0,.52)}
html[data-theme="80s"] h1,html[data-theme="80s"] h2,html[data-theme="80s"] .brand strong{background:linear-gradient(90deg,#28f2ea,#9f62ff,#ff3ca6,#ffd34e);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
html[data-theme="80s"] .eyebrow,html[data-theme="80s"] a{color:#28f2ea}
html[data-theme="80s"] .button{background:linear-gradient(135deg,#ff3ca6,#9b45ed 55%,#28bfe8);border:2px solid #ff8fd0;color:#fff;box-shadow:5px 5px 0 #28f2ea;text-transform:uppercase}
html[data-theme="80s"] .button:hover,html[data-theme="80s"] .button:focus-visible{filter:brightness(1.12) saturate(1.2);box-shadow:7px 7px 0 #ffd34e}
html[data-theme="80s"] .chip{background:#241344;border-color:#8f46d9;color:#f6efff}
html[data-theme="80s"] .account-theme-select,html[data-theme="80s"] .screen,html[data-theme="80s"] .dropzone,html[data-theme="80s"] .search,html[data-theme="80s"] .month-day,html[data-theme="80s"] .dashboard-file-input,html[data-theme="80s"] .account-field-grid input,html[data-theme="80s"] .auth-field input,html[data-theme="80s"] .auth-form-section{background:#0c0820;border-color:#7140b7;color:#f6efff}
html[data-theme="80s"] .account-theme-select option{background:#0c0820;color:#f6efff}
html[data-theme="80s"] .monthly-bar-track i,html[data-theme="80s"] .daily-bar-track i,html[data-theme="80s"] .meter>i,html[data-theme="80s"] .ra-game .ra-meter-row>i>span{background:linear-gradient(180deg,#28f2ea,#8f46d9 48%,#ff3ca6)}

/* v1.1.104: FAQ page. */
.faq-page{padding-top:34px;padding-bottom:48px;display:grid;gap:20px}
.faq-heading{max-width:820px}
.faq-heading h1{margin:4px 0 10px}
.faq-heading p:last-child{color:var(--muted);margin:0;line-height:1.65}
.faq-section{padding:0;overflow:hidden}
.faq-section .section-head{padding:20px 22px 14px;margin:0}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 96%,var(--accent) 4%)}
.faq-item:last-child{border-bottom:0}
.faq-item summary{cursor:pointer;list-style:none;padding:17px 52px 17px 22px;font-weight:800;position:relative;color:var(--text)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:24px;line-height:1;color:var(--accent)}
.faq-item[open] summary::after{content:'−'}
.faq-item summary:hover{color:var(--accent)}
.faq-answer{padding:0 22px 18px;color:var(--muted);line-height:1.7}
.faq-answer p{margin:0;max-width:940px}
.faq-help{padding:22px}
.faq-help h2{margin:4px 0 8px}
.faq-help p:last-child{margin:0;color:var(--muted);line-height:1.7}
.faq-help code{font:inherit;font-weight:800;color:var(--text)}
@media (max-width:640px){.faq-page{padding-top:24px}.faq-item summary{padding-left:18px}.faq-answer{padding-left:18px;padding-right:18px}}

/* v1.1.104 mobile test: all rules below are mobile-only and leave desktop unchanged. */
.mobile-nav{display:none}
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px}
  .wrap{width:calc(100% - 24px)}
  .site-header{position:relative}
  .header-inner{height:66px;gap:12px}
  .brand{min-width:0;gap:10px}
  .brand-icon{width:38px;height:38px;font-size:19px;box-shadow:3px 3px 0 var(--pink)}
  .brand strong{font-size:16px}
  .brand small{font-size:8px;letter-spacing:.14em;white-space:nowrap}
  .desktop-header-actions{display:none!important}
  .mobile-nav{display:block;position:relative;margin-left:auto}
  .mobile-nav summary{list-style:none;width:44px;height:44px;display:grid;place-content:center;gap:5px;border:1px solid var(--line);background:var(--panel2);cursor:pointer}
  .mobile-nav summary::-webkit-details-marker{display:none}
  .mobile-nav summary span{display:block;width:21px;height:2px;background:var(--cyan)}
  .mobile-nav[open] summary{border-color:var(--cyan)}
  .mobile-nav nav{position:absolute;right:0;top:50px;width:min(280px,calc(100vw - 24px));display:grid;padding:8px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);z-index:50}
  .mobile-nav nav a{display:block;padding:13px 14px;border-bottom:1px solid var(--line);color:var(--text);font-weight:800;text-decoration:none}
  .mobile-nav nav a:last-child{border-bottom:0}
  .mobile-nav nav a:hover,.mobile-nav nav a:focus-visible{color:var(--cyan);background:var(--panel2)}

  .hero{min-height:0;margin:24px 0;display:block}
  .hero-copy{padding:26px 20px}
  .hero h1,.dashboard-heading h1{font-size:clamp(34px,11vw,48px);white-space:normal}
  .lede{font-size:16px;margin:17px 0 22px}
  .front-account-actions-compact .hero-copy h1{font-size:36px}

  .dashboard-heading,.account-heading,.game-detail-heading,.month-summary-heading{margin-top:28px!important;gap:14px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .stat{padding:16px;min-width:0}
  .stat strong{font-size:clamp(22px,8vw,31px);overflow-wrap:anywhere}
  .section-panel{margin:12px 0;padding:17px}
  .section-head{gap:12px;margin-bottom:15px}
  .section-head h2{font-size:23px}
  .two-column,.dashboard-grid,.dashboard-grid-priority,.game-media-row{grid-template-columns:1fr!important}
  .button{min-height:44px}
  .button-small{font-size:11px;padding:10px 12px;width:auto}
  .button-small:after{content:none}
  .search{width:100%;min-width:0}

  .table-wrap{margin-left:-17px;margin-right:-17px;padding:0 17px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:650px}
  th,td{padding-left:9px;padding-right:9px}

  .rank-info>div:first-child{align-items:flex-start}
  .rank-info>div:first-child strong{min-width:0;overflow-wrap:anywhere}
  .system-library-heading{flex-direction:column;align-items:flex-start}
  .system-library-heading .status{white-space:normal}

  .game-detail-heading{align-items:flex-start;flex-direction:column}
  .game-detail-heading .game-title-row{align-items:flex-start;flex-wrap:wrap}
  .game-detail-heading .game-title-row h1{font-size:clamp(31px,10vw,45px);white-space:normal!important;overflow-wrap:anywhere}
  .game-detail-meta{width:100%;align-items:flex-start}
  .game-screenshot-grid{grid-template-columns:1fr}
  .game-screenshot-card,.game-screenshot-card>img{min-height:190px}
  .screenshot-actions{opacity:1}

  .calendar-grid{gap:3px}
  .month-day{min-height:58px;padding:5px}
  .month-day-number{font-size:11px}
  .month-day-games{display:none}
  .month-day.has-play{outline:1px solid color-mix(in srgb,var(--cyan) 60%,transparent);outline-offset:-1px}
  .month-title-nav{width:100%}
  .month-title-nav h1{font-size:clamp(27px,8vw,38px)}

  .account-profile-card,.dashboard-empty-card{grid-template-columns:1fr}
  .account-theme-control{grid-template-columns:1fr}
  .dashboard-playlog-main{width:100%}
  .dashboard-playlog-main h2{white-space:normal;overflow-wrap:anywhere}
  .dashboard-share-result input,.dashboard-sync-details input{font-size:16px}

  .faq-page{padding-top:22px}
  .faq-section h2{font-size:23px}
  .faq-item summary{padding:15px 42px 15px 15px}
  .faq-answer{padding-left:15px;padding-right:15px}

  .ra-profile{align-items:flex-start;flex-wrap:wrap;padding:18px}
  .ra-profile-stats{width:100%;margin-left:0;justify-content:flex-start;text-align:left;gap:20px}
  .ra-detail-content{grid-template-columns:1fr!important}
  .ra-detail-icon{width:56px;height:56px}

  footer{padding:30px 0 38px}
}
@media (max-width:390px){
  .wrap{width:calc(100% - 18px)}
  .brand small{display:none}
  .stats{grid-template-columns:1fr}
  .front-account-actions-compact .hero-copy h1{font-size:32px}
  .section-panel{padding:15px}
  .table-wrap{margin-left:-15px;margin-right:-15px;padding:0 15px}
}
