/* Graz RP winter. Existing portal layout and original Inter font remain. */
:root,body,body[data-theme] {
 --ink:#121a22; --ink2:#17212b; --panel:#1d2934e8; --panel2:#273541;
 --text:#f5f8fb; --muted:#acb2b8; --line:#e3edf526;
 --accent:#adc8dd!important; --accent-rgb:173,200,221!important;
 --green:#adc8dd; --green2:#7e9fb8; --gold:#c7dce9; --red:#dc8c7f;
 --surface:var(--panel); --border:var(--line); --cm-accent:#adc8dd;
 --shadow:0 20px 65px #0708092b; --radius:18px;
 --cinema-pink:#adc8dd; --cinema-bg:#121a22;
 font-family:Inter,'Segoe UI',Arial,sans-serif!important; color-scheme:dark;
}
html,body { background:#121a22!important; }
body { background:radial-gradient(ellipse at 95% 0,#47596a1c,transparent 55%),#121a22!important; color:var(--text); }
body:before { background:radial-gradient(ellipse at 90% 0,#647a9012,transparent 60%); }
body :is(h1,h2,h3,h4,button,input,select,textarea,.eyebrow,.metric-label,.profile-card-name,.profile-card-open,.nav,.cinema-kicker) { font-family:Inter,'Segoe UI',Arial,sans-serif!important; }
body :is(h1,h2,h3,h4) { font-weight:600!important; letter-spacing:-.035em; }
body :is(button,a) { -webkit-tap-highlight-color:transparent; }
body .app-shell :is(.primary-button,.ghost-button,.danger-button),.cinema-cta,.cinema-discord.login-button {
 border-radius:10px!important; font-family:Inter,'Segoe UI',sans-serif!important; box-shadow:none!important;
 min-height:42px; font-size:13px!important; letter-spacing:0; transform:none;
}
body .app-shell .primary-button,.cinema-cta,.cinema-discord.login-button {
 background:linear-gradient(115deg,#d3e2ec,#7e9fb8)!important; border-color:#b6c3d0!important; color:#191e23!important;
}
body .app-shell .primary-button:hover,.cinema-cta:hover,.cinema-discord.login-button:hover { background:#deebf3!important; color:#191e23!important; }
body .app-shell .ghost-button { background:#ffffff05!important; border-color:var(--line)!important; color:var(--text)!important; }
body .app-shell :is(input,textarea,select) { background:#121416b8!important; color:var(--text)!important; border-color:#e3edf52e!important; border-radius:9px; }
body .app-shell :is(input,textarea)::placeholder { color:#939aa1; }
body .app-shell :is(button,a,input,textarea,select,summary):focus-visible { outline:2px solid #c9d3dd; outline-offset:3px; }
body ::selection { color:#f3f6f8; background:#6b849d66; }
body * { scrollbar-color:#6e7882 transparent; }
body .app-shell :is(.card,.workspace,.dossier,.dossier-pane,.search-pane,.cm-layout,.cr-directory,.cr-editor,.cr-empty,.cr-groups,.cr-group-assignment,.dev-card,.reward-card,.garage-card,.rights-panel,.catalog-section,.catalog-editor,.inventory-item,.vertical-shop,.record-dialog,.service-card) {
 background:linear-gradient(130deg,#273541d9,#191c1fed)!important;
 border:1px solid var(--line)!important; border-radius:18px!important; box-shadow:none!important; color:var(--text)!important;
}
body .main { max-width:1520px; padding-top:120px; }
body:not(.cinema-character-selection) .main>.topbar {
 position:relative; isolation:isolate; padding:30px 32px; min-height:162px; margin-bottom:28px;
 background:linear-gradient(100deg,#2b3035bb,#1b1f22b8)!important; border:1px solid var(--line); border-radius:18px;
 overflow:hidden; align-items:center;
}
body:not(.cinema-character-selection) .main>.topbar:after { content:none; }
body:not(.cinema-character-selection) .main>.topbar:before { display:none; }
body .app-shell .vertical-dashboard { --accent:#adc8dd; --accent-rgb:173,200,221; }
body .app-shell .nav button[data-view] { --nav-accent:#adc8dd; --nav-rgb:173,200,221; }
body .content-grid>* { min-width:0; }
body .page-title { font-size:clamp(30px,3.4vw,46px)!important; line-height:1.08; }
body .cinema-page-description { font-size:13px; color:var(--muted); line-height:1.6; }
body .eyebrow,.cinema-kicker { color:#bdd0df!important; font-size:10px; letter-spacing:.15em; }
.cinema-toolbar { height:88px; background:#17212bed!important; border-bottom:1px solid var(--line); backdrop-filter:blur(18px); }
.cinema-toolbar-brand span { font-family:Inter,'Segoe UI',sans-serif; font-size:16px; font-weight:600; }
.cinema-toolbar-brand small { font-size:9px; letter-spacing:.12em; color:#b0b8bf; }
.cinema-command-button { color:#bcc3cb; font-size:10px; }
.nexus-mobile-menu,.nexus-mobile-menu[aria-expanded=true] { border-radius:10px; background:#adc8dd12; color:#d2dae2; border-color:#adc8dd44; box-shadow:none; }
body .layout>.sidebar.cinema-menu-dropdown {
 width:min(580px,calc(100vw - 32px)); border-radius:20px; border-color:#e3edf53d;
 background:linear-gradient(135deg,#273541ed,#17212bf7)!important;
 backdrop-filter:blur(22px) saturate(110%); box-shadow:0 25px 80px #05060766,inset 0 1px #ffffff0d;
}
.cinema-nav-heading h2 { color:#f3f5f7; font-size:28px; }
.cinema-nav-heading { padding-bottom:18px; margin-bottom:12px; border-color:var(--line); }
body .cinema-menu-dropdown .nav-category { margin-bottom:8px; }
body .cinema-menu-dropdown .nav-category>summary { color:#b0b9c2; font-size:10px; padding-block:11px; }
.cinema-nav-links { grid-template-columns:1fr; gap:0; }
body .cinema-menu-dropdown .nav-subtitle { color:#a2aab2; font-size:9px; }
body .cinema-menu-dropdown .nav button[data-view] {
 min-height:42px; padding:9px 12px; border:0!important; border-radius:0!important; background:transparent!important;
 grid-template-columns:23px minmax(0,1fr); gap:10px; color:#c3cad0!important; font-size:13px; font-weight:500; transform:none!important; box-shadow:none;
}
body .cinema-menu-dropdown .nav button[data-view] .icon { width:23px; height:23px; background:transparent; border-radius:0; color:#a4b1bd; }
body .cinema-menu-dropdown .nav button[data-view]:hover { background:#ffffff06!important; color:#f0f3f6!important; }
body .cinema-menu-dropdown .nav button[data-view].active {
 background:linear-gradient(90deg,#adc8dd1c,transparent)!important; color:#b8c5d1!important; box-shadow:inset 2px 0 #adc8dd;
}
body .cinema-menu-dropdown .nav button[data-view].active .icon { background:transparent; color:#bdd0df; }
body .cinema-menu-dropdown>.sidebar-bottom { border-color:var(--line); }
body .cinema-menu-dropdown .logout { color:#b3c0cc; border-radius:9px; border-color:var(--line); }
.cinema-nav-scrim,body.nexus-nav-open .cinema-nav-scrim { background:#0a0c0e66; backdrop-filter:blur(3px); }
.cinema-nav-close,.cinema-command-close { background:#ffffff05; color:var(--text); border-color:var(--line); border-radius:9px; }
.cinema-command { background:linear-gradient(135deg,#272c30f5,#17212bfc); border-color:#bdd0df44; border-radius:20px; }
.cinema-command h2 { font-size:32px; }
.cinema-command-results { gap:0; }
.cinema-command-results button { background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; color:#cfd7de; font-size:15px; }
.cinema-command-results button:hover { background:#adc8dd14; color:#ced7e0; }
/* One quiet viewport layer stays continuous across portal pages and scrolling. */
#portal-winter-snow { position:fixed; inset:0; z-index:20; pointer-events:none; overflow:hidden; contain:strict; }
#portal-winter-snow:after {
 content:''; position:absolute; inset:auto 0 0; height:clamp(22px,4.5vh,48px); opacity:.14; pointer-events:none;
 background:url('/winter-snowbank.png') center bottom/100% 100% no-repeat;
}
body.tablet-mode #portal-winter-snow { opacity:.6; }
.cinema-backdrop img,.cinema-welcome-backdrop img { display:none; }
.cinema-backdrop,.cinema-welcome-backdrop { background:radial-gradient(ellipse at 55% 15%,#48566433,transparent 65%),#17212b; }
.cinema-backdrop:after,.cinema-welcome-backdrop:after {
 background:linear-gradient(0deg,#121a22,transparent 18%)!important;
}
.cinema-login.login-stage { background:#121a22!important; }
.cinema-login-hero { min-height:750px; height:100svh; max-height:1080px; padding:120px 24px 150px; }
.cinema-login-header { background:transparent; }
.cinema-login-center.login-copy { max-width:850px; }
.cinema-login-logo.login-logo { width:clamp(110px,11vw,165px); filter:drop-shadow(0 10px 30px #090b0d77); animation:none; }
.cinema-title { font-size:clamp(48px,6.2vw,86px)!important; font-weight:600!important; line-height:1.02!important; letter-spacing:-.045em!important; text-shadow:none; }
.cinema-title span { color:#bdd0df!important; background:none; -webkit-text-fill-color:#bdd0df; }
.cinema-login-center>p { font-size:17px!important; color:#bec6cd!important; }
.cinema-login-center .cinema-login-note { color:#a6b0ba!important; font-size:10px!important; }
.cinema-header-link { color:#c8d2dc; border-color:#bdd0df44; border-radius:10px; font-size:11px; }
.cinema-scroll { color:#a0b2c3; bottom:40px; }
.cinema-hero-meta { color:#a2abb4; }
.cinema-prologue { background:transparent; padding-block:65px; }
.cinema-prologue h2 { font-size:clamp(35px,5.4vw,72px)!important; }
.cinema-prologue em { color:#bdd0df; }
.cinema-prologue-copy p { color:#b5bec7; font-size:18px; }
.cinema-prologue-copy a,.cinema-feature>svg { color:#bdd0df; stroke:#bdd0df; }
.cinema-feature-grid { gap:32px; margin-top:40px; }
.cinema-feature h3 { font-size:24px; }
.cinema-feature p { color:#a5adb4; font-size:15px; }
.cinema-login-dialog { padding:40px 30px; border:1px solid #bdd0df44; border-radius:22px; background:linear-gradient(130deg,#273541f7,#17212bfa); box-shadow:0 30px 80px #05060766; }
.cinema-login-dialog h2 { font-size:36px!important; color:var(--text); }
.cinema-login-dialog>p { color:#a8b2bc; font-size:15px; }
.cinema-dialog-glow { display:none; }
.cinema-dialog-logo { height:clamp(140px,24svh,230px); filter:drop-shadow(0 10px 24px #080a0b50); }
.cinema-command-close,.cinema-dialog-close { font-size:0; }
.cinema-command-close:before,.cinema-dialog-close:before {
 content:''; width:15px; height:15px; display:block; background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 6 12 12M18 6 6 18' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cinema-login-dialog :is(.cinema-orbit,.cinema-login-orbit),.cinema-intro-glow,.metric:after,.welcome-orbit { display:none!important; }
.cinema-login-dialog::backdrop { background:#0a0c0ebb; backdrop-filter:blur(8px); }
body.cinema-character-selection .main { background:transparent!important; }
.cinema-welcome.citizen-welcome { min-height:540px; padding:140px max(6vw,24px) 125px; }
.cinema-welcome h2 { font-size:clamp(40px,5.5vw,78px)!important; line-height:1.02!important; margin-block:20px!important; }
.cinema-welcome h2 span { color:#bdd0df!important; }
.cinema-welcome p { font-size:17px; color:#b7c0c8!important; max-width:550px; }
.cinema-welcome-stats { color:#afbbc7; border-color:var(--line); bottom:32px; font-size:9px; }
.cinema-welcome-stats b { font-size:22px; }
.cinema-welcome-copy { max-width:62%; }

body.cinema-character-selection .character-collection { padding-top:40px; }
body .profile-collection-head h2 { font-size:clamp(28px,3vw,40px)!important; }
body .character-card--profile { background:linear-gradient(135deg,#273541d9,#191c1fef)!important; border-color:#bdd0df33!important; box-shadow:none!important; transform:none!important; }
body .character-card--profile:hover { border-color:#bdd0df77!important; }
/* Grouped summary rows and action lists instead of separate floating tiles. */
body .cards-3,body .cards-4 { gap:0; border-block:1px solid var(--line); margin-block:22px; }
body .cards-3>.metric,body .cards-4>.metric { border:0!important; border-right:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; min-height:126px; padding:22px 24px; box-shadow:none!important; }
body :is(.cards-3,.cards-4)>.metric:last-child { border-right:0!important; }
body .metric-value { font-size:32px; color:#e4e9ed; }
body .metric-label { font-size:10px!important; }
body .admin-hub-links { grid-template-columns:1fr; gap:0; }
body .admin-hub-links .ghost-button { border:0!important; border-bottom:1px solid var(--line)!important; border-radius:0!important; background:transparent!important; min-height:52px; }
body .app-shell :is(.detail-header,.person-header,.vertical-hero,.reward-hero) { background:linear-gradient(120deg,#273541a6,#17212bbb)!important; border-color:var(--line)!important; box-shadow:none!important; }
body .app-shell :is(.stat-strip,.detail-facts,.cm-balances) { background:transparent!important; border-block:1px solid var(--line)!important; border-radius:0!important; box-shadow:none!important; }
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs) { background:transparent!important; border-radius:0!important; gap:0; border-bottom:1px solid var(--line); }
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs)>button { border-radius:0!important; border:0; background:transparent!important; color:#b5bec7!important; }
body .app-shell :is(.workspace-tabs,.dossier-tabs,.cm-tabs,.faction-tabs)>button.active,body .app-shell :is(.workspace-tabs,.dossier-tabs)>button[aria-selected=true] { background:#adc8dd0d!important; color:#c7dce9!important; box-shadow:inset 0 -2px #adc8dd; }
body .app-shell :is(.record-dialog,.composer-dialog,.vehicle-detail-dialog,.service-dialog),body .app-shell dialog.activity-history,dialog.tablet-confirm {
 background:linear-gradient(130deg,#273541f7,#17212bfc)!important; border-color:#bdd0df44!important; color:#f3f6f8;
}
body .app-shell :is(.record-modal,.composer-overlay,.vehicle-detail-overlay),dialog::backdrop { background:#0a0c0ebb; backdrop-filter:blur(8px); }
body .app-shell .garage-card:hover { transform:none; }
body .app-shell :is(.profile-card-job,.profile-card-footer,.cm-search,.cr-rule,.inventory-item,.catalog-toolbar) { border-color:var(--line)!important; }
/* Document artwork retains its print colours; only the viewer shell changes. */
body .wallet-dialog { background:#1f2225!important; border-color:#bdd0df44!important; }
.tablet-mode .cinema-toolbar { background:#17212bf5!important; }
body.tablet-mode .main>.topbar { min-height:145px; padding:24px; }
body.tablet-mode .main { padding-top:88px; }
@media(max-width:900px) {
 .cinema-welcome-copy { max-width:82%; }

 body .main { padding-inline:22px; }
}
@media(max-width:700px) {
 body .section-head { flex-wrap:wrap; min-width:0; gap:16px; }
 body .section-head>div,body .list,body .list-row>div:first-child { min-width:0; max-width:100%; overflow-wrap:anywhere; }
 .cinema-toolbar { height:78px; }
 .cinema-toolbar-brand span { font-size:13px; }
 .cinema-toolbar-brand img { width:44px; height:44px; }
 body .main { padding:102px 16px 55px; }
 body:not(.cinema-character-selection) .main>.topbar { min-height:160px; padding:22px; gap:18px; }
 body .page-title { font-size:32px!important; }
 .cinema-page-description { font-size:12px; }
 .cinema-login-hero { min-height:700px; padding-inline:20px; }
 .cinema-title { font-size:52px!important; }
 .cinema-login-logo.login-logo { width:125px; }
 .cinema-login-header { padding:22px 20px; }
 .cinema-brand img { width:45px; height:45px; }
 .cinema-brand span { font-size:14px; }
 .cinema-brand small { font-size:8px; }
 .cinema-login-center>p { font-size:15px!important; }
 .cinema-prologue { padding:48px 22px; }
 .cinema-prologue h2 { font-size:42px!important; }
 .cinema-welcome.citizen-welcome { min-height:560px; padding:150px 22px 140px; }
 .cinema-welcome-copy { max-width:100%; }
 .cinema-welcome h2 { font-size:46px!important; }
 .cinema-welcome p { font-size:16px; }
 .cinema-welcome-stats { left:22px; right:22px; gap:15px; flex-wrap:wrap; }
 .cinema-welcome-stats b { font-size:20px; }
 body.cinema-character-selection .character-collection { padding-inline:16px; }
 body .cards-3>.metric,body .cards-4>.metric { min-height:105px; padding:18px; }
 body .cinema-menu-dropdown .nav button[data-view] { min-height:43px; }
}
@media(prefers-reduced-motion:reduce) { .cinema-backdrop:after,.cinema-welcome-backdrop:after { animation:none; } }
