.app{width:100%;height:100%;position:relative;background:radial-gradient(ellipse at 20% 50%,rgba(201,168,76,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(59,130,246,.02) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(185,28,28,.02) 0%,transparent 50%),var(--bg-deep, #080810)}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.map-entry-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#000;animation:map-entry-fade 1.5s ease-out forwards;pointer-events:none}.map-entry-text{font-family:var(--font-display, "MedievalSharp", cursive);font-size:32px;color:#c9a84c;letter-spacing:6px;text-transform:uppercase;animation:map-entry-text-anim 1.5s ease-in-out forwards}@keyframes map-entry-fade{0%{background:#000}40%{background:#000c}to{background:#0000}}@keyframes map-entry-text-anim{0%{opacity:0;transform:scale(.9)}30%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}@keyframes gold-pulse{0%,to{box-shadow:0 0 3px #c9a84c1a;text-shadow:0 0 4px rgba(201,168,76,.15)}50%{box-shadow:0 0 8px #c9a84c40;text-shadow:0 0 8px rgba(201,168,76,.3)}}@keyframes campfire-anim{0%{background-position-x:0}to{background-position-x:-768px}}@keyframes emergency-pulse{0%,to{border-left-color:#ef4444}50%{border-left-color:#dc2626;box-shadow:-4px 0 12px #ef44444d}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes fade-in-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes btn-press{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes tick-urgency{0%,to{opacity:1}50%{opacity:.6}}@keyframes badge-pulse{0%,to{transform:scale(1);box-shadow:0 0 4px #ef444499}50%{transform:scale(1.3);box-shadow:0 0 8px #ef4444cc}}@keyframes close-spin{0%{transform:rotate(0)}to{transform:rotate(90deg)}}@keyframes submit-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes recap-stat-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes recap-fade-out{0%{opacity:1}to{opacity:0}}@keyframes frontline-pulse{0%,to{box-shadow:0 0 8px #ef44444d}50%{box-shadow:0 0 14px #ef444480}}@keyframes ap-flash{0%{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.8)}to{color:#f4d675;text-shadow:0 0 6px rgba(201,168,76,.3)}}@keyframes action-flash{0%{box-shadow:0 0 #c9a84c00}30%{box-shadow:0 0 16px #c9a84c80}to{box-shadow:0 0 #c9a84c00}}@keyframes toast-spring-in{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-fade-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-10px);opacity:0}}@keyframes panel-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes view-crossfade-anim{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.view-crossfade{animation:view-crossfade-anim .5s cubic-bezier(.4,0,.2,1)}@keyframes view-crossfade-overlay{0%{opacity:.3}to{opacity:0}}.view-crossfade:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#000;pointer-events:none;z-index:100;animation:view-crossfade-overlay .5s cubic-bezier(.4,0,.2,1) forwards}.btn-medieval{font-family:var(--font-accent, "Cinzel", serif);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border:1px solid rgba(201,168,76,.4);border-radius:3px;background:linear-gradient(180deg,#c9a84c14,#c9a84c05);color:#c9a84c;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.btn-medieval:hover{border-color:#c9a84cb3;background:linear-gradient(180deg,#c9a84c26,#c9a84c0d);box-shadow:0 0 10px #c9a84c33;color:#f4d675;transform:scale(1.02)}.btn-medieval:active{transform:scale(.97);box-shadow:0 0 8px #c9a84c66 inset}.btn-action{font-family:var(--font-accent, "Cinzel", serif);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;border:1px solid rgba(59,130,246,.4);background:linear-gradient(180deg,#3b82f614,#3b82f605);color:#60a5fa}.btn-action:hover{border-color:#3b82f6b3;background:linear-gradient(180deg,#3b82f626,#3b82f60d);box-shadow:0 0 10px #3b82f633;color:#93c5fd;transform:scale(1.02)}.btn-action:active{transform:scale(.97);box-shadow:0 0 8px #3b82f666 inset}.btn-defend{font-family:var(--font-accent, "Cinzel", serif);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;border:1px solid rgba(59,130,246,.4);background:linear-gradient(180deg,#3b82f614,#3b82f605);color:#60a5fa}.btn-defend:hover{border-color:#3b82f6b3;background:linear-gradient(180deg,#3b82f626,#3b82f60d);box-shadow:0 0 10px #3b82f633;color:#93c5fd;transform:scale(1.02)}.btn-defend:active{transform:scale(.97);box-shadow:0 0 8px #3b82f666 inset}.btn-defend:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-amethyst{font-family:var(--font-accent, "Cinzel", serif);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;border:1px solid rgba(168,85,247,.4);background:linear-gradient(180deg,#a855f714,#a855f705);color:#c084fc}.btn-amethyst:hover{border-color:#a855f7b3;background:linear-gradient(180deg,#a855f726,#a855f70d);box-shadow:0 0 10px #a855f733;color:#d8b4fe;transform:scale(1.02)}.btn-amethyst:active{transform:scale(.97);box-shadow:0 0 8px #a855f766 inset}.btn-amethyst:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-danger{font-family:var(--font-accent, "Cinzel", serif);font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden;border:1px solid rgba(239,68,68,.4);background:linear-gradient(180deg,#ef444414,#ef444405);color:#ef4444}.btn-danger:hover{border-color:#ef4444b3;background:linear-gradient(180deg,#ef444426,#ef44440d);box-shadow:0 0 10px #ef444433;transform:scale(1.02)}.btn-danger:active{transform:scale(.97);box-shadow:0 0 8px #ef444466 inset}.panel-medieval{position:relative}.panel-medieval-corners:before,.panel-medieval-corners:after{content:"";position:absolute;width:12px;height:12px;pointer-events:none;z-index:1}.panel-medieval-corners:before{top:-1px;left:-1px;border-top:2px solid rgba(201,168,76,.5);border-left:2px solid rgba(201,168,76,.5)}.panel-medieval-corners:after{bottom:-1px;right:-1px;border-bottom:2px solid rgba(201,168,76,.5);border-right:2px solid rgba(201,168,76,.5)}.panel-header-underline{position:relative;padding-bottom:8px}.panel-header-underline:after{content:"";position:absolute;bottom:0;left:0;right:30%;height:1px;background:linear-gradient(90deg,rgba(201,168,76,.5),transparent)}.panel-scroll::-webkit-scrollbar{width:3px}.panel-scroll::-webkit-scrollbar-track{background:transparent}.panel-scroll::-webkit-scrollbar-thumb{background:#c9a84c33;border-radius:1px}.panel-scroll::-webkit-scrollbar-thumb:hover{background:#c9a84c66}.divider-ornate{height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),rgba(244,214,117,.5),rgba(201,168,76,.4),transparent);margin:10px 0}.close-btn-polish{transition:color .2s,border-color .2s,transform .2s}.close-btn-polish:hover{color:#c9a84c!important;border-color:#c9a84c!important;transform:rotate(90deg)}.close-btn-polish:active{transform:rotate(90deg) scale(.9)}.map-top-gradient{position:fixed;top:36px;left:0;right:0;height:20px;background:linear-gradient(180deg,rgba(6,8,16,.4) 0%,transparent 100%);pointer-events:none;z-index:5}.map-bottom-gradient{position:fixed;bottom:0;left:0;right:0;height:20px;background:linear-gradient(0deg,rgba(6,8,16,.3) 0%,transparent 100%);pointer-events:none;z-index:5}
