.frostpunk-modal-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#1a2332eb,#2c3e50e0);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--spacing-md);animation:frostpunkFadeIn .4s cubic-bezier(.4,0,.2,1);overflow-y:auto}@keyframes frostpunkFadeIn{0%{opacity:0}to{opacity:1}}.frostpunk-modal-content{position:relative;background:var(--background);border-radius:var(--radius-md);box-shadow:var(--shadow-glow-lg),0 0 0 1px #4a6b7c4d,inset 0 1px #ffffff1a;width:100%;max-width:min(1200px,calc(100vw - 40px));max-height:calc(100vh - 40px);animation:frostpunkSlideUp .5s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;margin:auto;border:2px solid rgba(74,107,124,.4)}@keyframes frostpunkSlideUp{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.frostpunk-corner-frame{position:absolute;width:32px;height:32px;pointer-events:none;z-index:2;opacity:0;animation:frostpunkCornerAppear .6s cubic-bezier(.4,0,.2,1) .3s forwards}@keyframes frostpunkCornerAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.frostpunk-corner-tl{top:-2px;left:-2px;border-top:3px solid var(--color-primary);border-left:3px solid var(--color-primary);border-top-left-radius:var(--radius-md)}.frostpunk-corner-tr{top:-2px;right:-2px;border-top:3px solid var(--color-primary);border-right:3px solid var(--color-primary);border-top-right-radius:var(--radius-md);animation-delay:.35s}.frostpunk-corner-bl{bottom:-2px;left:-2px;border-bottom:3px solid var(--color-primary);border-left:3px solid var(--color-primary);border-bottom-left-radius:var(--radius-md);animation-delay:.4s}.frostpunk-corner-br{bottom:-2px;right:-2px;border-bottom:3px solid var(--color-primary);border-right:3px solid var(--color-primary);border-bottom-right-radius:var(--radius-md);animation-delay:.45s}.frostpunk-modal-header{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg) var(--spacing-md);background:linear-gradient(180deg,#4a6b7c14,#4a6b7c08);border-bottom:2px solid rgba(74,107,124,.2);gap:var(--spacing-sm)}.frostpunk-title-decoration{flex:1;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(74,107,124,.4) 50%,transparent 100%);position:relative}.frostpunk-title-decoration:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 8px #4a6b7c99}.frostpunk-modal-title{font-size:1.375rem;font-weight:700;margin:0;text-align:center;letter-spacing:.02em;animation:frostpunkTitleSlide .5s cubic-bezier(.4,0,.2,1) .2s backwards}@keyframes frostpunkTitleSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.frostpunk-title-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;display:inline-block;text-shadow:0 2px 8px rgba(74,107,124,.2)}.frostpunk-modal-close-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(74,107,124,.3);background:linear-gradient(135deg,#f5f7f8e6,#e8ecedcc);color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-base);flex-shrink:0;padding:0;box-shadow:0 2px 8px #2c3e5026,inset 0 1px #ffffff80;animation:frostpunkButtonAppear .5s cubic-bezier(.4,0,.2,1) .4s backwards}@keyframes frostpunkButtonAppear{0%{opacity:0;transform:scale(.8) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}.frostpunk-modal-close-btn:hover{background:linear-gradient(135deg,#4a6b7c33,#6b8cae40);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px #4a6b7c4d,inset 0 1px #ffffff80}.frostpunk-modal-close-btn:active{transform:translateY(0);box-shadow:0 2px 8px #2c3e5026,inset 0 2px 4px #2c3e501a}.frostpunk-close-icon{position:relative;z-index:1}.frostpunk-close-icon svg{width:20px;height:20px;display:block}.frostpunk-rivet{position:absolute;width:6px;height:6px;background:radial-gradient(circle,var(--color-primary-light) 0%,var(--color-primary) 100%);border-radius:50%;box-shadow:inset 0 1px 2px #0000004d,0 1px 2px #ffffff80;transition:all var(--transition-fast)}.frostpunk-rivet-tl{top:4px;left:4px}.frostpunk-rivet-tr{top:4px;right:4px}.frostpunk-rivet-bl{bottom:4px;left:4px}.frostpunk-rivet-br{bottom:4px;right:4px}.frostpunk-modal-close-btn:hover .frostpunk-rivet{background:radial-gradient(circle,var(--color-primary) 0%,var(--color-primary-dark) 100%);box-shadow:inset 0 1px 2px #0006,0 0 6px #4a6b7c99}.frostpunk-divider{height:2px;background:linear-gradient(90deg,transparent 0%,rgba(74,107,124,.2) 10%,rgba(74,107,124,.4) 50%,rgba(74,107,124,.2) 90%,transparent 100%);position:relative;margin:0}.frostpunk-divider:before,.frostpunk-divider:after{content:"";position:absolute;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 8px #4a6b7c99,inset 0 1px 2px #ffffff4d}.frostpunk-divider:before{left:var(--spacing-md)}.frostpunk-divider:after{right:var(--spacing-md)}.frostpunk-modal-body{padding:var(--spacing-md);overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;animation:frostpunkContentFade .6s cubic-bezier(.4,0,.2,1) .3s backwards}@keyframes frostpunkContentFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.frostpunk-modal-body::-webkit-scrollbar{width:10px}.frostpunk-modal-body::-webkit-scrollbar-track{background:#4a6b7c1a;border-radius:var(--radius-sm);border:1px solid rgba(74,107,124,.15)}.frostpunk-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4a6b7c80,#4a6b7cb3);border-radius:var(--radius-sm);border:2px solid rgba(74,107,124,.2);box-shadow:inset 0 1px 2px #fff3}.frostpunk-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,rgba(74,107,124,.7) 0%,var(--color-primary) 100%);box-shadow:inset 0 1px 2px #ffffff4d,0 0 8px #4a6b7c66}.frostpunk-frost-texture{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(180deg,transparent 0%,rgba(232,236,237,.3) 100%);pointer-events:none;opacity:.4}.frostpunk-alert-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0}.frostpunk-alert-icon-wrapper{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center;animation:frostpunkIconBurst .6s cubic-bezier(.34,1.56,.64,1) .4s backwards}@keyframes frostpunkIconBurst{0%{opacity:0;transform:scale(.3) rotate(-180deg)}50%{transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.frostpunk-icon-glow{position:absolute;inset:0;border-radius:50%;opacity:.6;animation:frostpunkGlowPulse 2s ease-in-out infinite;filter:blur(16px)}@keyframes frostpunkGlowPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.frostpunk-icon-success .frostpunk-icon-glow{background:radial-gradient(circle,var(--color-success) 0%,transparent 70%)}.frostpunk-icon-warning .frostpunk-icon-glow{background:radial-gradient(circle,var(--color-warning) 0%,transparent 70%)}.frostpunk-icon-error .frostpunk-icon-glow{background:radial-gradient(circle,var(--color-danger) 0%,transparent 70%)}.frostpunk-icon-info .frostpunk-icon-glow{background:radial-gradient(circle,var(--color-info) 0%,transparent 70%)}.frostpunk-alert-icon{width:64px;height:64px;position:relative;z-index:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.frostpunk-icon-success .frostpunk-alert-icon{color:var(--color-success)}.frostpunk-icon-warning .frostpunk-alert-icon{color:var(--color-warning)}.frostpunk-icon-error .frostpunk-alert-icon{color:var(--color-danger)}.frostpunk-icon-info .frostpunk-alert-icon{color:var(--color-info)}.frostpunk-icon-gear{position:absolute;bottom:0;right:0;width:24px;height:24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #4a6b7c66,0 0 0 2px var(--background);animation:frostpunkGearSpin 8s linear infinite;z-index:2}@keyframes frostpunkGearSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.frostpunk-icon-gear svg{width:12px;height:12px;color:#fff}.frostpunk-message-box{width:100%;padding:var(--spacing-md);background:linear-gradient(135deg,#f5f7f8cc,#e8eced99);border-radius:var(--radius-md);border:2px solid rgba(74,107,124,.2);box-shadow:0 4px 16px #2c3e501a,inset 0 1px #ffffff80;position:relative;animation:frostpunkMessageSlide .5s cubic-bezier(.4,0,.2,1) .5s backwards}@keyframes frostpunkMessageSlide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.frostpunk-message-box:before,.frostpunk-message-box:after{content:"";position:absolute;width:6px;height:6px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 6px #4a6b7c99}.frostpunk-message-box:before{top:8px;left:8px}.frostpunk-message-box:after{top:8px;right:8px}.frostpunk-alert-message,.frostpunk-confirm-message{font-size:1rem;line-height:1.7;color:var(--foreground);margin:0;white-space:pre-line;text-align:center}.frostpunk-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:.875rem var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;border:2px solid;transition:all var(--transition-base);overflow:hidden;min-width:140px;animation:frostpunkButtonSlide .5s cubic-bezier(.4,0,.2,1) .6s backwards}@keyframes frostpunkButtonSlide{0%{opacity:0;transform:translateY(16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.frostpunk-btn-text{position:relative;z-index:1}.frostpunk-btn-shine{position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-base)}.frostpunk-btn:hover .frostpunk-btn-shine{opacity:1;animation:frostpunkShine 1.5s ease-in-out infinite}@keyframes frostpunkShine{0%{transform:translate(-100%) skew(-15deg)}50%,to{transform:translate(200%) skew(-15deg)}}.frostpunk-btn-primary{background:var(--gradient-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 16px #4a6b7c4d,inset 0 1px #fff3}.frostpunk-btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);border-color:var(--color-primary-light);transform:translateY(-2px);box-shadow:0 6px 24px #4a6b7c66,inset 0 1px #ffffff4d}.frostpunk-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #4a6b7c4d,inset 0 2px 4px #2c3e5033}.frostpunk-btn-secondary{background:linear-gradient(135deg,#f5f7f8e6,#e8ecedcc);border-color:#4a6b7c66;color:var(--color-primary);box-shadow:0 2px 8px #2c3e5026,inset 0 1px #ffffff80}.frostpunk-btn-secondary:hover{background:linear-gradient(135deg,#e8ecedf2,#d1d8dde6);border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px #4a6b7c40,inset 0 1px #ffffff80}.frostpunk-btn-secondary:active{transform:translateY(0);box-shadow:0 2px 8px #2c3e5026,inset 0 2px 4px #2c3e501a}.frostpunk-confirm-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0}.frostpunk-confirm-actions{display:flex;gap:var(--spacing-sm);width:100%;justify-content:center;flex-wrap:wrap}@media(max-width:768px){.frostpunk-modal-overlay{padding:var(--spacing-sm)}.frostpunk-modal-content{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:var(--radius-sm)}.frostpunk-corner-frame{width:24px;height:24px}.frostpunk-modal-header{padding:var(--spacing-md) var(--spacing-sm)}.frostpunk-modal-title{font-size:1.125rem}.frostpunk-modal-close-btn{width:40px;height:40px}.frostpunk-close-icon svg{width:18px;height:18px}.frostpunk-modal-body{padding:var(--spacing-sm)}.frostpunk-alert-icon-wrapper{width:80px;height:80px}.frostpunk-alert-icon{width:52px;height:52px}.frostpunk-icon-gear{width:20px;height:20px}.frostpunk-icon-gear svg{width:10px;height:10px}.frostpunk-message-box{padding:var(--spacing-sm)}.frostpunk-alert-message,.frostpunk-confirm-message{font-size:.9375rem}.frostpunk-btn{padding:.75rem var(--spacing-md);font-size:.9375rem;min-width:120px}.frostpunk-confirm-actions{flex-direction:column;gap:var(--spacing-xs)}.frostpunk-confirm-actions .frostpunk-btn{width:100%}}@media(max-width:480px){.frostpunk-modal-content{border-radius:var(--radius-sm)}.frostpunk-modal-header{padding:var(--spacing-sm);gap:var(--spacing-xs)}.frostpunk-modal-title{font-size:1rem}.frostpunk-title-decoration:before{width:4px;height:4px}.frostpunk-divider:before,.frostpunk-divider:after{width:6px;height:6px}.frostpunk-alert-icon-wrapper{width:72px;height:72px}.frostpunk-alert-icon{width:48px;height:48px}.frostpunk-btn{padding:.625rem var(--spacing-sm);font-size:.875rem}}[data-theme=dark] .frostpunk-modal-content{background:linear-gradient(135deg,#1a2332f2,#2c3e50eb);border-color:#4a6b7c80;box-shadow:var(--shadow-glow-lg),0 0 0 1px #6b8cae33,inset 0 1px #6b8cae1a}[data-theme=dark] .frostpunk-modal-header{background:linear-gradient(180deg,#4a6b7c26,#4a6b7c14);border-bottom-color:#4a6b7c4d}[data-theme=dark] .frostpunk-modal-close-btn{background:linear-gradient(135deg,#4a6b7c40,#2c3e5066);border-color:#6b8cae66;color:var(--color-primary-light)}[data-theme=dark] .frostpunk-modal-close-btn:hover{background:linear-gradient(135deg,#6b8cae4d,#4a6b7c66);border-color:var(--color-primary-light)}[data-theme=dark] .frostpunk-message-box{background:linear-gradient(135deg,#2c3e5099,#1a233280);border-color:#4a6b7c4d}[data-theme=dark] .frostpunk-btn-secondary{background:linear-gradient(135deg,#4a6b7c40,#2c3e5066);border-color:#6b8cae66;color:var(--color-primary-light)}[data-theme=dark] .frostpunk-btn-secondary:hover{background:linear-gradient(135deg,#6b8cae4d,#4a6b7c66);border-color:var(--color-primary-light)}[data-theme=dark] .frostpunk-frost-texture{background:linear-gradient(180deg,transparent 0%,rgba(74,107,124,.15) 100%)}
