.event-toggle { width: 48px; min-height: 48px; margin-top: 9px; padding: 5px 2px; position: relative; border: 1px solid rgba(211,176,105,.34); background: #15110d; color: #d8bc82; cursor: pointer; }
.event-toggle span,.event-toggle small { display: block; }
.event-toggle span { font: 600 18px var(--serif); }
.event-toggle small { margin-top: 2px; font: 700 6px var(--sans); letter-spacing: .12em; }
.event-toggle i { position: absolute; top: -6px; right: -6px; min-width: 16px; height: 16px; border-radius: 10px; background: #9d2b23; color: white; font: 700 8px/16px var(--sans); font-style: normal; }
.event-toggle.collapsed { color: #777067; border-color: var(--line); }
.world-chronicles { display: grid; gap: 10px; margin-bottom: 14px; }
.world-chronicles.collapsed { display: none; }
.world-chronicles .world-chronicle { margin-bottom: 0; }
.event-action { margin-top: 10px; padding: 7px 11px; border: 1px solid #bd914c; background: rgba(182,119,37,.16); color: #e6c98f; font: 700 8px var(--sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.event-action:disabled { opacity: .42; cursor: not-allowed; }
.event-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.event-actions .event-action { display: inline-flex; align-items: center; text-decoration: none; }
.event-assignment { min-width: 210px; padding: 10px; border: 1px solid rgba(211,176,105,.18); background: rgba(0,0,0,.16); }
.event-assignment>strong,.event-assignment>small { display: block; }
.event-assignment>strong { color: #d9c7a2; font: 600 9px/1.45 var(--sans); }
.event-assignment>small { margin-top: 5px; color: #8e8578; font-size: 8px; line-height: 1.45; }
.event-assignment .event-action-reason { color: #bd796f; }
.events-heading { margin-bottom: 18px; }
.events-chronicles { margin-bottom: 0; }
.events-empty { padding: 32px; border: 1px solid var(--line); text-align: center; color: #81796f; }
.events-empty span { color: #a88851; font: 600 30px var(--serif); }
.events-empty h3 { margin: 8px 0 4px; color: #d7c7aa; font: 600 20px var(--serif); }
.events-empty p { margin: 0; font-size: 9px; }
.world-tools { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px,.5fr); gap: 12px; margin-bottom: 14px; }
.journey-log,.camp-button { min-height: 112px; border: 1px solid var(--line); background: linear-gradient(120deg,#15120e,#0f0e0c); }
.journey-log { display: grid; grid-template-columns: 155px 1fr; padding: 13px 16px; }
.journey-log header { display: flex; align-items: center; gap: 10px; border-right: 1px solid var(--line); }
.journey-log header>span { color: #b88b46; font: 600 24px var(--serif); }
.journey-log header small,.journey-log header strong { display: block; }
.journey-log header small { color: #8f733f; font-size: 7px; letter-spacing: .13em; }
.journey-log header strong { margin-top: 4px; font: 600 12px var(--serif); }
.journey-log ol { max-height: 172px; margin: 0; padding: 0 0 0 15px; overflow: auto; list-style: none; }
.journey-log li { display: grid; grid-template-columns: 70px 1fr; gap: 12px; padding: 5px 0; color: #aaa195; font-size: 12px; line-height: 1.35; }
.journey-log time { color: #6f6a62; }.journey-log li.loot span { color: #caaa66; }.journey-log li.arrival span { color: #85ac8b; }
.ad-toggle { position: absolute; z-index: 4; top: 4px; right: 4px; width: 26px; height: 24px; padding: 0; border: 1px solid rgba(216,182,112,.32); background: rgba(10,9,8,.9); color: #d4b16d; font: 700 17px/20px var(--sans); cursor: pointer; }
.landing-ad,.authenticated-ad { position: relative; transition: max-height .25s ease,opacity .25s ease; }
.authenticated-ad { position: fixed; }
.landing-ad.ad-collapsed { min-height: 30px; margin-bottom: 40px; }
.landing-ad.ad-collapsed>span,.landing-ad.ad-collapsed>div,.authenticated-ad.ad-collapsed>span,.authenticated-ad.ad-collapsed>div { display: none; }
.landing-ad.ad-collapsed .ad-toggle,.authenticated-ad.ad-collapsed .ad-toggle { transform: rotate(180deg); }
.authenticated-ad.ad-collapsed { left: auto; right: 24px; width: 28px; height: 28px; bottom: 12px; }
.app.ad-collapsed .shell { padding-bottom: 0; }
.camp-button { padding: 14px 18px; display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto auto; column-gap: 11px; text-align: left; color: #e0c486; cursor: pointer; }
.camp-button>span { grid-row: 1/4; align-self: center; font: 600 27px var(--serif); }.camp-button small,.camp-button strong,.camp-button em { display: block; }.camp-button small { color: #806e50; font: 700 7px var(--sans); letter-spacing: .13em; }.camp-button strong { font: 600 18px var(--serif); }.camp-button em { color: #8d857a; font: normal 8px var(--sans); }.camp-button:disabled { opacity: .34; cursor: not-allowed; }
.camp-dialog { width: min(560px,92vw); padding: 0; border: 1px solid #a77b35; background: radial-gradient(circle at 80% 10%,rgba(133,65,23,.22),transparent 38%),#120f0c; color: #eee; }
.camp-dialog::backdrop { background: rgba(5,4,3,.84); backdrop-filter: blur(8px); }.camp-close { position: absolute; right: 12px; top: 12px; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.2); background: #15110e; color: white; }.camp-header { padding: 42px 38px 24px; }.camp-header h2 { margin: 3px 0 12px; font: 600 30px var(--serif); }.camp-header>p:last-child { color: #a49a8c; font-size: 11px; line-height: 1.6; }.camp-actions { display: flex; gap: 9px; padding: 0 38px 38px; }
@media(max-width:900px){.rail .chat-launcher,.event-toggle{display:block;position:fixed;z-index:60;left:12px;top:12px}.event-toggle{top:76px;margin:0}.world-tools{grid-template-columns:1fr}.journey-log{grid-template-columns:120px 1fr}.world-chronicles .world-chronicle{grid-template-columns:48px 1fr}.world-chronicles .world-chronicle__state{grid-column:1/-1}}

.app-quick-actions { display: none; gap: 8px; }
.app-quick-button { position: relative; min-width: 66px; height: 52px; padding: 5px 8px; border: 1px solid var(--line); background: #15110d; color: #d8bc82; cursor: pointer; }
.app-quick-button span,.app-quick-button small { display: block; }
.app-quick-button span { font: 600 18px var(--serif); }
.app-quick-button small { margin-top: 2px; font: 700 6px var(--sans); letter-spacing: .12em; }
.app-quick-button i { position: absolute; top: -5px; right: -5px; min-width: 15px; height: 15px; border-radius: 10px; background: #9d2b23; color: #fff; font: 700 8px/15px var(--sans); font-style: normal; }
.app-quick-button i:empty { display: none; }

.app-gate { box-sizing: border-box; min-height: 100vh; grid-template-columns: 1.12fr .88fr; overflow: hidden; background: #080706; color: #eee9df; }
.app-gate:not(.hidden) { display: grid; }
.app-gate__art { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 65% 45%,rgba(157,43,35,.38),transparent 32%),linear-gradient(130deg,#1b120d,#080706 68%); }
.app-gate__art:before { content: ""; position: absolute; inset: 7%; border: 1px solid rgba(211,176,105,.16); background: url('/assets/images/murim-codex-archive-home.png') center/cover no-repeat; opacity: .46; filter: saturate(.65) contrast(1.1); }
.app-gate__art span { position: relative; color: rgba(221,183,108,.28); font: 600 min(30vw,340px)/1 var(--serif); text-shadow: 0 20px 70px #000; }
.app-gate__panel { box-sizing: border-box; display: flex; min-width: 390px; padding: clamp(30px,5vw,78px); flex-direction: column; justify-content: center; border-left: 1px solid rgba(211,176,105,.18); background: radial-gradient(circle at 100% 0,rgba(139,38,31,.14),transparent 40%),#0d0b09; }
.app-gate__brand { width: min(410px,90%); max-height: 150px; margin: -30px 0 -22px; object-fit: contain; object-position: left center; mix-blend-mode: screen; }
.app-gate__panel h1 { margin: 7px 0 13px; font: 600 clamp(30px,4vw,54px)/1.05 var(--serif); }
.app-gate__panel>p:not(.eyebrow) { max-width: 480px; margin: 0 0 25px; color: #9f978b; font-size: 11px; line-height: 1.7; }
.app-gate__actions { display: grid; gap: 11px; width: min(430px,100%); }
.app-auth { box-sizing: border-box; width: 100%; min-height: 56px; padding: 10px 17px; display: grid; grid-template-columns: 34px 1fr auto; gap: 13px; align-items: center; border: 1px solid transparent; color: white; font: 700 11px var(--sans); letter-spacing: .025em; text-align: left; text-decoration: none; cursor: pointer; }
.app-auth img { width: 28px; height: 28px; border-radius: 5px; object-fit: contain; }
.app-auth span { color: rgba(255,255,255,.7); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.app-auth--discord { background: #5865f2; border-color: #7983f5; }
.app-auth--google { background: #f5f5f5; border-color: #ddd; color: #292929; }
.app-auth--google span { color: #777; }
.app-auth:disabled { opacity: .62; cursor: not-allowed; }
.app-gate__panel>small { margin-top: 20px; color: #686158; font-size: 7px; letter-spacing: .15em; text-transform: uppercase; }

.android-app .landing { display: none!important; }
.android-app .authenticated-ad { display: none; }
.android-app .app { display: block; height: 100vh; }
.android-app .app-quick-actions { display: flex; }
.android-app .topbar { grid-template-columns: 1fr auto auto auto; height: 78px; gap: 14px; padding: 0 18px; }
.android-app .currencies>div { min-width: 118px; }
.android-app .rail>.chat-launcher,.android-app .rail>.event-toggle { display: none; }
.android-app .rail { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; top: auto; width: auto; height: 62px; box-sizing: border-box; padding: 0 14px; flex-direction: row; border: 0; border-top: 1px solid var(--line); background: rgba(13,11,9,.98); }
.android-app .rail nav { width: min(720px,100%); height: 100%; margin: 0 auto; flex-direction: row; align-items: center; justify-content: space-around; gap: 4px; }
.android-app .rail .nav-button { position: relative; width: auto; min-width: 86px; padding: 7px 12px; }
.android-app .rail .nav-button span { font-size: 18px; }
.android-app .rail .nav-button b { margin-top: 2px; font-size: 7px; }
.android-app .rail .nav-button.active:before { left: 50%; top: -1px; bottom: auto; width: 38px; height: 2px; transform: translateX(-50%); }
.android-app .rail .logout { display: none; }
.android-app .view { padding: 18px 22px 82px; }
.android-app .shell { height: 100vh; padding-bottom: 0; }
.android-app #world-view>#world-chronicles { display: none; }
.android-app .app-quick-button.active { border-color: #c99b4f; background: rgba(157,43,35,.25); color: #f0d59a; }
.city-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.city-option { min-height: 94px; padding: 14px; display: grid; grid-template-columns: 34px 1fr; align-content: center; column-gap: 10px; text-align: left; text-decoration: none; }
.city-option>span { grid-row: 1/3; align-self: center; font: 600 25px var(--serif); }
.city-option>strong,.city-option>small { display: block; }
.city-option>small { margin-top: 4px; color: #958b7d; font-size: 8px; line-height: 1.4; }
.feature-detail.city-trade { margin-top: 0; padding-top: 34px; }
.city-trade-list { display: grid; gap: 8px; margin: 18px 0; }
.city-trade-item { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--line); background: #17130f; }
.city-trade-item h3 { margin: 3px 0; font: 600 17px var(--serif); }
.city-trade-item small,.city-trade-item span { color: #948a7d; font-size: 8px; }
.city-trade-item>div:last-child { display: flex; gap: 7px; }
.city-back { margin-top: 4px; }
@media(max-height:540px){.app-gate__panel{padding:24px 42px}.app-gate__brand{max-height:105px;margin:-24px 0 -18px}.app-gate__panel h1{font-size:32px}.app-auth{min-height:50px}.android-app .topbar>div:first-child{display:none}.android-app .topbar{grid-template-columns:1fr auto auto}.android-app .identity span{display:none}}

.origin-command { width: 100%; margin: 10px 0 4px; }
.origin-dialog { width: min(620px,92vw); padding: 0; border: 1px solid #b58a45; background: radial-gradient(circle at 50% 5%,rgba(148,54,32,.3),transparent 40%),#100d0a; color: #eee; overflow: hidden; }
.origin-dialog::backdrop { background: rgba(4,3,2,.88); backdrop-filter: blur(9px); }
.origin-close { position: absolute; z-index: 2; right: 13px; top: 13px; width: 35px; height: 35px; border: 1px solid rgba(255,255,255,.2); background: #15110e; color: #fff; cursor: pointer; }
.origin-reveal { box-sizing: border-box; min-height: 470px; padding: 46px 48px 40px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.origin-seal { display: grid; place-items: center; width: 82px; height: 82px; margin: 12px 0 8px; border: 1px solid #bd914c; border-radius: 50%; color: #e4c47f; background: radial-gradient(circle,#63231c,#1a100c 72%); font: 600 39px var(--serif); box-shadow: 0 0 45px rgba(173,76,36,.3); }
.origin-reveal h2 { margin: 8px 0 5px; font: 600 35px var(--serif); }
.origin-reveal>strong { color: #cda85e; font: 600 9px var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.origin-buffs { width: min(430px,100%); margin: 23px 0 16px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.origin-buffs span { padding: 9px 10px; border: 1px solid rgba(211,176,105,.15); background: rgba(255,255,255,.025); color: #aaa195; font-size: 9px; }
.origin-reveal>small { color: #756d63; font-size: 8px; letter-spacing: .08em; }
.origin-decisions { display: flex; gap: 9px; margin-top: 23px; }
.origin-decisions button { min-width: 145px; }
@media(max-height:600px){.origin-reveal{min-height:0;padding:28px 42px 24px}.origin-seal{width:58px;height:58px;font-size:28px;margin:4px}.origin-reveal h2{font-size:27px}.origin-buffs{margin:12px 0 9px}.origin-decisions{margin-top:12px}}

/* The authenticated interface follows the cultivator's sect. Unaligned players use
   an earthy brown that remains visually separate from the Demonic Cult crimson. */
html[data-faction="unaligned"] { --faction-rgb: 138,98,64; --faction-deep: #65452f; --faction-accent: #a8764b; --faction-soft: #d0a77b; --red: #795334; --red-bright: #b47c4d; --gold: #c99a69; --line: rgba(190,142,96,.28); }
html[data-faction="mount_hua"] { --faction-rgb: 228,111,159; --faction-deep: #7d294d; --faction-accent: #e46f9f; --faction-soft: #f1b4cd; --red: #9e3e68; --red-bright: #e46f9f; --gold: #efb5cf; --line: rgba(228,111,159,.27); }
html[data-faction="wudang"] { --faction-rgb: 85,184,232; --faction-deep: #185878; --faction-accent: #55b8e8; --faction-soft: #a5ddf4; --red: #236e94; --red-bright: #55b8e8; --gold: #96d7ef; --line: rgba(85,184,232,.27); }
html[data-faction="shaolin"] { --faction-rgb: 228,176,78; --faction-deep: #745011; --faction-accent: #e4b04e; --faction-soft: #f2d38e; --red: #9b6c18; --red-bright: #e4b04e; --gold: #f1cf85; --line: rgba(228,176,78,.27); }
html[data-faction="heavenly_demon"] { --faction-rgb: 225,44,67; --faction-deep: #6f0f20; --faction-accent: #e12c43; --faction-soft: #f28b98; --red: #8f1427; --red-bright: #e12c43; --gold: #ed8794; --line: rgba(225,44,67,.29); }

html[data-faction] .app { background: radial-gradient(circle at 70% 0,rgba(var(--faction-rgb),.2) 0,transparent 40%),#100d0a; }
html[data-faction] .rail { border-color: var(--line); background: linear-gradient(180deg,rgba(var(--faction-rgb),.1),rgba(13,11,9,.98) 34%); }
html[data-faction] .topbar { border-color: var(--line); background: linear-gradient(90deg,rgba(var(--faction-rgb),.08),transparent 40%); }
html[data-faction] .brand { border-color: var(--faction-soft); background: var(--faction-deep); box-shadow: 0 0 22px rgba(var(--faction-rgb),.16); }
html[data-faction] .nav-button.active,html[data-faction] .nav-button:hover { color: var(--faction-soft); }
html[data-faction] .nav-button.active:before { background: var(--faction-accent); box-shadow: 0 0 12px rgba(var(--faction-rgb),.65); }
html[data-faction] .identity img,html[data-faction] .profile-hero img { border-color: var(--faction-accent); box-shadow: 0 0 18px rgba(var(--faction-rgb),.18); }
html[data-faction] .identity small,html[data-faction] .location-mark span,html[data-faction] .realm-card>strong,html[data-faction] .realm-columns small,html[data-faction] .path-card span { color: var(--faction-accent); }
html[data-faction] .profile-hero { background-image: linear-gradient(90deg,color-mix(in srgb,var(--faction-deep) 58%,#160f0b),rgba(29,19,15,.42)),url('/assets/journey-jjianghu.png')!important; }
html[data-faction] .seal { background: var(--faction-deep); color: var(--faction-soft); }
html[data-faction] .primary { background: var(--faction-deep); border: 1px solid color-mix(in srgb,var(--faction-accent) 70%,transparent); box-shadow: inset 0 0 18px rgba(var(--faction-rgb),.12); }
html[data-faction] .primary:hover { background: var(--faction-accent); box-shadow: 0 7px 24px rgba(var(--faction-rgb),.22); }
html[data-faction] .secondary { border: 1px solid color-mix(in srgb,var(--faction-accent) 42%,transparent); background: color-mix(in srgb,var(--faction-soft) 82%,#c6b797); }
html[data-faction] .filters button.active { background: var(--faction-accent); }
html[data-faction] .feature:hover,html[data-faction] .feature-dialog,html[data-faction] .craft-dialog,html[data-faction] .origin-dialog,html[data-faction] .camp-dialog,html[data-faction] .chat-dialog,html[data-faction] .player-dialog,html[data-faction] .duel-dialog { border-color: var(--faction-accent); }
html[data-faction] .feature__sigil,html[data-faction] .province__index,html[data-faction] .eyebrow { color: var(--faction-soft); }
html[data-faction] .meter i,html[data-faction] .chronicle-meter i { background: linear-gradient(90deg,var(--faction-deep),var(--faction-accent)); }
html[data-faction] .active-action.busy .pulse { background: var(--faction-accent); box-shadow: 0 0 0 5px rgba(var(--faction-rgb),.14); }
html[data-faction] .world-chronicle:not(.versus) { border-color: color-mix(in srgb,var(--faction-accent) 72%,transparent); background: radial-gradient(circle at 10% 40%,rgba(var(--faction-rgb),.28),transparent 35%),linear-gradient(100deg,color-mix(in srgb,var(--faction-deep) 36%,#17110d),#12100e); box-shadow: 0 12px 40px rgba(var(--faction-rgb),.12); }
html[data-faction] .world-chronicle:not(.versus) .world-chronicle__seal { border-color: var(--faction-soft); background: var(--faction-deep); color: var(--faction-soft); }
html[data-faction] .event-toggle,html[data-faction] .event-action { border-color: color-mix(in srgb,var(--faction-accent) 58%,transparent); color: var(--faction-soft); background: rgba(var(--faction-rgb),.12); }
html[data-faction] .app-quick-button.active { border-color: var(--faction-accent); background: rgba(var(--faction-rgb),.2); color: var(--faction-soft); }
html[data-faction] .origin-seal { border-color: var(--faction-accent); color: var(--faction-soft); background: radial-gradient(circle,var(--faction-deep),#1a100c 72%); box-shadow: 0 0 45px rgba(var(--faction-rgb),.3); }
html[data-faction] .toast:not(.error) { background: var(--faction-soft); }
html[data-faction] .billing-purchase--unavailable { border-style: dashed; opacity: .78; }
.billing-note { flex-basis: 100%; max-width: 430px; margin-top: 12px!important; color: #c78d6f!important; line-height: 1.5; text-align: center; }
