@font-face{font-family:Cinzel;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel.woff2) format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400.woff2) format("woff2")}@font-face{font-family:Spectral;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/spectral-600.woff2) format("woff2")}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/press-start-2p.woff2) format("woff2")}:root,html[data-theme=dark]{--bg-body: #161311;--bg-main: #1d1a17;--bg-panel: #26221d;--bg-header: #24201b;--bg-dark: #14110f;--bg-hover: #332d26;--bg-soft: #2a2620;--text-primary: #dad2c5;--text-secondary: #bcb3a3;--text-muted: #948b7d;--text-dim: #6b6355;--accent: #d49a3f;--accent-strong: #b8832c;--accent-dim: #9a6e26;--success: #7fa05a;--info: #5f8ea0;--danger: #c05a3a;--warning: #d97e35;--border: #443c32;--border-light: #6a5f50;--border-mid: #3d362c;--progress-fill: linear-gradient(180deg, #ffe14d 0%, #ffd60a 100%);--progress-solid: #ffd60a;--bar-health: linear-gradient(180deg, #96d879 0%, #55a847 100%);--bar-stamina: linear-gradient(180deg, #9adcf5 0%, #4db0d8 100%);--locked-opacity: .45;--fog-overlay: rgba(0, 0, 0, .6);--game-shadow: rgba(0, 0, 0, .55);--game-width: 1200px;--game-height: 800px;--ui-scale: min(tan(atan2((100vw - 48px), 1200px)), tan(atan2((100vh - 84px), 800px)));--font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html[data-theme=light]{--bg-body: #dcd8d0;--bg-main: #f5f1ea;--bg-panel: #ffffff;--bg-header: #f0ece5;--bg-dark: #e8e4dc;--bg-hover: #e5e1d9;--bg-soft: #eeeae3;--text-primary: #2c2a25;--text-secondary: #5a5650;--text-muted: #7a766e;--text-dim: #9a9589;--accent: #b07a25;--accent-strong: #966720;--accent-dim: #c49a45;--success: #5a8a3a;--info: #3d7a90;--danger: #a8452a;--warning: #c57020;--border: #c5bfb5;--border-light: #d5cfc5;--border-mid: #b6afa2;--progress-fill: linear-gradient(180deg, #ffcf2e 0%, #e39e00 100%);--progress-solid: #ffc107;--bar-health: linear-gradient(180deg, #8cd06a 0%, #51993c 100%);--bar-stamina: linear-gradient(180deg, #7fc4e6 0%, #3f95bd 100%);--locked-opacity: .4;--fog-overlay: rgba(0, 0, 0, .35);--game-shadow: rgba(0, 0, 0, .2)}html[data-theme=monochrome]{--bg-body: #1a1a1a;--bg-main: #202020;--bg-panel: #2a2a2a;--bg-header: #262626;--bg-dark: #161616;--bg-hover: #363636;--bg-soft: #2e2e2e;--text-primary: #d6d6d6;--text-secondary: #b3b3b3;--text-muted: #8f8f8f;--text-dim: #6b6b6b;--accent: #cfcfcf;--accent-strong: #a8a8a8;--accent-dim: #858585;--success: #a6a6a6;--info: #9a9a9a;--danger: #cfcfcf;--warning: #b5b5b5;--border: #474747;--border-light: #6a6a6a;--border-mid: #3f3f3f;--progress-fill: linear-gradient(180deg, #e8e8e8 0%, #b5b5b5 100%);--progress-solid: #d0d0d0;--bar-health: linear-gradient(180deg, #e6e6e6 0%, #b0b0b0 100%);--bar-stamina: linear-gradient(180deg, #e6e6e6 0%, #b0b0b0 100%);--locked-opacity: .45;--fog-overlay: rgba(20, 20, 20, .6);--game-shadow: rgba(0, 0, 0, .5)}html[data-theme=monochrome] #app{filter:grayscale(1)}html[data-theme=high-contrast]{--bg-body: #000000;--bg-main: #0d0d0d;--bg-panel: #1a1a1a;--bg-header: #000000;--bg-dark: #050505;--bg-hover: #2e2e2e;--bg-soft: #1f1f1f;--text-primary: #ffffff;--text-secondary: #e8e8e8;--text-muted: #c9c9c9;--text-dim: #a3a3a3;--accent: #ffd84d;--accent-strong: #ffc400;--accent-dim: #e0a800;--success: #7ce07c;--info: #7ecbf2;--danger: #ff6b5e;--warning: #ffaa3a;--border: #8f8f8f;--border-light: #d0d0d0;--border-mid: #737373;--progress-fill: linear-gradient(180deg, #ffe14d 0%, #ffd60a 100%);--progress-solid: #ffd60a;--bar-health: linear-gradient(180deg, #7ce07c 0%, #33c433 100%);--bar-stamina: linear-gradient(180deg, #7ecbf2 0%, #33a8d8 100%);--locked-opacity: .45;--fog-overlay: rgba(0, 0, 0, .75);--game-shadow: rgba(0, 0, 0, .8)}.btn,.gather-button,.craft-button,.idle-toggle,.craft-action-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:hover:not(:disabled):not(.locked),.gather-button:hover:not(:disabled):not(.locked),.craft-button:hover:not(:disabled):not(.locked),.idle-toggle:hover:not(:disabled):not(.locked),.craft-action-btn:hover:not(:disabled):not(.locked){background:var(--bg-hover);border-color:var(--border-light);color:var(--accent);box-shadow:0 0 14px -6px color-mix(in srgb,var(--accent) 85%,transparent)}.btn:disabled,.btn.locked,.gather-button:disabled,.gather-button.locked,.craft-button:disabled,.craft-button.locked,.idle-toggle:disabled,.idle-toggle.locked,.craft-action-btn:disabled,.craft-action-btn.locked{opacity:var(--locked-opacity);cursor:not-allowed}.gather-button.active,.idle-toggle.active,.craft-action-btn.active{border-color:var(--accent);color:var(--accent);opacity:1}.travelling-bar-fill,.craft-banner-fill,.craft-button .progress{background:var(--progress-fill)}.health-fill,.character .status-fill.health{background:var(--bar-health)}.stamina-fill,.character .status-fill.stamina,.regen-fill{background:var(--bar-stamina)}.item-quantity,.craft-ingredient-amount,.craft-group-count,.discovery-req-progress,.craft-banner-time,.qty-input{font-variant-numeric:tabular-nums}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html,body{touch-action:pan-x pan-y}html{height:100%;overflow:hidden;overflow-anchor:none}body{position:sticky;top:0;height:100dvh;overflow:clip}#app{height:100dvh;contain:layout}body.ui-zoomed{overflow-y:auto;overflow-x:clip}body.ui-zoomed #app{overflow:visible;contain:none}body.ui-zoomed .game-frame{margin-top:28px}body.ui-zoomed .game-frame{max-width:none}body.ui-zoomed .game{width:var(--game-width);max-width:none;max-height:none}body.ui-zoomed .game-main{grid-template-columns:330px minmax(0,1fr)}@media(max-width:700px){body.ui-zoomed{overflow-y:auto;overflow-x:clip;position:sticky;top:0;height:100dvh;min-height:0}body.ui-zoomed #app{position:static;width:auto;height:auto;overflow:visible;contain:none}body.ui-zoomed .game-frame{width:fit-content;position:relative;overflow:visible;margin-top:28px}body.ui-zoomed .game{position:static;top:auto;left:auto;right:auto;bottom:auto;width:var(--game-width);height:var(--game-height);overflow:hidden;margin:0;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px}body.ui-zoomed .game-main{grid-template-columns:330px minmax(0,1fr);grid-template-rows:none}body.ui-zoomed .game-header{min-height:58px;padding:9px 16px}body.ui-zoomed .frame-toggle{display:inline-flex}body.ui-zoomed .game-header-toggle-row{display:none}body.ui-zoomed .game-header-actions{display:flex}body.ui-zoomed .player-area{border-right:1px solid var(--border);border-bottom:none;padding:20px 12px 20px 20px;overflow-y:auto;align-self:stretch}}body{background:var(--bg-body);color:var(--text-primary);font-family:var(--font-family)}.shell{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform:scale(var(--ui-scale))}.game-dead{filter:grayscale(1);transition:filter .25s ease}.shell.damage-flash{animation:damage-shake .5s ease-in-out}.shell.damage-flash .game{position:relative;background:#000;border-color:#000;--bg-body: #161311;--bg-main: #1d1a17;--bg-panel: #26221d;--bg-header: #24201b;--bg-dark: #14110f;--bg-hover: #332d26;--bg-soft: #2a2620;--text-primary: #dad2c5;--text-secondary: #bcb3a3;--text-muted: #948b7d;--text-dim: #6b6355;--accent: #d49a3f;--accent-strong: #b8832c;--accent-dim: #9a6e26;--success: #7fa05a;--info: #5f8ea0;--danger: #c05a3a;--warning: #d97e35;--border: #443c32;--border-light: #6a5f50;--border-mid: #3d362c}.shell.damage-flash .game:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:99999;pointer-events:none;background:#b91c1c;mix-blend-mode:multiply}@keyframes damage-shake{0%,to{transform:translate(0)}10%{transform:translate(-8px,4px)}20%{transform:translate(8px,-6px)}30%{transform:translate(-7px,5px)}40%{transform:translate(6px,-4px)}50%{transform:translate(-5px,3px)}60%{transform:translate(4px,-2px)}70%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}90%{transform:translate(-1px,1px)}}@keyframes resurrect-breath{0%,to{box-shadow:0 0 8px #50b4504d;background:#3a8a5c;color:#0e1d13}50%{box-shadow:0 0 24px #50b450cc;background:#4aa86c;color:#0e1d13}}.resurrect-btn{margin-top:14px;background:#3a8a5c;color:#0e1d13;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.25);animation:resurrect-breath 2s ease-in-out infinite}.resurrect-btn:hover:not(:disabled){background:#45a065;color:#0e1d13}.resurrect-btn:disabled{animation:none;opacity:.5}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-dim);outline-offset:1px}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border:1px solid var(--bg-main);border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:var(--border-light)}*::-webkit-scrollbar-corner{background:var(--bg-main)}::-webkit-scrollbar-button:vertical:start:increment,::-webkit-scrollbar-button:vertical:end:decrement,::-webkit-scrollbar-button:horizontal:start:increment,::-webkit-scrollbar-button:horizontal:end:decrement,::-webkit-scrollbar-button{display:none!important;width:0!important;height:0!important;background:transparent!important;border:none!important}@supports (-moz-appearance: none){*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}}.game-frame{position:relative;width:fit-content;margin:0}.game{width:var(--game-width);height:var(--game-height);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 140px),var(--bg-main);color:var(--text-primary);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 20px 60px var(--game-shadow),0 0 70px -30px color-mix(in srgb,var(--accent) 70%,transparent);display:flex;flex-direction:column;overflow:hidden}.game-header{flex:0 0 auto;min-height:58px;padding:9px 16px;position:relative;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 65%),var(--bg-header);display:flex;align-items:center;justify-content:space-between;gap:14px}.game-header-actions{display:flex;align-items:center;gap:6px}.logout-button{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:6px 10px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-hover) 75%,transparent),var(--bg-soft));color:var(--text-secondary);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:6px;font-family:inherit;font-size:.75rem;font-weight:600;font-style:normal;letter-spacing:.05em;white-space:nowrap;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.logout-button:hover{background:linear-gradient(180deg,var(--bg-hover),color-mix(in srgb,var(--accent) 8%,var(--bg-soft)));border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--accent);transform:translateY(-1px);box-shadow:0 0 12px -4px color-mix(in srgb,var(--accent) 65%,transparent)}.logout-button:active{color:var(--accent)}.logout-button:disabled{opacity:.45;cursor:not-allowed}.logout-button.confirm{background:var(--accent-soft, #5c2020);color:var(--accent);border-color:var(--accent)}.guide-highlight{font-size:1.1rem;padding:8px 14px;border-color:var(--success);color:var(--success);animation:guide-pulse 2s ease-in-out infinite}@keyframes guide-pulse{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 8px 3px #22c55e4d}}.game-title{min-width:0}.game-brand{display:flex;align-items:center;gap:10px;min-width:0}.game-emblem{display:flex;flex:0 0 auto}.game-header .emblem{--emblem-w: 44px;--emblem-h: 52px;--emblem-filter: drop-shadow(0 0 9px color-mix(in srgb, var(--accent) 55%, transparent));padding:2px}.game-title-main{font-size:1.15rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 45%,#ffefc9),var(--accent-strong));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent);letter-spacing:.06em}.game-title-subtitle{margin-top:2px;display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--text-muted);letter-spacing:.08em}.info-toggle{all:unset;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;flex-shrink:0;font-size:.8rem;line-height:1;color:var(--text-muted);cursor:pointer;transition:color .12s ease}.info-toggle:hover,.info-toggle:focus-visible{color:var(--accent)}.refresh-button{height:30px;padding:0 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.8rem;transition:background .12s ease,border-color .12s ease,color .12s ease}.refresh-button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-light);color:var(--accent)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.game.player-hidden .game-main{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr}.game.player-hidden .player-area,.game.log-hidden .game-log{display:none}.frame-toggles{position:absolute;bottom:100%;left:0;right:0;margin-bottom:0;display:flex;flex-direction:row;justify-content:center;gap:8px}.frame-toggle{position:relative;width:auto;min-width:30px;height:22px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:var(--bg-header);color:var(--text-muted);border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;cursor:pointer;font-size:.66rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background .12s ease,border-color .12s ease,color .12s ease}.frame-toggle:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--text-secondary)}.frame-toggle.active{color:var(--accent);border-color:var(--border-light)}.header-toggle{display:inline-flex;align-items:center;justify-content:center;height:29px;font-size:.8rem;padding:0 6px;border-bottom:1px solid var(--border);border-radius:6px}.header-toggle.active{color:var(--text-primary)}.header-toggle.player-toggle{color:var(--accent)!important;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.game-header-toggle-row{display:none;align-items:center;gap:4px}.player-panel-handle{display:none}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--border);height:auto;padding:6px 6px 2px;background:var(--bg-header);z-index:500;align-items:center;gap:4px}.bottom-nav-btn{display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;position:relative;height:48px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:1.15rem;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .15s}.bottom-nav-btn.active{color:var(--accent)}.bottom-nav .chat-menu-wrap{flex:1 1 0;min-width:0}.bottom-nav .chat-menu-wrap>.bottom-nav-btn{width:100%}.bottom-nav-btn:hover:not(.active){color:var(--text-primary)}.bottom-nav-btn.guide-highlight{font-size:1.35rem}.guide-highlight{color:var(--success);animation:guide-pulse 2s ease-in-out infinite}.frame-toggle.header-toggle.guide-highlight{width:auto;padding:0 8px;border-color:var(--success)}.game-main{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:330px minmax(0,1fr);overflow:hidden}.player-area{min-width:0;min-height:0;padding:20px 12px 20px 20px;background:var(--bg-panel);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.region-area{min-width:0;min-height:0;padding:20px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 3%,transparent),transparent 160px),var(--bg-panel);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.area-content{width:100%;min-width:0;min-height:100%;display:flex;flex-direction:column}.region-area .area-content{gap:4px}.player-panel{width:100%;min-width:0;display:flex;flex-direction:column;flex-shrink:0;padding:14px 16px;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 3%,var(--bg-panel)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 2px 10px -7px #000000b3}.quest-tracker{width:100%;min-width:0;margin-top:14px;display:flex;flex-direction:column;flex-shrink:0;padding:12px 16px;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 3%,var(--bg-panel)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 2px 10px -7px #000000b3}.quest-tracker-compact{display:none}.quest-tracker-header-count{font-size:.62rem;font-weight:600;color:var(--text-muted)}.quest-tracker-entry{padding:0;background:color-mix(in srgb,var(--accent) 4%,transparent);border-left:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:0 4px 4px 0}.quest-tracker-entry+.quest-tracker-entry{margin-top:6px}.quest-tracker-entry.ready{opacity:.62;border-left-color:color-mix(in srgb,var(--accent) 70%,transparent)}.quest-tracker-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;background:none;border:0;border-radius:0 4px 4px 0;text-align:left;cursor:pointer}.quest-tracker-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.quest-tracker-title{font-size:.8rem;font-weight:700;color:var(--text-primary)}.quest-tracker-progress{flex:none;font-size:.68rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.quest-tracker-detail{padding:0 10px 7px}.quest-tracker-turn-in{margin:0 0 4px;font-size:.68rem;line-height:1.4;color:var(--accent)}.quest-tracker-objective{margin-top:2px;font-size:.68rem;line-height:1.4;color:var(--text-muted)}.quest-tracker-steps{margin:4px 0 0;padding:0;list-style:none}.quest-tracker-step{display:flex;align-items:baseline;gap:6px;padding:2px 0;font-size:.68rem;line-height:1.4;color:var(--text-muted)}.quest-tracker-step-tick{flex:none;width:.9em;font-weight:700;color:var(--text-muted)}.quest-tracker-step.done{color:var(--text-primary);text-decoration:line-through;text-decoration-color:currentColor}.quest-tracker-step.done .quest-tracker-step-tick{color:var(--accent)}.player-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:11px 13px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent),var(--bg-soft);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:10px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 5%,transparent)}.player-identity{display:contents}.player-name-row{grid-column:1;grid-row:1;display:flex;align-items:center;gap:6px;min-width:0}.player-name{font-size:1.05rem;font-weight:700;line-height:1.2;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 40%,var(--text-primary)),var(--text-primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.player-heading-right{grid-column:2;grid-row:1;flex-shrink:0;justify-self:end;display:flex;flex-direction:row;align-items:center;gap:6px}.player-location{grid-column:1 / -1;grid-row:2;margin-top:3px;font-size:.62rem;letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.player-status{display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:5px;font-size:.62rem;font-weight:600;white-space:nowrap;box-shadow:0 0 10px -5px currentColor}.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.status-active{color:var(--success);background:#7fa05a1a}.status-resting{color:var(--info);background:#5f8ea01a}.status-traveling{color:var(--accent);background:#d49a3f1a}.status-dead{color:var(--danger);background:#c05a3a1f;font-weight:600}.player-status.presence-online{color:var(--success);background:#7fa05a1a}.player-status.presence-afk{color:var(--warning);background:#d97e351a}.player-status.presence-offline{color:var(--text-dim);background:#6b63551a}.social-row-presence{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:5px;font-size:.62rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.presence-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.presence-active{color:var(--success);background:#7fa05a1a}.presence-idle{color:var(--warning);background:#d97e351a}.presence-offline{color:var(--text-dim);background:#6b63551a}.stats{display:flex;flex-direction:column;gap:12px;margin-top:16px}.stat{width:100%}.stat-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.stat-name{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;color:var(--text-muted)}.stat-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:.7rem;border-radius:4px}.health-icon{color:var(--success);background:#7fa05a1f}.stamina-icon{color:var(--info);background:#5f8ea01f}.gold-stat-icon{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.gold-stat{padding:6px 8px;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:6px}.gold-stat .stat-header{margin-bottom:0}.gold-stat .stat-value{color:var(--accent)}.stat-value{font-size:.7rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.stat-value span{color:var(--text-dim);font-weight:400}.gold-icon{font-size:.55rem;color:var(--accent)}.bar{position:relative;width:100%;height:8px;background:var(--bg-dark);border:1px solid var(--border-mid);border-radius:5px;overflow:hidden;box-shadow:inset 0 1px 2px #0000008c}.bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0 13px,color-mix(in srgb,var(--bg-dark) 55%,transparent) 13px 14px);pointer-events:none}.bar-fill{height:100%;border-radius:4px;transition:width .2s ease;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 35%,transparent)}.health-fill{background:var(--bar-health)}.stamina-fill{background:var(--bar-stamina)}.regeneration-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;min-height:12px;font-size:.58rem;color:var(--text-dim)}.regen-countdown{font-variant-numeric:tabular-nums}.regen-timer{margin-top:3px}.regen-progress{height:3px!important;margin-top:3px;opacity:.8}.regen-fill{background:var(--bar-stamina)}.game-log{flex:0 0 auto;padding:12px 0 12px 20px;border-top:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 70px),var(--bg-header);min-height:0;overflow:hidden;position:relative}.log-clip{display:contents}.log-resize-handle{position:absolute;top:-4px;left:0;right:0;height:8px;cursor:ns-resize;z-index:1}.log-resize-handle:hover,.log-resize-handle:active{background:var(--accent-dim, rgba(255, 255, 255, .1))}.log-heading{display:flex;align-items:center;justify-content:space-between;height:18px;padding-right:20px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.08em}.log-tab-bar{display:flex;gap:2px}.log-tab-bar .tab{padding:1px 8px;background:transparent;border:1px solid transparent;border-radius:3px;color:var(--text-muted);font-size:.72rem;font-weight:600;cursor:pointer}.log-tab-bar .tab.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 28%,var(--bg-soft)),var(--bg-soft));border-color:color-mix(in srgb,var(--accent) 70%,transparent);color:var(--accent);box-shadow:0 0 10px -4px color-mix(in srgb,var(--accent) 80%,transparent)}.log-tab-bar .tab:hover:not(.active){color:var(--text-primary)}.log-clear{display:grid;place-items:center;width:20px;height:18px;padding:0;font-size:.78rem;line-height:1;color:var(--text-secondary);border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.log-clear:hover{background:var(--bg-hover);border-color:var(--border);color:var(--accent)}.log-content{height:calc(100% - 28px);min-height:0;padding-right:24px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.log-list,.log{width:100%;min-width:0}.log p{margin:3px 0;font-size:.75rem;line-height:1.5;color:var(--text-muted)}.log p .log-time{display:inline-block;min-width:66px;margin-right:9px;font-size:.68rem;color:var(--text-dim);-webkit-user-select:none;user-select:none}.log p.log-info{color:var(--accent)}.log p.log-arrival,.log p.log-travel,.log p.log-rest,.log p.log-warn{color:var(--info)}.log p.log-loot,.log p.log-craft,.log p.log-equip{color:var(--success)}.log p.log-bonus{color:var(--accent);font-style:italic;letter-spacing:.01em}.log p.log-danger,.log p.log-error{color:var(--danger);font-weight:600}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;transform:scale(calc(1 / var(--ui-scale)));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:var(--fog-overlay);border:none;cursor:default}@keyframes popup-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.popup{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:22px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #00000080,0 4px 14px #00000059,inset 0 1px #ffffff0d;overflow-y:auto;animation:popup-in .18s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.popup{animation:none}}.popup-header{position:sticky;top:-22px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-22px -22px 0;padding:14px 22px 10px;background:inherit}.popup-header h2{margin:0;font-size:1.08rem;font-weight:700;letter-spacing:.03em;color:var(--accent)}.close-button{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:.95rem;line-height:1;transition:background .12s ease,color .12s ease,border-color .12s ease,transform .12s ease}.close-button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light);transform:rotate(90deg)}.guide-header{position:sticky;top:-16px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 0;padding:16px 16px 0;background:inherit}.guide-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.separator{border-top:1px solid var(--border);margin:12px 0 0}.inventory-header>.separator{margin:2px 0 0}.inventory-header+.separator{margin-bottom:12px}.alpha-info p{margin:0 0 10px;font-size:.88rem;line-height:1.55;color:var(--text-secondary)}.alpha-info .region-unlock{color:var(--success);font-weight:700}.alpha-info .seal-name{color:var(--accent);font-weight:700}.about-popup{position:relative;width:420px;background:radial-gradient(ellipse 80% 50% at 50% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%),var(--bg-panel);border-color:color-mix(in srgb,var(--accent) 35%,var(--border-light));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent),0 16px 48px #00000073}.about-wrap{position:relative}.about-body{display:flex;flex-direction:column;gap:16px}.about-hero{display:flex;align-items:center;gap:14px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--bg-soft)),var(--bg-soft));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:12px;box-shadow:inset 0 1px color-mix(in srgb,#fff 8%,transparent)}.about-glyph{display:flex;align-items:center;justify-content:center;flex-shrink:0}.about-glyph .emblem{--emblem-w: 28px;--emblem-h: 32px;--emblem-filter: none}.about-hero-text{min-width:0}.about-badge{display:inline-block;padding:3px 9px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bg-panel);background:var(--accent);border-radius:999px}.about-tagline{margin:6px 0 0!important;font-size:.92rem!important;font-weight:600;color:var(--text-primary)!important}.about-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.about-points li{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;transition:border-color .12s ease}.about-points li:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.about-point-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;font-size:.95rem;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:8px}.about-points li div{display:flex;flex-direction:column;gap:2px;min-width:0}.about-points strong{font-size:.82rem;font-weight:700;color:var(--text-primary)}.about-points span:not(.about-point-icon){font-size:.78rem;line-height:1.45;color:var(--text-dim)}.about-popup .travel-confirm-actions{justify-content:center;margin-top:16px}.about-popup .travel-confirm-actions.about-ok{margin-top:-4px}.about-popup .travel-confirm-actions .btn{min-width:160px}.about-popup .alpha-copyright{margin:-4px 0 0!important;text-align:center;font-size:.72rem!important;color:var(--text-muted)!important;letter-spacing:.04em}.seal-hint-overlay,.seal-hint-overlay .popup{pointer-events:all}.seal-hint-popup{width:420px}.seal-hint-glyph{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:10px}.seal-hint-popup .travel-confirm-actions{margin-top:0;justify-content:center}.received-popup{width:420px}.received-popup .travel-confirm-actions{margin-top:0;justify-content:center}.received-popup .travel-confirm-actions .btn{min-width:140px}.oracle-letter-overlay,.oracle-letter-overlay .popup{pointer-events:all}.overlay .popup.oracle-letter-popup{width:min(460px,calc(100vw - 2rem));padding:0;overflow:hidden;background:linear-gradient(175deg,#f1e6ca,#e7d8b3 55%,#dccaa0);border:1px solid #b39a6a;border-radius:6px;box-shadow:0 18px 40px #00000073,inset 0 0 0 1px #ffffff40;color:#3d3120}.oracle-letter-head{display:flex;gap:12px;align-items:center;padding:16px 20px 12px;border-bottom:1px dashed color-mix(in srgb,#b39a6a 70%,transparent)}.oracle-letter-glyph{display:flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:1.3rem;background:color-mix(in srgb,#7a5fb0 18%,transparent);border:1px solid color-mix(in srgb,#7a5fb0 45%,transparent);border-radius:50%}.oracle-letter-heading{display:flex;flex-direction:column;gap:2px}.oracle-letter-title{font-family:Georgia,Times New Roman,serif;font-weight:700;font-size:1.05rem;color:#2f2617}.oracle-letter-sub{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#7a6743}.oracle-letter-body{padding:14px 22px 4px;font-family:Georgia,Times New Roman,serif;font-size:.92rem;line-height:1.65;color:#463a26}.oracle-letter-body p{margin:0 0 10px;font-style:italic}.oracle-letter-body p:last-child{margin-bottom:4px}.oracle-letter-actions{display:flex;justify-content:center;padding:8px 20px 18px}.oracle-letter-ok{min-width:120px;background:#3d3120;border-color:#3d3120;color:#f1e6ca}.oracle-letter-ok:hover{background:#4d4030;border-color:#4d4030}.alpha-info .alpha-note{color:var(--text-dim);font-style:italic}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.section-heading h3{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.section-heading h3:before{content:"◆ ";font-size:.65em;vertical-align:1.5px;color:var(--accent-dim)}.title-line{display:flex;align-items:center;gap:7px}.location-pane .section-heading{border-bottom:none;padding-bottom:9px;margin-bottom:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 55%,transparent),color-mix(in srgb,var(--accent) 14%,transparent) 55%,transparent) no-repeat;background-position:left bottom;background-size:100% 1px}.location-pane .section-heading+*{margin-top:0}.location-pane .section-heading+.stash-note{display:block}.section-subtitle{display:block;margin-top:2px;font-size:.6rem;color:var(--text-dim)}.stash-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.stash-note{margin:0;font-size:.68rem;line-height:1.4;color:var(--text-dim)}.stash-list,.stash-loc-group{display:flex;flex-direction:column;gap:4px}.stash-loc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:0 2px 5px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border)}.stash-loc-head span:last-child{color:var(--accent)}.stash-loc-group:first-child .stash-loc-head{margin-top:0}.stash-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-soft)}.stash-name-btn{display:block;min-width:0;padding:0;margin:0;font:inherit;font-size:.72rem;line-height:1.35;text-align:left;color:var(--text-primary);background:none;border:none;cursor:pointer;text-decoration:underline dotted rgba(163,180,255,.45);text-underline-offset:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .12s ease}.stash-name-btn:hover{color:var(--accent)}.merchant-popup .stash-row{flex-wrap:wrap;row-gap:8px}.merchant-popup .stash-name-btn{flex:1 1 100%;display:flex;align-items:baseline;gap:6px;white-space:normal;overflow:visible;text-overflow:clip}.merchant-popup .stash-name-btn-text{min-width:0;white-space:normal;overflow:visible;text-overflow:clip}.merchant-popup .stash-row .merchant-meta{flex-shrink:1;flex-wrap:wrap}.merchant-popup .stash-row .stash-controls,.merchant-popup .stash-name-qty{flex-shrink:0}.stash-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.stash-action-btn{padding:4px 10px;background:var(--bg-soft);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.stash-action-btn:hover:not(:disabled),.stash-action-btn:focus-visible{color:var(--accent)}.stash-action-btn:disabled{opacity:.35;cursor:not-allowed}.stash-subtitle{margin:12px 0 6px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.stash-count{display:block;text-align:right;margin:2px 0 6px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.stash-separator{height:1px;margin:14px 0;background:var(--border)}.stash-row.dim{opacity:.45}.stash-act{flex-shrink:0;padding:3px 10px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.stash-act:hover:not(:disabled):not(.locked){background:var(--bg-hover);border-color:var(--accent);color:var(--accent)}.stash-act:disabled,.stash-act.locked{opacity:.4;cursor:not-allowed}.stash-controls{display:flex;align-items:center;gap:4px}.section-heading .craft-action-btn{align-self:center}.active{color:var(--success)}.muted{color:var(--text-muted)}.region{width:100%;min-width:0;flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.state-message{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--bg-hover);border-radius:6px;font-size:.75rem;color:var(--text-muted)}.loading-indicator{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:var(--accent)}.travelling-panel{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:18px 20px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.travelling-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.travelling-time{font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.travelling-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.travelling-text{display:flex;flex-direction:column;gap:3px;min-width:0}.return-side{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-left:auto}.return-home{padding:5px 12px;font-size:.72rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:6px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.return-home:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,transparent);border-color:var(--accent)}.return-home:disabled{opacity:.45;cursor:not-allowed}.return-note{font-size:.66rem;color:var(--text-dim)}.travelling-progress{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;padding:0;background:none;border:none}.travelling-trip{position:relative;z-index:2;display:flex;align-items:center;gap:10px;width:100%}.trip-location{flex-shrink:0;max-width:40%;line-height:1;font-size:.72rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trip-from{text-align:left}.trip-to{text-align:right}.travelling-track{position:relative;flex:1;min-width:0}.travelling-bar{position:relative;width:100%;height:6px;background:var(--border-light);border-radius:999px;overflow:hidden}.travelling-bar-fill{display:block;height:100%;background:var(--progress-fill);transition:width .1s linear}.travelling-return-marker{position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;transform:translate(-1px);background:var(--accent);border-radius:2px;pointer-events:none;z-index:2;transition:background .15s ease}.travelling-return-marker.passed{background:var(--text-dim);opacity:.55}@media(hover:none)and (pointer:coarse){button,[role=button],.tab,.category-btn,.item-name,.item-use,.equip-sm,.slot-button,.unequip-link,.message-pill,.note-delete,.back-button,.log-clear,.stash-name-btn,.craft-action-btn,.stash-action-btn{-webkit-tap-highlight-color:transparent}}.log-content,.player-area,.inventory,.equipment,.journal,.notes,.social,.journal-embedded,.notes-embedded{overscroll-behavior:contain}.region-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--accent) 35%,var(--border)),transparent);background-repeat:no-repeat;background-position:bottom left;background-size:100% 1px;transform:translateZ(0);backface-visibility:hidden}.region-header .region-icons{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-right:-4px}.region-header .region-icon-btn{flex-shrink:0;display:grid;place-items:center;width:20px;height:18px;padding:0;font-size:.78rem;line-height:1;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:4px;transition:border-color .12s ease,color .12s ease,background .12s ease}.region-header .region-icon-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--accent)}.region-header .region-icon-btn:disabled{cursor:default;opacity:.6}.region-header .region-icon-btn:disabled:hover{background:transparent;border-color:transparent;color:var(--text-secondary)}.region-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.region-type{display:inline-block;padding:2px 9px;font-size:.575rem;line-height:1.4;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:color-mix(in srgb,var(--accent) 80%,var(--text-muted));background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:999px}.region-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.region-header h2:after{content:"❖";margin-left:9px;font-size:.7em;color:var(--accent-dim)}.region-description{max-width:620px;margin:6px 0 0;font-size:.72rem;line-height:1.5;color:var(--text-muted)}.profile-summary{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:12px;background:var(--bg-panel)}.social .profile-summary .profile-message-toggle{margin-left:auto}.profile-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:var(--accent-soft, var(--border));color:var(--accent);border:1px solid var(--border-light);border-radius:50%;font-size:1.2rem;font-weight:800;text-transform:uppercase}.profile-facts{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-name{font-size:.9rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-location{font-size:.72rem;color:var(--text-dim)}.profile-status-row{display:flex;align-items:center;gap:6px;margin-top:4px}.profile-section-title{padding:2px 2px 0;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.profile-skills{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.profile-skill{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--border-light);border-radius:5px}.profile-skill .skill-name{font-size:.76rem;font-weight:600;color:var(--text-primary)}.profile-skill .skill-level{padding:2px 8px;background:var(--accent-soft, var(--border));color:var(--accent);border-radius:999px;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.travel-confirm-popup{position:relative;z-index:1;width:420px;max-width:100%;padding:16px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;display:flex;flex-direction:column}.travel-confirm-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.travel-confirm-header h2{margin:0;font-size:1.05rem;font-weight:700;color:var(--accent)}.travel-confirm-header .close-button{margin:0}.travel-confirm-card{margin-top:14px;padding:14px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:var(--bg-main);border:1px solid var(--border);border-radius:8px}.travel-confirm-card p{margin:0;font-size:.82rem;color:var(--text-secondary)}.travel-confirm-mode{padding:3px 10px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--success);border:none;border-radius:5px;background:color-mix(in srgb,var(--success) 12%,transparent)}.travel-confirm-tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.travel-confirm-type{padding:3px 10px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:5px}.travel-confirm-type.type-city{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.travel-confirm-type.type-wilderness{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.travel-confirm-type.type-settlement{color:var(--info);background:color-mix(in srgb,var(--info) 12%,transparent)}.travel-confirm-hint{font-size:.66rem;color:var(--text-dim)}.travel-confirm-cost{font-size:.72rem;color:var(--text-secondary)}.travel-confirm-cost .btn-gold{margin-left:2px;font-weight:700;color:var(--accent)}.travel-confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:0}.realm-section,.gathering-section{margin-top:20px;padding-top:0}.location-pane>.realm-section:first-child,.location-pane>.gathering-section:first-child{margin-top:4px}.rest-section .state-message{margin-top:10px;margin-bottom:14px}.rest-section .state-message.rest-state-message{color:var(--info);background:color-mix(in srgb,var(--info) 10%,transparent);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.rest-section .state-message+.btn{margin-top:0}.rest-section .section-heading .btn{align-self:center}.rest-section.location-card.is-resting{border-color:var(--info)}.location-card.action-active,.crafting-area.action-active,.crafting-area.location-card.action-active{border-color:var(--success)}.location-card:has(>.crafting-area.action-active){border-color:var(--success)}.gathering-section .pool.action-active{border-color:var(--success);box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 40%,transparent)}.location-card{padding:16px 18px;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 3%,var(--bg-panel)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 2px 10px -7px #000000b3;transition:border-color .14s ease,box-shadow .14s ease}.location-card:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 6px 18px -11px #000000d9,0 0 20px -10px color-mix(in srgb,var(--accent) 65%,transparent)}.location-card.action-active:hover,.location-card:has(>.crafting-area.action-active):hover{border-color:var(--success)}.location-card+.location-card{margin-top:14px}.location-card .section-heading{align-items:flex-start;margin-bottom:12px}.emblem-progress{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;padding:7px 10px;background:color-mix(in srgb,var(--success) 8%,var(--bg-soft));border:1px solid color-mix(in srgb,var(--success) 35%,transparent);border-radius:8px}.emblem-glyph{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:22px;height:22px;font-size:.95rem;line-height:1;color:var(--danger);border:1px solid var(--danger);border-radius:50%}.emblem-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.emblem-count{font-size:.74rem;font-weight:700;color:var(--text-primary)}.emblem-bar{flex:1;height:6px;background:#0000004d;border-radius:999px;overflow:hidden}.emblem-fill{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--success) 70%,#e8c76a),var(--success));border-radius:inherit;transition:width .22s ease-out}.trial-reqs{margin:0 0 12px;padding:0;list-style:none}.trial-reqs li{display:flex;align-items:baseline;gap:8px;padding:3px 0;font-size:.78rem;font-weight:600;color:var(--text-secondary)}.trial-reqs li.met{color:var(--success)}.trial-req-mark{font-weight:700;color:var(--danger)}.trial-reqs li.met .trial-req-mark{color:var(--success)}.trial-error{margin:0 0 10px;font-size:.78rem;font-weight:600;color:var(--danger)}.sealkeeper-offer{display:flex;flex-direction:column;gap:4px;margin:8px 0 0;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.sealkeeper-offer+.stash-note{margin-top:10px}.sealkeeper-offer+.sealkeeper-offer{margin-top:8px}.sealkeeper-offer-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sealkeeper-offer-name{font-size:.78rem;font-weight:600;color:var(--text-primary)}.sealkeeper-offer-head .stash-count{display:inline;margin:0;text-align:right}.sealkeeper-offer.is-held{opacity:.55}.sealkeeper-offer .oracle-give-word{margin-top:6px;align-self:flex-start}.sealkeeper-offer .oracle-lore{display:flex;flex-direction:column;gap:4px;margin-top:2px}.sealkeeper-offer .oracle-lore-line{margin:0;font-size:.72rem;line-height:1.55;font-style:italic;color:var(--text-muted)}.seal-received-tag{display:inline-flex;align-items:center;margin-left:8px;padding:1px 7px;font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--success);background:color-mix(in srgb,var(--success) 16%,transparent);border:1px solid color-mix(in srgb,var(--success) 45%,transparent);border-radius:999px;opacity:1}.course-progress{display:flex;flex-direction:column;gap:4px}.course-progress .bar{margin:4px 0 2px}.course-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.course-fill{background:var(--progress-fill)}.course-lesson{font-style:italic;color:var(--text-dim)}.standings-body{gap:14px}.standings-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;background:var(--bg-soft);overflow:hidden}.standings-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.standings-row+.standings-row{border-top:1px solid var(--border)}.standings-label{font-size:.72rem;color:var(--text-secondary)}.standings-value{font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent)}.standings-progress{height:6px;margin:0 12px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;overflow:hidden}.standings-progress-fill{display:block;height:100%;background:var(--accent);transition:width .2s ease}.merchant-stock-qty{margin-left:6px;font-size:.72rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.category-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-top:14px;padding:10px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-hover) 55%,transparent),var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:8px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 5%,transparent)}.category-bar::-webkit-scrollbar{display:none}.category-btn{position:relative;padding:7px 14px 6px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-hover) 70%,transparent),var(--bg-soft));color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:.625rem;line-height:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease,transform .12s ease,box-shadow .12s ease}.category-btn:hover:not(.active):not(.locked){border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--accent);transform:translateY(-1px);box-shadow:0 0 12px -5px color-mix(in srgb,var(--accent) 70%,transparent)}.category-btn.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#ffe9bf),var(--accent-strong));border-color:color-mix(in srgb,var(--accent) 75%,#ffffff);color:#1f1708;box-shadow:0 0 14px -4px color-mix(in srgb,var(--accent) 75%,transparent),inset 0 1px color-mix(in srgb,#ffffff 45%,transparent)}.category-btn:disabled,.category-btn.locked{background:color-mix(in srgb,var(--bg-soft) 60%,transparent);border-color:color-mix(in srgb,var(--text-dim) 25%,transparent);color:color-mix(in srgb,var(--text-dim) 65%,transparent);cursor:not-allowed;opacity:.45}.category-btn:disabled{pointer-events:none}.category-btn:disabled.active,.category-btn.locked.active{border-color:color-mix(in srgb,var(--success) 30%,transparent);color:color-mix(in srgb,var(--success) 55%,transparent);opacity:.5}.category-btn:disabled.active,.category-btn.locked.active{border-color:color-mix(in srgb,var(--success) 35%,transparent);color:color-mix(in srgb,var(--success) 60%,transparent);opacity:.55}.location-tabs{display:flex;flex-wrap:wrap;align-items:stretch;flex:0 0 auto;min-width:0;gap:3px;padding:10px 0 0}.location-tabs.sub-tabs{padding-top:2px;margin-top:6px;min-height:33px}.location-tabs .tab .tab-icon{margin-right:4px;font-size:.78rem}.location-tabs .tab .tab-mode-tag{margin-left:5px;padding:1px 5px;font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:none;border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,transparent);vertical-align:1px}.location-tabs .tab{position:relative;flex-shrink:0;padding:8px 15px 7px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-hover) 60%,transparent),var(--bg-soft));color:var(--text-secondary);border:1px solid var(--border);border-bottom-color:var(--bg-panel)!important;border-radius:8px 8px 0 0;margin-bottom:0;z-index:1;font-size:.6875rem;line-height:14px;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.location-tabs .tab:hover:not(.active){background:var(--bg-hover);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent);transform:translateY(-1px)}.location-tabs .tab.active{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 24%,var(--bg-panel)),var(--bg-panel));border-color:color-mix(in srgb,var(--accent) 70%,var(--border));color:var(--accent);margin-bottom:0;z-index:2;box-shadow:0 -7px 16px -9px color-mix(in srgb,var(--accent) 90%,transparent),inset 0 1px color-mix(in srgb,#ffffff 8%,transparent)}.location-tabs .tab.locked{color:var(--text-secondary);border-color:var(--border);opacity:.7;min-width:16ch;justify-content:center;pointer-events:auto;cursor:pointer}.location-tabs .tab.locked:hover:not(.active){background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border)}.location-tabs .tab.locked.active{color:var(--text-secondary);border-color:var(--border);opacity:.7}.pickup-dot{position:absolute;top:3px;right:4px;width:7px;height:7px;background:var(--success);border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--bg-dark) 70%,transparent),0 0 7px color-mix(in srgb,var(--success) 80%,transparent)}.location-tabs .tab:disabled.active,.location-tabs .tab:disabled.locked.active{border-color:color-mix(in srgb,var(--success) 30%,transparent);color:color-mix(in srgb,var(--success) 55%,transparent);opacity:.55}.location-pane{flex:1 1 auto;min-height:0;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 110px),var(--bg-panel);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:0 8px 0 0;padding:8px 14px 22px;box-shadow:0 0 26px -16px color-mix(in srgb,var(--accent) 85%,transparent)}.location-pane.travel-pane{padding:14px}.location-pane.is-dead{border-color:#939393}.location-pane.locked{border-color:var(--border)}.gathering-section.remote{opacity:.9}.gathering-section.remote .gather-button,.gathering-section.remote .resource-row{pointer-events:none}.minimap-frame{display:flex;flex-direction:column;gap:6px}.minimap-viewport{position:relative;overflow:hidden;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.minimap-viewport.panning{cursor:grabbing}.minimap-controls{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:5}.minimap-zoom-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--bg-header, #1a1a20);color:var(--text-primary);border:1px solid var(--border, rgba(255, 255, 255, .15));border-radius:6px;font-size:.95rem;line-height:1;cursor:pointer}.minimap-zoom-btn:hover{background:var(--bg-hover, rgba(255, 255, 255, .08))}.travel-minimap{position:relative;width:100%;aspect-ratio:740 / 620;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),radial-gradient(circle at 78% 74%,color-mix(in srgb,var(--info) 7%,transparent),transparent 40%),var(--bg-main);border:1px solid var(--border);border-radius:8px;overflow:hidden}.minimap-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.minimap-loading{padding:14px;font-size:.72rem;color:var(--text-dim);text-align:center}.minimap-canvas{position:absolute;transform-origin:0 0}.travel-minimap .map-node{width:150px;height:88px;padding:10px 12px;filter:grayscale(1);opacity:.3;cursor:default;pointer-events:none}.travel-minimap .map-node.circle{width:160px;height:76px;padding:0 8px}.travel-minimap .map-node.green{filter:none;opacity:1;cursor:pointer;pointer-events:auto;border-color:color-mix(in srgb,var(--success) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--success) 10%,transparent),transparent 55%),var(--bg-panel)}.travel-minimap .map-node.green:hover{transform:translate(-50%,-50%) scale(1.05);border-color:var(--success);box-shadow:0 8px 18px #0006,0 0 16px color-mix(in srgb,var(--success) 40%,transparent);z-index:4}.travel-minimap .map-node.current{height:76px;filter:none;opacity:1;pointer-events:none}.travel-minimap .map-node.circle.current{width:148px;height:88px;padding:0 10px}.travel-minimap .map-node.circle.current .node-name{max-width:128px}.travel-minimap .map-node.bastion,.travel-minimap .map-node.bastion.green,.travel-minimap .map-node.bastion.green:hover{border-color:var(--danger)}.travel-minimap .node-glyph{font-size:.8rem;margin-bottom:2px}.travel-minimap .map-node .node-name{font-size:.66rem;letter-spacing:.03em}.travel-minimap .map-node .node-type{font-size:.52rem;margin-top:1px}.travel-minimap .map-node.circle .node-name{max-width:140px}.travel-minimap .current-label{margin-top:3px;padding:1px 6px;font-size:.55rem}.mode-picker-popup{width:400px;max-width:100%}.mode-picker-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.mode-picker-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:var(--bg-main);border:1px solid var(--border);border-radius:8px;font:inherit;color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .13s ease,background .13s ease,transform .13s ease}.mode-picker-option:hover:not(:disabled){background:var(--bg-soft);border-color:var(--accent);transform:translateY(-1px)}.mode-picker-option:disabled{opacity:.55;cursor:default}.mode-picker-mode{min-width:46px;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--success)}.mode-picker-dest{flex:1;min-width:0;font-size:.78rem;font-weight:600;text-align:right}.mode-picker-dest .dest-place{color:var(--accent);font-weight:700;letter-spacing:.01em;text-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent)}.mode-picker-dest .dest-region{font-size:.64rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);opacity:.8}.mode-picker-from{display:block;margin-top:1px;font-size:.62rem;font-weight:400;color:var(--text-dim)}.mode-picker-meta{margin-left:auto;font-size:.68rem;color:var(--text-dim);white-space:nowrap}.mode-picker-meta .btn-gold{font-weight:700;color:var(--accent)}.travel-note{font-size:.62rem;color:var(--text-dim)}.gather-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 14px;flex-shrink:0;overflow:hidden;z-index:0}.button-label{font-weight:600}.button-label.off{opacity:0}.gather-cancel-x{position:absolute;right:8px;z-index:2;font-size:.7rem;font-weight:700;color:#e74c3c;text-shadow:0 0 3px rgba(0,0,0,.5)}.pool-list{display:flex;flex-direction:column;gap:12px}.pool{margin:0;display:flex;flex-direction:column;gap:0;overflow:hidden;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:6px}.pool-main{display:flex;align-items:stretch;min-width:0}.pool-resources{flex:1;min-width:0;display:flex;flex-direction:column}.pool .gather-button{z-index:0}.pool-header{position:relative;display:flex;align-items:center;gap:10px;padding:8px 10px;overflow:hidden;background:var(--bg-soft);border-bottom:1px solid var(--border-mid)}.pool-header:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--pool-level, 0%);background:color-mix(in srgb,var(--success) 16%,transparent);border-right:1px solid color-mix(in srgb,var(--success) 45%,transparent);transition:width .2s ease;z-index:0}.pool-header .pool-name{position:relative;z-index:1;font-size:.72rem;font-weight:600;color:var(--text-primary)}.pool-header .pool-counts{position:relative;z-index:1;margin-left:auto;font-size:.62rem;color:var(--text-secondary);white-space:nowrap}.pool-gather{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex-shrink:0;padding:8px 20px;border-left:1px solid var(--border-mid)}.gather-stamina{font-size:.55rem;color:var(--text-dim);white-space:nowrap}.gather-float,.craft-float,.use-float{position:absolute;pointer-events:none;z-index:3;font-size:.7rem;font-weight:700;white-space:nowrap;color:var(--success);animation:float-rise 1.6s ease-out forwards}.gather-float{left:0;right:0;top:8px;text-align:center}.gather-float.bad{color:var(--danger)}.craft-float{top:0;right:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.craft-float-anchor{grid-column:2;grid-row:1;position:absolute;left:50%;bottom:100%;display:flex;flex-direction:column;align-items:center;gap:2px;transform:translate(-50%);pointer-events:none;z-index:3}.craft-float-anchor .craft-float{position:static;top:auto;right:auto;align-items:center;animation:float-rise-anchored 1.6s ease-out forwards}.inn-offer-float{color:var(--accent);font-weight:700}.inn-offer-action{position:relative;display:inline-flex}.use-float{display:flex;flex-direction:column;align-items:flex-end;gap:2px}@keyframes float-rise{0%{opacity:1;transform:translateY(-100%)}15%{opacity:1;transform:translateY(calc(-100% - 8px))}70%{opacity:1;transform:translateY(calc(-100% - 20px))}to{opacity:0;transform:translateY(calc(-100% - 32px))}}.idle-toggle{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;flex-shrink:0;border-color:var(--border-mid);border-radius:4px;font-size:.55rem;letter-spacing:.06em}.idle-toggle.active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.resource-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-top:1px solid var(--border-mid)}.resource-row:first-of-type{border-top:none}html[data-theme=dark] .pool,html[data-theme=dark] .pool-header,html[data-theme=dark] .pool-gather,html[data-theme=dark] .resource-row{border-color:#6b6154}html[data-theme=monochrome] .pool,html[data-theme=monochrome] .pool-header,html[data-theme=monochrome] .pool-gather,html[data-theme=monochrome] .resource-row{border-color:#5d5d5d}html[data-theme=high-contrast] .pool,html[data-theme=high-contrast] .pool-header,html[data-theme=high-contrast] .pool-gather,html[data-theme=high-contrast] .resource-row{border-color:#bdbdbd}.resource-row .res-main{flex:1;min-width:0}.resource-row .res-name{font-size:.72rem;font-weight:600;color:var(--text-primary)}.resource-row .res-name.stash-name-btn{display:inline-block;width:auto;max-width:100%;padding:0;margin:0;font:inherit;font-size:.72rem;font-weight:600;line-height:1.35;text-align:left;background:none;border:none;cursor:pointer;text-decoration:underline dotted rgba(163,180,255,.45);text-underline-offset:3px;transition:color .12s ease}.resource-row .res-name.stash-name-btn:hover{color:var(--accent)}.resource-row .res-meta{margin-top:2px;font-size:.62rem;line-height:1.4;color:var(--text-dim)}.resource-row .res-meta b{font-weight:600;color:var(--text-secondary)}.resource-row.locked{opacity:.55}.res-full{font-size:.62rem;font-weight:700;text-transform:uppercase;color:var(--danger)}.pool-note{margin-top:4px;font-size:.62rem;color:var(--text-dim)}.gathering-section .drop-hint{display:block;margin-top:10px}.gathering-section .gather-note{display:block;margin-top:4px}.resource-row .res-meta .res-inline{font-weight:600;color:var(--danger)}.resource-row .res-meta .res-inline.res-met{color:var(--success)}.character{position:relative;z-index:1;width:640px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.character .section-title{font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}.character .section-value{margin-top:5px;padding:9px 10px;background:var(--bg-main);border:1px solid var(--border);border-radius:6px;font-size:.9rem;color:var(--text-primary)}.character .stat-value{margin-bottom:7px;font-size:.85rem;font-weight:600;color:var(--text-primary)}.character .status-bar{width:100%;height:8px;background:var(--bg-dark);border-radius:4px;overflow:hidden}.character .status-fill{height:100%;border-radius:4px;transition:width .15s ease}.character .status-fill.health{background:var(--bar-health)}.character .status-fill.stamina{background:var(--bar-stamina)}.inventory{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.inventory-header{position:sticky;top:-20px;z-index:4;display:flex;flex-direction:column;gap:10px;margin:-20px -20px 0;padding:20px 20px 12px;background:var(--bg-panel)}.inventory-title-row{display:flex;align-items:center;gap:10px}.inventory-glyph{font-size:1.1rem;line-height:1}.inventory-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.inventory-title-row .close-button,.inventory-title-row .inventory-count{margin-left:auto}.inventory-title-row .inventory-count+.close-button{margin-left:0}.inventory-tab-bar{display:flex;gap:4px;flex:1;padding:3px;background:var(--bg-soft);border:1px solid var(--border);border-radius:999px}.inventory-tab-bar .tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;background:transparent;border:none;border-radius:999px;color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:color .12s ease,background .12s ease,box-shadow .12s ease}.inventory-tab-bar .tab:hover:not(.active){color:var(--text-primary);background:var(--bg-hover)}.inventory-tab-bar .tab.active{background:var(--bg-panel);color:var(--accent);box-shadow:0 1px 2px #00000040}.inventory-subtab-bar{flex:none;padding:2px}.inventory-subtab-bar .tab{padding:4px 8px;font-size:.72rem}.inventory-subheader{display:flex;flex-direction:column;gap:6px;padding:10px 2px;text-align:left}.inventory-capacity{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.capacity-bar{height:6px;background:var(--bg-dark);border-radius:3px;overflow:hidden}.capacity-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),#e6b866);transition:width .15s ease}.inventory-character-btn{width:100%}.inventory-cards,.equipment-cards{display:flex;flex-direction:column;gap:12px}.inventory .equipment-cards{margin-top:12px}.category-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px}.category-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--bg-soft);border-bottom:1px solid var(--bg-hover);border-radius:7px 7px 0 0}.category-card-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.category-card-icon{margin-right:6px}.category-card-count{flex-shrink:0;padding:1px 8px;font-size:.68rem;font-weight:700;color:var(--text-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:999px}.category-card-body{padding:8px 12px}.inventory .item{position:relative;display:flex;align-items:center;gap:8px;padding:0;line-height:1.6;border-bottom:1px solid var(--bg-hover);font-size:.82rem}.inventory .item:last-child{border-bottom:none}.inventory .item-name{display:block;min-width:0;padding:0;margin:0;font:inherit;text-align:left;color:var(--text-primary);background:none;border:none;cursor:pointer;text-decoration:underline dotted rgba(163,180,255,.45);text-underline-offset:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;transition:color .12s ease}.inventory .item-name:hover{color:var(--accent)}.inventory .rarity-text-grey{color:#b8bcc4}.inventory .rarity-text-green{color:#71d48a}.inventory .rarity-text-blue{color:#6aa8f5}.inventory .rarity-text-purple{color:#bb8cf2}.inventory .rarity-text-orange{color:#f5a15e}.inventory .rarity-text-red{color:#f27474}.inventory .rarity-text-gold{color:#f0cf6a}.inventory .rarity-text-black{color:var(--text-primary);text-decoration-color:#f0cf6a}.rarity-text-grey.rarity-text-grey.rarity-text-grey{color:#b8bcc4}.rarity-text-green.rarity-text-green.rarity-text-green{color:#71d48a}.rarity-text-blue.rarity-text-blue.rarity-text-blue{color:#6aa8f5}.rarity-text-purple.rarity-text-purple.rarity-text-purple{color:#bb8cf2}.rarity-text-orange.rarity-text-orange.rarity-text-orange{color:#f5a15e}.rarity-text-red.rarity-text-red.rarity-text-red{color:#f27474}.rarity-text-gold.rarity-text-gold.rarity-text-gold{color:#f0cf6a}.rarity-text-black.rarity-text-black.rarity-text-black{color:var(--text-primary)}.item-card-catcher{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;width:100%;height:100%;margin:0;padding:0;background:transparent;border:none;cursor:default}.item-card{position:fixed;z-index:1051;width:240px;padding:10px 12px;background:var(--bg-panel);color:var(--text-primary);border:3px solid var(--border-light);border-radius:8px;box-shadow:0 8px 24px #00000059}.item-card.item-card-border-grey{border-color:#b8bcc473}.item-card.item-card-border-green{border-color:#47be6e73}.item-card.item-card-border-blue{border-color:#5a96f573}.item-card.item-card-border-purple{border-color:#a769eb73}.item-card.item-card-border-orange{border-color:#f0965073}.item-card.item-card-border-red{border-color:#f05a5a73}.item-card.item-card-border-gold{border-color:#e6be5a8c}.item-card.item-card-border-black{border-color:#000000e6}.item-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.item-card-head.dragging{cursor:grabbing}.item-card-name{font-size:.86rem;font-weight:700;color:var(--accent)}.item-card-head .close-button{position:static}.item-card-read{margin-left:auto;padding:3px 10px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#1f1708;background:linear-gradient(180deg,#f4d78b,#d9ab4f);border:1px solid #8a6a2a;border-radius:6px;box-shadow:0 1px #ffffff59 inset}.item-card-read.active{background:linear-gradient(180deg,#e6c473,#c2953f)}.item-card-letter{margin:0 0 8px;padding:10px 10px 8px;background:linear-gradient(180deg,#f6ead0,#e9d7b0);border:1px solid #a98c55;border-radius:6px;box-shadow:0 1px 4px #00000040 inset}.item-card-letter-body{margin:0 0 6px;font-size:.72rem;line-height:1.45;color:#3d2f16}.item-card-letter-sign{margin:0 0 8px;font-size:.72rem;font-style:italic;text-align:right;color:#5a4526}.item-card-letter-meta{display:grid;gap:4px;padding-top:6px;border-top:1px dashed #a98c55}.item-card-letter-meta div{display:flex;flex-direction:column;gap:1px}.item-card-letter-meta span{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a6a2a}.item-card-letter-meta strong{font-size:.68rem;font-weight:600;color:#3d2f16}.item-card-desc{margin:0 0 6px;font-size:.72rem;color:var(--text-secondary)}.item-card-rarity{display:inline-block;margin:0 0 6px;padding:1px 8px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px}.item-card-badges{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.item-card-labels{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.item-card-badges .item-card-rarity{margin:0}.item-card-gold{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-weight:700;color:var(--accent)}.item-card-rarity-grey{color:#b8bcc4;background:#b8bcc424;border:1px solid rgba(184,188,196,.45)}.item-card-rarity-green{color:#71d48a;background:#33ad5824;border:1px solid rgba(71,190,110,.45)}.item-card-rarity-blue{color:#6aa8f5;background:#4285f424;border:1px solid rgba(90,150,245,.45)}.item-card-rarity-skill{color:#e6c07b;background:#e6c07b21;border:1px solid rgba(230,192,123,.45)}.item-card-rarity-purple{color:#bb8cf2;background:#9350dc24;border:1px solid rgba(167,105,235,.45)}.item-card-rarity-orange{color:#f5a15e;background:#dc782824;border:1px solid rgba(240,150,80,.45)}.item-card-rarity-red{color:#f27474;background:#dc3c3c24;border:1px solid rgba(240,90,90,.45)}.item-card-rarity-gold{color:#f0cf6a;background:#c8a02829;border:1px solid rgba(230,190,90,.5)}.item-card-rarity-black{color:#000;background:#00000038;border:1px solid rgba(0,0,0,.85)}.item-card-meta{width:100%;margin:6px 0 0;font-size:.72rem;border-collapse:collapse}.item-card-meta th{padding:2px 0;font-weight:600;text-align:left;color:var(--text-secondary)}.item-card-meta td{padding:2px 0;font-weight:600;text-align:right;color:var(--text-primary)}.item-card-meta td.combat-unmet{color:var(--danger)}.item-card-effects{margin:0;padding:0;list-style:none}.item-card-effects li{padding:2px 0;font-size:.76rem;font-weight:600;color:var(--success);border-top:1px solid var(--bg-hover)}.inventory .item-use{padding:1px 9px;font-size:.68rem;font-weight:600;color:var(--text-primary);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;cursor:pointer;flex-shrink:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.inventory .item-use:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.inventory .item-use-consume{color:var(--bg-dark);background:var(--success);border-color:var(--success)}.inventory .item-use-consume:hover:not(:disabled){background:color-mix(in srgb,var(--success) 75%,#000);border-color:color-mix(in srgb,var(--success) 75%,#000);color:var(--bg-dark)}.inventory .item-use:disabled{opacity:.5;cursor:default}.inventory .consume-qty{width:2.4rem;padding:1px 4px;font-size:.68rem;font-weight:600;color:var(--text-primary);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;text-align:center;flex-shrink:0;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.inventory .consume-qty::-webkit-outer-spin-button,.inventory .consume-qty::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.inventory .consume-qty:disabled{opacity:.5}.inventory .item-quantity{flex-shrink:0;padding:0 7px;font-size:.7rem;font-weight:700;color:var(--text-secondary);background:var(--bg-soft);border:1px solid var(--border);border-radius:999px;line-height:1.5}.inventory .inventory-message{margin:0;padding:12px 0;font-size:.75rem;color:var(--text-muted)}.inventory .use-error{margin:0 0 8px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger) 10%,var(--bg-panel));font-size:.72rem;font-weight:600;color:var(--danger)}.inventory .empty{margin:0;padding:14px 0;font-size:.8rem;font-style:italic;text-align:center;color:var(--text-dim)}.character-identity{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;margin-top:14px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.character-name{font-family:Cinzel,serif;font-size:1rem;font-weight:700;letter-spacing:.04em;color:var(--accent)}.character-where{font-size:.74rem;color:var(--text-muted)}.character-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.stat-chip{display:flex;flex-direction:column;gap:5px;padding:8px 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.stat-chip-head{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.stat-chip-value{font-size:.82rem;font-weight:700;color:var(--text-primary)}.stat-bar{height:6px;background:var(--bg-dark);border-radius:3px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:3px;transition:width .15s ease}.stat-bar-fill-hp{background:var(--bar-health)}.stat-bar-fill-stamina{background:var(--bar-stamina)}.slot-empty{display:flex;align-items:center;gap:8px;padding:12px 10px;background:color-mix(in srgb,var(--bg-main) 55%,transparent);border:1px dashed var(--border-light);border-radius:7px;font-size:.78rem;color:var(--text-dim)}.slot-empty-icon{font-size:1rem;filter:grayscale(.4) opacity(.75)}.character-hint{margin:12px 0 0;font-size:.72rem;text-align:center;color:var(--text-dim)}.character-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-chip-vital{gap:7px}.vital-head{display:flex;align-items:center;gap:8px}.vital-head .stat-chip-value{margin-left:auto;font-variant-numeric:tabular-nums}.stat-chip-sub{font-size:.62rem;font-weight:600;color:var(--text-dim)}.stat-tile{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;font-size:.95rem;line-height:1;background:color-mix(in srgb,var(--accent) 14%,var(--bg-main));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:6px}.stat-chip-attr{align-items:center;gap:3px;padding:10px 8px;position:relative;overflow:hidden;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--bg-soft)),var(--bg-soft));border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.stat-chip-attr:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:.65}.stat-chip-attr .stat-tile{width:27px;height:27px;font-size:.85rem}.stat-chip-attr .stat-chip-value{margin-left:0;font-size:1.3rem;font-weight:800;font-variant-numeric:tabular-nums}.stat-chip-attr .stat-chip-note{font-size:.55rem;letter-spacing:.02em}.stat-chip-dormant{opacity:.55;filter:saturate(.4)}.stat-chip-dormant .stat-chip-note{color:var(--text-dim);font-style:italic}.stat-chip-value-armed{color:var(--accent)}.stat-chip-pct{margin-left:4px;font-size:.6rem;font-weight:700;color:var(--text-dim)}.attribute-points-note{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:10px;padding:8px 12px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-soft));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;font-size:.74rem;color:var(--text-primary)}.attribute-points-count{font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}.attr-spend{margin-top:2px;padding:4px 0;width:100%;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:6px;background:color-mix(in srgb,var(--accent) 16%,var(--bg-soft));font-weight:800;font-size:.85rem;line-height:1;color:var(--accent);cursor:pointer;transition:background .12s ease,transform .12s ease}.attr-spend:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 30%,var(--bg-soft));transform:translateY(-1px)}.attr-spend:disabled{opacity:.35;cursor:default}.stat-chip-note{font-size:.6rem;letter-spacing:.04em;color:var(--text-dim)}.arsenal-body{display:flex;flex-direction:column;gap:10px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}.slot-grid-hands{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.slot-card{display:flex;flex-direction:column;gap:7px;min-height:76px;padding:9px 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.slot-card:hover{border-color:var(--border-light);transform:translateY(-1px)}.slot-card-filled{background:linear-gradient(180deg,color-mix(in srgb,var(--rarity, var(--accent)) 9%,var(--bg-soft)),var(--bg-soft));border-color:color-mix(in srgb,var(--rarity, var(--accent)) 45%,var(--border))}.slot-card-filled:hover{border-color:color-mix(in srgb,var(--rarity, var(--accent)) 75%,var(--border));box-shadow:0 3px 12px color-mix(in srgb,var(--rarity, var(--accent)) 14%,transparent)}.slot-card-hand{min-height:88px}.slot-card-head{display:flex;align-items:center;gap:6px}.slot-tone-grey{--rarity: rgba(184, 188, 196, .85)}.slot-tone-green{--rarity: rgba(71, 190, 110, .9)}.slot-tone-blue{--rarity: rgba(90, 150, 245, .9)}.slot-tone-purple{--rarity: rgba(167, 105, 235, .9)}.slot-tone-orange{--rarity: rgba(240, 150, 80, .9)}.slot-tone-red{--rarity: rgba(240, 90, 90, .9)}.slot-tone-gold{--rarity: rgba(230, 190, 90, .95)}.slot-card-name{flex:1;font-size:.62rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted)}.slot-card-remove{display:grid;place-items:center;width:18px;height:18px;padding:0;font-size:.85rem;line-height:1;color:var(--text-dim);background:transparent;border:1px solid transparent;border-radius:50%;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.slot-card-remove:hover:not(:disabled){color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.slot-card-remove:disabled{opacity:.5;cursor:default}.slot-card-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;margin:0;font:inherit;text-align:left;color:var(--text-primary);background:color-mix(in srgb,var(--bg-main) 55%,transparent);border:1px solid color-mix(in srgb,var(--rarity, var(--border)) 35%,var(--border));border-radius:7px;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.slot-card-item:hover{border-color:var(--rarity, var(--accent));background:color-mix(in srgb,var(--rarity, var(--accent)) 8%,var(--bg-main));transform:translateY(-1px)}.slot-item-tile{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;font-size:1rem;line-height:1;background:color-mix(in srgb,var(--rarity, var(--accent)) 14%,var(--bg-soft));border:1px solid color-mix(in srgb,var(--rarity, var(--accent)) 45%,transparent);border-radius:6px;box-shadow:0 0 8px color-mix(in srgb,var(--rarity, var(--accent)) 16%,transparent)}.slot-item-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.slot-item-name{font-size:.78rem;font-weight:700;line-height:1.25;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;transition:color .12s ease}.slot-card-item:hover .slot-item-name{color:var(--accent)}.slot-item-rarity{font-size:.54rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rarity, var(--text-dim))}.slot-item-arrow{margin-left:auto;font-size:.95rem;line-height:1;color:var(--rarity, var(--accent));opacity:0;transform:translate(-3px);transition:opacity .14s ease,transform .14s ease}.slot-card-item:hover .slot-item-arrow{opacity:1;transform:none}.slot-card-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:34px;gap:6px;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);background:color-mix(in srgb,var(--bg-main) 45%,transparent);border:1px dashed var(--border-mid);border-radius:6px}.slot-card-empty-icon{font-size:.85rem;filter:grayscale(1);opacity:.45}.slot-divider{display:flex;align-items:center;gap:10px}.slot-divider:before,.slot-divider:after{content:"";flex:1;height:1px;background:var(--bg-hover)}.slot-divider span{font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.skills{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.skills-header{display:flex;align-items:center;justify-content:space-between;gap:12px;height:30px}.skills-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.skills .skills-group{margin-top:14px;border:1px solid var(--border);border-radius:8px;overflow:hidden;--type-accent: var(--accent)}.skills .skills-group:first-child{margin-top:4px}.skills .skills-group[data-skill-type=gathering]{--type-accent: var(--success)}.skills .skills-group[data-skill-type=crafting]{--type-accent: var(--warning)}.skills .skills-group[data-skill-type=combat]{--type-accent: var(--danger)}.skills .skills-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-soft);border-bottom:1px solid var(--border)}.skills .skills-group-icon{font-size:.78rem;line-height:1}.skills .skills-group-label{flex:1;margin:0;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--type-accent)}.skills .skills-group-count{padding:1px 7px;font-size:.6rem;font-weight:700;letter-spacing:.04em;color:var(--type-accent);background:var(--bg-panel);border:1px solid var(--border-light);border-radius:999px}.skills .skill-list{width:100%}.skills .skill{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--bg-hover);font-size:.82rem}.skills .skill:last-child{border-bottom:none}.skills .skill-main{min-width:0}.skills .skill-name{min-width:0;color:var(--text-primary)}.skills .skill-xp{font-size:.62rem;color:var(--text-dim)}.skills .skill-info{display:flex;align-items:flex-end;justify-content:flex-end;flex-direction:column;min-width:30px;flex-shrink:0}.skills .skill-level{color:var(--accent);font-weight:600;text-align:right}.skills .skill-next{font-size:.58rem;color:var(--text-muted);text-align:right;white-space:nowrap}.skills .status{margin:0;padding:8px 0;font-size:.85rem;color:var(--text-muted)}.skills .skill-section{margin-bottom:12px}.skills .skill-section-title{padding:4px 4px 2px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.skills .skill-locked{display:flex;flex-direction:column;align-items:stretch;gap:1px;opacity:.5}.skills .skill-locked .skill-info{min-width:0;width:100%;align-items:flex-start}.skills .skill-locked .skill-next{white-space:normal;font-size:.65rem;line-height:1.45;text-align:left}.skills .skill-locked .skill-hint{white-space:normal;font-size:.65rem;line-height:1.45;font-style:italic;text-align:left;color:var(--text-muted)}.skills .skill-locked .skill-name{color:var(--text-muted)}.skills .skill-tabs{display:flex;gap:4px;margin-bottom:8px}.skills .skill-tab{flex:1;padding:6px 12px;border:1px solid var(--bg-hover);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-align:center}.skills .skill-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.skills .skill-tab.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.map{position:relative;z-index:1;width:820px;max-width:100%;max-height:calc(100vh - 48px);padding:20px;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 60%),var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 26px 60px #00000073,inset 0 1px color-mix(in srgb,var(--accent) 22%,transparent);overflow:hidden;display:flex;flex-direction:column}.map:before{content:"";position:absolute;top:0;left:20px;right:20px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);pointer-events:none}.map-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.map-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.map-header h2:after{content:"❖";margin-left:9px;font-size:.7em;color:var(--accent-dim)}.map-header-actions{display:flex;align-items:center;gap:8px}.map-zoom{display:flex;gap:4px}.map-zoom button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:1rem;line-height:1;transition:background .12s ease,color .12s ease,border-color .12s ease}.map-zoom button:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.map-zoom button:disabled{opacity:.4;cursor:default}.map-area{position:relative;width:740px;height:620px;flex-shrink:0;margin:auto;background:radial-gradient(circle at 24% 18%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 42%),radial-gradient(circle at 78% 74%,color-mix(in srgb,var(--info) 7%,transparent),transparent 40%),radial-gradient(circle at 55% 52%,color-mix(in srgb,var(--success) 5%,transparent),transparent 55%),var(--bg-main);border-radius:8px}.map-area:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--border-light) 25%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border-light) 25%,transparent) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 88%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 88%);pointer-events:none}.map .map-area{-webkit-user-select:none;user-select:none;cursor:grab}.map .map-area.panning{cursor:grabbing}.map .map-content{position:absolute;top:0;left:0;transform:scale(var(--map-zoom, 1));transform-origin:top left}.map-frame{position:relative;height:620px;min-height:0;margin-top:16px;overflow:hidden;background:var(--bg-main);border:1px solid var(--border-light);border-radius:8px}.map-frame:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 70px #00000073;pointer-events:none}.map-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;touch-action:pan-x pan-y}.map-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.map-edge{stroke:color-mix(in srgb,var(--text-dim) 65%,transparent);stroke-width:2;fill:none;opacity:.9}.map .map-edge{stroke:var(--accent);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent))}.map-edge.cart{stroke:var(--accent);stroke-width:2.2;stroke-dasharray:7 6;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent));animation:edge-march 1.1s linear infinite}.map-edge.fly{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:1 7;stroke-linecap:round;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent));animation:edge-march-fly 2.4s linear infinite}@keyframes edge-march{to{stroke-dashoffset:-26}}@keyframes edge-march-fly{to{stroke-dashoffset:-16}}@keyframes edge-march-boat{to{stroke-dashoffset:-30}}.map-edge.boat{stroke:#4f93c8;stroke-dasharray:10 5;stroke-width:2.2;filter:drop-shadow(0 0 3px color-mix(in srgb,#4f93c8 55%,transparent));animation:edge-march-boat 1.1s linear infinite}.travel-minimap .map-edge.green{stroke:color-mix(in srgb,var(--success) 80%,transparent);stroke-width:2.4;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--success) 55%,transparent))}.travel-minimap .map-edge.walk-active{stroke:var(--accent);stroke-width:2.4;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent))}.travel-minimap .map-edge.cart-active{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:7 6;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent));animation:edge-march 1.1s linear infinite}.travel-minimap .map-edge.fly-active{stroke:var(--accent);stroke-width:2.4;stroke-dasharray:1 7;stroke-linecap:round;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--accent) 55%,transparent));animation:edge-march-fly 2.4s linear infinite}.travel-minimap .map-edge.boat-active{stroke:#4f93c8;stroke-dasharray:10 5;stroke-width:2.4;filter:drop-shadow(0 0 3px color-mix(in srgb,#4f93c8 55%,transparent));animation:edge-march-boat 1.1s linear infinite}.travel-minimap .map-edge.dash-inactive{stroke:color-mix(in srgb,var(--text-dim) 55%,transparent);stroke-dasharray:7 6;filter:none;opacity:.6}.map-edge.edge-back,.travel-minimap .map-edge.edge-back{animation-direction:reverse}.map-player{position:absolute;transform:translate(-50%,-50%);width:15px;height:15px;background:radial-gradient(circle at 35% 30%,#dcecc6,var(--success) 55%,color-mix(in srgb,var(--success) 65%,#000));border:2px solid var(--bg-main);border-radius:50%;box-shadow:0 0 10px color-mix(in srgb,var(--success) 75%,transparent);pointer-events:none;z-index:6}.map-player.moving{animation:map-player-pulse 1s ease-in-out infinite}@keyframes map-player-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 55%,#000),0 0 6px var(--success)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 45%,transparent),0 0 16px var(--success)}}.map-node{position:absolute;transform:translate(-50%,-50%);width:150px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 55%),var(--bg-panel);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:6px;box-shadow:0 8px 18px #0006,inset 0 1px color-mix(in srgb,var(--accent) 18%,transparent);text-align:center;cursor:pointer;transition:transform .13s ease,border-color .13s ease,box-shadow .13s ease}.map-node.circle{width:160px;height:76px;padding:0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%}.map-node.circle .node-name{max-width:120px}.map-node.city{border-radius:4px}.map-node.settlement{border-radius:16px}.map-node:hover,.map-node.selected{transform:translate(-50%,-50%) scale(1.05);border-color:var(--accent);box-shadow:0 10px 26px #00000080,0 0 14px color-mix(in srgb,var(--accent) 35%,transparent);z-index:4}.map-node.current{border-color:var(--success);border-style:solid;border-width:2px;animation:map-current-glow 2.4s ease-in-out infinite}@keyframes map-current-glow{0%,to{box-shadow:0 8px 18px #0006,0 0 0 1px color-mix(in srgb,var(--success) 45%,transparent)}50%{box-shadow:0 8px 18px #0006,0 0 0 5px color-mix(in srgb,var(--success) 20%,transparent),0 0 18px color-mix(in srgb,var(--success) 40%,transparent)}}@keyframes map-current-glow-danger{0%,to{box-shadow:0 8px 18px #0006,0 0 0 1px color-mix(in srgb,var(--danger) 45%,transparent)}50%{box-shadow:0 8px 18px #0006,0 0 0 5px color-mix(in srgb,var(--danger) 20%,transparent),0 0 18px color-mix(in srgb,var(--danger) 40%,transparent)}}.map-node.current .node-name{color:var(--success)}.map-node.circle.current{width:210px;height:110px}.map-node.circle.current .node-name{max-width:190px}.map-node.locked{border-color:var(--danger);opacity:.7}.map-node.locked .node-name{color:var(--danger);font-weight:600}.map-node.secret{background:repeating-linear-gradient(45deg,var(--bg-soft),var(--bg-soft) 9px,color-mix(in srgb,var(--bg-soft) 88%,var(--accent)) 9px,color-mix(in srgb,var(--bg-soft) 88%,var(--accent)) 18px);border-style:dashed;border-color:color-mix(in srgb,var(--text-muted) 55%,transparent)}.map-node.secret .node-name{color:var(--text-muted);font-weight:700}.map-node.secret .node-type{color:var(--text-muted)}.map-node.bastion{border:2px solid var(--danger);opacity:1}.map-node.bastion.current{animation:map-current-glow-danger 2.4s ease-in-out infinite}.map-node.bastion .node-battle-glyph{position:absolute;left:100%;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;margin:0;width:36px;height:36px;background:var(--bg-panel);border:2px solid var(--danger);border-radius:50%;font-size:1.4rem;line-height:1;box-shadow:0 4px 10px #00000073;z-index:1}.map-battle-glyph{font-size:16px;font-weight:700;fill:var(--danger);stroke:#0000008c;stroke-width:3px;paint-order:stroke;pointer-events:none}.node-battle-glyph{display:block;margin-bottom:2px;font-size:1rem;line-height:1;color:var(--danger);filter:drop-shadow(0 1px 2px rgb(0 0 0 / 55%))}.battle-badge{font-size:.95rem;color:var(--danger)}.node-glyph{display:block;margin-bottom:3px;font-size:1.05rem;line-height:1;filter:saturate(.85)}.map-node .node-name{font-size:.82rem;font-weight:700;letter-spacing:.05em;color:var(--accent)}.map-node .node-type{margin-top:2px;font-size:.6rem;color:var(--text-dim)}.current-label{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:2px 8px;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 40%,transparent);border-radius:999px}.current-label:before{content:"";width:5px;height:5px;background:var(--success);border-radius:50%}.map-region-popup{position:relative;z-index:1;width:400px;max-width:100%;max-height:80vh;padding:22px 22px 20px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 130px),var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 26px 60px #00000073,inset 0 1px color-mix(in srgb,var(--accent) 22%,transparent);overflow-y:auto}.map-region-popup:before{content:"";position:absolute;top:0;left:20px;right:20px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);pointer-events:none}.map-region-header{position:sticky;top:-22px;z-index:4;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-22px -22px 0;padding:22px 22px 0;background:inherit}.map-region-type{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;padding:3px 10px;font-size:.57rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px}.map-region-type:before{content:"";width:5px;height:5px;background:var(--accent);border-radius:1px;transform:rotate(45deg)}.map-region-header h2{margin:0;font-family:Cinzel,serif;font-size:1.24rem;font-weight:700;letter-spacing:.05em;color:var(--text-primary);text-shadow:0 1px 0 rgba(0,0,0,.35)}.map-region-header h2:after{content:"❖";margin-left:9px;font-size:.68em;color:var(--accent-dim);vertical-align:middle}.map-region-header .close-button{margin:0;flex-shrink:0}.map-region-description,.map-region-hint{margin:14px 0 0;padding:9px 12px;font-size:.74rem;line-height:1.55;font-style:italic;color:var(--text-secondary);background:color-mix(in srgb,var(--accent) 6%,transparent);border-left:2px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:0 6px 6px 0}.map-region-subtitle{margin:12px 0 6px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.map-region-card{margin-top:16px;padding:13px 14px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 45%),var(--bg-soft);border:1px solid var(--border-light);border-radius:9px}.map-region-card .map-region-subtitle{display:flex;align-items:center;gap:8px;margin:0;font-size:.64rem;letter-spacing:.12em;color:var(--accent)}.map-region-card .map-region-subtitle:before{font-size:.95em;line-height:1}.sub-locations:before{content:"🗺️"}.sub-folk:before{content:"👥"}.sub-resources:before{content:"🌿"}.map-region-card .separator{height:1px;margin:9px 0 11px;border-top:none;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent),color-mix(in srgb,var(--accent) 18%,transparent) 55%,transparent)}.map-region-card:last-child{margin-bottom:2px}.map-region-state{display:flex;align-items:center;gap:8px;padding:14px 0;font-size:.72rem;color:var(--text-muted)}.region-locations-list{margin:0;padding:0;list-style:none}.region-location-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 -10px;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:6px;transition:background .12s ease}.region-location-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.region-location-item:last-child{border-bottom:none}.region-location-name{flex:1;min-width:0;font-size:.76rem;font-weight:600;color:var(--text-primary)}.region-location-type{flex-shrink:0;padding:2px 8px;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);text-align:right;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:999px}.region-npc-list{margin:0;padding:0;list-style:none}.region-npc-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 -10px;padding:7px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);border-radius:6px;transition:background .12s ease}.region-npc-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.region-npc-item:last-child{border-bottom:none}.region-npc-avatar{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;font-family:Cinzel,serif;font-size:.72rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:50%}.region-npc-name{flex:1;min-width:0;font-size:.76rem;font-weight:600;color:var(--text-primary)}.region-npc-location{flex-shrink:0;padding:2px 8px;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);text-align:right;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px}.map-resource-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.map-resource-tab{position:relative;padding:5px 11px;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:999px;font-size:.67rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.map-resource-tab:hover{color:var(--text-primary);border-color:var(--accent-dim)}.map-resource-tab.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.region-location-resources-empty{margin:0;font-size:.68rem;color:var(--text-dim)}.region-resource-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px}.region-resource-item{display:flex;flex-direction:column;gap:4px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--border-light) 75%,transparent);border-radius:7px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 55%),var(--bg-panel)}.region-resource-name{font-size:.75rem;font-weight:700;letter-spacing:.03em;color:var(--accent)}.region-resource-items{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}.region-resource-item-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.67rem;color:var(--text-muted)}.region-resource-item-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-resource-item-level{flex-shrink:0;padding:1px 7px;font-size:.55rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px}.map-legend{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:7px;padding:4px 11px;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);background:var(--bg-soft);border:1px solid var(--border-light);border-radius:999px}.legend-item svg{display:block;width:34px;height:10px}.map-info{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:12px;border-top:1px solid var(--border);font-size:.72rem;color:var(--text-muted)}.discovered-count{padding:2px 10px;font-size:.68rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px}.equipment{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.equipment-slot{width:100%;font:inherit;text-align:left}.equipment-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0;background:none;border:none;border-bottom:1px solid var(--bg-hover);line-height:1.6;font-size:.82rem;color:var(--text-primary)}.equipment-slot:disabled{cursor:default;opacity:.7}.slot-title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--text-primary)}.slot-button{flex-shrink:0;padding:1px 8px;background:var(--bg-soft);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.68rem;font-weight:600;cursor:pointer}.slot-button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.slot-button:disabled{opacity:.5;cursor:default}.slot-button-group{display:flex;flex-shrink:0;gap:5px}.slot-button-secondary{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.slot-button-secondary:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.equipment-slot:last-child{border-bottom:none}.back-button{margin-bottom:12px;padding:5px 12px;background:var(--bg-soft);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.8rem;cursor:pointer}.back-button:hover{border-color:var(--accent)}.tool-info{display:flex;flex-direction:column;min-width:0;flex:1}.tool-req{font-size:.65rem;color:var(--error)}.tool-req-met{color:var(--success)}.equip-locked{flex-shrink:0;font-size:.68rem;font-weight:600;color:var(--text-muted);opacity:.5}.equipment .empty{margin:0;padding:12px 0;font-size:.85rem;color:var(--text-muted)}.notes{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.notes-header{position:sticky;top:-20px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 0;padding:20px 20px 0;background:inherit}.notes-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.notes-count{margin-top:8px;font-size:.72rem;color:var(--text-muted)}.notes-embedded{padding:8px 0}.notes-embedded .notes-count{margin-bottom:8px}.notes-embedded .notes-list{display:flex;flex-direction:column;gap:4px}.notes-embedded .note{padding:4px 8px;border-radius:4px;background:var(--bg-soft)}.notes-embedded .note-body{font-size:.75rem;color:var(--text-primary)}.notes-embedded .note-actions{font-size:.7rem;color:var(--text-muted)}.notes-embedded .note-form{margin-top:8px}.notes-embedded .note-input{font-size:.75rem;min-height:40px}.notes-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.note-body{flex:1;min-width:0;font-size:.85rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.note-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.note-date{font-size:.68rem;color:var(--text-muted)}.note-delete{width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:5px;cursor:pointer;font-size:1rem;transition:background .12s ease,color .12s ease,border-color .12s ease,opacity .12s ease}.note-delete:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger);border-color:var(--danger)}.note-delete:disabled{opacity:.45;cursor:not-allowed}.note-form{display:flex;flex-direction:column;gap:8px}.note-input{width:100%;min-height:88px;resize:none;padding:10px 12px;background:var(--bg-soft);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-family:inherit;font-size:.85rem;line-height:1.5}.note-input:focus{outline:none;border-color:var(--accent-dim)}.note-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-counter{font-size:.72rem;color:var(--text-muted)}.note-form-actions{display:flex;align-items:center;gap:10px}.note-cap{font-size:.72rem;font-weight:600;color:var(--danger)}.notes-status,.notes-empty{margin:0;padding:12px 0;font-size:.85rem;color:var(--text-muted)}.feedback-panel{width:520px}.feedback-intro{margin:10px 0 14px;font-size:.85rem;line-height:1.5;color:var(--text-secondary)}.feedback-form{display:flex;flex-direction:column;gap:10px}.feedback-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.feedback-kind{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px;font:inherit;text-align:left;color:var(--text-secondary);background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.feedback-kind:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.feedback-kind.active{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 12%,var(--bg-soft));border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.feedback-kind-icon{font-size:1rem}.feedback-kind-label{font-size:.82rem;font-weight:700}.feedback-kind-hint{font-size:.68rem;line-height:1.35;color:var(--text-muted)}.feedback-title{width:100%;padding:9px 12px;font:inherit;font-size:.9rem;color:var(--text-primary);background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .12s ease}.feedback-title:focus{border-color:var(--accent)}.feedback-body{min-height:96px;resize:vertical}.feedback-error{margin:0;font-size:.8rem;color:var(--danger)}.feedback-list-head{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.feedback-list{max-height:260px;margin-top:8px}.feedback-entry{gap:4px}.feedback-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-entry-kind{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.feedback-status{padding:2px 8px;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;border:1px solid var(--border)}.feedback-status.status-open{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent)}.feedback-status.status-planned{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 12%,transparent)}.feedback-status.status-done{color:var(--success);border-color:color-mix(in srgb,var(--success) 45%,var(--border));background:color-mix(in srgb,var(--success) 12%,transparent)}.feedback-status.status-declined{color:var(--text-muted);background:transparent}.feedback-entry-title{font-size:.9rem;font-weight:700;color:var(--text-primary)}.feedback-entry-body{font-size:.8rem;line-height:1.45;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.journal{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.journal-header{position:sticky;top:-20px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 0;padding:20px 20px 0;background:inherit}.journal-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.journal-embedded{padding:8px 0}.journal-embedded .journal-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.journal-embedded .journal-entry{display:flex;align-items:flex-start;gap:10px;padding:6px 8px;background:var(--bg-soft);border-radius:4px}.journal-embedded .journal-date{flex-shrink:0;font-size:.7rem;color:var(--text-muted)}.journal-embedded .journal-body{display:flex;flex-direction:column;gap:2px}.journal-embedded .journal-title{font-size:.75rem;font-weight:600;color:var(--text-primary)}.journal-embedded .journal-text{font-size:.72rem;color:var(--text-muted)}.journal-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.journal-entry{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.journal-date{flex-shrink:0;min-width:96px;font-size:.68rem;line-height:1.4;color:var(--text-muted)}.journal-body{display:flex;flex-direction:column;gap:2px;min-width:0}.journal-title{font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:.03em;text-transform:uppercase}.journal-text{font-size:.85rem;line-height:1.5;color:var(--text-primary)}.journal-status,.journal-empty{margin:0;padding:12px 0;font-size:.85rem;color:var(--text-muted)}.social{position:relative;z-index:1;width:480px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;display:flex;flex-direction:column;overflow-y:auto}.social-header{position:sticky;top:-20px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 0;padding:20px 20px 0;background:inherit}.social-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.social-actions{display:flex;align-items:center;gap:8px}.social-state{display:flex;align-items:center;gap:8px;padding:16px;font-size:.72rem;color:var(--text-muted)}.social-list{margin:0;padding:4px 0;list-style:none;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.social-tabs{display:flex;position:sticky;top:-20px;z-index:2;background:var(--bg-panel);margin:0 -20px;padding:10px 20px 12px;gap:0}.social-tab{flex:1;position:relative;padding:8px 12px 7px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;transition:color .12s ease,border-color .12s ease}.social-tab:hover{color:var(--text-primary)}.social-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.social-toggle{position:relative}.social-toggle-badge{position:absolute;top:-5px;right:-3px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:#fff;border-radius:8px;font-size:.6rem;font-weight:700;line-height:1;z-index:1}.chat-unread-dot{position:absolute;top:4px;right:4px;width:9px;height:9px;background:#22c55e;border-radius:50%;box-shadow:0 0 0 2px var(--bg-header);z-index:1}.chat-menu-wrap{position:relative;display:inline-flex}.chat-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:150px;max-height:60vh;overflow-y:auto;padding:4px;background:var(--bg-header, #1a1a20);border:1px solid var(--border, rgba(255, 255, 255, .12));border-radius:10px;box-shadow:0 10px 30px #0006;z-index:1100}.chat-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.chat-menu-item:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.chat-menu-icon{font-size:1rem;line-height:1}.chat-menu-label{font-size:.72rem;color:var(--text-muted)}.chat-menu-item:hover .chat-menu-label{color:var(--text-primary)}.chat-menu--up{top:auto;bottom:calc(100% + 6px);right:50%;transform:translate(50%)}.chat-menu-dot{width:8px;height:8px;margin-left:auto;border-radius:50%;background:#22c55e;box-shadow:0 0 6px #22c55e}.social-badge{position:absolute;top:2px;right:4px;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:#fff;border-radius:8px;font-size:.6rem;font-weight:700;line-height:1}.social-section-title{margin:14px 0 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.social-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg-soft);border:1px solid var(--border-light);border-radius:6px;transition:background .12s ease}.social-row:hover{background:var(--bg-hover, var(--border))}.social-row-open{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:0;background:transparent;color:inherit;border:none;text-align:left;cursor:pointer;transition:background .12s ease}.social-row-open:hover{background:var(--bg-hover)}.social-row-open:disabled{cursor:default;pointer-events:none}.social-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--accent-soft, var(--border));color:var(--accent);border:1px solid var(--border-light);border-radius:50%;font-size:.85rem;font-weight:800;text-transform:uppercase}.social-row-info{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;gap:1px}.social-row-name-row{display:flex;align-items:center;flex-wrap:nowrap;min-width:0;gap:6px}.social-row-name{font-size:.78rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-row-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:5px;font-size:.62rem;font-weight:600;white-space:nowrap}.social-row-status.status-active{color:var(--success);background:#7fa05a1a}.social-row-status.status-resting{color:var(--info);background:#5f8ea01a}.social-row-status.status-traveling{color:var(--accent);background:#d49a3f1a}.social-row-status.status-dead{color:var(--danger);background:#c05a3a1f;font-weight:600}.social-row-meta{font-size:.7rem;color:var(--text-dim)}.social-row-action{display:flex;align-items:center;gap:6px;flex-shrink:0}.social-relation{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.social-footer{display:flex;align-items:center;gap:6px;margin-top:4px;padding:10px 20px 0;margin-left:-20px;margin-right:-20px;position:sticky;bottom:-20px;z-index:2;background:var(--bg-panel);border-top:1px solid var(--border);font-size:.66rem;color:var(--text-muted)}.social-row-since{font-size:.66rem;color:var(--text-muted)}.social-profile{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.social .back-button,.social .refresh-button,.social .close-button{margin:0;padding:4px 8px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.social .back-button:hover,.social .refresh-button:hover,.social .close-button:hover{background:var(--bg-hover, var(--border));color:var(--text-primary)}.social .profile-compose{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.social .profile-message-toggle{padding:4px 10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.social .profile-message-toggle:hover{background:var(--bg-hover, var(--border));color:var(--text-primary)}.social .composer{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:100%;scroll-margin-block:12px}.composer-actions,.friend-compose-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.social .composer-input{width:100%;padding:8px 10px;background:var(--bg, var(--bg-soft));color:var(--text-primary);border:1px solid var(--border-light);border-radius:6px;font-family:inherit;font-size:.8rem;line-height:1.45;resize:vertical;outline:none}.social .composer-input:focus{border-color:var(--accent)}.social .composer-send{flex-shrink:0}.friend-icon-box{display:flex;align-items:center;gap:2px;padding:2px;background:var(--bg-inset, var(--bg-panel));border:1px solid var(--border);border-radius:8px}.friend-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;background:transparent;color:var(--text-muted);border:none;border-radius:6px;font-size:1.05rem;line-height:1;cursor:pointer;transition:background .12s ease,color .12s ease}.friend-icon-btn:hover{background:var(--accent-soft, var(--bg-hover));color:var(--accent)}.friend-icon-btn:disabled{opacity:.4;cursor:default;pointer-events:none}.friend-icon-btn.is-active{background:var(--accent-soft, var(--bg-hover));color:var(--accent)}.friend-compose{display:flex;flex-direction:column;align-items:flex-end;gap:8px;width:100%;padding:4px 0 0;scroll-margin-block:12px}.friend-action{padding:4px 10px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.friend-action:hover{background:var(--bg-hover, var(--border));color:var(--text-primary)}.friend-action.accept{background:var(--accent);color:#fff;border-color:transparent}.friend-action.accept:hover{filter:brightness(1.1)}.friend-action:disabled{opacity:.55;cursor:default;pointer-events:none}.friend-action.decline,.friend-action.cancel{background:transparent;color:var(--text-secondary);border:1px solid var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.friend-action.decline:hover,.friend-action.cancel:hover{background:var(--bg-hover, var(--border));color:var(--text-primary)}.friend-action.sent{background:transparent;color:var(--text-dim);border:1px dashed var(--border-light);border-radius:5px;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.friend-action.sent:hover{background:var(--bg-hover, var(--border));color:var(--danger, #e74c3c);border-color:var(--danger, #e74c3c)}.friend-action.remove{color:#c45c5c}.friend-action.remove:hover{background:#c45c5c20;border-color:#c45c5c;color:#c45c5c}.profile-summary{position:relative;z-index:1;width:460px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.message-filter{display:flex;justify-content:center;gap:0;margin:0;padding:12px 0;border-bottom:1px solid var(--border)}.message-chains{padding-top:12px}.message-filter-btn{padding:4px 10px;background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border);font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,color .12s ease}.message-filter-btn:first-child{border-radius:4px 0 0 4px}.message-filter-btn:last-child{border-radius:0 4px 4px 0}.message-filter-btn+.message-filter-btn{border-left:none}.message-filter-btn:hover{background:var(--border);color:var(--text-primary)}.message-filter-btn.active{background:var(--accent);color:var(--bg-panel);border-color:var(--accent)}.message-chains{display:flex;flex-direction:column;gap:10px}.message-chain-card{background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;overflow:hidden}.message-card-header{padding:10px 12px}.message-card-pills{display:flex;gap:6px;margin-top:6px}.message-pill{padding:2px 8px;font-size:.68rem;font-weight:600;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:background .12s ease,color .12s ease}.message-pill:hover{background:var(--border);color:var(--text-primary)}.message-pill.pill-reply{color:var(--accent-dim)}.message-pill.pill-delete{color:#c45c5c}.message-pill.pill-delete:hover{background:#c45c5c20;border-color:#c45c5c;color:#c45c5c}.confirm-delete-popup{position:relative;overflow:visible;max-height:none;width:320px;text-align:center;background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 14%,transparent),transparent 42%),#17100d;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);box-shadow:0 18px 50px #0009,0 0 34px color-mix(in srgb,var(--danger) 16%,transparent)}.confirm-delete-popup:before{content:"⚠";position:absolute;top:-17px;left:50%;transform:translate(-50%);display:grid;place-items:center;width:34px;height:34px;background:#24140f;border:1px solid color-mix(in srgb,var(--danger) 65%,transparent);border-radius:50%;font-size:1rem;color:#f0a58e;box-shadow:0 4px 14px #0000008c}.confirm-delete-popup h3{margin:0 0 8px;font-size:.9rem;color:var(--danger)}.confirm-delete-popup p{margin:0 0 16px;font-size:.75rem;color:var(--text-secondary)}.confirm-delete-actions{display:flex;gap:8px;justify-content:center}.message-pill.pill-unread{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.message-chain-card.unread{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-soft));box-shadow:inset 3px 0 0 var(--accent)}.message-chain-card .message-sender{color:var(--text-primary)}.message-chain-card.unread .message-sender{color:var(--accent)}.message-chain-replies{border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent) 3%,transparent)}.message-chain-replies .message-reply-row{position:relative;padding:6px 12px;gap:4px}.message-chain-replies .message-reply-row:before{content:"";position:absolute;left:calc(8px + (var(--depth, 0) - 1) * 16px);top:0;bottom:0;width:2px;background:var(--border)}.message-chain-replies .message-reply-row:hover{background:var(--bg-hover)}.message-chain-card.unread .message-preview{color:var(--text-primary)}.message-chain-card.sent{border-left:3px solid var(--accent)}.message-chain-replies .message-reply-row.unread{background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:3px solid var(--accent)}.message-sent-pill{display:inline-block;padding:1px 5px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;vertical-align:middle;margin-right:4px}.message-received-pill{display:inline-block;padding:1px 5px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:color-mix(in srgb,var(--text-dim) 12%,transparent);border-radius:4px;vertical-align:middle;margin-right:4px}.message-reply-compose{display:flex;flex-direction:column;gap:8px;margin-top:8px}.message-reply-actions{display:flex;justify-content:flex-end;gap:6px}.message-chain-replies .message-reply-row{border-radius:0}.message-preview{margin:0;font-size:.85rem;line-height:1.4;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.message-preview.expanded{white-space:pre-wrap;overflow:visible;text-overflow:unset;word-break:break-word}.message-meta{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.message-sender{font-size:.78rem;font-weight:700;color:var(--accent)}.message-date{font-size:.66rem;color:var(--text-muted)}.discovery{position:relative;z-index:1;width:520px;max-width:100%;max-height:80vh;padding:20px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:10px;overflow-y:auto}.discovery-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.discovery-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--accent)}.skills .separator.recipe-book-separator{margin-bottom:0}.skills-header-actions{display:flex;align-items:center;gap:8px}.panel-top{position:sticky;top:-20px;z-index:3;margin:-20px -20px 0;padding:20px 20px 0;background:inherit}.skills .discovery-tabs{padding-bottom:4px}.discovery-tabs{display:flex;flex-wrap:wrap;position:sticky;top:43px;z-index:2;background:var(--bg-panel);margin:0 -20px;padding:8px 20px 16px;gap:4px 0}.panel-top .discovery-tabs{position:static;margin:0;padding:8px 0 16px}.discovery-tab{flex:1;position:relative;padding:8px 12px 7px;background:transparent;color:var(--text-secondary);border:none;border-bottom:2px solid transparent;font-size:.75rem;font-weight:600;cursor:pointer;transition:color .12s ease,border-color .12s ease}.discovery-tab:hover{color:var(--text-primary)}.discovery-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.discovery-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.discovery-entry{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.discovery-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.discovery-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.discovery-name{font-size:.9rem;font-weight:700;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discovery-date{font-size:.7rem;color:var(--text-muted)}.discovery-kind{flex-shrink:0;padding:1px 8px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);border:1px solid var(--border);border-radius:4px}.discovery-kind-recipe{color:var(--accent);border-color:var(--accent-dim)}.discovery-kind-skill{color:var(--success);border-color:var(--success)}.discovery-kind-region{color:var(--danger);border-color:var(--danger)}.discovery-desc{font-size:.78rem;line-height:1.45;color:var(--text-secondary)}.discovery-reqs{display:flex;flex-direction:column;flex-wrap:wrap;gap:6px;margin-top:2px}.discovery-req{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 8px;font-size:.68rem;font-weight:600;color:var(--text-secondary);background:var(--bg-panel);border:1px solid var(--border);border-radius:999px}.discovery-req.is-met{color:var(--success);border-color:var(--success)}.discovery-req.is-partial{color:var(--warning);border-color:var(--warning)}.discovery-req-progress{font-variant-numeric:tabular-nums;color:var(--text-muted)}.discovery-req.is-met .discovery-req-progress{color:var(--success)}.discovery-req.is-partial .discovery-req-progress{color:var(--warning)}.discovery-action{display:flex;align-items:flex-start;flex-shrink:0}.discovery-button{min-width:120px;padding:8px 14px;font-size:.8rem;font-weight:700;color:var(--bg-panel);background:var(--accent);border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:filter .15s ease,opacity .15s ease}.discovery-button:not(:disabled):hover{filter:brightness(1.1)}.discovery-button:disabled{cursor:not-allowed}.discovery-entry.is-discovered{opacity:.8}.discovery-status,.discovery-empty{margin:0;padding:12px 0;font-size:.85rem;color:var(--text-muted)}.crafting-area{margin-top:20px;padding-top:0;border-top:none}.location-card>.crafting-area{margin-top:0}.crafting-area.location-card{padding:16px 18px;background:linear-gradient(180deg,color-mix(in srgb,#ffffff 3%,var(--bg-panel)),var(--bg-panel));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 2px 10px -7px #000000b3;transition:border-color .14s ease,box-shadow .14s ease}.crafting-area.location-card:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 6px 18px -11px #000000d9,0 0 20px -10px color-mix(in srgb,var(--accent) 65%,transparent)}.crafting-area.location-card .section-heading{margin-bottom:12px}.crafting-area.remote .craft-button,.crafting-area.remote .craft-recipe{opacity:.7}.craft-actions{display:flex;gap:6px}.craft-hammer-slot{position:relative;display:flex}.craft-hammer-float-anchor{position:absolute;left:50%;bottom:calc(100% + 4px);display:flex;flex-direction:column-reverse;align-items:center;gap:2px;transform:translate(-50%);pointer-events:none;z-index:3}.craft-hammer-float{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:700;white-space:nowrap;color:var(--success);animation:float-rise-anchored 1.6s ease-out forwards}@keyframes float-rise-anchored{0%{opacity:1;transform:translateY(0)}15%{opacity:1;transform:translateY(-8px)}70%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(-32px)}}.craft-action-btn{position:relative;width:32px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--bg-soft);border-radius:6px;font-size:.85rem;transition:background .12s ease,border-color .12s ease,opacity .12s ease}.craft-action-btn.active{background:transparent;color:var(--accent)}.craft-action-btn.active .craft-action-icon{filter:none}.craft-action-btn.full{background:transparent;border-color:var(--danger);opacity:1}.craft-action-icon{font-size:.8rem;line-height:1}.craft-action-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.craft-action-progress{position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;pointer-events:none;border-radius:50%;background:conic-gradient(var(--accent) var(--ring, 0%),color-mix(in srgb,var(--border) 75%,transparent) 0);-webkit-mask:radial-gradient(closest-side,transparent 70%,#000 71%);mask:radial-gradient(closest-side,transparent 70%,#000 71%)}.craft-action-badge{position:absolute;top:-5px;right:-3px;min-width:14px;height:14px;padding:0 3px;background:var(--accent);color:var(--bg-dark);font-size:.55rem;font-weight:700;line-height:14px;text-align:center;border-radius:999px;z-index:1}.craft-action-badge.full{background:var(--danger);color:#fff}.craft-status-popup,.craft-claim-popup{width:380px}.craft-claim-popup.station-claim-popup{width:600px}@media(max-width:700px){.station-claim-popup .bench-pile-row{flex-wrap:wrap;row-gap:8px}.station-claim-popup .bench-pile-row .stash-name-btn{flex:1 1 100%}.station-claim-popup .stash-name-btn{white-space:normal;overflow:visible;text-overflow:clip}}.craft-status-body{display:flex;flex-direction:column;gap:10px}.craft-status-idle{font-size:.78rem;color:var(--text-dim)}.craft-queue-list{display:flex;flex-direction:column;gap:4px}.craft-queue-row{display:flex;align-items:center;gap:8px;padding:5px 8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:6px;font-size:.75rem;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,opacity .12s ease}.craft-queue-row:active{cursor:grabbing}.craft-queue-row.dragging{opacity:.4}.craft-queue-row.drag-over{border-color:var(--accent)}.craft-queue-grip{color:var(--text-dim);font-size:.7rem;letter-spacing:-.1em}.craft-queue-pos{min-width:14px;color:var(--text-dim);font-size:.68rem;font-weight:700;text-align:center}.craft-queue-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.craft-queue-qty{color:var(--text-dim);font-size:.7rem}.craft-queue-x{padding:0 4px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--text-dim);font-size:.7rem;line-height:1.4;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.craft-queue-x:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border);color:var(--danger)}.craft-queue-x:disabled{opacity:var(--locked-opacity);cursor:not-allowed}.popup-separator{height:1px;margin:14px 0;background:linear-gradient(to right,transparent,var(--border) 15%,var(--border) 85%,transparent)}.npc-talk-line{margin:0;padding:2px 0 2px 12px;font-size:.86rem;font-style:italic;line-height:1.55;color:var(--text-secondary);border-left:2px solid var(--accent)}.npc-talk-line:last-of-type{margin-bottom:4px}.seal-offer-row{display:flex;flex-direction:column;gap:7px;padding:12px 14px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;transition:border-color .16s ease}.seal-offer-row.is-done{border-color:color-mix(in srgb,var(--success) 55%,var(--border))}.seal-offer-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.seal-offer-item{font-size:.9rem;font-weight:700;color:var(--text-primary)}.seal-offer-meter{height:7px;background:var(--bg-hover);border:1px solid var(--border);border-radius:999px;overflow:hidden}.seal-offer-meter-fill{display:block;height:100%;background:linear-gradient(to right,color-mix(in srgb,var(--accent) 65%,#000),var(--accent));border-radius:999px;transition:width .24s ease}.seal-offer-row.is-done .seal-offer-meter-fill{background:linear-gradient(to right,color-mix(in srgb,var(--success) 65%,#000),var(--success))}.seal-offer-done{font-style:italic;color:var(--success)!important}.craft-claim-body{display:flex;flex-direction:column;gap:10px}.inn-offer-select{display:block;width:100%;padding:8px 10px;background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;font-size:.85rem}.inn-offer-select:hover:not(:disabled){border-color:var(--accent-dim)}.inn-offer-select:disabled{opacity:.55}.inn-offer-select option{background:var(--bg-dark);color:var(--text-primary)}.fire-action-btn{transition:background .12s ease,border-color .12s ease,opacity .12s ease,box-shadow .25s ease}.fire-flame{display:inline-block;line-height:1;transform-origin:50% 85%}.fire-action-btn.fire-small .fire-flame,.fire-display-flame.fire-small{animation:fire-flicker 1.8s ease-in-out infinite}.fire-action-btn.fire-medium .fire-flame,.fire-display-flame.fire-medium{animation:fire-flicker 1.3s ease-in-out infinite}.fire-action-btn.fire-large .fire-flame,.fire-display-flame.fire-large{animation:fire-flicker .9s ease-in-out infinite}.fire-action-btn.fire-medium .fire-flame{font-size:.92rem}.fire-action-btn.fire-large .fire-flame{font-size:1.02rem}.fire-action-btn.fire-medium{box-shadow:0 0 0 2px #ff9632d9}.fire-action-btn.fire-large{box-shadow:0 0 0 2px #ff9632e6,0 0 0 4px #ff5f0a8c}.fire-action-btn.fire-out .fire-flame,.fire-display-flame.fire-out{filter:grayscale(1) brightness(.7);animation:none;opacity:.75}.fire-action-btn.fire-charcoal .fire-flame,.fire-display-flame.fire-charcoal{filter:grayscale(.9) brightness(.5) contrast(1.15);animation:ember-glow 2.6s ease-in-out infinite;opacity:.95}.fire-action-btn.fire-charcoal{animation:ember-pulse 2.6s ease-in-out infinite}.fire-display-stage-wrap.fire-charcoal{animation:ember-halo 2.6s ease-in-out infinite}.fire-action-btn.fire-flare .fire-flame,.fire-display-flame.fire-flare{animation:fire-flare .6s ease-out}@keyframes fire-flicker{0%,to{transform:scale(1) rotate(-2deg)}20%{transform:scale(1.07) rotate(2deg)}40%{transform:scale(.96) rotate(-1deg)}60%{transform:scale(1.05) rotate(1deg)}80%{transform:scale(.98) rotate(-2deg)}}@keyframes fire-flare{0%{transform:scale(1)}35%{transform:scale(1.5) rotate(3deg)}70%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes ember-glow{0%,to{filter:grayscale(.9) brightness(.5) contrast(1.15) drop-shadow(0 0 2px rgba(255,80,10,.3));transform:scale(1)}50%{filter:grayscale(.75) brightness(.85) contrast(1.2) drop-shadow(0 0 10px rgba(255,130,30,.8));transform:scale(1.05)}}@keyframes ember-pulse{0%,to{box-shadow:0 0 0 2px #ff782359}50%{box-shadow:0 0 0 3px #ff6919cc}}@keyframes ember-halo{0%,to{box-shadow:0 0 6px #ff782326}50%{box-shadow:0 0 16px 2px #ff6e1973}}.craft-fire-popup{width:380px}.craft-fire-body{display:flex;flex-direction:column;gap:10px}.fire-display{display:flex;align-items:center;gap:14px;padding:10px 12px;background:var(--bg-soft);border-radius:8px}.fire-display-stage-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:radial-gradient(circle,rgba(255,140,40,.18),transparent 70%);border-radius:50%}.fire-display-flame{font-size:26px;filter:drop-shadow(0 0 4px rgba(255,140,40,.45));transform-origin:50% 85%}.fire-display-flame.fire-medium{font-size:32px;filter:drop-shadow(0 0 7px rgba(255,140,40,.6))}.fire-display-flame.fire-large{font-size:38px;filter:drop-shadow(0 0 11px rgba(255,140,40,.75))}.fire-display-info{display:flex;flex-direction:column;gap:2px}.fire-display-time{font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums}.fire-display-dead{color:var(--text-dim)}.fire-display-stage{font-size:.75rem;color:var(--text-muted)}.fire-float-note{position:absolute;top:-4px;left:50%;font-size:.72rem;font-weight:700;color:#ffb14e;pointer-events:none;white-space:nowrap;animation:fire-float-rise .9s ease-out forwards}@keyframes fire-float-rise{0%{opacity:0;transform:translate(-50%,6px)}20%{opacity:1;transform:translate(-50%,-2px)}to{opacity:0;transform:translate(-50%,-26px)}}.fire-fuel-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:var(--bg-soft);border-radius:8px}.fire-fuel-row.fire-fuel-empty{opacity:.6}.fire-fuel-name{display:flex;flex-direction:column;gap:2px;font-size:.82rem;font-weight:600}.fire-fuel-bonus{font-size:.7rem;font-weight:400;color:var(--text-muted)}.fire-fuel-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.fire-fuel-time-btn{min-width:6.5ch;font-variant-numeric:tabular-nums}.fire-add-btn{position:relative;transition:transform 80ms ease}.fire-add-btn:active:not(:disabled){transform:scale(.92)}.fire-add-btn.burst{animation:fire-add-glow .55s ease-out}.fire-add-btn.burst:before,.fire-add-btn.burst:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;pointer-events:none;border-radius:50%;animation:fire-ember-burst .55s ease-out forwards}.fire-add-btn.burst:before{--ember-x: -16px;--ember-y: -18px;background:#ffd070}.fire-add-btn.burst:after{--ember-x: 17px;--ember-y: -14px;background:#ff8a2a}@keyframes fire-ember-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--ember-x)),calc(-50% + var(--ember-y))) scale(.3)}}@keyframes fire-add-glow{0%{box-shadow:0 0 #ffa03ccc}to{box-shadow:0 0 0 8px #ffa03c00}}.craft-banner{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:10px 12px;background:var(--bg-soft);border:1px solid var(--accent-dim);border-radius:8px}.craft-banner-info{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.craft-banner-name{font-size:.8rem;font-weight:600;color:var(--text-primary)}.craft-banner-time{font-size:.7rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.craft-banner-bar{display:block;position:relative;height:4px;background:var(--bg-panel);border-radius:999px;overflow:hidden}.craft-banner-fill{display:block;height:100%;background:var(--progress-fill);transition:width .1s linear}.craft-cancel-btn{align-self:flex-end;padding:4px 12px;background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:5px;font-family:inherit;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .12s ease,color .12s ease}.craft-banner-actions{display:flex;align-items:center;justify-content:space-between;width:100%}.craft-banner-count{font-size:.68rem;font-weight:600;color:var(--text-dim)}.craft-cancel-btn:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 16%,transparent)}.craft-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.station-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:14px}.station-tabs .tab{position:relative;padding:6px 12px;background:var(--bg-soft);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.station-tabs .tab:hover:not(.active){background:var(--bg-hover);border-color:var(--border-light);color:var(--accent)}.station-tabs .tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.station-tabs.cook-mode-tabs{gap:0;border-bottom:1px solid var(--border)}.station-tabs.cook-mode-tabs .tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--text-secondary);padding:7px 14px}.station-tabs.cook-mode-tabs .tab:hover:not(.active):not(:disabled){background:transparent;border-color:transparent;border-bottom-color:var(--border-light);color:var(--accent)}.station-tabs.cook-mode-tabs .tab.active{background:transparent;border-color:transparent;border-bottom-color:var(--accent);color:var(--accent)}.station-tabs.cook-mode-tabs .tab:disabled{opacity:.45;cursor:not-allowed}.cook-tab-footnote{margin-top:7px;font-size:.68rem;color:var(--text-dim)}.bench-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.bench-tabs .tab{position:relative;padding:4px 10px;background:var(--bg-soft);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.68rem;font-weight:600;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.bench-tabs .tab:hover:not(.active){background:var(--bg-hover);border-color:var(--border-light);color:var(--accent)}.bench-tabs .tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--text-primary)}.bench-req{margin:10px 0 0;font-size:.72rem;color:var(--text-muted)}.bench-others{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.bench-others-line{font-size:.72rem;line-height:1.4;color:var(--text-muted)}.bench-pile{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px}.bench-pile-mine{border-color:var(--accent-dim)}.bench-pile-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bench-pile-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.bench-pile-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.bench-claim-qty{display:flex;align-items:center;gap:6px}.bench-pile-line{font-size:.72rem;line-height:1.35;color:var(--text-secondary)}.bench-claim-sm{padding:1px 8px;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:5px;font-family:inherit;font-size:.66rem;font-weight:600;line-height:1.6;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.bench-claim-sm:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--bg-dark)}.bench-claim-sm:disabled{opacity:.5;cursor:default}.craft-station-panel{display:flex;flex-direction:column;gap:8px;margin-top:20px;padding-top:0;border-top:none}.craft-station-empty{margin:0;font-size:.74rem;color:var(--text-dim)}.craft-waiting{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:22px 14px;font-size:.8rem;color:var(--text-muted);border:1px dashed var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg-panel) 60%,transparent)}.craft-waiting-icon{font-size:1rem}.craft-station-panel.is-skill-locked{opacity:.6;filter:grayscale(1)}.craft-skill-blocked{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--bg-soft);border:1px dashed var(--border);border-radius:8px}.craft-skill-blocked-title{font-size:.8rem;font-weight:600;color:var(--danger)}.craft-skill-blocked-note{font-size:.74rem;line-height:1.4;color:var(--text-muted)}.craft-recipes{display:flex;flex-direction:column;gap:6px}.craft-recipe{display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:8px;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.craft-recipe:hover:not(.active):not(.unavailable){border-color:color-mix(in srgb,var(--accent) 45%,var(--border-mid));background:color-mix(in srgb,var(--accent) 4%,var(--bg-panel));box-shadow:0 0 16px -8px color-mix(in srgb,var(--accent) 75%,transparent)}.craft-recipe.active{border-color:var(--accent);border-style:dashed;background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel));box-shadow:0 0 20px -8px color-mix(in srgb,var(--accent) 85%,transparent)}.craft-recipe.unavailable{opacity:.8;border-style:dashed}.craft-recipe-row{display:flex;align-items:center;gap:10px;padding:8px 10px}.craft-recipe-head{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:10px;padding:0;background:none;border:none;color:inherit;text-align:left;cursor:pointer}.craft-recipe-head:disabled,.craft-recipe-head.locked{cursor:default}.craft-recipe-main{display:flex;flex-direction:column;gap:2px;min-width:0}.craft-recipe-name{font-size:.84rem;font-weight:600;color:var(--text-primary)}.craft-recipe-meta{font-size:.68rem;color:var(--text-muted)}.craft-recipe-lock{flex-shrink:0;font-size:.68rem;font-weight:600;color:var(--danger)}.craft-inline-note{font-size:.68rem;font-weight:600;color:var(--danger)}.chevron{flex-shrink:0;font-size:.68rem;color:var(--text-dim);transition:transform .12s ease}.chevron.open{transform:rotate(90deg)}.craft-recipe-action{position:relative;flex-shrink:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;column-gap:8px}.craft-recipe-action .qty-stepper{grid-column:1;grid-row:1}.craft-recipe-action .craft-button{grid-column:2;grid-row:1}.craft-recipe-action .craft-button-count{grid-column:2;grid-row:2;justify-self:center;font-size:.62rem;font-weight:600;color:var(--text-dim)}.qty-stepper{display:inline-flex;align-items:center;gap:4px;flex:none}.qty-max:disabled{opacity:.4;cursor:default}.qty-input{width:4.6em;height:24px;padding:2px 6px 2px 8px;font-size:.72rem;text-align:center;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;background:var(--bg-deep)}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.qty-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.qty-step{width:22px;height:24px;padding:0;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.qty-step:hover:not(:disabled){background:var(--bg-hover, var(--border));color:var(--text-primary);border-color:var(--accent)}.qty-step:disabled{opacity:.4;cursor:default}.qty-input:focus{outline:none;border-color:var(--accent)}.qty-input:disabled{opacity:.5;cursor:not-allowed}.qty-max{height:24px;padding:0 6px;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;font-family:inherit;font-size:.66rem;font-weight:600;letter-spacing:.04em;line-height:1;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.craft-detail{display:flex;flex-direction:column;gap:10px;padding:10px 12px;background:var(--bg-panel);border-radius:0 0 7px 7px;border-top:1px solid var(--border)}.craft-recipe-desc{margin:0;font-size:.74rem;line-height:1.4;color:var(--text-secondary)}.craft-flow{display:grid;grid-template-columns:1fr 1fr;gap:14px}.craft-block{display:flex;flex-direction:column;gap:4px;min-width:0}.craft-block-label{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.craft-ingredient-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--text-primary)}.craft-ingredient-amount{font-variant-numeric:tabular-nums;color:var(--text-muted)}.craft-ingredient-name.stash-name-btn{display:block;min-width:0;padding:0;margin:0;font:inherit;font-size:inherit;line-height:1.35;text-align:left;color:inherit;background:none;border:none;cursor:pointer;text-decoration:underline dotted rgba(163,180,255,.45);text-underline-offset:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .12s ease}.craft-ingredient-name.stash-name-btn:hover{color:var(--accent)}.craft-ingredient-row.short .craft-ingredient-name,.craft-ingredient-row.short .craft-ingredient-amount{color:var(--danger);font-weight:600}.craft-locked-toggle{display:flex;align-items:center;gap:6px;width:100%;margin-top:2px;padding:6px 2px;background:none;border:none;font-family:inherit;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);cursor:pointer}.craft-locked-toggle:hover{color:var(--text-secondary)}.craft-group-count{font-size:.66rem;font-variant-numeric:tabular-nums;color:var(--text-dim)}.craft-recipes-locked{margin-top:2px}.craft-recipes-locked .craft-recipe{opacity:.55;border-style:dashed}.craft-recipes-locked .craft-recipe-name{color:var(--text-muted)}.craft-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:4px 14px;flex-shrink:0;overflow:hidden;z-index:0}.craft-button .progress{position:absolute;inset:0 auto 0 0;width:0;z-index:1;transition:width .1s linear}.placeholder{padding:24px;border:1px dashed var(--border);border-radius:6px;font-size:.78rem;line-height:1.5;color:var(--text-dim);text-align:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.intro{max-width:480px;margin:40px auto;padding:28px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.intro h1{margin:0 0 4px;font-size:1.5rem;font-weight:700;text-align:center;letter-spacing:.28em;text-transform:uppercase;color:var(--accent)}.intro h2{margin:20px 0 8px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.intro .muted{text-align:center}.intro .player-row{width:100%;padding:11px 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.85rem;font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.intro .player-row:hover{background:var(--bg-hover);border-color:var(--border-light);color:var(--accent)}.intro .form-row{display:flex;gap:8px}.intro input{flex:1;min-width:0;padding:9px 10px;background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;font-size:.8rem}.intro input::placeholder{color:var(--text-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px}.btn .btn-gold{margin-left:2px;font-weight:700;color:var(--accent)}.btn.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--success) 32%,var(--bg-panel)),color-mix(in srgb,var(--success) 15%,var(--bg-panel)));color:var(--success);border-color:color-mix(in srgb,var(--success) 60%,var(--border));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 12%,transparent)}.btn.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--success) 45%,var(--bg-panel)),color-mix(in srgb,var(--success) 24%,var(--bg-panel)));border-color:var(--success);color:var(--success);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 16%,transparent),0 0 16px -5px color-mix(in srgb,var(--success) 85%,transparent)}.btn.btn-secondary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 30%,var(--bg-panel)),color-mix(in srgb,var(--accent) 14%,var(--bg-panel)));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:inset 0 1px color-mix(in srgb,#ffffff 14%,transparent)}.btn.btn-secondary:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 44%,var(--bg-panel)),color-mix(in srgb,var(--accent) 24%,var(--bg-panel)));border-color:var(--accent);color:var(--accent);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 18%,transparent),0 0 16px -5px color-mix(in srgb,var(--accent) 85%,transparent)}.intro .loading-state{text-align:center}@media(max-width:900px){:root,html[data-theme=dark]{--ui-scale: 1}.game-frame{max-width:calc(100vw - 24px);margin:0}.game{width:calc(100vw - 24px);max-width:none;max-height:calc(100vh - 84px)}.game-main{grid-template-columns:280px minmax(0,1fr)}}@media(max-width:700px){html{overflow-x:hidden;overflow-y:auto;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{position:static;height:auto;min-height:calc(100dvh + 96px);overflow:visible}#app{position:fixed;top:0;left:0;width:100%;height:100dvh}.game-frame{width:100%;max-width:none;margin:0;position:static;overflow:visible}.game{position:fixed;top:env(safe-area-inset-top);left:0;right:0;bottom:calc(38px + env(safe-area-inset-bottom));width:auto;height:auto;max-width:none;max-height:none;overflow:visible;margin:0;border:none;border-radius:0;font-size:15px}.frame-toggle{display:none}.frame-toggle.header-toggle{display:inline-flex}.header-toggle.log-toggle{display:none}.game-header{min-height:53px;padding:5px 8px;gap:8px}.game-title-main{min-width:0;line-height:.75}.game-title-subtitle{margin-top:3px;gap:3px;line-height:1}.game-brand{gap:6px}.game-header .emblem{--emblem-w: 35px;--emblem-h: 39px}.info-toggle{width:12px;height:12px;font-size:.7rem}.game-header-actions{display:none}.game-header-toggle-row{display:flex}.game-main{grid-template-columns:1fr;grid-template-rows:auto 1fr}.game.player-hidden .game-main{grid-template-rows:auto 1fr}.game-main>*{min-width:0}.player-area{position:relative;height:auto;padding:0;border-right:none;border-bottom:1px solid var(--border);overflow:visible;align-self:start}.game.player-hidden .player-area{display:block;border-bottom:none}.game.player-hidden .player-area .area-content{display:none}.player-area .area-content{height:100%;padding:8px 10px;overflow-y:auto}.player-panel-handle{display:block;position:absolute;left:0;right:0;bottom:-8px;height:16px;padding:0;background:none;border:none;touch-action:manipulation;cursor:pointer;z-index:600}.player-panel-handle:after{content:"▼";position:absolute;top:8px;left:50%;transform:translate(-50%);padding:2px 8px;font-size:9px;line-height:1;color:var(--text-muted);background:var(--bg-header);border:1px solid var(--border);border-radius:9px}.player-panel-handle.open:after{content:"▲"}.player-panel-handle:active:after{color:var(--accent);border-color:var(--accent)}.mobile-signout{margin-left:2px}.header-toggle.player-toggle{display:none}.player-panel{gap:0;padding:10px 12px}.quest-tracker{margin-top:8px;padding:8px 12px}.quest-tracker-compact{display:flex;align-items:baseline;justify-content:space-between;width:100%;margin-bottom:9px;padding:0;background:none;border:none;text-align:left;cursor:pointer}.quest-tracker-compact-title{min-width:0;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.quest-tracker-compact-title:before{content:"◆ ";font-size:.65em;vertical-align:1.5px;color:var(--accent-dim)}.quest-tracker-chevron{font-size:.62rem;color:var(--text-muted);transition:transform .15s ease}.quest-tracker-chevron.open{transform:rotate(180deg)}.quest-tracker-full,.quest-tracker-full .section-heading{display:none}.quest-tracker-full.expanded{display:block;max-height:36vh;overflow-y:auto}.player-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 6px}.player-identity{display:contents}.player-name-row{grid-column:1;grid-row:1;display:flex;align-items:center;gap:4px;min-width:0}.player-name{font-size:.85rem;flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.player-heading-right{grid-column:2;grid-row:1;flex-shrink:0;justify-self:end}.player-location{grid-column:1 / -1;grid-row:2;margin-top:0;font-size:.58rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:8px}.stat-header{margin-bottom:3px;gap:4px}.stat-name{font-size:.6rem;gap:3px}.stat-icon{width:12px;height:12px;font-size:.55rem;border-radius:3px}.stat-value{font-size:.6rem}.bar{height:5px;border-radius:3px}.bar-fill{border-radius:3px}.regeneration-row{margin-top:2px;font-size:.55rem}.regen-progress{height:2px;margin-top:2px}.regen-timer{margin-top:1px}.travelling-panel{padding:10px;gap:8px}.travelling-progress{padding:8px 10px;gap:8px}.travelling-heading{flex-direction:column;gap:6px}.return-side{margin-left:0;align-self:flex-end}.travelling-info{padding:8px 10px}.travelling-title{font-size:.8rem}.travelling-time{font-size:.62rem}.trip-location{font-size:.6rem;max-width:30%}.travelling-trip{gap:6px}.return-note{font-size:.58rem}.return-home{padding:2px 8px;font-size:.65rem}.game-log{padding:0;overflow:visible}.log-clip{display:block;height:100%;min-height:0;padding:12px 0 12px 20px;overflow:hidden}.log-resize-handle{top:-8px;height:16px;touch-action:none;background:none;z-index:600}.log-resize-handle:hover,.log-resize-handle:active{background:none}.log-resize-handle:after{content:"▲";position:absolute;top:8px;left:50%;transform:translate(-50%,-100%);padding:2px 8px;font-size:9px;line-height:1;color:var(--text-muted);background:var(--bg-header);border:1px solid var(--border);border-radius:9px}.log-resize-handle:active:after{color:var(--accent);border-color:var(--accent)}.bottom-nav{display:flex;padding-bottom:env(safe-area-inset-bottom);overflow:visible}body.ui-zoomed .bottom-nav{display:none}.bottom-nav-btn{height:34px;font-size:1rem}.bottom-nav .guide-highlight{display:none}.craft-recipe-row{flex-wrap:wrap;align-items:flex-start}.craft-recipe-head{flex:1 1 100%;align-items:flex-start}.craft-recipe-action{margin-left:auto}.overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) 14px env(safe-area-inset-left)}}@media(max-width:700px)and (hover:none)and (pointer:coarse){button,.tab,.category-btn,.log-tab-bar .tab,.inventory-tab-bar .tab{touch-action:manipulation}}@media(max-width:600px){.character,.inventory,.skills,.map,.equipment,.social,.popup{width:100%}.inventory,.equipment,.journal,.notes,.social{padding:14px;max-height:90vh}.inventory-header,.journal-header,.notes-header,.social-header{gap:8px}.inventory-header{top:-14px;margin:-14px -14px 0;padding:14px 14px 0}}html[data-theme=dark] body{background:radial-gradient(110% 55% at 50% -6%,rgba(212,154,63,.09),transparent 62%),var(--bg-body)}html[data-theme=dark] .game{background:radial-gradient(80% 42% at 50% 0%,rgba(212,154,63,.07),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--bg-main)) 0%,var(--bg-main) 100%);border-color:color-mix(in srgb,var(--accent) 22%,var(--border));box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #00000040,0 30px 70px -30px var(--game-shadow),0 0 60px -18px color-mix(in srgb,var(--accent) 16%,transparent)}html[data-theme=dark] .game-header{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 7%,var(--bg-header)) 0%,var(--bg-header) 100%)}html[data-theme=dark] .player-area,html[data-theme=dark] .region-area,html[data-theme=dark] .popup{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--bg-panel)) 0%,var(--bg-panel) 100%)}html[data-theme=dark] .game-log{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,var(--bg-header)) 0%,var(--bg-header) 100%)}html[data-theme=dark] .popup{box-shadow:inset 0 1px #ffffff0f,0 30px 80px -30px var(--game-shadow)}.fish-overlay .popup{pointer-events:auto;width:420px}.fish-wait{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:4px}.fish-scene{position:relative;width:300px;height:72px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;background:radial-gradient(130% 90% at 50% -30%,rgba(130,205,255,.16),transparent 62%),linear-gradient(180deg,#18426299,#081c32e6);box-shadow:inset 0 2px 12px #00000080,inset 0 -20px 28px #00000047;overflow:hidden}.fish-scene:before{content:"";position:absolute;top:-10%;right:-30%;bottom:-10%;left:-30%;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.07) 50%,transparent 58%);pointer-events:none;animation:fish-shimmer 6s linear infinite}@keyframes fish-shimmer{0%{transform:translate(-35%)}to{transform:translate(35%)}}html[data-theme=light] .fish-scene{background:radial-gradient(130% 90% at 50% -30%,rgba(90,170,230,.3),transparent 62%),linear-gradient(180deg,#9bd0eecc,#64a0cde0)}.fish-rig{position:absolute;top:0;left:50%;z-index:2;width:12px;height:34px;margin-left:-6px;transform-origin:50% 0;animation:rig-sway 3.2s ease-in-out infinite}.fish-rig:before{content:"";position:absolute;top:0;left:5px;width:2px;height:24px;background:var(--text-primary);opacity:.7}.fish-rig:after{content:"";position:absolute;top:24px;left:3px;width:9px;height:9px;border-left:2px solid var(--text-primary);border-bottom:2px solid var(--text-primary);border-bottom-left-radius:8px;opacity:.85}@keyframes rig-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}.fish-fish{position:absolute;left:0;bottom:6px;width:24px;height:11px;background:color-mix(in srgb,var(--text-primary) 55%,transparent);border-radius:50%}.fish-fish:before{content:"";position:absolute;top:1px;left:-7px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:8px solid color-mix(in srgb,var(--text-primary) 55%,transparent)}.fish-swim-a{bottom:4px;animation:fish-swim-right 8s ease-in-out infinite}.fish-swim-b{bottom:26px;animation:fish-swim-left 11s ease-in-out infinite}.fish-nibble{bottom:13px;animation:fish-nibble 5.5s ease-in-out infinite}@keyframes fish-swim-right{0%,14%{transform:translate(-36px)}52%,66%{transform:translate(var(--travel, 156px))}66.01%,to{transform:translate(-36px)}}@keyframes fish-swim-left{0%,16%{transform:translate(var(--travel, 156px)) scaleX(-1)}58%,70%{transform:translate(-36px) scaleX(-1)}70.01%,to{transform:translate(var(--travel, 156px)) scaleX(-1)}}@keyframes fish-nibble{0%{transform:translate(-34px) scaleX(1)}40%{transform:translate(var(--travel, 58px)) scaleX(1)}52%{transform:translate(var(--travel, 58px)) scaleX(1)}54%{transform:translate(var(--travel, 58px)) scaleX(-1)}95%{transform:translate(-34px) scaleX(-1)}to{transform:translate(-34px) scaleX(1)}}.fish-rig-bite{animation:rig-shake .55s ease-in-out infinite}@keyframes rig-shake{0%,to{transform:rotate(0)}25%{transform:rotate(4deg)}75%{transform:rotate(-3deg)}}.fish-taker{bottom:23px;transform-origin:100% 50%;animation:fish-take var(--take-dur, .5s) ease-out forwards,fish-wiggle .5s var(--take-dur, .5s) ease-in-out infinite}.fish-taker:before{transform-origin:100% 50%;animation:fish-tail-flutter .16s ease-in-out infinite alternate}@keyframes fish-tail-flutter{0%{transform:rotate(-16deg) scaleY(.85)}to{transform:rotate(16deg) scaleY(1.15)}}@keyframes fish-take{0%{transform:translate(var(--take-from, -42px)) translateY(10px) scaleX(var(--take-flip, 1))}to{transform:translate(var(--take-to, 60px)) translateY(-12px) scaleX(var(--take-flip, 1))}}@keyframes fish-wiggle{0%,to{transform:translate(var(--take-to, 60px)) translateY(-12px) scaleX(var(--take-flip, 1)) rotate(0)}25%{transform:translate(var(--take-to, 60px)) translateY(-13px) scaleX(var(--take-flip, 1)) rotate(-7deg)}75%{transform:translate(var(--take-to, 60px)) translateY(-11px) scaleX(var(--take-flip, 1)) rotate(7deg)}}.fish-wait-text{padding:3px 12px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);font-size:13px;letter-spacing:.03em;opacity:.95;animation:fish-wait-breathe 2.2s ease-in-out infinite}@keyframes fish-wait-breathe{50%{opacity:.5}}.fish-countdown{margin:2px 0 0;text-align:center;font-size:13px;color:var(--text-muted)}.fish-countdown b{display:inline-block;margin-left:4px;padding:2px 9px;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:7px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-size:14px;font-variant-numeric:tabular-nums}.fish-result-message{width:100%;max-width:300px;margin:6px 0 4px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 9%,var(--bg-soft));text-align:center;font-size:15px;color:var(--text-primary);animation:fish-result-in .26s cubic-bezier(.22,1,.36,1)}.fish-result-message.failed{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--bg-soft));color:var(--warning)}@keyframes fish-result-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fish-result-item{margin:0;padding:0;border:none;background:none;font:inherit;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.fish-result-item:hover{color:var(--text-primary)}.fish-body{display:flex;flex-direction:column;align-items:center;gap:4px}.fish-body .stash-note{margin:0;text-align:center}.fish-bar{position:relative;height:24px;margin-top:14px;background:var(--bg-hover);border:1px solid var(--border);border-radius:4px;overflow:hidden}.fish-zone{position:absolute;top:0;bottom:0;left:40%;width:35%;background:#60c88261}.fish-center{position:absolute;top:0;bottom:0;left:57.5%;width:2px;background:var(--text-primary);opacity:.45}.fish-marker{position:absolute;top:0;bottom:0;width:4px;margin-left:-2px;background:var(--progress-solid);box-shadow:0 0 6px #0000008c}.fish-bar-labels{display:flex;justify-content:space-between;font-size:11px;opacity:.7}.fish-scene-bite{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));box-shadow:inset 0 2px 12px #00000080,inset 0 -20px 28px #00000047,0 0 22px color-mix(in srgb,var(--warning) 32%,transparent)}.fish-popup .stash-note{max-width:300px;padding:5px 13px;border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);border-radius:999px;background:color-mix(in srgb,var(--warning) 10%,transparent);text-align:center;font-size:.72rem;color:var(--text-muted)}.fish-popup .fish-bar,.fish-popup .fish-bar-labels{width:100%;max-width:300px}.fish-popup .fish-bar{height:28px;margin-top:10px;border-radius:8px;background:linear-gradient(180deg,var(--bg-hover),color-mix(in srgb,var(--bg-hover) 55%,black));box-shadow:inset 0 2px 6px #00000059}.fish-popup .fish-zone{background:linear-gradient(180deg,#60c88280,#60c88242)}.fish-popup .fish-center{background:#ffffffbf}.fish-popup .fish-marker{width:6px;margin-left:-3px;border-radius:3px;background:var(--accent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 80%,transparent)}.fish-popup .fish-bar-labels{letter-spacing:.05em;text-transform:uppercase;opacity:1;color:var(--text-muted)}.fish-label-strike{font-weight:700;color:var(--accent);opacity:1}.fish-popup.fish-biting .popup-header h2{color:var(--warning);animation:fish-bite-pulse 1s ease-in-out infinite}@keyframes fish-bite-pulse{50%{opacity:.5}}.fish-popup.fish-done .popup-header h2{color:#71d48a}.fish-popup.fish-biting .travel-confirm-actions .btn-primary{animation:fish-ready-glow 1.4s ease-in-out infinite}@keyframes fish-ready-glow{50%{box-shadow:0 0 16px color-mix(in srgb,var(--accent) 45%,transparent)}}.fish-popup .travel-confirm-actions{display:flex;justify-content:center;margin-top:14px}.fish-popup .travel-confirm-actions .btn{min-width:180px}.duel-emblem{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--danger) 30%,var(--bg-dark));border:1px solid var(--danger);font-size:.95rem}.duel-arena{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9500;display:flex;flex-direction:column;gap:14px;padding:18px;background:color-mix(in srgb,var(--bg-body) 96%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-primary);overflow-y:auto}.duel-header{position:sticky;top:-14px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:980px;width:100%;margin:-14px -14px 0;padding:14px 14px 0;background:inherit}.duel-header-title{display:flex;align-items:center;gap:10px}.duel-name{font-size:1.15rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.duel-region-chip{padding:2px 9px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.duel-header-turn{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.duel-header-turn--urgent{color:var(--danger)}.duel-countdown{min-width:46px;padding:3px 8px;text-align:center;background:var(--bg-dark);border:1px solid var(--border);border-radius:6px;font-variant-numeric:tabular-nums}.duel-header-turn--urgent .duel-countdown{border-color:var(--danger)}.duel-stage{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:14px;max-width:980px;width:100%;margin:0 auto}.duel-fighter{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.duel-fighter--active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 18px color-mix(in srgb,var(--accent) 35%,transparent)}.duel-fighter--me{background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel))}.duel-fighter-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.duel-fighter-name{font-weight:700;font-size:.98rem}.duel-initiative{padding:1px 7px;border:1px solid var(--accent-dim);border-radius:999px;color:var(--accent);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.duel-skills{color:var(--text-muted);font-size:.7rem;text-transform:capitalize}.duel-bar-row{display:flex;align-items:center;gap:8px}.duel-bar-label{width:22px;font-size:.66rem;font-weight:700;color:var(--text-dim);letter-spacing:.06em}.duel-bar{flex:1;height:13px;background:var(--bg-dark);border:1px solid var(--border-mid);border-radius:7px;overflow:hidden}.duel-bar-fill{height:100%;transition:width .35s ease}.duel-bar--hp .duel-bar-fill{background:var(--bar-health)}.duel-bar--stamina .duel-bar-fill{background:var(--bar-stamina)}.duel-bar-value{min-width:82px;text-align:right;font-size:.74rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.duel-vs{display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim)}.duel-console{display:flex;flex-direction:column;gap:10px;max-width:980px;width:100%;margin:0 auto}.duel-statusline{text-align:center;font-size:.85rem;color:var(--text-secondary);min-height:1.2em}.duel-abilities{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.duel-ability{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:116px;padding:9px 14px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-light);border-radius:9px;cursor:pointer;transition:border-color .12s ease,transform .08s ease}.duel-ability:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.duel-ability:disabled{opacity:var(--locked-opacity);cursor:not-allowed}.duel-ability--heal{border-color:color-mix(in srgb,var(--success) 60%,var(--border))}.duel-ability--forfeit{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));color:var(--danger)}.duel-ability-icon{font-size:1.05rem}.duel-ability-label{font-size:.82rem;font-weight:700}.duel-ability-cost{font-size:.62rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}.duel-confirm{text-align:center;font-size:.78rem;color:var(--warning)}.duel-error{text-align:center;font-size:.8rem;color:var(--danger)}.duel-result{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px;background:var(--bg-panel);border:1px solid var(--border);border-radius:12px}.duel-result-title{font-size:1.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.duel-result-title--win{color:var(--success)}.duel-result-title--loss{color:var(--danger)}.duel-result-sub{font-size:.88rem;color:var(--text-secondary)}.duel-result-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.duel-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-soft);color:var(--text-primary);font-size:.82rem;font-weight:700;cursor:pointer;transition:filter .12s ease,border-color .12s ease}.duel-btn:hover:not(:disabled){filter:brightness(1.08)}.duel-btn:disabled{opacity:var(--locked-opacity);cursor:not-allowed}.duel-btn--primary{background:var(--accent);border-color:transparent;color:#fff}.duel-btn--ghost{background:transparent}.duel-btn--plain{background:transparent;border-color:transparent;color:var(--text-muted)}.duel-log{display:flex;flex-direction:column;gap:6px;max-width:980px;width:100%;margin:0 auto;flex:1;min-height:110px}.duel-log-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}.duel-log-scroll{flex:1;overflow-y:auto;max-height:170px;display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:var(--bg-dark);border:1px solid var(--border-mid);border-radius:8px}.duel-log-line{font-size:.78rem;color:var(--text-secondary);display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.duel-log-text{flex:1;min-width:0}.duel-log-clock{flex:none;font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--text-dim);opacity:.85}.duel-log-line--strike,.duel-log-line--ko{color:var(--text-primary)}.duel-log-line--crit{color:var(--accent);font-weight:700}.duel-log-line--heal{color:var(--success)}.duel-log-line--timeout,.duel-log-line--forfeit,.duel-log-line--timeout_forfeit{color:var(--warning)}.duel-log-line--ended{color:var(--accent);font-weight:700}.duel-log-line--muted{color:var(--text-dim);font-style:italic}.duel-invite{width:min(420px,calc(100vw - 2rem));text-align:center}.duel-invite-title{margin:0 0 8px;font-size:1.05rem;letter-spacing:.06em}.duel-invite-text{margin:0 0 6px;font-size:.88rem;color:var(--text-secondary)}.duel-invite-timer{margin:0 0 4px;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.duel-invite-timer--expired{color:var(--danger)}.duel-invite-error{margin:4px 0;font-size:.78rem;color:var(--danger)}.duel-invite-actions{display:flex;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap}.duel-request-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-soft);border:1px solid var(--border-mid);border-radius:8px}.duel-request-row .social-row-info{flex:1;min-width:0}.social-state--error{color:var(--danger)!important}.friend-action.duel{border-color:color-mix(in srgb,var(--danger) 60%,var(--border));color:var(--danger)}.friend-action.duel:hover{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.friend-action.duel.duel-locked{border-style:dashed;opacity:.7}.friend-action.duel.duel-locked:hover{background:transparent;color:var(--danger)}.battle-history-row{gap:10px}.battle-result{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.battle-result--win{background:#8fd48a1f;border-color:#8fd48a73;color:#8fd48a}.battle-result--loss{background:#c05a3a1f;border-color:#c05a3a7f;color:#f0a58e}.battle-result--draw{background:#ffffff0a;border-color:var(--border);color:var(--text-secondary)}.battle-history-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:.7rem;color:var(--text-dim)}.battle-history-reason{color:var(--text-secondary)}.replay-shell{display:flex;flex-direction:column;gap:14px;width:100%;max-width:1040px;margin:0 auto;padding:20px 16px 40px;color:var(--text-primary);min-height:100vh}.replay-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}.replay-header-main{display:flex;align-items:center;gap:10px}.replay-title-main{font-size:1.1rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.replay-title-sub{font-size:.72rem;color:var(--text-muted);text-transform:capitalize}.replay-result{display:flex;flex-direction:column;align-items:center;gap:2px}.replay-result-label{font-weight:800;color:var(--accent);letter-spacing:.06em}.replay-result-reason{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.replay-header-actions{display:flex;gap:8px}.replay-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-muted);text-align:center}.replay-state--error{color:var(--danger)}.replay-stage{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch}.replay-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.replay-controls{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px}.replay-ctl{width:38px;height:34px;background:var(--bg-soft);border:1px solid var(--border-light);border-radius:7px;color:var(--text-primary);cursor:pointer;font-size:.9rem}.replay-ctl:hover:not(:disabled){border-color:var(--accent)}.replay-ctl:disabled{opacity:var(--locked-opacity);cursor:not-allowed}.replay-ctl--play{background:var(--accent);border-color:transparent;color:#fff}.replay-scrub{flex:1;accent-color:var(--accent)}.replay-counter{font-size:.74rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.replay-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.replay-timeline{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:10px 12px;background:var(--bg-dark);border:1px solid var(--border-mid);border-radius:8px}.replay-timeline-row{display:flex;gap:10px;align-items:baseline;width:100%;padding:4px 6px;background:transparent;border:none;border-radius:5px;color:var(--text-dim);font-size:.74rem;text-align:left;cursor:pointer}.replay-timeline-row:hover{background:var(--bg-hover)}.replay-timeline-row--past{color:var(--text-secondary)}.replay-timeline-row--active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text-primary);font-weight:700}.replay-timeline-time{flex-shrink:0;font-variant-numeric:tabular-nums;color:var(--text-dim)}.replay-timeline-text{min-width:0}.replay-log{min-height:200px}@media(max-width:760px){.duel-stage,.replay-stage{grid-template-columns:1fr}.duel-vs{padding:2px 0}.replay-body{grid-template-columns:1fr}.duel-ability{min-width:0;flex:1 1 40%}}.duel-arena{background-color:var(--bg-body);background-image:radial-gradient(1100px 520px at 50% -8%,rgb(216 179 74 / 13%),transparent 70%),radial-gradient(900px 700px at 50% 118%,rgb(179 52 44 / 10%),transparent 70%),linear-gradient(180deg,rgb(0 0 0 / 12%),transparent 42%,rgb(0 0 0 / 16%));-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:contain;min-height:100dvh;scroll-padding-top:96px;padding:calc(18px + env(safe-area-inset-top,0px)) calc(18px + env(safe-area-inset-right,0px)) calc(18px + env(safe-area-inset-bottom,0px)) calc(18px + env(safe-area-inset-left,0px))}.duel-header{position:sticky;top:0;z-index:6;margin:-4px -4px 0;padding:10px 14px;background:color-mix(in srgb,var(--bg-body) 92%,#000);border:1px solid var(--border-mid);border-radius:12px;box-shadow:0 8px 26px #00000061}.duel-header-actions{display:flex;align-items:center;gap:10px}.duel-share{padding:6px 13px;font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--text-primary);background:linear-gradient(180deg,#d8b34a42,#d8b34a1a);border:1px solid rgb(216 179 74 / 55%);border-radius:999px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.duel-share:hover{transform:translateY(-1px);box-shadow:0 6px 16px #d8b34a59}.duel-emblem{filter:drop-shadow(0 0 6px rgb(216 179 74 / 55%))}.duel-fighter{background:linear-gradient(180deg,rgb(255 255 255 / 5%),transparent 55%),var(--bg-body);border:1px solid var(--border-mid);box-shadow:0 10px 26px #00000042}.duel-fighter--active{border-color:#d8b34a99;box-shadow:0 0 0 1px #d8b34a4d,0 12px 30px #00000057;animation:duel-pulse 1.9s ease-in-out infinite}@keyframes duel-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.07)}}.duel-fighter--active .duel-fighter-name{color:#f0d98c}.duel-bar--hp .duel-bar-fill{box-shadow:0 0 8px #4caf508c}.duel-bar--stamina .duel-bar-fill{box-shadow:0 0 8px #42a5f57f}.duel-vs{background:radial-gradient(circle,rgb(216 179 74 / 24%),var(--bg-body) 72%);border-color:#d8b34a73;box-shadow:0 0 26px #d8b34a33}.duel-ability{background:linear-gradient(180deg,rgb(255 255 255 / 7%),transparent 60%),var(--bg-body);box-shadow:0 5px 14px #00000047;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.duel-ability:not(:disabled):hover{transform:translateY(-2px);border-color:#d8b34a8c;box-shadow:0 10px 22px #0000005c}.duel-ability--forfeit:not(:disabled):hover{border-color:color-mix(in srgb,var(--danger) 60%,var(--border-mid))}.duel-result-title{font-size:2rem;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 3px 14px rgb(0 0 0 / 45%)}.duel-result-title--win{color:#f0d98c;text-shadow:0 0 26px rgb(216 179 74 / 45%)}.duel-log-scroll{max-height:min(34vh,260px);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:inset 0 8px 20px #00000059}.duel-log-line--turn_started,.duel-log-line--battle_started{color:var(--text-muted)}.duel-log-line--pass{color:var(--text-secondary);font-style:italic}.duel-log-line--exhausted{color:#f0d98c;font-weight:700}.duel-log-line--request_declined,.duel-log-line--request_cancelled{color:var(--text-muted)}.duel-frame{position:relative;width:min(980px,100%);margin:auto;padding:14px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,transparent),transparent 140px),var(--bg-main);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;box-shadow:0 24px 70px #0000008c}.duel-frame .duel-header{margin:0}.duel-alert{width:min(400px,calc(100vw - 2rem));text-align:center}.duel-alert-message{font-size:.95rem;line-height:1.5;margin-bottom:16px}.duel-alert-actions{display:flex;gap:8px;justify-content:center}.duel-invite-warn{color:#e0b544!important;border-color:#e0b5448c!important}.duel-bar--hp{background:#8c2424}@keyframes duel-stamina-blink{50%{opacity:0}}.duel-bar--blink .duel-bar-fill{animation:duel-stamina-blink .9s step-end infinite}.duel-log{min-height:0;flex:none}.duel-log-scroll{flex:none;height:min(34vh,260px);max-height:none}.duel-fighter{position:relative}.duel-float{position:absolute;top:38%;left:50%;z-index:4;pointer-events:none;white-space:nowrap;font-size:1.05rem;font-weight:900;color:#ff9385;text-shadow:0 0 8px rgb(255 105 88 / 70%),0 1px 2px rgb(0 0 0 / 90%),0 2px 8px rgb(0 0 0 / 80%);animation:duel-float-up 1.1s ease-out forwards}.duel-float--crit{color:#ffe98a;font-size:1.45rem;text-shadow:0 0 12px rgb(255 215 94 / 85%),0 1px 2px rgb(0 0 0 / 90%),0 2px 8px rgb(0 0 0 / 80%)}.duel-float--heal{color:#a5f596;text-shadow:0 0 8px rgb(140 224 122 / 70%),0 1px 2px rgb(0 0 0 / 90%),0 2px 8px rgb(0 0 0 / 80%)}@keyframes duel-float-up{0%{opacity:0;transform:translate(-50%,8px) scale(.85)}15%{opacity:1;transform:translate(-50%) scale(1.06)}to{opacity:0;transform:translate(-50%,-36px) scale(1)}}.duel-alert-overlay{background:#0000009e}.duel-alert{position:relative;overflow:visible;max-height:none;min-width:min(320px,calc(100vw - 2rem));max-width:430px;margin:auto;padding:24px 22px 18px;background:linear-gradient(180deg,rgb(216 179 74 / 12%),transparent 42%),#17140f;border:1px solid rgb(216 179 74 / 55%);border-radius:14px;box-shadow:0 18px 50px #0009,0 0 34px #d8b34a24;animation:duel-alert-in .18s ease-out}.duel-alert:before{content:"⚔";position:absolute;top:-17px;left:50%;transform:translate(-50%);display:grid;place-items:center;width:34px;height:34px;background:#241f16;border:1px solid rgb(216 179 74 / 60%);border-radius:50%;font-size:1rem;color:#e8c76a;box-shadow:0 4px 14px #0000008c}.duel-alert--danger{background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 14%,transparent),transparent 42%),#17100d;border-color:color-mix(in srgb,var(--danger) 55%,transparent);box-shadow:0 18px 50px #0009,0 0 34px color-mix(in srgb,var(--danger) 16%,transparent)}.duel-alert--danger:before{content:"⚠";background:#24140f;border-color:color-mix(in srgb,var(--danger) 65%,transparent);color:#f0a58e}.duel-alert-sub{margin:-8px 0 0;color:var(--text-dim);font-size:.78rem;text-align:center}.duel-alert-message strong{color:#e8c76a}.duel-alert-message{margin-top:4px;color:var(--text-primary);font-size:.95rem;line-height:1.55;text-align:center}.duel-alert-actions{display:flex;gap:10px;justify-content:center;margin-top:14px}@keyframes duel-alert-in{0%{opacity:0;transform:translateY(10px) scale(.96)}}.duel-invite-warn{margin-top:8px;padding:8px 12px;background:#d8b34a1a;border:1px solid rgb(216 179 74 / 45%)!important;border-radius:8px;color:#e8c76a!important;font-weight:600;text-align:center}.duel-error{padding:8px 12px;background:#c05a3a24;border:1px solid rgb(192 90 58 / 55%);border-radius:8px;color:#f0a58e;font-weight:600;text-align:center}.duel-confirm{padding:8px 12px;background:#d8b34a1a;border:1px solid rgb(216 179 74 / 45%);border-radius:8px;color:#e8c76a;font-weight:600;text-align:center}.duel-float--dodge{color:#b8e7ff;font-style:italic;font-size:1.15rem;text-shadow:0 0 8px rgb(143 211 255 / 75%),0 1px 2px rgb(0 0 0 / 90%),0 2px 8px rgb(0 0 0 / 80%)}.duel-log-line--dodge{color:#8fd3ff}@media(max-width:760px){.duel-arena{padding:12px;overflow-x:clip}.duel-frame{padding:10px;gap:10px}.duel-header{padding:8px 10px;gap:8px}.duel-header-actions{flex-wrap:wrap}.duel-fighter{padding:10px 12px}.duel-bar-label{width:18px;font-size:.6rem}.duel-bar-value{min-width:64px;font-size:.7rem}.duel-statusline{font-size:.78rem}.duel-ability{padding:8px 6px}.duel-result{padding:14px 10px}.duel-result-title{font-size:1.5rem;letter-spacing:.1em}.duel-log-scroll{height:min(24vh,160px)}.duel-log-line{font-size:.72rem}.duel-share{padding:10px 13px;min-height:36px}.duel-btn{min-height:38px}.duel-alert{width:min(400px,calc(100vw - 2rem));min-width:min(320px,calc(100vw - 2rem));padding:20px 16px 16px}.duel-alert-actions .friend-action{padding:10px 16px;font-size:.78rem;min-height:40px}.replay-ctl{width:44px;height:40px}}@media(max-width:900px)and (orientation:landscape)and (max-height:480px){.duel-arena{padding:8px 12px}.duel-frame{padding:8px;gap:8px}.duel-header{padding:6px 8px}.duel-stage{grid-template-columns:1fr auto 1fr;gap:8px}.duel-vs{padding:0;font-size:.8rem}.duel-fighter{padding:8px 10px}.duel-ability{padding:7px 6px}.duel-log-scroll{height:min(20vh,90px)}}.emblem.svelte-jxc1m6{display:flex;justify-content:center;color:var(--accent)}.emblem.svelte-jxc1m6 svg:where(.svelte-jxc1m6){width:var(--emblem-w, 70px);height:var(--emblem-h, 78px);filter:var(--emblem-filter, drop-shadow(0 10px 16px rgb(0 0 0 / .4)))}
