:root{--c-parchment: #f3ead6;--c-parchment-dark: #e6d8b3;--c-parchment-deep: #d6c393;--c-parchment-shadow: #b9a472;--c-ink: #1c1108;--c-ink-soft: #3a2a1a;--c-ink-faded: #6b5238;--c-rule: #8b6f47;--c-rule-soft: #c9b48a;--c-rule-strong: #5a4220;--c-oxblood: #6b1f1f;--c-oxblood-bright: #9c2c2c;--c-oxblood-deep: #4a1212;--c-gold: #b58b1c;--c-gold-bright: #d4a93c;--c-gold-pale: #e9d27a;--c-gold-text: #5a430c;--c-success: #3f6b2c;--c-danger: #8a1c1c;--c-vigor: #2c6b3f;--c-resolve: #6b3f2c;--c-spirit: #6b5f2c;--c-life: #8a1c1c;--c-surface-tint: 255, 250, 235;--c-surface-tint-strong: 255, 245, 220;--c-shadow-rgb: 28, 17, 8;--c-on-oxblood: #fff5e1;--c-on-gold: #1c1108;--font-heading: "Cinzel", "IM Fell English SC", serif;--font-display: "IM Fell English SC", "IM Fell English", serif;--font-body: "EB Garamond", Georgia, "Times New Roman", serif;--font-elegant: "EB Garamond", "Cormorant Garamond", Georgia, serif;--font-numeric: "EB Garamond", Georgia, serif;--font-blackletter: "UnifrakturMaguntia", "IM Fell English SC", serif;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-8: 48px;--max-content: 1180px;--radius: 4px;--radius-lg: 6px;--shadow-soft: 0 1px 0 rgba(28, 17, 8, .08), 0 4px 12px rgba(28, 17, 8, .05);--shadow-lift: 0 2px 0 rgba(28, 17, 8, .12), 0 6px 18px rgba(28, 17, 8, .1);--shadow-press: inset 0 2px 4px rgba(28, 17, 8, .25);--emboss-light: inset 0 1px 0 rgba(255, 245, 220, .35);--emboss-dark: inset 0 -1px 0 rgba(28, 17, 8, .2);--inner-frame: inset 0 0 0 1px var(--c-rule-soft);--parchment-texture: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='3'/><feColorMatrix values='0 0 0 0 0.42  0 0 0 0 0.30  0 0 0 0 0.15  0 0 0 0.10 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--wallpaper-pattern: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'><g fill='none' stroke='%237a5520' stroke-width='0.6' opacity='0.22'><path d='M0 50 L50 0 L100 50 L50 100 Z'/><path d='M0 0 L100 100 M100 0 L0 100'/></g><g fill='%236b1f1f' opacity='0.18'><circle cx='50' cy='50' r='2.6'/><path d='M50 44 L52 50 L50 52 L48 50 Z'/><path d='M50 56 L52 50 L50 48 L48 50 Z'/><path d='M44 50 L50 52 L52 50 L50 48 Z'/><path d='M56 50 L50 52 L48 50 L50 48 Z'/></g><g fill='%237a5520' opacity='0.30'><circle cx='0' cy='0' r='1.6'/><circle cx='100' cy='0' r='1.6'/><circle cx='0' cy='100' r='1.6'/><circle cx='100' cy='100' r='1.6'/><circle cx='50' cy='0' r='1.2'/><circle cx='0' cy='50' r='1.2'/><circle cx='100' cy='50' r='1.2'/><circle cx='50' cy='100' r='1.2'/></g></svg>");--orn-fleur: "⚜";--orn-cross: "✠";--orn-flower: "❦";--orn-divider: "✦";--orn-bullet: "◆"}:root[data-theme=dark]{--c-parchment: #1f1813;--c-parchment-dark: #181210;--c-parchment-deep: #14100c;--c-parchment-shadow: #2d2218;--c-ink: #f3e3c0;--c-ink-soft: #d8c5a0;--c-ink-faded: #a89576;--c-rule: #5a4220;--c-rule-soft: #3a2a14;--c-rule-strong: #8b6f47;--c-oxblood: #b22c2c;--c-oxblood-bright: #d44343;--c-oxblood-deep: #6b1f1f;--c-gold: #d4a93c;--c-gold-bright: #f0c860;--c-gold-pale: #f7e3a3;--c-gold-text: #e9d27a;--c-success: #7bb756;--c-danger: #d44343;--c-surface-tint: 70, 52, 35;--c-surface-tint-strong: 95, 72, 48;--c-shadow-rgb: 0, 0, 0;--c-on-oxblood: #fff5e1;--c-on-gold: #1c1108;--parchment-texture: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' seed='5'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.12  0 0 0 0 0.05  0 0 0 0.18 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--wallpaper-pattern: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'><g fill='none' stroke='%23b58b1c' stroke-width='0.6' opacity='0.18'><path d='M0 50 L50 0 L100 50 L50 100 Z'/><path d='M0 0 L100 100 M100 0 L0 100'/></g><g fill='%23b22c2c' opacity='0.16'><circle cx='50' cy='50' r='2.6'/></g><g fill='%23b58b1c' opacity='0.24'><circle cx='0' cy='0' r='1.6'/><circle cx='100' cy='0' r='1.6'/><circle cx='0' cy='100' r='1.6'/><circle cx='100' cy='100' r='1.6'/><circle cx='50' cy='0' r='1.2'/><circle cx='0' cy='50' r='1.2'/><circle cx='100' cy='50' r='1.2'/><circle cx='50' cy='100' r='1.2'/></g></svg>")}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;background-color:var(--c-parchment);background-image:var(--wallpaper-pattern),var(--parchment-texture);background-repeat:repeat,repeat;background-size:100px 100px,auto;color:var(--c-ink);font-family:var(--font-body);font-size:17px;font-weight:450;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}em,i,.subtitle,.caption{font-weight:500}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(90,66,32,.1) 100%)}#app{position:relative;z-index:1;min-height:100vh}h1,h2,h3{margin:0 0 var(--s-3) 0;color:var(--c-ink)}h1{font-family:Cinzel Decorative,Cinzel,serif;font-weight:700;font-size:2.3rem;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:var(--s-4);text-align:center;padding-bottom:0;color:var(--c-ink);-webkit-text-stroke:1px var(--c-oxblood);paint-order:stroke fill;text-shadow:-1px -1px 0 var(--c-oxblood),1px -1px 0 var(--c-oxblood),-1px 1px 0 var(--c-oxblood),1px 1px 0 var(--c-oxblood)}@supports (-webkit-text-stroke: 1px black){h1{text-shadow:none}}:root[data-theme=dark] .shell-header .crest,:root[data-theme=dark] .page-character-name{text-shadow:none}h1:before,h1:after{content:"";flex:1;height:1px;min-width:var(--s-5);background:linear-gradient(to right,transparent 0%,var(--c-gold) 20%,var(--c-gold) 100%)}h1:before{background:linear-gradient(to left,transparent 0%,var(--c-gold) 20%,var(--c-gold) 100%)}.page-banner{display:block;width:100%;max-width:100%;aspect-ratio:4 / 1;object-fit:cover;object-position:center 40%;border:1px solid var(--c-rule-strong);border-radius:var(--radius);box-shadow:var(--shadow-lift);margin:0 0 var(--s-4) 0;image-rendering:-webkit-optimize-contrast;mask-image:linear-gradient(to bottom,#000 88%,#000000b3);-webkit-mask-image:linear-gradient(to bottom,#000 88%,rgba(0,0,0,.7) 100%)}@media (max-width: 720px){.page-banner{aspect-ratio:5 / 2;border-radius:calc(var(--radius) - 2px)}}h1+p,h1+.subtitle,.shell-main>p.subtitle{text-align:center}h2{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.03em}h3{font-family:var(--font-display);font-size:1.12rem;letter-spacing:.02em}a{color:var(--c-oxblood)}a:hover{color:var(--c-oxblood-bright)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--s-5)}.auth-hero-wrap{position:relative;width:100%;max-width:440px;border:3px solid var(--c-rule-strong);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;line-height:0}.auth-hero{display:block;width:100%;height:200px;object-fit:cover;object-position:center 30%}.auth-hero-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:78px;background:linear-gradient(to bottom,color-mix(in srgb,var(--c-parchment) 0%,transparent) 0%,var(--c-parchment) 100%);pointer-events:none}@media (max-width: 540px){.auth-hero{height:140px}}.auth-card{background:var(--c-parchment);background-image:var(--parchment-texture);border:3px solid var(--c-rule-strong);border-top:none;box-shadow:var(--shadow-lift),inset 1px 0 0 var(--c-rule-soft),inset -1px 0 0 var(--c-rule-soft),inset 0 -1px 0 var(--c-rule-soft),inset 0 0 0 4px var(--c-parchment);padding:var(--s-4) var(--s-6) var(--s-6);width:100%;max-width:440px;border-radius:0 0 var(--radius) var(--radius);position:relative}.auth-card:before{content:var(--orn-fleur);position:absolute;top:8px;left:12px;color:var(--c-gold);font-size:1rem;opacity:.7}.auth-card:after{content:var(--orn-fleur);position:absolute;top:8px;right:12px;color:var(--c-gold);font-size:1rem;opacity:.7}.auth-card h1{font-size:2.2rem;margin-bottom:var(--s-2)}.auth-card .subtitle{text-align:center;font-family:var(--font-elegant);font-style:italic;font-size:1.05rem;color:var(--c-ink-soft);margin-bottom:var(--s-5)}.auth-logo{display:block;margin:calc(-1 * var(--s-4)) auto var(--s-2);max-width:280px;width:72%;height:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}@media (max-width: 540px){.auth-logo{max-width:220px}}.shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"header header" "sidebar main";min-height:100vh;max-width:var(--max-content);margin:0 auto;background-color:var(--c-parchment);background-image:var(--parchment-texture);border-left:1px solid var(--c-rule);border-right:1px solid var(--c-rule);box-shadow:0 0 0 1px #7a552033,0 0 60px rgba(var(--c-shadow-rgb),.2)}.shell-header{grid-area:header;background:var(--c-parchment-dark);background-image:linear-gradient(to bottom,rgba(255,245,220,.4),transparent),var(--parchment-texture);border-bottom:2px solid var(--c-rule-strong);box-shadow:inset 0 -1px 0 var(--c-gold),inset 0 1px #fff5dc80;padding:var(--s-3) var(--s-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-5)}.shell-header .crest{font-family:var(--font-heading);font-weight:700;font-size:1.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c-oxblood);text-shadow:0 1px 0 rgba(255,245,220,.6);display:inline-flex;align-items:center;gap:var(--s-2)}.shell-header .crest img{filter:drop-shadow(0 1px 1px rgba(28,17,8,.4))}.shell-header .crest .crest-logo{height:58px;width:auto;filter:drop-shadow(0 1px 2px rgba(28,17,8,.45))}.shell-header .crest .crest-title{font-family:"Cinzel Decorative",var(--font-heading);font-weight:900;font-size:1.85rem;letter-spacing:.05em;background:linear-gradient(180deg,#f8e9ad,#e7c45e 26%,#cf8f33 48%,#a83a1d 72%,#6e120e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;-webkit-text-stroke:1.2px #140804;paint-order:stroke fill;text-shadow:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.45))}:root[data-theme=dark] .shell-header .crest .crest-title{background:linear-gradient(180deg,#ffeeb0,#f0cf6a 26%,#d99a3a 48%,#b8401f,#821510);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1.2px #000;paint-order:stroke fill;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.shell-header .stat-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2}.shell-header .who,.shell-header .gold{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--c-ink);letter-spacing:.03em;line-height:1.25;padding:0;background:none;border:0;border-radius:0;box-shadow:none;text-shadow:none}.shell-header .gold{font-family:var(--font-elegant);font-size:1.05rem;font-weight:500;font-variant-numeric:tabular-nums;color:#3a2807;letter-spacing:.01em;text-shadow:none;line-height:1}:root[data-theme=dark] .shell-header .gold{color:var(--c-gold-text)}.shell-header .bars{display:flex;gap:var(--s-4);flex:1;justify-content:flex-end;flex-wrap:wrap}.bell-wrap{position:relative;flex:0 0 auto}.bell-btn{position:relative;width:40px;height:40px;border-radius:50%;background:linear-gradient(to bottom,#fff5dcd9,#d6c3938c);border:1px solid var(--c-rule-strong);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:var(--c-oxblood-deep);box-shadow:var(--emboss-light),0 1px 2px #1c110833;transition:filter .12s ease}.bell-btn:hover{filter:brightness(1.08)}.bell-glyph{line-height:1}:root[data-theme=dark] .bell-btn{background:linear-gradient(to bottom,#f5e6c82e,#785a1e59);color:var(--c-gold-bright)}.bell-badge{position:absolute;top:-4px;right:-4px;min-width:20px;padding:0 5px;height:20px;border-radius:999px;background:linear-gradient(to bottom,var(--c-oxblood-bright),var(--c-oxblood));color:var(--c-on-oxblood);font-family:var(--font-numeric);font-weight:800;font-size:.75rem;line-height:20px;text-align:center;border:1px solid var(--c-oxblood-deep);text-shadow:0 1px 0 rgba(0,0,0,.35)}.bell-menu{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:480px;overflow-y:auto;background:var(--c-parchment);background-image:var(--parchment-texture);border:1px solid var(--c-rule-strong);border-radius:var(--radius);box-shadow:0 0 0 1px #d4a93c73,0 12px 28px #1c110859;z-index:50}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:var(--s-3) var(--s-4);font-family:var(--font-display);font-size:.95rem;letter-spacing:.04em;color:var(--c-oxblood);border-bottom:1px solid var(--c-rule)}.bell-mark-all{font:inherit;background:transparent;border:0;color:var(--c-ink-faded);font-size:.82rem;cursor:pointer;text-decoration:underline}.bell-mark-all:hover{color:var(--c-oxblood)}.bell-list{display:flex;flex-direction:column}.bell-item{display:flex;align-items:flex-start;gap:var(--s-3);padding:10px var(--s-4);background:transparent;border:0;border-top:1px solid var(--c-rule-soft);text-align:left;cursor:pointer;font:inherit;color:var(--c-ink);transition:background .12s ease}.bell-item:first-child{border-top:0}.bell-item:hover{background:#d4a93c24}.bell-item.unread{background:#6b1f1f0f}.bell-item.unread .bell-item-msg{font-weight:700;color:var(--c-oxblood)}.bell-item-icon{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--c-parchment-dark);border:1px solid var(--c-rule);display:flex;align-items:center;justify-content:center;color:var(--c-oxblood);font-size:.95rem}.bell-item-body{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}.bell-item-msg{font-family:var(--font-body);font-size:.92rem;line-height:1.35}.bell-item-time{font-family:var(--font-display);font-size:.82rem;color:var(--c-ink-soft)}.bell-empty{padding:var(--s-5) var(--s-4);font-family:var(--font-elegant);font-style:italic;text-align:center;color:var(--c-ink-soft)}.shell-burger{display:none;width:40px;height:40px;padding:0;border-radius:var(--radius);background:#fff5dc8c;border:1px solid var(--c-rule-strong);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;box-shadow:var(--emboss-light)}.shell-burger span{display:block;width:20px;height:2px;background:var(--c-oxblood-deep);border-radius:1px}@media (max-width: 800px){.shell{grid-template-columns:1fr;grid-template-areas:"header" "main"}.shell-burger{display:flex}.shell-sidebar{position:fixed;top:0;left:0;bottom:0;width:260px;z-index:100;transform:translate(-100%);transition:transform .24s ease;box-shadow:0 0 30px #1c110873;overflow-y:auto;padding-top:var(--s-5)}.shell-sidebar[data-mobile-open=true]{transform:translate(0)}.shell[data-mobile-nav=true]:before{content:"";position:fixed;inset:0;background:#1c110880;z-index:90}.shell-main{padding:var(--s-4)}.shell-header{gap:var(--s-3);padding:var(--s-3)}.shell-header .crest{font-size:1.2rem}.shell-header .crest .crest-logo{height:34px;width:auto}.shell-header .bars{width:100%;justify-content:flex-start;order:5}.resbar{min-width:150px;flex:1 1 150px;max-width:none}}@media (max-width: 480px){.shell-header .crest span{display:none}.shell-header .stat-stack{font-size:.9rem}.shell-main{padding:var(--s-3)}h1{font-size:1.6rem;letter-spacing:.04em}}html{-webkit-tap-highlight-color:transparent}.shell-sidebar{grid-area:sidebar;background:var(--c-parchment-dark);background-image:var(--parchment-texture);border-right:1px solid var(--c-rule-strong);padding:var(--s-4) 0;box-shadow:inset -1px 0 0 var(--c-gold)}.shell-sidebar nav{display:flex;flex-direction:column}.shell-sidebar .sidebar-crowns{display:flex;flex-direction:column;align-items:flex-start;gap:3px;font-family:var(--font-elegant);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#3a2807;padding:var(--s-2) var(--s-5) var(--s-3) calc(var(--s-5) + 14px);margin-bottom:var(--s-2);border-bottom:1px solid var(--c-rule)}:root[data-theme=dark] .shell-sidebar .sidebar-crowns{color:var(--c-gold-text)}.shell-sidebar .sidebar-crowns-row{display:flex;align-items:center;font-size:1.15rem;font-weight:500}.shell-sidebar .sidebar-crowns svg{color:var(--c-gold)}.shell-sidebar .sidebar-interest{display:flex;flex-direction:column;line-height:1.25}.shell-sidebar .sidebar-interest:empty{display:none}.shell-sidebar .sidebar-interest-label{font-family:var(--font-display);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-ink-soft);opacity:.85}.shell-sidebar .sidebar-interest-value{font-family:var(--font-elegant);font-size:.78rem;color:var(--c-gold-text, #7a5a12)}.shell-sidebar a{font-family:var(--font-display);font-size:1rem;color:var(--c-ink-soft);text-decoration:none;padding:var(--s-2) var(--s-5) var(--s-2) calc(var(--s-5) + 14px);border-left:3px solid transparent;position:relative;letter-spacing:.02em;transition:background .15s ease,color .15s ease}.shell-sidebar a:before{content:var(--orn-bullet);position:absolute;left:var(--s-4);top:50%;transform:translateY(-55%);font-size:.55rem;color:var(--c-rule);opacity:0;transition:opacity .15s ease,color .15s ease}.shell-sidebar a:hover{background:#8b6f472e;color:var(--c-ink)}.shell-sidebar a:hover:before{opacity:1}.shell-sidebar a.active{border-left-color:var(--c-oxblood);background:linear-gradient(to right,#6b1f1f24,#6b1f1f05);color:var(--c-oxblood);font-weight:600}.shell-sidebar a.active:before{content:var(--orn-fleur);color:var(--c-gold);opacity:1;font-size:.85rem}.page-character-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;font-family:var(--font-elegant);font-weight:700;font-size:2.2rem;letter-spacing:.01em;color:var(--c-oxblood);margin:var(--s-1) 0 var(--s-4) 0;text-shadow:0 1px 0 rgba(255,245,220,.6)}.page-character-name .title-chip,.page-character-name .rank-chip{margin-left:0;font-size:.95rem;letter-spacing:.06em;padding:3px 14px;text-transform:uppercase;text-shadow:none}.shell-main{grid-area:main;padding:var(--s-5) var(--s-6);background:linear-gradient(to right,rgba(90,66,32,.06),transparent 24px)}.resbar{display:flex;flex-direction:column;min-width:184px;flex:1 1 184px;max-width:280px}.resbar .label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s-3);white-space:nowrap;font-family:var(--font-display);font-size:.85rem;color:var(--c-ink-soft);margin-bottom:3px;letter-spacing:.04em}.resbar .label .count{flex:0 0 auto;font-family:var(--font-numeric);font-feature-settings:"tnum";letter-spacing:0}.resbar .track{height:10px;background:linear-gradient(to bottom,#1c11082e,#1c11080f);border:1px solid var(--c-rule-strong);border-radius:2px;overflow:hidden;box-shadow:var(--shadow-press)}.resbar .fill{height:100%;transition:width .4s ease;box-shadow:var(--emboss-light)}.resbar.vigor .fill{background:linear-gradient(to bottom,#3f8a4f,var(--c-vigor))}.resbar.resolve .fill{background:linear-gradient(to bottom,#8a583f,var(--c-resolve))}.resbar.spirit .fill{background:linear-gradient(to bottom,#8a7d3f,var(--c-spirit))}.resbar.life .fill{background:linear-gradient(to bottom,#a82a2a,var(--c-life))}.resbar .timer{margin-top:3px;font-family:var(--font-numeric);font-size:.82rem;letter-spacing:.02em;color:var(--c-ink-soft);text-align:right;font-feature-settings:"tnum"}.resbar .timer.full{color:var(--c-success);font-weight:600}.resbar .resbar-glyph{font-family:var(--font-display);font-size:1.4rem;line-height:1;display:inline-block;width:1.25em;text-align:center;color:var(--c-ink)}.resbar.vigor .resbar-glyph{color:var(--c-vigor)}.resbar.resolve .resbar-glyph{color:var(--c-resolve)}.resbar.spirit .resbar-glyph{color:var(--c-spirit)}.resbar.life .resbar-glyph{color:var(--c-life)}.ornament-rule{display:flex;align-items:center;gap:var(--s-3);color:var(--c-rule);margin:var(--s-5) 0 var(--s-4)}.ornament-rule:before,.ornament-rule:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--c-rule),transparent)}.ornament-rule .glyph{color:var(--c-gold);font-size:1.1rem}@media (max-width: 820px){.shell-header .bars{position:fixed;top:0;left:0;right:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 14px;width:100%;margin:0;padding:6px 12px;box-sizing:border-box;background:#1c1108;border-bottom:1px solid var(--c-gold);box-shadow:0 2px 6px #00000073}.shell-header{padding-top:56px}.shell-header .bars .resbar{min-width:0;max-width:none;flex:initial;overflow:hidden}.shell-header .bars .resbar .label{display:flex;justify-content:flex-start;align-items:center;font-size:.62rem;margin-bottom:3px;gap:4px;white-space:nowrap;color:#f3e3c0;letter-spacing:.02em}.shell-header .bars .resbar .label .name{display:none}.shell-header .bars .resbar .label .count{color:#f3e3c0;flex:0 0 auto;font-size:.62rem}.shell-header .bars .resbar .resbar-glyph{font-size:.8rem;width:1em}.shell-header .bars .resbar .track{height:6px;border-radius:3px;border:1px solid rgba(243,227,192,.4)}.shell-header .bars .resbar .timer{display:none}}@media (max-width: 800px){html,body{overflow-x:hidden;max-width:100%}.shell{grid-template-columns:minmax(0,1fr);max-width:100vw}.shell-main{min-width:0;overflow-x:hidden;padding:var(--s-4)}.friend-tabs,.friend-add{flex-wrap:wrap}.friend-add>*{flex:1 1 auto;min-width:0}}@media (max-width: 480px){.shell-main{padding:var(--s-3)}}.field{display:flex;flex-direction:column;margin-bottom:var(--s-4)}.field>label{font-family:var(--font-display);font-size:.95rem;letter-spacing:.03em;color:var(--c-ink-soft);margin-bottom:var(--s-1)}.field>input,.field>select,.field>textarea{font:inherit;font-family:var(--font-body);padding:var(--s-2) var(--s-3);font-size:max(1rem,16px);min-height:44px;background:#fffaeba6;border:1px solid var(--c-rule);border-radius:var(--radius);color:#1c1108;caret-color:#1c1108;box-shadow:var(--shadow-press);transition:border-color .15s ease,box-shadow .15s ease}.field>input::placeholder,.field>textarea::placeholder{color:#1c110880}.field>input:hover,.field>select:hover,.field>textarea:hover{border-color:var(--c-rule-strong)}.field>input:focus,.field>select:focus,.field>textarea:focus{outline:none;border-color:var(--c-gold);box-shadow:var(--shadow-press),0 0 0 3px #d4a93c40}.field .hint{font-family:var(--font-elegant);font-size:.9rem;color:var(--c-ink-faded);margin-top:3px;font-style:italic}.btn{font-family:var(--font-display);font-size:1rem;letter-spacing:.04em;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:var(--s-2) var(--s-5);background:linear-gradient(to bottom,var(--c-oxblood-bright) 0%,var(--c-oxblood) 55%,var(--c-oxblood-deep) 100%);color:#fff5e1;border:1px solid var(--c-oxblood-deep);border-radius:var(--radius);cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--emboss-light),var(--emboss-dark),0 1px 2px #1c11084d,0 2px 4px #1c110826;text-shadow:0 1px 0 rgba(28,17,8,.45);transition:transform .08s ease,box-shadow .15s ease,filter .15s ease}.btn:hover{filter:brightness(1.08);box-shadow:var(--emboss-light),var(--emboss-dark),0 2px 3px #1c11084d,0 4px 8px #1c11082e}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-press),0 1px 1px #1c11084d;filter:brightness(.96)}.btn:disabled{background:linear-gradient(to bottom,#b0a48f,#8c8275 55%,#6f6759);border-color:#5a533f;color:#f5e9c8;cursor:not-allowed;text-shadow:0 1px 0 rgba(0,0,0,.4)}.btn.ghost{background:#fff5dc66;color:var(--c-ink);border-color:var(--c-rule);text-shadow:none;box-shadow:var(--shadow-soft)}.btn.ghost:hover{background:#8b6f472e;filter:none}.btn.gold{background:linear-gradient(to bottom,var(--c-gold-bright) 0%,var(--c-gold) 55%,#8a6a14 100%);border-color:#6e5510;color:#1c1108;text-shadow:0 1px 0 rgba(255,245,220,.45)}.alert{font-family:var(--font-body);padding:var(--s-3) var(--s-4);border:1px solid var(--c-rule);border-radius:var(--radius);margin-bottom:var(--s-4);background:#fffaebb3;box-shadow:var(--shadow-soft);position:relative}.alert.danger{background:#8a1c1c1a;border-color:var(--c-danger);color:var(--c-danger)}.alert.success{background:#3f6b2c1a;border-color:var(--c-success);color:var(--c-success)}.alert.warn{background:#b58b1c24;border-color:var(--c-gold);color:var(--c-gold-text)}.panel{background:var(--c-parchment);background-image:var(--parchment-texture);border:1px solid var(--c-rule-strong);border-radius:var(--radius);padding:var(--s-4);margin-bottom:var(--s-4);box-shadow:var(--shadow-soft),var(--inner-frame);position:relative}.panel h2{margin-top:0;color:var(--c-oxblood)}.panel h3{color:var(--c-ink)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-2) var(--s-4)}.kv dt{font-family:var(--font-display);font-size:.95rem;letter-spacing:.03em;color:var(--c-ink-soft)}.kv dd{margin:0;font-family:var(--font-numeric);color:var(--c-ink)}.pill{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:.04em;padding:3px 12px;background:linear-gradient(to bottom,#fff5dcb3,#d6c3938c);border:1px solid var(--c-rule-strong);border-radius:999px;color:var(--c-ink);box-shadow:var(--emboss-light),0 1px 1px #1c11081f}.pill strong{font-weight:700;color:var(--c-ink)}.pill.gold{background:linear-gradient(to bottom,var(--c-gold-pale) 0%,var(--c-gold-bright) 55%,var(--c-gold) 100%);border-color:#5a3f08;color:var(--c-oxblood-deep);font-weight:800;letter-spacing:.05em;text-shadow:0 1px 0 rgba(255,245,220,.45)}.pill.gold strong{color:var(--c-oxblood-deep);font-weight:800}.pill.active{background:linear-gradient(to bottom,#9c2c2c,#6b1f1f);border-color:var(--c-oxblood-deep);color:#fff5e1;text-shadow:0 1px 0 rgba(28,17,8,.45)}.pill.success{background:#3f6b2c2e;border-color:var(--c-success);color:var(--c-success)}.pill.danger{background:#8a1c1c2e;border-color:var(--c-danger);color:var(--c-danger)}.theme-radios{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-top:var(--s-2)}.theme-radio{display:inline-flex;cursor:pointer}.theme-radio input{position:absolute;opacity:0;pointer-events:none}.theme-radio-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:.92rem;letter-spacing:.04em;padding:8px 14px;background:rgba(var(--c-surface-tint-strong),.45);border:1px solid var(--c-rule);border-radius:var(--radius);color:var(--c-ink);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}.theme-radio:hover .theme-radio-tag{border-color:var(--c-rule-strong)}.theme-radio input:checked+.theme-radio-tag{background:linear-gradient(to bottom,var(--c-oxblood-bright),var(--c-oxblood) 60%,var(--c-oxblood-deep));border-color:var(--c-oxblood-deep);color:var(--c-on-oxblood);text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:var(--emboss-light),0 2px 4px rgba(var(--c-shadow-rgb),.18)}.theme-radio input:focus-visible+.theme-radio-tag{outline:2px solid var(--c-gold-bright);outline-offset:2px}.identity-block{display:flex;align-items:center;gap:var(--s-4);width:fit-content;max-width:100%;margin:var(--s-3) 0 var(--s-4);flex-wrap:wrap;justify-content:flex-start}.profile-avatar{position:relative;width:180px;height:180px;flex:0 0 180px;border:0;padding:0;background:transparent;cursor:pointer;display:block;transition:transform .15s ease}.profile-avatar:active{transform:translateY(1px)}.profile-avatar-frame{position:relative;display:block;width:160px;height:160px;margin:10px;border-radius:0;overflow:hidden;background:var(--c-parchment-dark);border:2px solid #2a1808;box-sizing:border-box;box-shadow:0 2px 10px #0000004d}.profile-avatar:hover .profile-avatar-frame{filter:brightness(1.05)}.profile-avatar-img{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar-edit{position:absolute;inset:auto 0 0;padding:6px 0;background:linear-gradient(to bottom,#1c110899,#0a0400eb);color:var(--c-gold-bright);font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-align:center;text-shadow:0 1px 0 #000;opacity:0;pointer-events:none;transition:opacity .18s ease}.profile-avatar:hover .profile-avatar-edit,.profile-avatar:focus-visible .profile-avatar-edit{opacity:1}.identity-text{flex:0 1 auto;min-width:300px;height:160px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left}.identity-name{font-family:var(--font-display);font-size:2.75rem;line-height:1;color:var(--c-oxblood);margin:0;word-break:break-word}.identity-rule{height:1px;border:0;margin:0;width:100%;background:linear-gradient(to right,var(--c-gold-bright) 0%,var(--c-gold-bright) 18%,var(--c-gold) 45%,rgba(212,169,60,.25) 80%,rgba(0,0,0,0) 100%)}.identity-row{display:flex;align-items:baseline;justify-content:flex-start;gap:12px;margin:0}.identity-row+.identity-row{margin-top:0}.identity-label{font-family:var(--font-display);font-size:.975rem;color:var(--c-ink-soft);font-weight:600;letter-spacing:.16em;text-transform:uppercase}.identity-value{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,245,220,.4)}.identity-value-empty{font-size:1.2rem;font-style:italic;color:var(--c-ink-soft);text-decoration:none;border-bottom:1px dashed var(--c-rule-strong);text-shadow:none}.identity-value-empty:hover{color:var(--c-oxblood);border-bottom-color:var(--c-oxblood)}.avatar-dialog-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--s-3)}.avatar-dialog{background:var(--c-parchment);border:1px solid var(--c-rule-strong);border-radius:var(--radius);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:var(--s-4);box-shadow:0 10px 40px #0006}.avatar-dialog h2{margin:0 0 var(--s-2) 0;font-family:var(--font-display);color:var(--c-oxblood)}.avatar-dialog-instructions{font-size:.92rem;color:var(--c-ink-soft);line-height:1.5;margin:0 0 var(--s-3) 0}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--s-2);margin-bottom:var(--s-3)}.avatar-slot{position:relative;aspect-ratio:1;border:1px solid var(--c-rule);border-radius:var(--radius);overflow:hidden;background:var(--c-parchment-dark)}.avatar-slot.is-active{border:2px solid var(--c-gold-bright);box-shadow:0 0 0 2px var(--c-gold-pale)}.avatar-slot.is-empty{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--c-ink-soft);opacity:.4}.avatar-slot img{width:100%;height:100%;object-fit:cover}.avatar-slot-actions{position:absolute;inset:auto 0 0;display:flex;gap:2px;padding:4px;background:#1c1108b3;justify-content:space-between;font-size:.7rem}.btn-tiny{font-family:var(--font-body);font-size:.75rem;padding:2px 6px;background:var(--c-gold-pale);border:1px solid var(--c-rule-strong);border-radius:4px;cursor:pointer;color:var(--c-ink)}.btn-tiny:hover:not(:disabled){filter:brightness(1.05)}.btn-tiny:disabled{opacity:.5;cursor:not-allowed}.btn-tiny.danger{background:#aa3232d9;color:#fff5e1;border-color:#6b1f1f}.avatar-active-label{font-family:var(--font-display);color:var(--c-gold-bright);font-weight:700;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;align-self:center;padding-left:4px}.avatar-dialog-actions{display:flex;gap:var(--s-2);flex-wrap:wrap;margin-bottom:var(--s-2)}.avatar-dialog-status{font-size:.9rem;min-height:1.2em;padding:6px 0}.avatar-dialog-status.status-error{color:var(--c-danger)}.avatar-dialog-status.status-success{color:var(--c-success)}.avatar-dialog-status.status-info{color:var(--c-ink-soft);font-style:italic}.title-chip{display:inline-block;font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:1px 10px;border-radius:999px;margin-left:6px;vertical-align:baseline;border:1px solid var(--c-rule-strong);background:rgba(var(--c-surface-tint-strong),.6);color:var(--c-ink)}.title-chip.tier-common{color:var(--c-ink-soft)}.title-chip.tier-rare{color:var(--c-oxblood);border-color:var(--c-oxblood);background:#6b1f1f1a}.title-chip.tier-legendary{background:linear-gradient(to bottom,var(--c-gold-pale),var(--c-gold-bright) 60%,var(--c-gold));color:var(--c-on-gold);border-color:var(--c-rule-strong);text-shadow:0 1px 0 rgba(255,245,220,.45)}.title-chip.tier-mythic{background:linear-gradient(to bottom,#c2369c,#6b1f6b);color:#fff5e1;border-color:#3a0e3a;text-shadow:0 1px 0 rgba(0,0,0,.4)}.title-chip.tier-ascended,.rank-chip.tier-ascended{background:linear-gradient(to bottom,#5a0a0a,#1a0202);color:#ffd2d2;border:1px solid #ff3030;text-shadow:0 0 4px #ff3030,0 1px 0 #000;box-shadow:0 0 10px #ff303073,inset 0 0 6px #ff303040}.rank-chip{display:inline-block;font-family:var(--font-display);font-size:.85rem;font-weight:700;letter-spacing:.04em;padding:1px 10px;border-radius:999px;margin-left:6px;vertical-align:baseline;border:1px solid var(--c-gold);background:linear-gradient(to bottom,#fff5dcd9,#d6b25f73);color:var(--c-ink)}.rank-chip.tier-common{color:var(--c-ink-soft);border-color:var(--c-rule-strong)}.rank-chip.tier-rare{color:var(--c-oxblood);border-color:var(--c-oxblood);background:linear-gradient(to bottom,#fff5dcd9,#aa464633)}.rank-chip.tier-legendary{background:linear-gradient(to bottom,var(--c-gold-pale),var(--c-gold-bright) 60%,var(--c-gold));color:var(--c-on-gold);border-color:var(--c-rule-strong);text-shadow:0 1px 0 rgba(255,245,220,.45)}.rank-chip.tier-mythic{background:linear-gradient(to bottom,#c2369c,#6b1f6b);color:#fff5e1;border-color:#3a0e3a;text-shadow:0 1px 0 rgba(0,0,0,.4)}.badge-gold{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 10px;background:linear-gradient(to bottom,var(--c-gold-pale) 0%,var(--c-gold-bright) 55%,var(--c-gold) 100%);border:1px solid var(--c-rule-strong);border-radius:999px;color:var(--c-on-gold);text-shadow:0 1px 0 rgba(255,245,220,.45);box-shadow:var(--emboss-light),0 1px 2px rgba(var(--c-shadow-rgb),.18);white-space:nowrap}.auth-meta{margin-top:var(--s-4);text-align:center;font-family:var(--font-elegant);font-size:.98rem;color:var(--c-ink-faded)}.auth-meta a{color:var(--c-oxblood);font-weight:600}.auth-meta a.btn{color:#fff5e1}.lede:first-letter{font-family:var(--font-heading);font-weight:700;font-size:3.2rem;line-height:.9;float:left;margin:4px 8px 0 0;color:var(--c-oxblood);text-shadow:1px 1px 0 var(--c-gold-pale)}.glyph-fleur:before{content:var(--orn-fleur);margin-right:6px;color:var(--c-gold)}.glyph-cross:before{content:var(--orn-cross);margin-right:6px;color:var(--c-oxblood)}.glyph-flower:before{content:var(--orn-flower);margin-right:6px;color:var(--c-gold)}@media (max-width: 720px){.kv{grid-template-columns:1fr;gap:var(--s-1) 0}.kv dt{margin-top:var(--s-2)}.kv dd{padding-left:0}.panel{padding:var(--s-3)}.panel h2{font-size:1.3rem}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:480px}}@media (max-width: 480px){.btn{padding:var(--s-2) var(--s-4)}.pill{font-size:.88rem;padding:2px 9px}.page-character-name{font-size:1.7rem;gap:8px}}
