:root{--rpg-panel:#132638;--rpg-ink:#e8f2fb;--rpg-accent:#ff913b;--rpg-glow:#45c7e7;--rpg-radius:16px;--rpg-motion:180ms}
html[data-theme=rpg] body{background:radial-gradient(ellipse at 10% 0%,#1c405c 0,transparent 42%),radial-gradient(ellipse at 100% 35%,#42261e 0,transparent 40%),#081421;color:var(--rpg-ink);font-size:15px}
html[data-theme=rpg] .card{background:linear-gradient(145deg,#192f43,#102334);border-color:#37556c;border-radius:var(--rpg-radius);box-shadow:0 12px 28px #0003}
html[data-theme=rpg] h1,html[data-theme=rpg] h2{font-weight:900;letter-spacing:.02em}html[data-theme=rpg] .eyebrow{color:#ffaf70;letter-spacing:.12em}
html[data-theme=rpg] button{transition:transform var(--rpg-motion),border-color var(--rpg-motion),background var(--rpg-motion),box-shadow var(--rpg-motion);min-height:44px}html[data-theme=rpg] button:hover{border-color:var(--rpg-accent);box-shadow:0 3px 14px #ff913b22}html[data-theme=rpg] button:active{transform:scale(.97)}
html[data-theme=rpg] .player-card{background:#e9f3fc;border:2px solid #ff913b;border-radius:18px;box-shadow:0 14px 40px #0005;color:#122538;overflow:hidden;position:relative}
html[data-theme=rpg] .player-card-heading{background:repeating-linear-gradient(-25deg,#0b1d31 0 18px,#122f47 19px 23px);border-bottom:4px solid #ff913b;padding:16px 20px;color:white;font-size:16px;letter-spacing:.04em}
html[data-theme=rpg] .player-identity{background:repeating-linear-gradient(-28deg,#0a1b2e 0 24px,#163750 25px 28px);color:white;padding:26px 18px;border-right:3px solid #ff913b;position:relative}
html[data-theme=rpg] .player-portrait{border:4px solid #ff913b;box-shadow:0 0 0 5px #f5f9fc,0 0 0 8px #19334a,0 8px 28px #0008;margin:10px auto 25px;background:#253e52}
html[data-theme=rpg] .player-card-main{padding:22px;color:#102a40}html[data-theme=rpg] .player-card-main p,html[data-theme=rpg] .player-card-main small,html[data-theme=rpg] .player-card-level span{color:#385b74}
html[data-theme=rpg] .player-stat{border-left:4px solid #ff913b;background:#fff;border-radius:9px;padding:12px;color:#17324b}html[data-theme=rpg] .player-stat strong{font-size:23px;color:#0c2237}html[data-theme=rpg] .player-stat span{font-size:12px;color:#37576b}
html[data-theme=rpg] .player-card-skills h3,html[data-theme=rpg] .player-training-strip{background:linear-gradient(115deg,#102c46,#153951);color:white;padding:12px;border-radius:8px}html[data-theme=rpg] .player-skill-row strong{color:#13314b;font-size:14px}html[data-theme=rpg] .skill-trend{color:#345569}html[data-theme=rpg] .skill-value{background:#fff;border-color:#ff913b;color:#102b41}
html[data-theme=rpg] progress{accent-color:#ff913b;transition:width .45s ease}html[data-theme=rpg] .latest-badges{padding:16px;background:#112a43;color:#eef6ff;border-radius:10px}html[data-theme=rpg] .latest-badges button{background:#1c3b55;border-color:#47708c;color:white}
.dashboard-player-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.dashboard-player-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;min-height:160px;text-align:center;min-width:0}.dashboard-player-card strong{overflow-wrap:anywhere}.attention{color:#ffd29c;background:#573521}
.team-skill-card{display:grid;gap:8px;padding:15px;text-align:left}.team-skill-card .skill-value{font-size:26px}.team-skill-card progress{width:100%}.team-skill-detail{grid-column:1/-1}.team-league-summary{margin-top:16px;padding-top:12px;border-top:1px solid #8eaac0}
.global-search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.global-search-results article{background:#17334a;border:1px solid #355a75;border-radius:10px;padding:12px}.global-search-results strong{display:block}.global-search-results button{margin:5px 5px 0 0}.select-search input{margin:7px 0}.simulation-players{border:1px solid var(--line);border-radius:10px;padding:12px}.simulation-result{border-left:3px solid #68d1e4;padding:10px 15px;margin-top:10px}.delete-counts{display:grid;grid-template-columns:1fr auto}.danger{background:#75312b!important;color:#fff!important;border-color:#ff8e80!important}
[data-profile-page]{position:relative}.immersive-companion{position:relative;display:flex;align-items:flex-end;justify-content:flex-end;min-height:108px;margin:4px 0 0;background:none!important;border:0!important;padding:0!important;gap:2px}.companion-touch{border:0!important;background:none!important;box-shadow:none!important;padding:0!important;width:96px;height:104px;touch-action:manipulation}.companion-help{padding:2px;width:30px;height:30px;min-height:30px!important;border-radius:50%}.companion-bubble{position:absolute;right:100px;bottom:22px;max-width:min(65vw,320px);background:#f5faff;color:#142e43;padding:12px;border:2px solid #ff913b;border-radius:15px 15px 0 15px;box-shadow:0 7px 20px #0004;font-size:13px;z-index:4}.immersive-companion[hidden],.companion-bubble[hidden]{display:none!important}#profileMascot{display:none!important}
html[data-theme=rpg] .view:not([hidden]){animation:rpg-enter 220ms ease-out}html[data-theme=rpg] .dashboard-player-card,html[data-theme=rpg] .measurement-player,html[data-theme=rpg] .team-skill-card{animation:rpg-enter 220ms ease-out}html[data-theme=rpg] .latest-badge-grid button:hover img{transform:translateY(-3px);filter:drop-shadow(0 2px 8px #ffb26d88)}.latest-badge-grid img{transition:transform .18s,filter .18s}@keyframes rpg-enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:800px){.dashboard-player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.player-card-main{min-width:0}.player-card-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}.player-card-layout{grid-template-columns:1fr!important}.player-identity{border-right:0!important;border-bottom:3px solid #ff913b}.player-skill-row{grid-template-columns:minmax(80px,1fr) 40px minmax(65px,1fr) 45px}.player-skill-row .challenge-shortcut{grid-column:1/-1}.global-search-results{grid-template-columns:1fr}.player-training-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}html[data-motion=reduced] *,html[data-motion=off] *{animation:none!important;transition:none!important}

.companion-in-identity{position:absolute!important;bottom:8px;right:8px;left:8px}.player-identity:has(.companion-in-identity){padding-bottom:125px!important}

html[data-theme=rpg] .player-card progress::-webkit-progress-value{background:linear-gradient(90deg,#ff7d2b,#ffb358);box-shadow:0 0 7px #ff913b66;animation:rpg-fill .45s ease-out;transform-origin:left}html[data-theme=rpg] .player-card progress::-moz-progress-bar{background:linear-gradient(90deg,#ff7d2b,#ffb358)}@keyframes rpg-fill{from{transform:scaleX(.85)}to{transform:scaleX(1)}}

.global-search-controls{display:grid;grid-template-columns:2fr 1fr;gap:10px}.global-search-controls label{margin:0}#globalPlayerSearch{padding:12px;margin-bottom:14px}@media(max-width:520px){.global-search-controls{grid-template-columns:1fr}}
.simulation-profile-modal{width:min(1100px,95vw);max-height:90dvh;overflow:auto;padding:16px;border:2px solid #ff913b;border-radius:18px;background:#0c2033;color:white}.simulation-profile-modal::backdrop{background:#030b15cc}.simulation-banner{padding:12px;margin-bottom:12px;background:#173e5d;border-radius:12px}.simulation-banner strong{color:#ffc183}.simulation-gain{accent-color:#39bd6d!important}.simulation-loss{accent-color:#e26358!important}.simulation-gain::-webkit-progress-value{background:#39bd6d!important}.simulation-loss::-webkit-progress-value{background:#e26358!important}

/* V44.2: visible RPG surfaces throughout the workspace. */
html[data-theme=rpg] header{background:linear-gradient(115deg,#10263e,#243d54);border-bottom:3px solid #ff913b}
html[data-theme=rpg] #mainNav{background:linear-gradient(180deg,#10283e,#091a2b);border:1px solid #365b76;border-radius:16px;padding:14px}
html[data-theme=rpg] #mainNav button[aria-current=page],html[data-theme=rpg] .workspace-pages button[aria-current=page],html[data-theme=rpg] .profile-links button[aria-current=page]{background:linear-gradient(115deg,#b64c16,#ed862f);color:#fff;border-color:#ffb16a;box-shadow:0 4px 18px #e5752633}
html[data-theme=rpg] .session,html[data-theme=rpg] .attendance-row{border:1px solid #38566b;background:linear-gradient(120deg,#152d43,#102335);border-radius:12px;padding:14px;margin-bottom:10px}
html[data-theme=rpg] input,html[data-theme=rpg] select,html[data-theme=rpg] textarea{background:#091c2e;color:#f1f6fb;border-color:#50718b;border-radius:9px}
html[data-theme=rpg] .primary{background:linear-gradient(110deg,#bc4c12,#ee8a32);border-color:#ffc084;color:white}
.simulation-profile-preview{margin:12px 0}.simulation-level{padding:14px 20px;color:#142d43}.simulation-level progress{width:100%;height:22px;accent-color:#42b674}.simulation-level h3{color:#142d43}.companion-touch{position:relative;z-index:5;cursor:pointer;pointer-events:auto!important}.companion-touch .volleymon-sprite{pointer-events:none}.companion-tickled{filter:drop-shadow(0 0 9px #ffb34c)}

html[data-theme=rpg] .card>h2:first-child,html[data-theme=rpg] .card>.eyebrow:first-child{border-left:4px solid #ff913b;padding-left:12px}
html[data-theme=rpg] .intro{border-radius:18px;border:1px solid #38576e;background:linear-gradient(125deg,#132d46,#091b2c);padding:20px;margin-bottom:18px;box-shadow:0 10px 35px #0003}
html[data-theme=rpg] .intro h1{color:#f8f4ef;text-shadow:0 2px 12px #0004}
html[data-theme=rpg] .workspace-pages,html[data-theme=rpg] .profile-links{gap:8px;padding:8px 0 16px;flex-wrap:wrap}
html[data-theme=rpg] .card h3{color:#ffc28f}html[data-theme=rpg] .team-profile-card h3,html[data-theme=rpg] .simulation-profile-preview h3{color:#193852}
html[data-theme=rpg] .card summary{color:#e6f0fa}html[data-theme=rpg] .player-card summary{color:#18354d}
html[data-theme=rpg] .dashboard-player-card{border:1px solid #42657e;background:linear-gradient(150deg,#203e58,#11263b);border-bottom:4px solid #ff913b;border-radius:14px;color:#f3f8fc}
html[data-theme=rpg] .dashboard-player-card .live-player-avatar{border:2px solid #ff913b;box-shadow:0 0 0 4px #ff913b22}
/* V45: animated RPG character sheet and experience stage. */
.rpg-experience{display:none}html[data-theme=rpg] .rpg-experience,.simulation-stage .rpg-experience{display:grid;grid-template-columns:1fr auto;gap:10px;padding:18px;border:1px solid #64bcd6;border-radius:14px;background:linear-gradient(125deg,#112d49,#153f54);color:#fff;box-shadow:inset 0 0 25px #5dbadb11,0 4px 20px #1237;margin-bottom:20px;position:relative;overflow:hidden}.rpg-experience>strong{font-size:30px;font-style:italic;color:#ffc17b}.rpg-experience>span{font-size:20px;font-weight:800}.rpg-xp-track{grid-column:1/-1;height:22px;background:#061321;border-radius:50px;overflow:hidden;border:1px solid #3a708a}.rpg-xp-fill{height:100%;border-radius:50px;background:linear-gradient(90deg,#12b9ac,#69f5a1,#c5ffb1);box-shadow:0 0 14px #67e9a9;position:relative;transition:width 80ms linear}.rpg-xp-fill:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 15px,#fff2 16px 22px);animation:xp-shimmer 2.5s linear infinite}.rpg-experience>small{grid-column:1/-1;color:#c7e7f4!important}.xp-loss .rpg-xp-fill{background:linear-gradient(90deg,#ab3040,#ff8e78)}.rpg-level-up{animation:level-burst .7s ease-out!important}.simulation-stage{margin:12px 0 22px;position:relative}.simulation-stage>.volleymon-sprite{position:absolute;bottom:50px;right:12px;pointer-events:none}.simulation-stage>.player-card{margin-top:10px}.simulation-stage .player-card button{display:none}.simulation-stage .player-card-heading:after{content:'SANDBOX';color:#80edbb;margin-left:auto}.simulation-stage .player-card{border:2px solid #56caaa;box-shadow:0 15px 45px #0005}.simulation-stage .rpg-native-xp,html[data-theme=rpg] .rpg-native-xp{height:3px!important;opacity:.3;margin-bottom:6px}html[data-theme=rpg] .player-card-level{display:none}.simulation-stage .player-card-level{display:none}.profile-motivation{padding:20px 24px;margin:0;border-top:2px solid #ff913b;background:linear-gradient(110deg,#102a42,#1e4960);color:#fff;font-size:18px;font-style:italic;line-height:1.6}.profile-motivation small{display:block;color:#ffbd7d;margin-top:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.calendar-delete-confirm{border:2px solid #e58070;background:#301c24;border-radius:14px;padding:18px;margin-top:16px}.calendar-delete-confirm input{width:100%}.calendar-delete-confirm h3{color:#ffbca6}.xp-start-team{border-top:1px solid #42657d;padding-top:18px;margin-top:22px}
html[data-theme=rpg] .player-card{background:radial-gradient(ellipse at 90% 10%,#c3e7f1,transparent 65%),#eff7fc}html[data-theme=rpg] .player-card-main{position:relative}html[data-theme=rpg] .player-card-heading{font-size:17px;min-height:60px}html[data-theme=rpg] .player-portrait{border-radius:50%;aspect-ratio:1;overflow:hidden;animation:portrait-glow 5s ease-in-out infinite}html[data-theme=rpg] .player-skill-row progress::-webkit-progress-value{background:linear-gradient(90deg,#2689b3,#55dbcf);border-radius:30px}html[data-theme=rpg] .player-skill-row progress::-moz-progress-bar{background:linear-gradient(90deg,#2689b3,#55dbcf)}html[data-theme=rpg] .player-card-skills{padding:14px;background:#ffffff9c;border-radius:14px;border:1px solid #a9cad9}html[data-theme=rpg] .player-stat{box-shadow:0 5px 14px #17365112;transition:transform .2s}html[data-theme=rpg] .player-stat:hover{transform:translateY(-3px)}.companion-breathing{animation:companion-breathe 4s ease-in-out infinite;transform-origin:bottom center}
@keyframes companion-breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-2px) scaleY(1.015)}}@keyframes xp-shimmer{from{transform:translateX(-15%)}to{transform:translateX(15%)}}@keyframes level-burst{0%{box-shadow:0 0 0 0 #ffe39799;transform:scale(1)}45%{box-shadow:0 0 0 14px #ffe39700;transform:scale(1.025)}100%{transform:scale(1)}}@keyframes portrait-glow{0%,100%{box-shadow:0 0 0 5px #f5f9fc,0 0 0 8px #19334a,0 8px 28px #0008}50%{box-shadow:0 0 0 5px #f5f9fc,0 0 0 8px #19334a,0 0 30px #ff913b88}}
@media(prefers-reduced-motion:reduce){.companion-breathing,.rpg-xp-fill:after,.rpg-level-up{animation:none!important}}html[data-motion=off] .companion-breathing,html[data-motion=reduced] .companion-breathing{animation:none!important}
