/* Hero: original fantasy-comic treatment using locally available fonts. */
:root{--hero-display:Impact,Haettenschweiler,'Arial Narrow Bold','Arial Black',fantasy;--hero-reading:'Trebuchet MS','Segoe UI',sans-serif;--hero-ink:#090c18;--hero-gold:#ffd99a;--hero-border:#a68abd}
body,input,textarea,select{font-family:var(--hero-reading);letter-spacing:.15px}
h1,h2,h3,.brand,.nav,.primary,.hero button,.chips button,.tag,.section-head,.stats strong,.add-card,.eyebrow,.nav-label,.voice-actions button,.topbar button,.view-toggle,.complete,.sidebar-note strong,.backup button,.modal-footer button,form label,.login-panel button,.login-panel label{font-family:var(--hero-display);font-weight:400;letter-spacing:.8px}
.brand{font-size:47px;letter-spacing:4px;font-style:italic;color:#ffd894;text-shadow:2px 2px 0 #8f482f,4px 4px 0 #080d1d,0 0 22px #ffd58c30;transform:skew(-5deg);-webkit-text-stroke:.5px #fff0ba}.brandmark{transform:skew(5deg);border:2px solid #f8d99c;border-radius:7px;box-shadow:3px 3px 0 #070b17}.branddot{color:#85eae4;-webkit-text-stroke:0}.brand-sub{margin-top:14px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase}
h1,.hero h2,.modal-head h2,.section-head h2{font-style:italic;text-transform:uppercase;letter-spacing:1.2px;text-shadow:2px 3px 0 #070b18;line-height:1.14}.heading h1{font-size:39px}.hero h2{font-size:43px;max-width:460px}.hero h2 span{display:inline-block;margin-top:5px;color:#ffd69a;text-shadow:2px 2px 0 #914c3d,4px 4px 0 #090d1b}.eyebrow{font-size:12px;line-height:1.6;color:#a8f7ef;letter-spacing:1.8px}.nav-label{font-size:12px;letter-spacing:1.5px}
.nav{font-size:15px;text-transform:uppercase;letter-spacing:.7px;border-radius:4px;border:1px solid transparent}.nav.active{border:1px solid #b994de;box-shadow:inset 4px 0 #edc980,3px 3px 0 #070b17;background:linear-gradient(120deg,#473352,#252840)}.nav small{font-family:var(--hero-reading);font-size:11px}
.primary,.hero button,.voice-actions button:not(.primary),.modal-footer>button:first-child{border-radius:4px;border:2px solid #25192b;box-shadow:3px 4px 0 #080b17,inset 0 1px 0 #fff8;text-transform:uppercase;font-size:14px;letter-spacing:.8px}.primary{background:linear-gradient(#ffe7b4,#e5ad61);color:#231629;padding:13px 19px}.primary:hover,.hero button:hover{transform:translateY(-2px);box-shadow:4px 6px 0 #080b17}.primary:active,.hero button:active{transform:translate(2px,2px);box-shadow:1px 2px 0 #080b17}.heading .voice-button{border:2px solid #95e1db;background:linear-gradient(#305b64,#1d3549);box-shadow:3px 4px 0 #080b17;color:#cdfaf1}.hero button{border-color:#d9b67d;color:#ffe4af;background:#1b2037e6}
.hero{border-radius:7px;border:2px solid #ac8cb5;outline:1px solid #151426;outline-offset:4px;box-shadow:7px 8px 0 #080d1c,0 24px 60px #0004;margin-bottom:25px}.hero:before{content:'';position:absolute;inset:8px;pointer-events:none;border:1px solid #e0c39938;border-radius:2px}.hero-label{font-family:var(--hero-reading);font-size:12px}.hero p{font-size:13px;line-height:1.7;max-width:350px}
.stats>button{border-radius:5px;border:1px solid #716480;box-shadow:4px 5px 0 #080d1b;background:linear-gradient(130deg,#24273c,#151e30)}.stats strong{font-size:34px;font-style:italic;color:#f5dfb7;text-shadow:2px 2px #080c19}.stats small{font-size:11px}.stat-icon{border-radius:4px;border:1px solid #ffffff25}.section-head h2{font-size:28px}.section-head h2 span{font-family:var(--hero-reading);font-style:normal;font-size:12px}.chips button{font-size:14px;letter-spacing:.6px;border-radius:4px}.chips button.chosen{border:1px solid #bba1d2;box-shadow:2px 3px 0 #080c18}.search{border-radius:5px}
.task,.task.privat,.task.arbeit,.task.ideen{border-radius:6px;border-width:2px;box-shadow:5px 6px 0 #080d1c;background:linear-gradient(135deg,#23263a,#161f32)}.task.privat{border-top-width:4px}.task.arbeit{border-top-width:4px}.task.ideen{border-top-width:4px}.task h3{font-size:23px;line-height:1.25;letter-spacing:.5px;text-shadow:1px 2px 0 #090d1a;overflow-wrap:anywhere}.task-note{font-size:13px;line-height:1.75}.tag{font-size:12px;text-transform:uppercase;border:1px solid #c3accf55;border-radius:3px}.complete{font-size:13px;letter-spacing:.5px}.checkbox{border-radius:3px;border-width:2px}.add-card{font-size:17px;border-radius:5px;border-width:2px}.add-card>span{border-radius:4px}.empty{border-radius:6px;box-shadow:5px 6px #080d1c}.empty h3{font-size:26px;letter-spacing:.6px}.sidebar-note{border-radius:5px;border:1px solid #b09aba;box-shadow:4px 5px #080d1c}.sidebar-note strong{font-size:22px;line-height:1.3;color:#f6ddb2}.sidebar-note p{line-height:1.7}
dialog,#voice-dialog{border-radius:6px;border:2px solid #c4a1c7;box-shadow:8px 9px 0 #070b17,0 30px 100px #0009}.modal-head h2{font-size:29px}.modal-head .eyebrow{font-size:11px}form label{font-size:15px;letter-spacing:.5px}form label>span,.priority{font-family:var(--hero-reading);letter-spacing:0}form input:not([type=checkbox]),form textarea,form select,#voice-dialog textarea{border-radius:4px;border-width:2px;font-family:var(--hero-reading);font-size:15px;line-height:1.5}.modal-footer>button:first-child{padding:10px 14px;border-color:#776480}.voice-privacy,.date,.bottom{font-family:var(--hero-reading)}.voice-actions button{font-size:13px}.backup button{font-size:13px;letter-spacing:.7px}.topbar button{font-size:14px}
.login-panel{border:2px solid #bb9dbe;border-radius:7px;box-shadow:8px 9px 0 #070a16,0 30px 90px #0007;position:relative}.login-panel:before{content:'';position:absolute;inset:8px;border:1px solid #e7ca9e33;pointer-events:none}.login-panel h1{font-family:var(--hero-display);font-size:69px;line-height:1;letter-spacing:6px;font-style:italic;color:#ffdda2;text-shadow:3px 3px 0 #8f4c37,6px 6px 0 #090d1b;-webkit-text-stroke:.5px #fff0b8;margin-bottom:16px}.login-panel h2{font-family:var(--hero-display);font-size:30px;line-height:1.2;letter-spacing:1px;font-style:italic;text-shadow:2px 2px #080c19;text-transform:uppercase}.login-panel button{font-size:18px;border:2px solid #2a1d2b;border-radius:4px;box-shadow:3px 4px #070b18;text-transform:uppercase}.login-panel label{font-size:16px}.login-panel input{border-radius:4px;border-width:2px}.login-panel p{font-family:var(--hero-reading);font-size:15px}
@media(max-width:760px){.brand{font-size:35px}.nav{font-size:12px;letter-spacing:.3px;padding:10px 5px}.heading h1{font-size:34px}.eyebrow{font-size:10px;letter-spacing:1px}.hero{padding:25px 22px;min-height:350px;margin-bottom:20px}.hero h2{font-size:32px;line-height:1.2;max-width:275px}.hero p{font-size:12px;max-width:240px}.heading>.primary{font-size:14px}.stats strong{font-size:28px}.stats small{font-size:10px;line-height:1.45}.section-head h2{font-size:25px}.task h3{font-size:23px}.modal-head h2{font-size:25px}.login-panel{padding:32px 27px}.login-panel h1{font-size:59px}.login-panel h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){button,a{transition:none!important}.primary:hover,.hero button:hover{transform:none}}

/* V5: illustrated world across the full workspace, not just the banner. */
body{background:linear-gradient(90deg,#0d102b75,#0b17375c),url('/battle.png') center center/cover fixed,#10152b}
body:before{display:none}.shell{background:linear-gradient(180deg,#0a11202b,#0d142738)}
.sidebar{isolation:isolate;background:linear-gradient(180deg,#11172aee 0%,#171d31dd 46%,#181e3299 100%);border-right:2px solid #ad91bf66;overflow:hidden}
.sidebar:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(#11172a 0%,#11172a33 42%,#11172a66 100%),url('/duel.png') 71% center/auto 100%;z-index:-1;pointer-events:none;opacity:.9}
.sidebar-note{background:#142037bb;backdrop-filter:blur(3px)}.profile{background:#0c1526b8;margin:0 -8px;padding:14px 8px 0}.content{background:linear-gradient(180deg,#11192a25,#10192b55);border-radius:12px}.heading{padding:20px;background:#0d1529b8;border:1px solid #ccb0e144;border-radius:5px;backdrop-filter:blur(3px)}
.tasks-section{background:#0c142bb0;border:1px solid #b49bc766;border-radius:8px;padding:24px;box-shadow:7px 8px 0 #080d1a66;backdrop-filter:blur(3px)}
.task,.task.privat,.task.arbeit,.task.ideen{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#172039f5 0%,#172039ef 54%,#17203944 100%),url('/duel.png') 62% 35%/auto 150%;border-color:#b59acd}
.task.arbeit{background-image:linear-gradient(105deg,#142a39f5,#142a39ed 54%,#142a3944),url('/battle.png');background-position:center,8% 40%;border-top-color:#80e1db}
.task.ideen{background-image:linear-gradient(105deg,#28223bf5,#28223be8 54%,#28223b44),url('/duel.png');background-position:center,98% 30%;border-top-color:#f3c185}
.task h3,.task-note,.task-footer,.complete,.card-top{position:relative;z-index:1}.task h3{padding-right:25px;text-shadow:1px 2px 2px #060a16}.task-note{background:#111b2d80;border-radius:4px;padding:6px 8px;margin-left:-8px;color:#f1e9fa}.task .complete{background:#111a2dcc;padding:9px;border-radius:4px}.task .date{background:#11192abf;padding:4px;border-radius:3px;color:#e9def3}.task .date.overdue{color:#ffc6b6}.actions{background:#11192acc;border-radius:4px}.task .star{background:#121a2bc9;border-radius:4px}.task .tag{background:#1c2138e8!important}
.empty{background:linear-gradient(90deg,#19223bed,#19223b99),url('/battle.png') center 30%/cover;padding:40px 24px}.add-card{background:linear-gradient(#18283ce8,#18283ccc),url('/battle.png') 45% center/cover}.stats>button{background:linear-gradient(110deg,#1c243aee,#24334acc);backdrop-filter:blur(4px)}.bottom,.backup{background:#0c162bd9;padding:12px;border-radius:5px;color:#e6d6f2}.topbar{background:#0d1625d9}
@media(max-width:760px){body{background-attachment:scroll;background-position:60% top}.tasks-section{padding:15px 12px}.heading{padding:16px}.sidebar:after{inset:0;background-position:center,70% 30%;opacity:.45}.task{background-size:auto,auto 155%}.content{padding-left:12px;padding-right:12px}.hero{min-height:350px}}

/* Hero 7: supplied originals, assigned separately to banner and sidebar. */
.hero{background-image:linear-gradient(90deg,#151629ef 0%,#19192dc9 35%,#19192d22 70%,#19192d11),url('/banner.png');background-position:center,center 42%;background-size:cover,cover}
.sidebar:after{background-image:linear-gradient(#11172afa 0%,#11172a20 32%,#11172a38 73%,#11172a99 100%),url('/sidebar.png');background-position:center,55% 42%;background-size:cover,auto 100%;opacity:1}
@media(max-width:760px){.hero{background-image:linear-gradient(90deg,#141728de,#14172888 62%,#14172833),url('/banner.png');background-position:center,52% 42%;background-size:cover,cover}.sidebar:after{background-image:linear-gradient(90deg,#101322ee,#10132299),url('/sidebar.png');background-position:center,55% 38%;background-size:cover,cover;opacity:.65}}

.editor-info{margin:14px 0;padding:12px 14px;border:1px solid #9e8ab166;border-radius:5px;background:#182c39;color:#c5e7e8;font:13px var(--hero-reading);line-height:1.6}.editor-info[hidden]{display:none}.editor-info strong{font-weight:600}.editor-info p{margin:4px 0 0;color:#d4cce1;white-space:pre-line}

/* Monthly hero progress */
.sidebar{overflow-y:auto}.level-panel{position:relative;margin:24px 0 20px;padding:16px 12px;text-align:center;background:linear-gradient(150deg,#24364ded,#161b30f5);border:1px solid #d8b67a;border-radius:8px;box-shadow:0 6px 20px #0006;overflow:hidden;color:#f5e5c5;flex-shrink:0}.level-month{font:11px var(--hero-reading);text-transform:uppercase;letter-spacing:1px;color:#c9bfd6}.level-caption{font:10px var(--hero-reading);letter-spacing:1.4px;color:#d1bda0}.level-number{display:block;font:italic 34px var(--hero-display);color:#ffe1a5;text-shadow:2px 3px #060d20}.level-count{font-size:11px;margin:5px 0 12px;color:#e1d9ed}.level-track{height:7px;background:#090e20;border-radius:6px;overflow:hidden}.level-track span{display:block;height:100%;background:linear-gradient(90deg,#8be7df,#ffe19b);transition:width .6s}.level-target{font-size:11px;line-height:1.5;margin:10px 0;color:#e9e2f1;overflow-wrap:anywhere}.level-target span{color:#ffe2aa}.level-earned{font-size:10px;line-height:1.5;color:#a3eee0;overflow-wrap:anywhere}.level-cheer{font-size:12px;color:#ffe4b3;line-height:1.5;margin:12px 0}.level-settings{font:11px var(--hero-reading);text-decoration:underline;color:#dfd4ef;padding:5px}.profile-settings{display:block;font:10px var(--hero-reading);color:#c9c1dc;padding:5px 0}.champion{position:relative;width:104px;height:104px;margin:12px auto}.champion-portrait{position:absolute;inset:5px;border-radius:50%;border:2px solid #f0cc8e;background-image:url('/banner.png');background-size:auto 185%;background-position:20% 26%;box-shadow:0 0 22px #eec87930}.skeletor .champion-portrait{background-image:url('/sidebar.png');background-position:50% 27%;border-color:#c2a0ee}.champion-sword{position:absolute;right:-4px;bottom:4px;font-size:43px;color:#c1f4ff;text-shadow:0 0 9px #82d7ff;transform:rotate(25deg);transform-origin:50% 85%;line-height:1}.champion-spark{position:absolute;opacity:0;color:#ffecac;font-size:22px}.spark-a{top:0;left:-6px}.spark-b{top:12px;right:-9px}.level-up .champion-sword{animation:sword-cheer .8s ease-in-out 4}.level-up .champion-portrait{animation:hero-bounce .8s ease-in-out 4}.level-up .champion-spark{animation:spark-cheer .8s ease-in-out 4}.level-up .level-number{animation:level-pop .65s ease-out}.level-up{box-shadow:0 0 25px #ffd48166}.voice-example{font-size:11px;color:#cfc2df;margin:8px 0}.settings-muted{font-size:12px;line-height:1.6;color:#cabdd8}#settings-dialog{max-height:90vh;overflow:auto;max-width:650px}#settings-dialog h3{margin:22px 0 8px;font-size:21px}.reward-row{display:grid;grid-template-columns:85px 1fr 30px;gap:10px;align-items:center}.reward-row label{font:12px var(--hero-reading)}.reward-row input{width:100%;box-sizing:border-box}.reward-row button{font-size:24px}.add-reward{padding:10px 0;color:#ffe0a6;text-decoration:underline}.settings-details{font:12px var(--hero-reading);line-height:1.6;border-top:1px solid #81728d66;margin-top:15px;padding-top:12px}.settings-details summary{cursor:pointer;color:#e8d7f6}.settings-details p{margin:10px 0}.settings-details #level-history{color:#ffe1a6}#settings-error{color:#ffb7b0;font-size:12px}#level-toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(540px,85vw);padding:18px 24px;background:#202d42;border:2px solid #efd08a;border-radius:9px;box-shadow:0 10px 40px #0009;color:#ffe4b1;text-align:center;font:16px var(--hero-reading);pointer-events:none}#level-toast[hidden]{display:none}
@keyframes sword-cheer{0%,100%{transform:rotate(25deg)}45%{transform:translateY(-24px) rotate(-25deg)}}@keyframes hero-bounce{50%{transform:translateY(-7px);box-shadow:0 0 30px #ffe2a580}}@keyframes spark-cheer{50%{opacity:1;transform:scale(1.4) rotate(25deg)}}@keyframes level-pop{40%{transform:scale(1.22);color:white}}
@media(max-width:760px){.level-panel{display:block;margin:20px 0 0;padding:12px 15px;min-height:145px}.champion{float:left;margin:15px 15px 8px 0}.level-number{font-size:30px}.level-track{margin-left:120px}.level-panel .level-target{margin-left:120px}.level-settings{display:block;margin:auto}.reward-row{grid-template-columns:70px 1fr 26px;gap:7px}}
@media(prefers-reduced-motion:reduce){.level-up *{animation:none!important}.level-track span{transition:none}}

/* Hero 17: movement and power effects inside the portrait, no floating weapons. */
.champion{--power:#ffc76b;--power-light:#b8f4ff;width:112px;height:112px;isolation:isolate}.champion.skeletor{--power:#bc79ff;--power-light:#b8ffbd}.champion-frame{position:absolute;inset:5px;border:2px solid var(--power);border-radius:50%;overflow:hidden;isolation:isolate;box-shadow:0 0 20px #0007;background:#16243a;z-index:2}.champion-portrait{inset:-2px;border:0;border-radius:0;box-shadow:none;transform-origin:50% 70%;will-change:auto}.champion-energy,.champion-shine{position:absolute;inset:0;pointer-events:none;opacity:0}.champion-energy{background:radial-gradient(ellipse at 50% 82%,var(--power-light),transparent 28%),radial-gradient(ellipse at 50% 90%,var(--power),transparent 65%);mix-blend-mode:screen;z-index:3}.champion-shine{background:linear-gradient(115deg,transparent 30%,#ffffff05 40%,#fff9 49%,transparent 59%);transform:translateX(-120%);z-index:4}.champion-aura{position:absolute;inset:-7px;background:radial-gradient(circle,var(--power) 15%,transparent 68%);opacity:0;filter:blur(7px);z-index:0}.champion-ring{position:absolute;inset:3px;border:2px solid var(--power-light);border-radius:50%;opacity:0;z-index:1}
.level-up .champion-portrait{animation:hero-power-up 3.2s cubic-bezier(.25,.6,.3,1) both}.level-up .skeletor .champion-portrait{animation-name:skeletor-power-up}.level-up .champion-frame{animation:portrait-glow 3.2s ease-out both}.level-up .champion-energy{animation:portrait-energy 3.2s ease-out both}.level-up .champion-shine{animation:portrait-shine 3.2s ease-in-out both}.level-up .champion-aura{animation:portrait-aura 3.2s ease-out both}.level-up .champion-ring{animation:portrait-ring 3.2s ease-out both}
@keyframes hero-power-up{0%{transform:scale(1);filter:brightness(1)}14%{transform:translateY(4px) scale(.94);filter:brightness(.85)}35%{transform:translateY(-9px) scale(1.19) rotate(-4deg);filter:brightness(1.48) saturate(1.25)}52%{transform:translateY(-6px) scale(1.15) rotate(3deg)}70%{transform:translateY(-7px) scale(1.13) rotate(-1deg);filter:brightness(1.2)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes skeletor-power-up{0%{transform:scale(1);filter:brightness(1)}15%{transform:translateY(4px) scale(.95) rotate(4deg);filter:brightness(.8)}36%{transform:translateY(-7px) scale(1.22) rotate(-6deg);filter:brightness(1.45) saturate(1.5)}52%{transform:translateY(-5px) scale(1.16) rotate(5deg)}68%{transform:translateY(-7px) scale(1.17) rotate(-3deg);filter:brightness(1.2)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes portrait-glow{0%,100%{box-shadow:0 0 12px #0007}35%,55%{border-color:var(--power-light);box-shadow:0 0 22px var(--power),inset 0 0 15px var(--power-light)}}
@keyframes portrait-energy{0%,15%,100%{opacity:0}35%{opacity:.75}58%{opacity:.35}75%{opacity:.15}}
@keyframes portrait-shine{0%,18%{opacity:0;transform:translateX(-120%)}29%{opacity:.65}55%{opacity:.5;transform:translateX(120%)}60%,100%{opacity:0;transform:translateX(120%)}}
@keyframes portrait-aura{0%,100%{opacity:0;transform:scale(.8)}35%,50%{opacity:.7;transform:scale(1.2)}80%{opacity:.15;transform:scale(1)}}
@keyframes portrait-ring{0%,22%{opacity:0;transform:scale(.9)}33%{opacity:.8;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.48)}}
#avatar-preview{min-height:120px}#avatar-preview .champion{float:none;margin:12px auto}
@media(prefers-reduced-motion:reduce){.level-up .champion-frame{border-color:var(--power-light);box-shadow:0 0 18px var(--power)}.level-up .champion-aura{opacity:.25}}


/* Original supplied artwork, scaled without cropping or redrawing. */
.mission-icon{display:inline-block;width:36px;height:36px;flex:0 0 36px;vertical-align:middle;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none}
.mission-icon.orko{background-image:url('/orko.png')}.mission-icon.man-at-arms{background-image:url('/man-at-arms.png')}.mission-icon.he-man{background-image:url('/he-man.png')}.mission-icon.treasure{background-image:url('/treasure.png')}
.nav .mission-icon{flex:0 0 36px;width:36px;height:40px}.nav{gap:10px;padding:10px 9px}
.stats .stat-icon{width:66px;height:70px;flex:0 0 66px;background:transparent;box-shadow:none;border:0}.stats .mission-icon{width:66px;height:70px}
.priority .mission-icon{width:32px;height:32px;flex:0 0 32px}.priority{align-items:center;gap:9px}
.star .mission-icon{width:32px;height:32px;opacity:.5;filter:saturate(.45)}.star.on .mission-icon{opacity:1;filter:drop-shadow(0 0 4px #e6ba55)}.star:hover .mission-icon{opacity:1}.star{min-width:40px;min-height:40px}
@media(max-width:760px){.nav .mission-icon{width:29px;height:32px;flex-basis:29px}.stats .stat-icon,.stats .mission-icon{width:48px;height:54px}.stats .stat-icon{flex-basis:48px}}

/* Supplied logo, preserved as original artwork. */
.hero-logo{display:block;width:100%;aspect-ratio:986/338;background:url('/hero-logo.png') center/contain no-repeat}
.sidebar .brand{display:block;width:calc(100% + 24px);margin-left:-12px;transform:none;letter-spacing:normal;font-size:0;text-shadow:none;-webkit-text-stroke:0;flex-shrink:0}
.sidebar .brand-sub{margin:9px 0 30px;font-family:var(--hero-reading);font-size:12px;line-height:1.6;letter-spacing:.2px;text-transform:none;color:#f3dfbc;text-align:center}
.login-logo{margin:0;line-height:1}.login-panel .brand-sub{text-transform:none;letter-spacing:.2px;text-align:center;font-family:var(--hero-reading);font-size:14px}
@media(max-width:760px){.sidebar .brand{width:210px;max-width:100%;margin-left:0}.sidebar .brand-sub{text-align:left;margin:7px 0 18px}}

.heading h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.greeting-sorceress{display:inline-block;width:72px;height:78px;flex:0 0 72px;background:url('/sorceress.png') center/contain no-repeat}.heading{gap:14px;flex-wrap:wrap}.heading>div{flex:1 1 270px}.heading .primary{white-space:nowrap}.profile strong{overflow-wrap:anywhere}.backup{flex-wrap:wrap}
@media(max-width:760px){.greeting-sorceress{width:55px;height:60px;flex-basis:55px}.heading .primary{flex:1 1 155px}}

.bottom{gap:12px;flex-wrap:wrap}.bottom>span:last-child{margin-left:auto;text-align:right}

/* 1.25: original character artwork, articulated arm motion on a white stage. */
.champion{width:100%;max-width:210px;height:auto;margin:10px auto 15px;float:none;isolation:isolate}.avatar-art{position:relative;aspect-ratio:1;background:#fff;border:1px solid #e5c78d;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #0005}.avatar-art canvas,.avatar-fallback{display:block;width:100%;height:100%;object-fit:contain}.avatar-art [hidden]{display:none}.avatar-fallback{padding:8%;box-sizing:border-box}.champion figcaption{position:relative;margin-top:8px;font:600 13px var(--hero-reading);color:#ffe4b1;letter-spacing:.4px}.champion .champion-aura{inset:0;border-radius:12px}.level-up .avatar-art{animation:portrait-glow 3.2s ease-out both}.level-up .avatar-art canvas{transform:none;animation:none}#avatar-preview{min-height:285px}#avatar-preview .champion{max-width:260px;margin:15px auto}#reward-avatar{width:100%;min-height:44px}.level-panel .level-track,.level-panel .level-target{margin-left:0}
@media(max-width:760px){.level-panel .champion{max-width:175px;float:none;margin:12px auto}.level-panel{min-height:0}#avatar-preview .champion{max-width:230px}}
@media(prefers-reduced-motion:reduce){.level-up .avatar-art{animation:none!important;border-color:#ffe4b1}}

/* 1.26: frameless figures over softly blended castle scenery. */
.avatar-art{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;isolation:isolate}
.avatar-art::before{content:"";position:absolute;inset:-4%;z-index:-1;pointer-events:none;background:linear-gradient(#18233a25,#171c3560),url('/banner.png');background-size:100% 100%,auto 285%;background-position:center,62% 0%;background-repeat:no-repeat;mask-image:radial-gradient(ellipse at 50% 48%,#000 24%,#000c 52%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 24%,#000c 52%,transparent 73%)}
.character-skeletor .avatar-art::before,.character-evil-lyn .avatar-art::before,.character-mer-man .avatar-art::before{background-image:linear-gradient(#23143120,#171c3560),url('/sidebar.png');background-position:center,75% 0%}
.avatar-art canvas,.avatar-fallback{position:relative;border:0;outline:0;box-shadow:none;background:transparent}
.level-up .avatar-art{animation:none;box-shadow:none;border:0}#avatar-preview.level-up{box-shadow:none}.champion .champion-aura{display:none}
.level-up .avatar-art canvas{filter:drop-shadow(0 0 5px #e5c58455)}
@media(prefers-reduced-motion:reduce){.level-up .avatar-art canvas{filter:none}}

/* 1.27: circular portraits with a short celebratory light sequence. */
.champion{--avatar-light:#ffe1a0;--avatar-glow:#eeb859}.character-skeletor,.character-evil-lyn{--avatar-light:#e6cbff;--avatar-glow:#b17af5}.character-mer-man{--avatar-light:#adfff0;--avatar-glow:#45cfb5}.avatar-stage{position:relative;aspect-ratio:1;width:100%;isolation:isolate}
.avatar-art{width:100%;height:100%;border-radius:50%;overflow:hidden;background:#172239;box-shadow:0 7px 18px #0005}
.avatar-art::before{inset:0;border-radius:50%;mask-image:none;-webkit-mask-image:none;background-size:100% 100%,auto 285%}
.avatar-art canvas,.avatar-fallback,.level-up .avatar-art canvas{transform:translateY(7%) scale(1.14);transform-origin:center;filter:none}
#avatar-preview .champion{max-width:280px}#avatar-preview{min-height:310px}
.avatar-flash{position:absolute;inset:0;border-radius:50%;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 25%,#fff2 40%,#fff9 50%,transparent 65%);transform:translateX(-110%)}
.avatar-pulse{position:absolute;inset:0;border-radius:50%;border:2px solid var(--avatar-light);pointer-events:none;opacity:0;box-sizing:border-box}
.avatar-sparks{position:absolute;inset:0;pointer-events:none}.avatar-sparks i{position:absolute;width:10px;height:10px;background:var(--avatar-light);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0}.avatar-sparks i:nth-child(1){left:7%;top:16%}.avatar-sparks i:nth-child(2){right:2%;top:38%;width:14px;height:14px}.avatar-sparks i:nth-child(3){left:14%;bottom:6%}.avatar-sparks i:nth-child(4){right:14%;top:3%}
.level-up .avatar-art{animation:avatar-celebrate 3.2s ease-in-out both}.level-up .avatar-flash{animation:avatar-sweep 3.2s ease-out both}.level-up .avatar-pulse{animation:avatar-wave 3.2s ease-out both}.level-up .avatar-sparks i{animation:avatar-twinkle 2.5s ease-in-out both}.level-up .avatar-sparks i:nth-child(2){animation-delay:.2s}.level-up .avatar-sparks i:nth-child(3){animation-delay:.4s}.level-up .avatar-sparks i:nth-child(4){animation-delay:.6s}
@keyframes avatar-celebrate{0%,100%{filter:brightness(1);box-shadow:0 7px 18px #0005}25%{filter:brightness(1.13);box-shadow:0 0 26px var(--avatar-glow),0 0 8px var(--avatar-light)}48%{filter:brightness(1.02);box-shadow:0 0 10px var(--avatar-glow)}68%{filter:brightness(1.12);box-shadow:0 0 22px var(--avatar-glow),0 0 5px var(--avatar-light)}}
@keyframes avatar-sweep{0%,12%{opacity:0;transform:translateX(-110%)}25%{opacity:.7}56%{opacity:.5;transform:translateX(110%)}65%,100%{opacity:0;transform:translateX(110%)}}
@keyframes avatar-wave{0%,12%{opacity:0;transform:scale(.98)}25%{opacity:.85;transform:scale(1.01)}65%,100%{opacity:0;transform:scale(1.17)}}
@keyframes avatar-twinkle{0%,100%{opacity:0;transform:scale(.3) rotate(0)}28%{opacity:1;transform:scale(1.25) rotate(25deg)}48%{opacity:.15;transform:scale(.6) rotate(50deg)}68%{opacity:.9;transform:scale(1.1) rotate(75deg)}}
@media(max-width:760px){#avatar-preview .champion{max-width:250px}#avatar-preview{min-height:280px}}
@media(prefers-reduced-motion:reduce){.level-up .avatar-art,.level-up .avatar-flash,.level-up .avatar-pulse,.level-up .avatar-sparks i{animation:none!important}.level-up .avatar-art{filter:none;box-shadow:0 0 12px var(--avatar-glow)}}

.champion figcaption{text-align:center}

/* 1.28: compact header actions without workspace or storage labels. */
.topbar{justify-content:flex-end;gap:20px}

/* Archive and permanent monthly history. */
.mission-icon.archive-castle{background-image:var(--castle-cutout,none);border-radius:0;background-color:transparent}.history-heading{display:flex;align-items:center;gap:20px;margin:0 0 28px}.history-heading>.mission-icon{width:88px;height:88px;flex-basis:88px}.history-heading h1{margin:8px 0}.history-heading p{font-size:13px;line-height:1.6;color:#d4c9e2;margin-bottom:0}.history-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.history-summary>div{background:#18283de8;border:1px solid #9984b35c;padding:20px;border-radius:9px}.history-summary span,.history-summary small{display:block;color:#d6c9e0;font-size:11px;line-height:1.5}.history-summary strong{display:block;font:28px var(--hero-display);color:#ffe0a6;margin:10px 0}.history-panel{background:#111b30eF;border:1px solid #9984b35c;border-radius:10px;padding:24px;margin-bottom:24px}.history-panel h2{font-size:23px;margin:0 0 9px}.history-panel h3{margin-top:24px}.history-panel p{font-size:12px;line-height:1.7}.history-panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.history-panel-head label{font-size:12px}.history-panel select{background:#202b42;color:#f5e4bd;border:1px solid #9381ab;border-radius:6px;padding:8px;margin-left:8px}.history-chart-scroll{overflow-x:auto}.history-chart{display:block;width:100%;min-width:540px;height:auto;margin:18px 0 0}.history-chart text{fill:#ded3ea;font:12px var(--hero-reading)}.history-chart .chart-number{fill:#ffe4b1;font-weight:600}.history-legend{display:flex;gap:20px;flex-wrap:wrap}.history-legend span:first-child{color:#af94dc}.history-legend span:last-child{color:#f1cd89}.history-table{width:100%;border-collapse:collapse;font-size:12px;margin:16px 0}.history-table caption{text-align:left;color:#dccdea;padding:10px 0}.history-table th,.history-table td{text-align:left;padding:12px 8px;border-bottom:1px solid #78688b55}.history-table thead{color:#ffe3ab}.history-table tbody th{font-weight:500}.archived-task{border-top:1px solid #78688b55;padding:14px 0}.archived-task summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-size:13px;overflow-wrap:anywhere}.archived-task summary small{color:#c2afd7}.archived-task p{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 0}.archive-pages{display:flex;justify-content:flex-end;gap:18px;margin-top:20px}.archive-pages button{padding:8px;color:#ffe0a6}#archive-message{color:#b4ead1}
@media(max-width:760px){.sidebar nav{flex-wrap:wrap}.sidebar .nav{flex:1 1 135px}.history-summary{grid-template-columns:1fr}.history-summary>div{padding:15px}.history-heading>.mission-icon{width:65px;height:65px;flex-basis:65px}.history-heading h1{font-size:26px}.history-panel{padding:17px}.history-panel-head .primary{width:100%}}

.archive-pages button:disabled{cursor:default;transform:none}.archive-pages button:not(:disabled){cursor:pointer}

.mail-settings-entry{display:block;width:100%;border:1px solid #a48acb;border-radius:9px;background:#352b46;padding:15px;text-align:left;margin:14px 0 24px;color:#ffe0a6}.mail-settings-entry span{display:block;font:12px var(--hero-reading);margin-top:6px;color:#d4c9e2}#mail-dialog{max-width:690px}#mail-dialog small{display:block;font-size:11px;line-height:1.6;margin-top:7px}#mail-status{white-space:pre-wrap;color:#ffe0a6}.mail-actions{display:flex;gap:14px;margin:20px 0;flex-wrap:wrap}.mail-actions button{border:1px solid #9984b3;border-radius:6px;padding:10px}#mail-preview-dialog{max-width:1000px;width:calc(100% - 32px)}#mail-preview-frame{width:100%;height:65vh;border:0;background:#fff}#mail-log p{font-size:12px;line-height:1.6}#mail-weekday-label[hidden]{display:none}

.account-danger{margin-top:28px;padding-top:20px;border-top:1px solid #b54c5855}.account-danger button{background:#a52b3d;color:#fff;border:1px solid #ee8491;border-radius:10px;padding:12px 20px;font-weight:700}.account-danger p{font-size:12px;color:#e9b4bd}
