@import"https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";@import"https://fonts.googleapis.com/css2?family=VT323&display=swap";@import"https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Cinzel:wght@400;600;700&family=Fira+Code:wght@400;500&display=swap";@font-face{font-family:Chicago;src:url(/assets/fonts/ChicagoFLF.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Frutiger;src:local("Frutiger"),local("Frutiger Next"),local("Fira Sans");font-weight:400;font-style:normal;font-display:swap}:root{--game-font: "Frutiger", "Fira Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--pixel-font: "Press Start 2P", "VT323", monospace;--primary-font: "Futura PT", "Jost", "Futura", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root{--primary-color: #1a1a2e;--primary-color-rgb: 26, 26, 46;--secondary-color: #4b8bbf;--secondary-color-rgb: 75, 139, 191;--accent-color: #ffc857;--accent-color-rgb: 255, 200, 87;--text-color: #e6e6e6;--text-color-dark: #222222;--background-color: #0f0f1a;--card-bg-color: rgba(40, 40, 60, .8);--success-color: #2ecc71;--error-color: #e74c3c;--warning-color: #f39c12;--info-color: #3498db;--health-color: #e74c3c;--exp-color: #3498db;--energy-color: #f1c40f;--base-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--display-font: "Cinzel", serif;--monospace-font: "Fira Code", "Courier New", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-xxl: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .12);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .15), 0 6px 6px rgba(0, 0, 0, .1);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .05);--transition-fast: .15s ease;--transition-medium: .3s ease;--transition-slow: .5s ease;--z-negative: -1;--z-base: 1;--z-dialog: 10;--z-dropdown: 20;--z-sticky: 30;--z-modal: 40;--z-popup: 50;--z-tooltip: 60;--z-overlay: 100}html{-webkit-tap-highlight-color:transparent;touch-action:manipulation;height:100%;overscroll-behavior:none}:root{--primary-color: #2c3e50;--secondary-color: #3498db;--accent-color: #e74c3c;--background-color: #1a1a1a;--text-color: #ffffff;--error-color: #e74c3c;--success-color: #2ecc71;--button-bg: #3498db;--button-hover: #2980b9;--button-active: #2472a4}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--base-font);background-color:var(--background-color);color:var(--text-color);line-height:1.6;overflow-x:hidden;text-shadow:1px 1px 0px rgba(255,255,255,.1);image-rendering:pixelated;min-height:100vh;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:touch;position:fixed;width:100%}#root{min-height:100vh;display:flex;flex-direction:column;background:url(/assets/background-pattern.png) repeat;height:100%;width:100%}@supports (-webkit-touch-callout: none){.viewport-height{height:-webkit-fill-available}}button,.button,[role=button]{cursor:pointer;touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none}.game-container,.game-world,.touch-controls,.d-pad-btn,.action-btn{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button{cursor:pointer;font-family:var(--base-font);font-size:1rem;transition:all var(--transition-fast);background:var(--button-bg);border:none;color:#fff;padding:12px 20px;border-radius:8px;text-transform:uppercase;letter-spacing:1px;font-weight:700;box-shadow:0 4px 6px #0000001a}button:disabled{cursor:not-allowed;opacity:.6}button:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 6px 8px #0003}button:active{background:var(--button-active);transform:translateY(0)}input,textarea,select{font-family:var(--base-font);font-size:1rem;padding:.5rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2);background-color:#0003;color:var(--text-color)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--secondary-color)}.app{min-height:100vh;display:flex;flex-direction:column;overflow-y:auto}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;overflow-y:auto}.dashboard{padding:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.dashboard-header h1{margin:0;color:var(--secondary-color)}.create-world-btn{padding:.75rem 1.5rem;font-size:.875rem}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.world-card{background-color:#ffffff1a;border-radius:8px;padding:1.5rem;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:var(--text-color);display:flex;flex-direction:column;gap:1rem}.world-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #0003}.world-card h3{color:var(--secondary-color);margin:0}.world-card p{color:var(--text-color);opacity:.8;margin:0;flex:1}.world-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-color);opacity:.6}.world-type{text-transform:capitalize;padding:.25rem .5rem;background:#ffffff1a;border-radius:4px}.no-worlds{grid-column:1 / -1;text-align:center;padding:3rem;background:#ffffff0d;border-radius:8px}.no-worlds p{margin-bottom:1.5rem;color:var(--text-color);opacity:.8}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:1.2rem;color:var(--secondary-color)}@media (max-width: 768px){.dashboard-header{flex-direction:column;text-align:center;gap:1rem}.create-world-btn{width:100%}.worlds-grid{grid-template-columns:1fr}.main-content,.world-card{padding:1rem}.world-meta{flex-direction:column;gap:.5rem;align-items:flex-start}}.form-container{max-width:400px;margin:2rem auto;padding:2rem;background-color:#ffffff1a;border-radius:8px;box-shadow:0 4px 6px #0000001a}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid rgba(255,255,255,.2);border-radius:8px;background-color:#ffffff1a;color:var(--text-color);font-size:1rem;transition:all .2s ease-in-out}.form-group input:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #3498db33}.error-message{background-color:#e74c3c1a;color:var(--error-color);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;border:1px solid var(--error-color)}.success-message{background-color:#2ecc711a;color:var(--success-color);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center;border:1px solid var(--success-color)}.navbar{background-color:var(--primary-color);padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.navbar-brand a{color:var(--text-color);text-decoration:none;font-size:1.25rem;font-weight:700}.navbar-menu{display:flex;gap:1rem;align-items:center}.navbar-menu a{color:var(--text-color);text-decoration:none;transition:color .3s ease;padding:.5rem}.navbar-menu a:hover{color:var(--secondary-color)}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem;padding:1rem}.navbar-menu{flex-direction:column;width:100%}.navbar-menu a{width:100%;text-align:center;padding:.75rem}}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.section{padding:2rem 0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:var(--secondary-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--secondary-color-rgb),.8)}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.p-1{padding:var(--space-sm)}.p-2{padding:var(--space-md)}.p-3{padding:var(--space-lg)}.p-4{padding:var(--space-xl)}.text-success{color:var(--success-color)}.text-error{color:var(--error-color)}.text-warning{color:var(--warning-color)}.text-info{color:var(--info-color)}.fade-in{animation:fadeIn .5s ease forwards}.fade-out{animation:fadeOut .5s ease forwards}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width: 768px){h1{font-size:1.8rem}h2{font-size:1.5rem}h3{font-size:1.3rem}.container{padding:0 .75rem}.section{padding:1.5rem 0}}.achievement-notification{position:fixed;bottom:30px;right:-400px;z-index:1000;width:350px;transition:right .5s ease-in-out,opacity .5s ease;opacity:0;cursor:pointer}.achievement-notification.visible{right:30px;opacity:1}.achievement-notification.closing{right:-400px;opacity:0}.achievement-notification-content{display:flex;align-items:center;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-left:4px solid var(--accent-color);border-radius:8px;box-shadow:0 8px 16px #0000004d;padding:16px;color:#fff;position:relative;overflow:hidden}.achievement-notification-content:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shine 2s infinite}@keyframes shine{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.achievement-notification-icon{font-size:2.5rem;margin-right:16px;background:linear-gradient(135deg,var(--accent-color) 0%,#ffd700 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.achievement-notification-text{flex:1}.achievement-notification-title{font-weight:700;margin-bottom:4px;font-size:.9rem;color:var(--accent-color);text-transform:uppercase;letter-spacing:1px}.achievement-notification-name{font-weight:700;font-size:1.2rem;margin-bottom:4px}.achievement-notification-description{font-size:.9rem;color:#ffffffb3}.achievement-notification-close{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:#0000004d;color:#ffffffb3;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;padding:0}.achievement-notification-close:hover{background:#00000080;color:#fff}@media (max-width: 768px){.achievement-notification{bottom:20px;width:calc(100% - 40px);max-width:350px}.achievement-notification.visible{right:20px}}.navbar{background-color:#242424;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px #0003}.navbar-brand a{font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none}.navbar-menu{display:flex;align-items:center;gap:1rem}.navbar-menu a{color:#eee;text-decoration:none;padding:.5rem .75rem;border-radius:4px;transition:background-color .2s}.navbar-menu a:hover{background-color:#ffffff1a}.mobile-menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer}.logout-btn,.game-menu-btn{background-color:transparent;border:1px solid #555;color:#eee;padding:.5rem .75rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.logout-btn:hover{background-color:#f003}.game-menu-btn{display:flex;align-items:center;gap:.5rem}.inventory-btn:before{content:"🎒"}.create-btn:before{content:"✨"}.quotes-btn:before{content:"💬"}.game-menu-btn:hover{background-color:#fff3}@media (max-width: 768px){.mobile-menu-toggle{display:block}.navbar-menu{position:absolute;flex-direction:column;top:100%;left:0;right:0;background-color:#242424;padding:1rem;gap:.75rem;box-shadow:0 4px 10px #0000004d;transform:scaleY(0);transform-origin:top;transition:transform .3s ease;opacity:0}.navbar-menu.open{transform:scaleY(1);opacity:1}.navbar-menu a,.logout-btn,.game-menu-btn{width:100%;text-align:left}}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:#1a1a1a;color:#fff}.layout-content{flex:1;display:flex;gap:2rem;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.layout-header{background-color:#2a2a2a;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.layout-footer{background-color:#2a2a2a;padding:1rem 2rem;margin-top:auto}.layout-sidebar{width:250px;background-color:#2a2a2a;border-radius:8px;padding:1rem;height:fit-content}.layout-main{flex:1;min-width:0}@media (max-width: 768px){.layout-content{flex-direction:column;padding:1rem;gap:1rem}.layout-sidebar{width:100%}}.layout.centered .layout-content{justify-content:center;align-items:center}.layout.full-width .layout-content{max-width:none;padding:0}.layout.no-padding .layout-content{padding:0}.layout-header,.layout-footer,.layout-sidebar{background-color:#2a2a2af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.button{padding:.8rem 1.5rem;border-radius:4px;font-weight:500;transition:all .2s ease;cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.button.primary{background-color:#4a90e2;color:#fff}.button.primary:hover:not(:disabled){background-color:#357abd;transform:translateY(-2px)}.button.secondary{background-color:#2a2a2a;color:#fff;border:1px solid #4a90e2}.button.secondary:hover:not(:disabled){background-color:#333;transform:translateY(-2px)}.button.danger{background-color:#f44336;color:#fff}.button.danger:hover:not(:disabled){background-color:#d32f2f;transform:translateY(-2px)}.button.success{background-color:#4caf50;color:#fff}.button.success:hover:not(:disabled){background-color:#388e3c;transform:translateY(-2px)}.button.link{background:none;color:#4a90e2;padding:0;text-decoration:underline}.button.link:hover:not(:disabled){color:#357abd;transform:none}.daily-quote{background:linear-gradient(135deg,#fff,#f5f5f5);border-radius:12px;padding:24px;margin:20px 0;box-shadow:0 4px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.daily-quote:hover{transform:translateY(-2px);box-shadow:0 6px 8px #00000026}.daily-quote blockquote{margin:0;padding:0}.daily-quote .quote-text{font-size:1.2rem;line-height:1.6;color:#2c3e50;margin-bottom:12px;font-style:italic}.daily-quote .quote-author{font-size:1rem;color:#7f8c8d;text-align:right;margin-top:8px}.daily-quote .save-quote-button{background-color:#3498db;color:#fff;border:none;border-radius:6px;padding:8px 16px;margin-top:16px;cursor:pointer;transition:background-color .2s ease;font-size:.9rem}.daily-quote .save-quote-button:hover{background-color:#2980b9}.daily-quote.loading{text-align:center;color:#7f8c8d;padding:40px;font-style:italic}.daily-quote.error{color:#e74c3c;text-align:center;padding:20px;border:1px solid #e74c3c;border-radius:8px;background-color:#fdf3f2}.magical-container{position:relative;display:flex;justify-content:center;margin:30px 0;min-height:80px}.magical-button{background:linear-gradient(135deg,#9c27b0,#673ab7);color:#fff;border:none;border-radius:30px;padding:15px 30px;font-size:1.2rem;font-weight:700;cursor:pointer;box-shadow:0 6px 12px #6633994d;animation:pulse 2s infinite,glow 3s infinite alternate;transition:all .3s ease-in-out;position:relative;overflow:hidden;z-index:1}.magical-button:before{content:"";position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);background:repeating-linear-gradient(45deg,#ffffff1a,#fff3 10px,#fff0 10px,#fff0 20px);animation:rotate 10s linear infinite;z-index:-1;border-radius:35px}.magical-button:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 10px 20px #6396}.magical-button:active{transform:translateY(2px);box-shadow:0 2px 8px #66339980}.magical-bird{position:absolute;width:60px;height:60px;background-image:url(/assets/images/bird-sprite.png);background-size:cover;z-index:100;animation:fly-away 2s ease-out forwards,bird-flap .2s infinite alternate}.magical-bird:before{content:"🐦";font-size:40px;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.magical-button.poof:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,#ffffffe6,#fff0 70%);transform:translate(-50%,-50%);opacity:0;animation:poof .5s ease-out forwards}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes glow{0%{box-shadow:0 0 10px #66339980}to{box-shadow:0 0 20px #639c,0 0 30px #6399}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fly-away{0%{transform:translateY(0) scale(1);opacity:1}20%{transform:translateY(-30px) scale(1.1);opacity:1}to{transform:translateY(-300px) translate(100px) scale(.5);opacity:0}}@keyframes bird-flap{0%{background-position:0% 0%}to{background-position:100% 0%}}@keyframes poof{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.secret-message{text-align:center;font-family:Cinzel,serif;color:#4a148c;font-size:1.3rem;line-height:1.6;background:linear-gradient(to right,#f3e5f5,#e1bee7,#f3e5f5);padding:20px;border-radius:10px;box-shadow:0 5px 15px #0000001a;opacity:0;transform:translateY(20px);animation:fade-in 1s ease-out forwards;max-width:800px;margin:0 auto 30px;border:2px solid #ce93d8;position:relative;overflow:hidden}.secret-message:before{content:"";position:absolute;top:0;left:-150%;width:120%;height:100%;background:linear-gradient(to right,#fff0,#fffc,#fff0);transform:skew(-25deg);animation:shine 3s infinite}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shine{0%{left:-150%}to{left:150%}}.home-container{min-height:100vh;display:flex;flex-direction:column}.home-header{text-align:center;padding:2rem 1rem;background:linear-gradient(to bottom,#2c3e50e6,#2c3e50b3);border-bottom:1px solid rgba(255,255,255,.1)}.home-header h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--secondary-color);font-family:var(--display-font);text-shadow:0 2px 4px rgba(0,0,0,.3)}.home-header .subtitle{font-size:1.2rem;color:var(--text-color);opacity:.8}.home-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.home-content-wrapper{display:flex;flex-direction:column;gap:2rem}.authenticated-content,.unauthenticated-content{padding:1.5rem;background:#ffffff0d;border-radius:8px;margin-bottom:2rem;text-align:center}.authenticated-content h2,.unauthenticated-content h2{color:var(--secondary-color);margin-bottom:1rem}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.daily-wisdom-section{background:#0003;border-radius:8px;padding:2rem;margin-top:1rem;box-shadow:0 4px 12px #0000001a;border:1px solid rgba(52,152,219,.3)}.daily-wisdom-section h2{color:var(--secondary-color);text-align:center;margin-bottom:.5rem;font-size:1.8rem}.wisdom-intro{text-align:center;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto;color:var(--text-color);opacity:.8;font-size:.9rem}.quotes-loading{text-align:center;padding:2rem;font-style:italic;color:var(--text-color);opacity:.7}.inspirational-quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.quote-card{background:#141414cc;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;height:100%;border-left:3px solid var(--secondary-color);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.quote-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0003}.quote-card:before{content:'"';position:absolute;top:-20px;left:10px;font-size:120px;color:#ffffff0d;font-family:Georgia,serif}.quote-card-content{flex:1;display:flex;flex-direction:column}.quote-text{font-style:italic;color:var(--text-color);margin-bottom:1rem;font-size:1rem;line-height:1.5;position:relative;z-index:1}.quote-source{font-size:.8rem;color:var(--secondary-color);margin-top:auto;position:relative;z-index:1}.quote-npc-type{color:var(--accent-color);font-weight:700}.save-quote-button{background:#3498db33;color:var(--secondary-color);border:1px solid var(--secondary-color);border-radius:4px;padding:.5rem 1rem;margin-top:1rem;font-size:.8rem;cursor:pointer;transition:all .2s ease;align-self:flex-end;z-index:2}.save-quote-button:hover{background:#3498db66;transform:translateY(-2px)}.save-quote-button:active{transform:translateY(0)}.daily-quote-container{margin-top:2rem;padding:2rem;background:#2c3e504d;border-radius:8px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.daily-quote-container h3{text-align:center;margin-bottom:1.5rem;color:var(--text-color);font-size:1.2rem}.game-cta{text-align:center;margin-top:3rem;padding:2rem;background:#2ecc711a;border-radius:8px;border:1px solid rgba(46,204,113,.3)}.game-cta h3{color:var(--success-color);margin-bottom:.5rem;font-size:1.4rem}.game-cta p{margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}.save-notification{position:fixed;bottom:20px;right:20px;background:#2ecc71e6;color:#fff;padding:.8rem 1.5rem;border-radius:4px;font-size:.9rem;animation:fadeInOut 3s forwards;z-index:1000;box-shadow:0 4px 12px #0003}@keyframes fadeInOut{0%{opacity:0;transform:translateY(20px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media (max-width: 768px){.home-header h1{font-size:1.8rem}.home-header .subtitle{font-size:1rem}.home-content{padding:1rem}.daily-wisdom-section{padding:1.5rem}.inspirational-quotes{grid-template-columns:1fr}.action-buttons{flex-direction:column}.daily-quote-container{padding:1.5rem}.save-notification{bottom:10px;right:10px;left:10px;text-align:center}}@media (max-width: 480px){.home-header h1{font-size:1.5rem}.home-header .subtitle{font-size:.9rem}.daily-wisdom-section h2{font-size:1.4rem}.wisdom-intro{font-size:.8rem}.quote-text{font-size:.9rem}.save-quote-button{width:100%;margin-top:.8rem}}.create-artifacts-section{background-color:#1a2634;padding:2.5rem;border-radius:8px;margin-bottom:2rem;color:#fff;box-shadow:0 5px 15px #0000004d;position:relative;overflow:hidden}.create-artifacts-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/world_map_bg.jpg);background-size:cover;background-position:center;opacity:.1;z-index:0}.create-artifacts-section h2{font-size:2rem;margin-bottom:1.2rem;color:#3498db;text-align:center;position:relative;z-index:1}.creative-questions{text-align:center;font-size:1.3rem;font-weight:500;margin-bottom:1.5rem;position:relative;z-index:1}.creative-questions p{margin:.5rem 0;color:#ecf0f1}.creative-description{font-size:1.1rem;line-height:1.6;text-align:center;margin-bottom:2rem;max-width:800px;margin-left:auto;margin-right:auto;color:#bdc3c7;position:relative;z-index:1}.creative-steps{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.creative-step{flex:1;background:#2c3e5099;padding:1.5rem;border-radius:8px;text-align:center;border:1px solid rgba(255,255,255,.1);transition:transform .3s,box-shadow .3s}.creative-step:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000004d}.step-icon{font-size:2.5rem;margin-bottom:1rem}.creative-step h3{font-size:1.5rem;margin-bottom:.8rem;color:#3498db}.creative-step p{font-size:.95rem;color:#ecf0f1;line-height:1.5}.create-button{display:block!important;width:250px;margin:0 auto!important;font-size:1.1rem!important;padding:12px 24px!important;position:relative;z-index:1;background:linear-gradient(to right,#3498db,#2980b9)!important;transition:transform .3s,box-shadow .3s!important}.create-button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #3498db66!important}@media (max-width: 768px){.create-artifacts-section{padding:1.5rem}.creative-steps{flex-direction:column;gap:1rem}.creative-step{padding:1.2rem}.create-artifacts-section h2{font-size:1.6rem}.creative-questions{font-size:1.1rem}.creative-description{font-size:1rem}}.dashboard{padding:20px;max-width:1200px;margin:0 auto}.dashboard-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:30px;gap:20px}.dashboard-header h1{margin:0;font-size:2rem;color:#f0f0f0}.daily-quote-container{flex:1;min-width:300px;max-width:600px}.dashboard h1{color:var(--text-primary);margin-bottom:2rem;font-size:2.5rem}.main-world-section{background:linear-gradient(145deg,var(--bg-secondary),var(--accent-primary));border-radius:12px;padding:2rem;margin-bottom:3rem;color:var(--text-primary)}.main-world-section h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary)}.main-world-section p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.1rem}.development-worlds{margin-top:3rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{color:var(--text-primary);font-size:1.8rem;margin:0}.section-header button{padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.section-header button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.world-card{background:var(--bg-secondary);border-radius:8px;padding:1.5rem;margin-bottom:1rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.world-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.world-card.main{background:linear-gradient(145deg,var(--accent-primary),var(--bg-primary));border:2px solid var(--accent-primary);margin-top:1.5rem;position:relative;overflow:hidden;cursor:pointer;transition:all .3s ease}.world-card.main:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0003}.world-card.main:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1));pointer-events:none}.world-card.main .world-status.main{background:var(--accent-primary);color:var(--text-primary);padding:.5rem 1rem;border-radius:4px;font-weight:700;margin-top:1rem;text-align:center;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.world-card.dev{border:1px solid var(--border-color)}.world-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.world-card p{color:var(--text-secondary);margin-bottom:1rem}.world-stats{display:flex;gap:1.5rem;color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.world-status{font-size:.9rem;color:var(--text-secondary);padding:.5rem;border-radius:4px;background:#ffffff1a;display:inline-block}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);padding:2rem;border-radius:8px;width:90%;max-width:500px}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.form-actions button[type=submit]{background:var(--accent-primary);color:var(--text-primary)}.form-actions button[type=button]{background:var(--bg-secondary);color:var(--text-secondary)}.form-actions button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.error{text-align:center;padding:2rem;color:var(--error-color);background:var(--error-bg);border-radius:8px;margin:2rem auto;max-width:600px}.no-worlds{text-align:center;color:var(--text-secondary);padding:2rem;background:var(--bg-secondary);border-radius:8px;margin:1rem 0}@media (max-width: 768px){.dashboard{padding:1rem}.worlds-grid{grid-template-columns:1fr}.modal-content{width:95%;padding:1.5rem}}.character-progress-section{background:linear-gradient(145deg,var(--bg-secondary),var(--accent-secondary));border-radius:12px;padding:2rem;margin-bottom:2rem;color:var(--text-primary)}.character-progress-section h2{font-size:1.8rem;margin-bottom:1.5rem;color:var(--text-primary)}.character-stats{display:flex;flex-wrap:wrap;align-items:center;gap:2rem;margin-bottom:1.5rem}.character-level{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0003;border-radius:50%;width:100px;height:100px;border:3px solid var(--accent-primary)}.level-label{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.level-value{font-size:2.5rem;font-weight:700;color:var(--accent-primary)}.experience-container{flex:1;min-width:250px}.experience-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.experience-bar-container{height:12px;background:#0003;border-radius:6px;overflow:hidden}.experience-bar{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transition:width .5s ease-out}.character-actions{display:flex;gap:1rem}.character-actions button{padding:.75rem 1.5rem;background:var(--accent-primary);color:var(--text-primary);border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s}.character-actions button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.tile{position:absolute;width:64px;height:64px;background-size:cover;background-position:center;background-repeat:no-repeat;transition:all .2s ease-in-out}.tile.grass{background-image:url(/assets/tiles/piskel_grass.png)}.tile.wall{background-image:url(/assets/tiles/wall.webp)}.tile.water{background-image:url(/assets/tiles/water.webp)}.tile.sand{background-image:url(/assets/tiles/sand.png)}.tile.dungeon{background-image:url(/assets/tiles/dungeon.webp)}.tile.portal{background-color:#94a;box-shadow:0 0 20px 8px #ba55d380;z-index:25;animation:portalPulse 2s infinite;position:relative;overflow:visible}.tile.portal:before{content:"";position:absolute;top:-20%;left:-20%;right:-20%;bottom:-20%;background:radial-gradient(circle at center,rgba(255,100,255,.6) 0%,transparent 70%);border-radius:50%;animation:portalOuterGlow 3s infinite alternate;z-index:-1;pointer-events:none}.tile.portal:after{content:"";position:absolute;top:15%;left:15%;right:15%;bottom:15%;border-radius:50%;background:radial-gradient(circle at center,#fffc,#ba55d366 70%);animation:portalVortex 4s infinite linear;z-index:1;pointer-events:none}@keyframes portalPulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.8}}@keyframes portalOuterGlow{0%{opacity:.7;transform:scale(.9) rotate(0)}to{opacity:1;transform:scale(1.1) rotate(15deg)}}@keyframes portalVortex{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}50%{transform:rotate(180deg) scale(1.1);filter:hue-rotate(45deg) brightness(1.2)}to{transform:rotate(360deg) scale(1);filter:hue-rotate(0deg) brightness(1)}}.tile.portal.yosemite-portal:before{content:"YOSEMITE";color:#fff;font-size:9px;font-weight:700;text-align:center;top:-25px;left:50%;right:auto;bottom:auto;width:auto;height:auto;background:none;transform:translate(-50%);animation:portalLabelPulse 2s infinite;z-index:30;text-shadow:0 0 4px #000,0 0 8px rgba(186,85,211,.8)}@keyframes portalLabelPulse{0%{opacity:.7;transform:translate(-50%) scale(.9)}50%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:.7;transform:translate(-50%) scale(.9)}}.tile.portal[data-level="1"]{box-shadow:0 0 25px 12px #ffd700b3}.tile.portal[data-level="2"]{box-shadow:0 0 25px 12px #00bfffb3}.tile.portal[data-level="3"]{box-shadow:0 0 25px 12px #32cd32b3}.tile.portal[data-level="4"]{box-shadow:0 0 25px 12px #ff4500b3}.tile.image-loading.portal{background-color:#ba55d3b3;animation:portalVortex 4s infinite linear}.tile.image-loading{background-color:#78787880;border:1px dashed #999}.tile.image-loading.wall{background-color:#5a4d41cc}.tile.image-loading.water{background-color:#1e90ff99}.tile.image-loading.grass{background-color:#32cd3299}.tile.image-loading.sand{background-color:#f4a460b3}.tile.image-loading.dungeon{background-color:#483d8bb3}.tile:hover{transform:scale(1.05);z-index:1}.tile.water{animation:waterFlow 3s infinite linear}@keyframes waterFlow{0%{background-position:0% center}to{background-position:100% center}}@media (max-width: 768px){.tile{width:48px;height:48px}}.yosemite-map .tile.water{animation:waterfall 2s infinite linear;background-image:url(/assets/tiles/water.webp);filter:saturate(1.2) brightness(1.1);box-shadow:0 0 15px #3e7df099}.yosemite-map .tile.grass{background-image:url(/assets/tiles/piskel_grass.png);filter:saturate(1.3) brightness(1.1);transition:all .3s ease}.yosemite-map .tile.wall{background-image:url(/assets/tiles/wall.webp);filter:contrast(1.2) brightness(1.1);box-shadow:0 0 10px #6e6e6e66}.portal-inner-vortex,.terminal-portal-inner,.shooter-portal-inner,.text-portal-inner{position:absolute;top:15%;left:15%;right:15%;bottom:15%;border-radius:50%;z-index:1;pointer-events:none}.portal-inner-vortex{background:radial-gradient(circle at center,#fffc,#ba55d366 70%);animation:portalVortex 4s infinite linear}.terminal-portal-inner{background:radial-gradient(circle at center,#fffc,#3f39 70%);animation:terminalVortex 4s infinite linear}.shooter-portal-inner{background:radial-gradient(circle at center,#fffc,#f339 70%);animation:shooterVortex 4s infinite linear}.text-portal-inner{background:radial-gradient(circle at center,#fffc,#33f9 70%);animation:textVortex 4s infinite linear}.portal-glow{position:absolute;top:-20%;left:-20%;right:-20%;bottom:-20%;border-radius:50%;background:radial-gradient(circle at center,rgba(186,85,211,.6) 0%,transparent 70%);animation:portalOuterGlow 3s infinite alternate;z-index:-1;pointer-events:none}.green-glow{background:radial-gradient(circle at center,rgba(51,255,51,.6) 0%,transparent 70%);animation:greenGlow 3s infinite alternate}.red-glow{background:radial-gradient(circle at center,rgba(255,51,51,.6) 0%,transparent 70%);animation:redGlow 3s infinite alternate}.blue-glow{background:radial-gradient(circle at center,rgba(51,51,255,.6) 0%,transparent 70%);animation:blueGlow 3s infinite alternate}@keyframes terminalVortex{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}50%{transform:rotate(180deg) scale(1.1);filter:hue-rotate(20deg) brightness(1.2)}to{transform:rotate(360deg) scale(1);filter:hue-rotate(0deg) brightness(1)}}@keyframes shooterVortex{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}50%{transform:rotate(180deg) scale(1.1);filter:hue-rotate(20deg) brightness(1.3)}to{transform:rotate(360deg) scale(1);filter:hue-rotate(0deg) brightness(1)}}@keyframes textVortex{0%{transform:rotate(0) scale(1);filter:hue-rotate(0deg) brightness(1)}50%{transform:rotate(180deg) scale(1.1);filter:hue-rotate(20deg) brightness(1.2)}to{transform:rotate(360deg) scale(1);filter:hue-rotate(0deg) brightness(1)}}@keyframes greenGlow{0%{opacity:.7;transform:scale(.9) rotate(0);filter:hue-rotate(0deg)}to{opacity:1;transform:scale(1.1) rotate(15deg);filter:hue-rotate(20deg)}}@keyframes redGlow{0%{opacity:.7;transform:scale(.9) rotate(0);filter:hue-rotate(0deg)}to{opacity:1;transform:scale(1.1) rotate(15deg);filter:hue-rotate(-20deg)}}@keyframes blueGlow{0%{opacity:.7;transform:scale(.9) rotate(0);filter:hue-rotate(0deg)}to{opacity:1;transform:scale(1.1) rotate(15deg);filter:hue-rotate(20deg)}}.tile.terminal-portal{background-color:#3f3;animation:terminalPortalPulse 2s infinite;box-shadow:0 0 15px #3f3;border:3px solid #1a991a;z-index:25;position:relative;overflow:visible}.tile.terminal-portal:before{content:"TERMINAL";position:absolute;top:-20px;left:50%;transform:translate(-50%);background-color:#1a991a;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;white-space:nowrap;z-index:30;pointer-events:none;opacity:.9;box-shadow:0 0 5px #00000080}.tile.shooter-portal{background-color:#f33;animation:shooterPortalPulse 2s infinite;box-shadow:0 0 15px #f33;border:3px solid #cc1a1a;z-index:25;position:relative;overflow:visible}.tile.shooter-portal:before{content:"SHOOTER";position:absolute;top:-20px;left:50%;transform:translate(-50%);background-color:#cc1a1a;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;white-space:nowrap;z-index:30;pointer-events:none;opacity:.9;box-shadow:0 0 5px #00000080}.tile.text-portal{background-color:#33f;animation:textPortalPulse 2s infinite;box-shadow:0 0 15px #33f;border:3px solid #1a1acc;z-index:25;position:relative;overflow:visible}.tile.text-portal:before{content:"TEXT ADVENTURE";position:absolute;top:-20px;left:50%;transform:translate(-50%);background-color:#1a1acc;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;white-space:nowrap;z-index:30;pointer-events:none;opacity:.9;box-shadow:0 0 5px #00000080}@keyframes terminalPortalPulse{0%{transform:scale(1);opacity:.9;box-shadow:0 0 15px #3f3}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 25px #3f3}to{transform:scale(1);opacity:.9;box-shadow:0 0 15px #3f3}}@keyframes standardPortalPulse{0%{transform:scale(1);opacity:.9;box-shadow:0 0 15px #94a}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 25px #94a}to{transform:scale(1);opacity:.9;box-shadow:0 0 15px #94a}}@keyframes shooterPortalPulse{0%{transform:scale(1);opacity:.9;box-shadow:0 0 15px #f33}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 25px #f33}to{transform:scale(1);opacity:.9;box-shadow:0 0 15px #f33}}@keyframes textPortalPulse{0%{transform:scale(1);opacity:.9;box-shadow:0 0 15px #33f}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 25px #33f}to{transform:scale(1);opacity:.9;box-shadow:0 0 15px #33f}}.tile.terminal-portal:hover,.tile.shooter-portal:hover,.tile.text-portal:hover{transform:scale(1.15);cursor:pointer;z-index:100}.tile.standard-portal{background-color:#94a;animation:standardPortalPulse 2s infinite;box-shadow:0 0 15px #94a;border:3px solid #773388;z-index:25;position:relative;overflow:visible}.tile.standard-portal:before{content:"PORTAL";position:absolute;top:-20px;left:50%;transform:translate(-50%);background-color:#738;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:3px;white-space:nowrap;z-index:30;pointer-events:none;opacity:.9;box-shadow:0 0 5px #00000080}.tile.standard-portal.portal-to-overworld3:before{content:"OVERWORLD 3";background-color:#1a1acc}.artifact{position:absolute;width:32px;height:32px;cursor:pointer;transition:transform .2s ease;z-index:1000}.artifact.visible{opacity:1}.artifact.hovered{transform:scale(1.2);z-index:1001}.artifact-near{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.1);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}.artifact-image{width:100%;height:100%;object-fit:contain}.artifact-prompt{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000c;color:gold;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;animation:fadeIn .3s ease}.artifact-pickup-animation{animation:pickup .5s ease-out forwards}@keyframes pickup{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(0);opacity:0}}.artifact-details{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:1rem;border-radius:8px;min-width:200px;max-width:300px;margin-top:8px;z-index:1001;box-shadow:0 4px 6px #0000001a;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.artifact-details h3{margin:0 0 .5rem;font-size:1.2rem;color:gold}.artifact-details p{margin:.5rem 0;font-size:.9rem;line-height:1.4}.artifact-details .creator{color:#a0a0a0;font-style:italic}.artifact-details .message{color:gold;font-style:italic;border-left:2px solid #ffd700;padding-left:.5rem;margin:.5rem 0}.artifact-details .theme{color:#90ee90}.artifact-details .dedication{color:#ffb6c1}.artifact-details .significance{color:#87ceeb;font-style:italic;border-top:1px solid rgba(255,255,255,.1);padding-top:.5rem;margin-top:.5rem}.artifact-sword{filter:drop-shadow(0 0 2px #ffd700)}.artifact-orb{filter:drop-shadow(0 0 2px #00ffff)}.artifact-goldenIdol{filter:drop-shadow(0 0 2px #ffd700)}.artifact-dungeonKey{filter:drop-shadow(0 0 2px #c0c0c0)}.artifact-level-1{filter:drop-shadow(0 0 2px #90EE90)}.artifact-level-2{filter:drop-shadow(0 0 3px #00ffff)}.artifact-level-3{filter:drop-shadow(0 0 4px #ffd700);animation:glow 2s infinite}@keyframes glow{0%{filter:drop-shadow(0 0 4px #ffd700)}50%{filter:drop-shadow(0 0 6px #ffd700)}to{filter:drop-shadow(0 0 4px #ffd700)}}.artifact-portal-info{color:gold;font-weight:700;text-align:center;margin-top:.5rem;padding:.5rem;background:#00000080;border-radius:4px;border:1px solid rgba(255,215,0,.3)}.artifact-level-1{filter:drop-shadow(0 0 2px #90EE90);animation:level1Pulse 2s infinite}@keyframes level1Pulse{0%{filter:drop-shadow(0 0 2px #90EE90)}50%{filter:drop-shadow(0 0 4px #90EE90)}to{filter:drop-shadow(0 0 2px #90EE90)}}.artifact-level-2{filter:drop-shadow(0 0 3px #00ffff);animation:level2Pulse 2s infinite}@keyframes level2Pulse{0%{filter:drop-shadow(0 0 3px #00ffff)}50%{filter:drop-shadow(0 0 6px #00ffff)}to{filter:drop-shadow(0 0 3px #00ffff)}}.artifact-level-3{filter:drop-shadow(0 0 4px #ffd700);animation:level3Pulse 2s infinite}@keyframes level3Pulse{0%{filter:drop-shadow(0 0 4px #ffd700)}50%{filter:drop-shadow(0 0 8px #ffd700)}to{filter:drop-shadow(0 0 4px #ffd700)}}@media (max-width: 768px){.artifact-details{max-width:250px;font-size:.8rem}.artifact-details h3{font-size:1rem}.artifact-portal-info{font-size:.8rem;padding:.3rem}.artifact-prompt{font-size:10px;padding:2px 4px}}.artifact-area-overworld{filter:drop-shadow(0 0 2px #90EE90);animation:overworldPulse 2s infinite}@keyframes overworldPulse{0%{filter:drop-shadow(0 0 2px #90EE90)}50%{filter:drop-shadow(0 0 4px #90EE90)}to{filter:drop-shadow(0 0 2px #90EE90)}}.artifact-area-desert{filter:drop-shadow(0 0 2px #FFD700);animation:desertPulse 2s infinite}@keyframes desertPulse{0%{filter:drop-shadow(0 0 2px #FFD700)}50%{filter:drop-shadow(0 0 4px #FFD700)}to{filter:drop-shadow(0 0 2px #FFD700)}}.artifact-area-dungeon{filter:drop-shadow(0 0 2px #800080);animation:dungeonPulse 2s infinite}@keyframes dungeonPulse{0%{filter:drop-shadow(0 0 2px #800080)}50%{filter:drop-shadow(0 0 4px #800080)}to{filter:drop-shadow(0 0 2px #800080)}}.artifact-area-yosemite{filter:drop-shadow(0 0 2px #4169E1);animation:yosemitePulse 2s infinite}@keyframes yosemitePulse{0%{filter:drop-shadow(0 0 2px #4169E1)}50%{filter:drop-shadow(0 0 4px #4169E1)}to{filter:drop-shadow(0 0 2px #4169E1)}}.artifact-portal{filter:drop-shadow(0 0 4px rgba(255,255,255,.5));animation:portalPulse 2s infinite}.artifact-portal-textAdventure{filter:drop-shadow(0 0 4px #4CAF50)}.artifact-portal-terminal{filter:drop-shadow(0 0 4px #2196F3)}.artifact-portal-hemingway{filter:drop-shadow(0 0 4px #F44336)}.artifact-prompt{position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#000c;color:gold;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;animation:fadeIn .3s ease;text-align:center}.artifact-portal .artifact-prompt{background:#000000e6;border:1px solid rgba(255,215,0,.3);box-shadow:0 0 8px #ffd70033}.artifact-portal{filter:drop-shadow(0 0 4px rgba(255,255,255,.5));animation:portalPulse 2s infinite;transition:all .3s ease}.artifact-portal:hover{transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}.artifact-portal-progress{border:2px solid transparent;animation:progressPortalPulse 2s infinite}@keyframes progressPortalPulse{0%{border-color:#ffffff4d;filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}50%{border-color:#fff9;filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}to{border-color:#ffffff4d;filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}}.artifact-portal-warp{border:2px solid transparent;animation:warpPortalPulse 2s infinite}@keyframes warpPortalPulse{0%{border-color:#ffd7004d;filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}50%{border-color:#ffd70099;filter:drop-shadow(0 0 8px rgba(255,215,0,.8))}to{border-color:#ffd7004d;filter:drop-shadow(0 0 4px rgba(255,215,0,.5))}}.artifact-area-overworld .artifact-portal-progress{border-color:#90ee90}.artifact-area-desert .artifact-portal-progress{border-color:gold}.artifact-area-dungeon .artifact-portal-progress{border-color:purple}.artifact-area-yosemite .artifact-portal-warp{border-color:#4169e1}.artifact-portal .artifact-prompt{background:#000000e6;border:1px solid rgba(255,215,0,.3);box-shadow:0 0 8px #ffd70033;font-weight:700;text-transform:uppercase;letter-spacing:1px}.artifact-area-overworld .artifact-prompt{border-color:#90ee90;text-shadow:0 0 4px #90EE90}.artifact-area-desert .artifact-prompt{border-color:gold;text-shadow:0 0 4px #FFD700}.artifact-area-dungeon .artifact-prompt{border-color:purple;text-shadow:0 0 4px #800080}.artifact-area-yosemite .artifact-prompt{border-color:#4169e1;text-shadow:0 0 4px #4169E1}.artifact-portal-transition{animation:portalTransition .5s ease-out forwards}@keyframes portalTransition{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(0);opacity:0}}@media (max-width: 768px){.artifact-portal .artifact-prompt{font-size:10px;padding:2px 4px}}.artifact-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:10px;border-radius:4px;margin-bottom:5px;min-width:200px;max-width:300px;z-index:1002;box-shadow:0 2px 5px #0003}.artifact-tooltip h3{margin:0 0 5px;font-size:16px;color:#4a90e2}.artifact-tooltip p{margin:0;font-size:14px;line-height:1.4}.artifact-message{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1);font-style:italic}@keyframes artifactAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.artifact.visible{animation:artifactAppear .3s ease forwards}.artifact.interactive{box-shadow:0 0 10px #4a90e280}.artifact.interactive.hovered{box-shadow:0 0 15px #4a90e2cc}.map{position:relative;width:100%;height:100%;overflow:hidden;image-rendering:pixelated;background-color:#1a1a1a;cursor:grab;min-height:600px}.map:active{cursor:grabbing}.map-grid{position:absolute;top:0;left:0;transition:transform .1s ease-out;will-change:transform;min-width:calc(var(--tile-size) * 20);min-height:calc(var(--tile-size) * 20);z-index:1}[data-map-name=Overworld]{filter:saturate(1.1) brightness(1.05)}[data-map-name="Overworld 2"]{filter:saturate(1.15) brightness(1.05)}[data-map-name="Overworld 3"]{filter:saturate(1.3) brightness(1.1)}[data-map-name="Desert 1"],[data-map-name="Desert 2"],[data-map-name="Desert 3"]{filter:saturate(1.2) brightness(1.1) sepia(.15)}[data-map-name=Yosemite]{filter:saturate(1.25) brightness(1.15) hue-rotate(-5deg)}.map-grid:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:var(--tile-size) var(--tile-size);pointer-events:none;z-index:0;opacity:.5}.npc-sprite{transition:transform .2s ease-out}.npc-sprite:hover{transform:scale(1.1);z-index:1000!important;filter:drop-shadow(0 0 8px rgba(255,255,100,.8))!important}.npc-interaction-indicator{position:absolute;top:-40px;left:50%;transform:translate(-50%) scale(0);background-color:#000c;color:#fff;padding:5px 10px;border-radius:12px;font-size:12px;font-weight:700;white-space:nowrap;opacity:0;transition:transform .3s ease,opacity .3s ease;pointer-events:none;box-shadow:0 0 10px #ffffff4d;border:1px solid rgba(255,255,255,.5);z-index:1000;display:flex;flex-direction:column;align-items:center}.npc-key-hint{color:gold;margin-bottom:2px}.npc-indicator-arrow{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid rgba(0,0,0,.8);position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.npc-sprite:hover .npc-interaction-indicator{transform:translate(-50%) scale(1);opacity:1;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-5px)}}.npc-sprite:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;box-shadow:0 0 #ffd70080;animation:pulse 2s infinite;opacity:0;z-index:-1}.npc-sprite:hover:after{opacity:1}@keyframes pulse{0%{box-shadow:0 0 #ffd70080}70%{box-shadow:0 0 0 20px #ffd70000}to{box-shadow:0 0 #ffd70000}}.npc-name-label{position:absolute;bottom:-15px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:700;white-space:nowrap;box-shadow:0 0 4px #ffffff80;border:1px solid rgba(255,255,255,.3);z-index:999;pointer-events:none}.npc-sprite.using-fallback{filter:hue-rotate(-20deg) saturate(1.5) drop-shadow(0 0 5px gold)}@media (max-width: 768px){.map{min-height:400px}.npc-name-label{font-size:8px;padding:1px 4px}}.artifact-icon{filter:drop-shadow(0 0 5px rgba(255,255,255,.7));transition:transform .2s ease}.artifact-icon:hover{transform:scale(1.15);filter:drop-shadow(0 0 10px rgba(255,215,0,.9))}.yosemite-map .tile.water{animation:waterfall 2s infinite linear;background-image:url(/assets/tiles/water.webp);filter:saturate(1.2) brightness(1.1);box-shadow:0 0 15px #3e7df099}@keyframes waterfall{0%{background-position:0% 0%}to{background-position:0% 200%}}.yosemite-map .tile.grass{background-image:url(/assets/tiles/piskel_grass.png);filter:saturate(1.3) brightness(1.1);transition:all .3s ease}.yosemite-map .tile.wall{background-image:url(/assets/tiles/wall.webp);filter:contrast(1.2) brightness(1.1);box-shadow:0 0 10px #6e6e6e66}.yosemite-map .tile.wall.half-dome{filter:contrast(1.5) brightness(1.2);box-shadow:0 0 15px #ffd9b380}.yosemite-map .tile.water.mist-trail{animation:mistTrail 3s infinite alternate;box-shadow:0 0 20px #fff9}@keyframes mistTrail{0%{filter:brightness(1) blur(1px);opacity:.8}to{filter:brightness(1.5) blur(2px);opacity:1}}@keyframes yosemiteAmbient{0%{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(5deg) brightness(1.05)}to{filter:hue-rotate(0deg) brightness(1)}}.map:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;box-shadow:inset 0 0 20px #00000080}.map-grid:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:var(--tile-size) var(--tile-size);pointer-events:none}.map:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,transparent 0%,rgba(0,0,0,.3) 100%);pointer-events:none}.map[data-map-name=Overworld],.map[data-map-name="Overworld 2"]{filter:brightness(1.1) saturate(1.1)}.map[data-map-name="Overworld 3"]{filter:brightness(1.2) saturate(1.2)!important}.map[data-map-name="Desert 1"],.map[data-map-name="Desert 2"],.map[data-map-name="Desert 3"]{filter:brightness(1.1) saturate(1.1) hue-rotate(10deg)}.yosemite-map{animation:yosemiteAmbient 60s infinite alternate linear}.world-container{display:flex;flex-direction:column;height:100vh;background-color:#1a1a1a;color:#fff}.world-header{padding:1rem;background-color:#2a2a2a;border-bottom:1px solid #3a3a3a;display:flex;justify-content:space-between;align-items:center}.world-header h1{margin:0;font-size:1.5rem;color:#fff}.world-weather{display:flex;gap:1rem;align-items:center;font-size:1rem;color:#ccc}.world-content{display:flex;flex:1;overflow:hidden}.world-map{flex:1;position:relative;overflow:hidden}.world-sidebar{width:300px;background-color:#2a2a2a;border-left:1px solid #3a3a3a;padding:1rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.npcs-list,.portals-list{background-color:#333;border-radius:4px;padding:1rem}.npcs-list h2,.portals-list h2{margin:0 0 1rem;font-size:1.2rem;color:#fff}.npc-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.npc-item:hover{background-color:#444}.npc-item img{width:32px;height:32px;object-fit:contain}.portal-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;cursor:pointer;border-radius:4px;transition:background-color .2s}.portal-item:hover{background-color:#444}.portal-target{color:#888;font-size:.9rem}.interaction-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#2a2a2a;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:80vh;overflow-y:auto}.modal-content h2{margin:0 0 1rem;color:#fff}.modal-content form{display:flex;flex-direction:column;gap:1rem}.modal-content textarea{width:100%;padding:.5rem;border:1px solid #3a3a3a;border-radius:4px;background-color:#333;color:#fff;resize:vertical}.modal-content button{padding:.5rem 1rem;background-color:#4a4a4a;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .2s}.modal-content button:hover{background-color:#5a5a5a}.close-button{margin-top:1rem;background-color:#3a3a3a}.close-button:hover{background-color:#4a4a4a}.interaction-result{margin-top:1rem;padding:1rem;background-color:#333;border-radius:4px}.interaction-result h3{margin:0 0 .5rem;color:#fff}.interaction-result p{margin:0;color:#ccc}.loading,.error{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#fff}.error{color:#f44}.form{max-width:400px;margin:2rem auto;padding:2rem;background-color:#ffffff1a;border-radius:8px;box-shadow:0 4px 6px #0000001a}.form-group label{display:block;margin-bottom:.5rem;color:#fff;font-weight:500}.form-input{width:100%;padding:.8rem;border:1px solid rgba(255,255,255,.2);border-radius:4px;background-color:#ffffff1a;color:#fff;font-size:1rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-input::placeholder{color:#ffffff80}.error-message{color:#f44336;margin-top:.5rem;font-size:.875rem}.form-input:invalid{border-color:#f44336}.form-input:invalid:focus{box-shadow:0 0 0 2px #f4433633}.form.horizontal .form-group{display:flex;align-items:center;gap:1rem}.form.horizontal label{margin-bottom:0;min-width:100px}.form.horizontal .form-input{flex:1}@media (max-width: 768px){.form{margin:1rem;padding:1.5rem}.form.horizontal{flex-direction:column;align-items:stretch}.form.horizontal label{min-width:auto}}.avatar-upload-container{background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1);padding:20px;margin-bottom:30px;max-width:800px}.avatar-upload-container h3{color:var(--gold);margin-bottom:10px;font-size:1.6rem}.avatar-upload-container p{color:#ccc;margin-bottom:20px}.avatar-preview-section{display:flex;gap:30px;margin-bottom:20px;flex-wrap:wrap}.current-avatar,.new-avatar{flex:1;min-width:200px;text-align:center}.current-avatar h4,.new-avatar h4{color:var(--gold);margin-bottom:10px;font-size:1.2rem}.current-avatar-image,.new-avatar-image{width:128px;height:128px;object-fit:contain;background:#0003;border-radius:8px;border:1px solid rgba(255,255,255,.1);padding:4px}.avatar-placeholder{width:128px;height:128px;display:flex;align-items:center;justify-content:center;background:#0003;border-radius:8px;border:1px dashed rgba(255,255,255,.3);color:#aaa;margin:0 auto}.avatar-upload-success{background:#00b40033;border:1px solid rgba(0,255,0,.2);color:#adff2f;padding:12px;border-radius:6px;margin-bottom:15px;position:relative}.avatar-upload-error{background:#f003;border:1px solid rgba(255,0,0,.2);color:#ff6b6b;padding:12px;border-radius:6px;margin-bottom:15px;position:relative}.dismiss-button{position:absolute;right:10px;top:10px;background:none;border:none;color:inherit;cursor:pointer;opacity:.7}.dismiss-button:hover{opacity:1}.avatar-upload-controls{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px}.avatar-upload-controls input[type=file]{display:none}.upload-button,.upload-submit-button{padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease}.upload-button{background-color:var(--dark-blue);color:#fff;border:1px solid var(--gold)}.upload-button:hover{background-color:#0006}.upload-submit-button{background-color:var(--gold);color:var(--dark-blue);border:none}.upload-submit-button:hover{background-color:gold;transform:translateY(-2px)}.upload-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:translateY(0)}.piskel-info{margin-top:25px}.piskel-info-button{background-color:#0000004d;color:var(--gold);border:1px solid var(--gold);padding:8px 16px;border-radius:6px;cursor:pointer;width:100%;text-align:center;font-weight:500;transition:all .3s ease}.piskel-info-button:hover{background-color:#00000080}.piskel-instructions{margin-top:15px;padding:15px;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.piskel-instructions h4{color:var(--gold);margin-bottom:10px;font-size:1.2rem}.piskel-instructions ol,.piskel-instructions ul{color:#ddd;margin-left:20px;margin-bottom:15px}.piskel-instructions li{margin-bottom:5px}.piskel-instructions a{color:var(--gold);text-decoration:none}.piskel-instructions a:hover{text-decoration:underline}.piskel-tips,.piskel-examples{margin-top:20px}.piskel-tips h5,.piskel-examples h5{color:var(--gold);margin-bottom:10px;font-size:1.1rem}.example-gallery{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.example-gallery img{width:64px;height:64px;object-fit:contain;background:#0000004d;border-radius:4px;border:1px solid rgba(255,255,255,.1);transition:transform .2s ease}.example-gallery img:hover{transform:scale(1.5);z-index:10}@media (max-width: 768px){.avatar-preview-section{flex-direction:column}.current-avatar,.new-avatar{margin-bottom:20px}.avatar-upload-controls{flex-direction:column}.upload-button,.upload-submit-button{width:100%}.example-gallery img{width:48px;height:48px}}.profile-container{max-width:1200px;margin:0 auto;padding:2rem;color:var(--text-primary)}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.profile-info{display:flex;align-items:center;gap:2rem}.avatar-container{position:relative}.user-avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-color);box-shadow:0 4px 12px #00000026}.level-badge{position:absolute;bottom:0;right:0;width:40px;height:40px;border-radius:50%;background:var(--accent-color);color:var(--text-on-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;border:2px solid var(--background-color);box-shadow:0 2px 8px #0003}.user-details{flex:1}.user-details h1{margin:0 0 .5rem;font-size:2rem}.user-email{margin:0 0 1rem;color:var(--text-secondary);font-size:1rem}.experience-bar{height:10px;background-color:var(--background-light);border-radius:5px;margin-bottom:.5rem;overflow:hidden}.experience-progress{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:5px;transition:width .3s ease}.experience-text{font-size:.9rem;color:var(--text-secondary)}.profile-actions{display:flex;flex-direction:column;gap:1rem}.logout-button{padding:.5rem 1.5rem;border:none;border-radius:4px;background-color:var(--error-color);color:#fff;cursor:pointer;font-weight:700;transition:background-color .2s ease}.logout-button:hover{background-color:var(--error-dark)}.profile-tabs{display:flex;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.tab-button{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.profile-content{min-height:300px}.game-progress{display:flex;flex-direction:column;gap:2rem}.progress-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-bottom:1rem}.stat-card{padding:1.5rem;background-color:var(--background-light);border-radius:8px;box-shadow:0 2px 8px #0000001a}.stat-card h3{margin-top:0;margin-bottom:.75rem;font-size:1.1rem;color:var(--text-secondary)}.stat-card p{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.quests-list{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.quests-list li{padding:.75rem 1rem;background-color:var(--background-light);border-radius:4px;border-left:4px solid var(--primary-color)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.location-item{padding:1rem;background-color:var(--background-light);border-radius:6px;text-align:center;border:1px solid var(--border-color)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.achievement-card{display:flex;gap:1rem;padding:1.5rem;background-color:var(--background-light);border-radius:8px;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--accent-color);transition:transform .2s ease,box-shadow .2s ease}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.achievement-icon{font-size:2rem;display:flex;align-items:center;justify-content:center;color:var(--accent-color)}.achievement-content{flex:1}.achievement-content h3{margin-top:0;margin-bottom:.5rem;font-size:1.2rem}.achievement-content p{margin:0 0 .75rem;font-size:.9rem;color:var(--text-secondary)}.achievement-date{font-size:.8rem;color:var(--text-tertiary)}.no-data{padding:2rem;text-align:center;background-color:var(--background-light);border-radius:8px;color:var(--text-secondary)}.back-to-game{margin-top:3rem;text-align:center}.game-button{display:inline-block;padding:.75rem 2rem;background-color:var(--primary-color);color:var(--text-on-primary);border-radius:4px;text-decoration:none;font-weight:700;transition:background-color .2s ease}.game-button:hover{background-color:var(--primary-dark)}.auth-required{text-align:center;padding:4rem 2rem}.auth-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.auth-buttons .button{padding:.75rem 2rem;text-decoration:none;border-radius:4px;font-weight:700}.button.primary{background-color:var(--primary-color);color:var(--text-on-primary)}.button.secondary{background-color:transparent;color:var(--primary-color);border:1px solid var(--primary-color)}.loading{padding:2rem;text-align:center;color:var(--text-secondary)}.error-message{padding:1rem;background-color:var(--error-light);color:var(--error-color);border-radius:4px;text-align:center;margin:1rem 0}@media (max-width: 768px){.profile-header{flex-direction:column;gap:1.5rem}.profile-actions,.profile-info{width:100%}}.create-world-container{max-width:800px;margin:0 auto;padding:2rem}.create-world-container h1{text-align:center;margin-bottom:2rem;color:var(--text-primary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:1rem}.form-group textarea{min-height:150px;resize:vertical}.error-message{background-color:var(--error-bg);color:var(--error-text);padding:1rem;border-radius:4px;margin-bottom:1.5rem;text-align:center}@media (max-width: 768px){.create-world-container{padding:1rem}}.character{position:absolute;width:32px;height:32px;background:url(../assets/character.png) no-repeat center center;background-size:cover;image-rendering:pixelated;transform-origin:center;z-index:10;animation:idle-bob 2s ease-in-out infinite;transition:transform .05s ease,left .2s cubic-bezier(.33,1,.68,1),top .2s cubic-bezier(.33,1,.68,1)}@keyframes idle-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.03)}}.character.walking{animation:none}.character.walking.up{animation:walk-up .4s steps(4) infinite}.character.walking.down{animation:walk-down .4s steps(4) infinite}.character.walking.left{animation:walk-left .4s steps(4) infinite}.character.walking.right{animation:walk-right .4s steps(4) infinite}.character.walking.up.left{animation:walk-up-left .4s steps(4) infinite}.character.walking.up.right{animation:walk-up-right .4s steps(4) infinite}.character.walking.down.left{animation:walk-down-left .4s steps(4) infinite}.character.walking.down.right{animation:walk-down-right .4s steps(4) infinite}@keyframes walk-up{0%{transform:translateY(0) translate(-1px)}25%{transform:translateY(-2px) translate(1px) scale(.98)}50%{transform:translateY(-1px) translate(-1px)}75%{transform:translateY(-2px) translate(1px) scale(.98)}to{transform:translateY(0) translate(-1px)}}@keyframes walk-down{0%{transform:translateY(0) translate(-1px)}25%{transform:translateY(2px) translate(1px) scale(1.02)}50%{transform:translateY(1px) translate(-1px)}75%{transform:translateY(2px) translate(1px) scale(1.02)}to{transform:translateY(0) translate(-1px)}}@keyframes walk-left{0%{transform:translate(0) translateY(0) rotate(-1deg)}25%{transform:translate(-2px) translateY(-1px) scale(.98) rotate(-2deg)}50%{transform:translate(-1px) translateY(1px) rotate(-1deg)}75%{transform:translate(-2px) translateY(-1px) scale(.98) rotate(-2deg)}to{transform:translate(0) translateY(0) rotate(-1deg)}}@keyframes walk-right{0%{transform:translate(0) translateY(0) rotate(1deg)}25%{transform:translate(2px) translateY(-1px) scale(.98) rotate(2deg)}50%{transform:translate(1px) translateY(1px) rotate(1deg)}75%{transform:translate(2px) translateY(-1px) scale(.98) rotate(2deg)}to{transform:translate(0) translateY(0) rotate(1deg)}}@keyframes walk-up-left{0%{transform:translateY(0) translate(0) rotate(-5deg)}25%{transform:translateY(-3px) translate(-3px) scale(.97) rotate(-7deg)}50%{transform:translateY(-1px) translate(-1px) rotate(-5deg)}75%{transform:translateY(-3px) translate(-3px) scale(.97) rotate(-7deg)}to{transform:translateY(0) translate(0) rotate(-5deg)}}@keyframes walk-up-right{0%{transform:translateY(0) translate(0) rotate(5deg)}25%{transform:translateY(-3px) translate(3px) scale(.97) rotate(7deg)}50%{transform:translateY(-1px) translate(1px) rotate(5deg)}75%{transform:translateY(-3px) translate(3px) scale(.97) rotate(7deg)}to{transform:translateY(0) translate(0) rotate(5deg)}}@keyframes walk-down-left{0%{transform:translateY(0) translate(0) rotate(-5deg)}25%{transform:translateY(3px) translate(-3px) scale(1.03) rotate(-7deg)}50%{transform:translateY(1px) translate(-1px) rotate(-5deg)}75%{transform:translateY(3px) translate(-3px) scale(1.03) rotate(-7deg)}to{transform:translateY(0) translate(0) rotate(-5deg)}}@keyframes walk-down-right{0%{transform:translateY(0) translate(0) rotate(5deg)}25%{transform:translateY(3px) translate(3px) scale(1.03) rotate(7deg)}50%{transform:translateY(1px) translate(1px) rotate(5deg)}75%{transform:translateY(3px) translate(3px) scale(1.03) rotate(7deg)}to{transform:translateY(0) translate(0) rotate(5deg)}}.character.walking:after{content:"";position:absolute;bottom:-2px;left:50%;width:20px;height:6px;background:#0003;border-radius:50%;transform:translate(-50%);z-index:-1;animation:shadow-pulse .4s infinite alternate}@keyframes shadow-pulse{0%{opacity:.3;transform:translate(-50%) scale(.8)}to{opacity:.5;transform:translate(-50%) scale(1.1)}}.character.start-move{animation:start-moving .2s ease-out}.character.stop-move{animation:stop-moving .2s ease-in}@keyframes start-moving{0%{transform:scale(.9) translateY(0)}40%{transform:scale(1.1) translateY(-3px)}70%{transform:scale(.95) translateY(1px)}to{transform:scale(1) translateY(0)}}@keyframes stop-moving{0%{transform:scale(1.05) translateY(-1px)}60%{transform:scale(.95) translateY(2px)}to{transform:scale(1) translateY(0)}}.character-container{position:relative;width:32px;height:32px;z-index:10}.character-sprite{position:absolute;width:100%;height:100%;background-size:contain;background-repeat:no-repeat;background-position:center;z-index:2;image-rendering:pixelated;animation:idle-bob 2s ease-in-out infinite}.nkd-man .character-sprite{background-image:url(/assets/nkd-man.png)!important;background-size:contain;background-repeat:no-repeat;background-position:center;image-rendering:pixelated;animation:nkd-float 2s ease-in-out infinite}.blue-bubble{position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#4a90e24d,#4a90e200 70%);z-index:1;pointer-events:none}.exp-indicator{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background-color:gold;color:#000;font-size:10px;padding:2px 5px;border-radius:10px;white-space:nowrap;z-index:3}@keyframes nkd-float{0%,to{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-5px) rotate(-1deg)}}.nkd-man.moving-up .character-sprite{animation:nkd-bounce-up .4s infinite}.nkd-man.moving-down .character-sprite{animation:nkd-bounce-down .4s infinite}.nkd-man.moving-left .character-sprite{animation:nkd-bounce-left .4s infinite}.nkd-man.moving-right .character-sprite{animation:nkd-bounce-right .4s infinite}.moving-up .character-sprite:not(.nkd-man .character-sprite){animation:bounce-up .4s infinite}.moving-down .character-sprite:not(.nkd-man .character-sprite){animation:bounce-down .4s infinite}.moving-left .character-sprite:not(.nkd-man .character-sprite){animation:bounce-left .4s infinite}.moving-right .character-sprite:not(.nkd-man .character-sprite){animation:bounce-right .4s infinite}@keyframes bounce-up{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes bounce-left{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}@keyframes bounce-right{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes nkd-bounce-up{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.05)}}@keyframes nkd-bounce-down{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(6px) scale(1.05)}}@keyframes nkd-bounce-left{0%,to{transform:translate(0) rotate(-5deg)}50%{transform:translate(-6px) rotate(0)}}@keyframes nkd-bounce-right{0%,to{transform:translate(0) rotate(5deg)}50%{transform:translate(6px) rotate(0)}}@keyframes characterMove{0%{transform:translateY(28px)}50%{transform:translateY(-8px)}to{transform:translateY(400px)}}.character.idle{animation:idleGlow .8s infinite alternate ease-in-out}@keyframes idleGlow{0%{filter:brightness(1) drop-shadow(0px 0px 3px rgba(255,255,100,.5))}to{filter:brightness(1.5) drop-shadow(0px 0px 8px rgba(255,255,100,.8))}}.nkd-man[data-level="2"] .blue-bubble{box-shadow:0 0 10px 5px #4a90e280}.nkd-man[data-level="3"] .blue-bubble{box-shadow:0 0 15px 8px #4a90e299}.nkd-man[data-level="4"] .blue-bubble{box-shadow:0 0 20px 10px #4a90e2b3}.nkd-man[data-level="5"] .blue-bubble{background:radial-gradient(circle,#4a90e280,#4a90e200 70%);box-shadow:0 0 25px 12px #4a90e2cc}@keyframes bump-up{0%{transform:translateY(0)}25%{transform:translateY(-6px)}50%{transform:translateY(-8px) rotate(-3deg)}75%{transform:translateY(-4px) rotate(3deg)}to{transform:translateY(0)}}@keyframes bump-down{0%{transform:translateY(0)}25%{transform:translateY(6px)}50%{transform:translateY(8px) rotate(3deg)}75%{transform:translateY(4px) rotate(-3deg)}to{transform:translateY(0)}}@keyframes bump-left{0%{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(-8px) rotate(3deg)}75%{transform:translate(-4px) rotate(-3deg)}to{transform:translate(0)}}@keyframes bump-right{0%{transform:translate(0)}25%{transform:translate(6px)}50%{transform:translate(8px) rotate(-3deg)}75%{transform:translate(4px) rotate(3deg)}to{transform:translate(0)}}.bumping-up .character-sprite{animation:bump-up .4s ease-in-out}.bumping-down .character-sprite{animation:bump-down .4s ease-in-out}.bumping-left .character-sprite{animation:bump-left .4s ease-in-out}.bumping-right .character-sprite{animation:bump-right .4s ease-in-out}.nkd-man.bumping-up .character-sprite{animation:nkd-bump-up .4s ease-in-out}.nkd-man.bumping-down .character-sprite{animation:nkd-bump-down .4s ease-in-out}.nkd-man.bumping-left .character-sprite{animation:nkd-bump-left .4s ease-in-out}.nkd-man.bumping-right .character-sprite{animation:nkd-bump-right .4s ease-in-out}@keyframes nkd-bump-up{0%{transform:translateY(0) scale(1)}25%{transform:translateY(-8px) scale(.9)}50%{transform:translateY(-10px) scale(.9) rotate(-5deg)}75%{transform:translateY(-6px) scale(.95) rotate(5deg)}to{transform:translateY(0) scale(1)}}@keyframes nkd-bump-down{0%{transform:translateY(0) scale(1)}25%{transform:translateY(8px) scale(.9)}50%{transform:translateY(10px) scale(.9) rotate(5deg)}75%{transform:translateY(6px) scale(.95) rotate(-5deg)}to{transform:translateY(0) scale(1)}}@keyframes nkd-bump-left{0%{transform:translate(0) scale(1)}25%{transform:translate(-8px) scale(.9)}50%{transform:translate(-10px) scale(.9) rotate(5deg)}75%{transform:translate(-6px) scale(.95) rotate(-5deg)}to{transform:translate(0) scale(1)}}@keyframes nkd-bump-right{0%{transform:translate(0) scale(1)}25%{transform:translate(8px) scale(.9)}50%{transform:translate(10px) scale(.9) rotate(-5deg)}75%{transform:translate(6px) scale(.95) rotate(5deg)}to{transform:translate(0) scale(1)}}.character-container.bumping-up:after,.character-container.bumping-down:after,.character-container.bumping-left:after,.character-container.bumping-right:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#ffffff4d,#fff0 70%);border-radius:50%;opacity:0;animation:bump-flash .4s ease-in-out;pointer-events:none}@keyframes bump-flash{0%{opacity:0;transform:scale(.8)}40%{opacity:.8;transform:scale(1.1)}to{opacity:0;transform:scale(1.3)}}.artifact-creation-container{width:90%;max-width:700px;background-color:#242424;border-radius:8px;box-shadow:0 0 20px #00000080;padding:1.5rem;color:#fff;margin:1rem auto}.artifact-creation-container h3{margin-top:0;margin-bottom:1.5rem;color:#3498db;text-align:center;font-size:1.7rem;font-weight:600;letter-spacing:.5px}.form-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.form-section:last-child{border-bottom:none}.section-title{font-size:1.3rem;color:#3498db;margin-bottom:1.2rem;padding-left:10px;border-left:4px solid #3498db}.optional{font-size:.9rem;color:#95a5a6;font-weight:400;margin-left:8px}.required{color:#e74c3c}.artifact-creation-container.first-artifact-mode{background-color:#1a3b5c;border:2px solid #3498db;animation:glow 2s infinite alternate}.artifact-creation-container.first-artifact-mode h3{color:#e6f0ff;font-size:1.8rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}@keyframes glow{0%{box-shadow:0 0 10px #3498db}to{box-shadow:0 0 20px #3498db,0 0 30px #3498db}}.artifact-instructions{display:flex;align-items:center;margin:1.5rem 0;padding:12px 15px;background-color:#3498db1a;border-radius:6px;border-left:3px solid #3498db}.instruction-icon{font-size:1.8rem;margin-right:15px}.artifact-instructions p{margin:0;line-height:1.5;color:#bbb;font-size:.95rem}.first-artifact-mode .artifact-instructions{background-color:#ffffff1a;border-left-color:#2ecc71}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;color:#ccc;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;background-color:#1a1a1a;border:1px solid #333;border-radius:4px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 5px #3498db80}.theme-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ffffff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .7rem top 50%;background-size:.65rem auto;padding-right:1.75rem}.optional-field{background-color:#1e1e1e;border-color:#2c2c2c}.form-group textarea{min-height:100px;resize:vertical}.content-textarea{min-height:120px}.significance-textarea{min-height:80px}.checkbox-group{display:flex;align-items:center}.checkbox-group input[type=checkbox]{width:auto;margin-right:10px;cursor:pointer}.checkbox-group label{margin-bottom:0;cursor:pointer}.error-message{background-color:#e74c3c33;color:#e74c3c;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.9rem}.success-message{background-color:#2ecc7133;color:#2ecc71;padding:10px;border-radius:4px;margin-bottom:15px;font-size:.9rem}.quote-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;justify-content:center}.quote-button{background-color:#2c3e50;color:#ecf0f1;border:none;padding:8px 16px;border-radius:4px;font-size:.9rem;cursor:pointer;transition:all .2s;flex-grow:1;text-align:center;max-width:170px}.quote-button:hover:not(:disabled){background-color:#34495e;transform:translateY(-2px)}.quote-button:disabled{background-color:#7f8c8d;cursor:not-allowed;opacity:.7}.quote-button.shakespeare{background-color:#5c345e}.quote-button.shakespeare:hover:not(:disabled){background-color:#6f4171}.quote-button.zen{background-color:#2e634a}.quote-button.zen:hover:not(:disabled){background-color:#3a7a5c}.quote-button.themed{background-color:#7d4e0f}.quote-button.themed:hover:not(:disabled){background-color:#905d18}.form-action-buttons{display:flex;justify-content:center;gap:15px;margin-top:20px}.create-button,.cancel-button{padding:12px 24px;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s;min-width:120px;text-align:center}.create-button{background-color:#3498db;color:#fff;border:none;font-weight:600;letter-spacing:.5px}.create-button:hover:not(:disabled){background-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.create-button:disabled{background-color:#95a5a6;cursor:not-allowed}.cancel-button{background-color:transparent;color:#ccc;border:1px solid #555}.cancel-button:hover:not(:disabled){background-color:#ffffff1a;transform:translateY(-2px)}.first-artifact-mode .create-button{background-color:#2ecc71;font-weight:700;box-shadow:0 4px 10px #2ecc714d}.first-artifact-mode .create-button:hover:not(:disabled){background-color:#27ae60;box-shadow:0 6px 12px #2ecc7180}@media (max-width: 600px){.artifact-creation-container{width:95%;padding:1rem}.artifact-creation-container h3{font-size:1.4rem}.section-title{font-size:1.1rem}.quote-buttons{flex-direction:column;align-items:center}.quote-button{max-width:100%;width:100%}.form-action-buttons{flex-direction:column}.create-button,.cancel-button{width:100%}}.artifact-form-container{max-width:800px;margin:0 auto;padding:20px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1);color:#fff}.artifact-form-container h2{color:var(--gold);margin-bottom:20px;text-align:center;font-size:1.8rem}.artifact-form{display:flex;flex-direction:column;gap:15px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;color:var(--gold);font-weight:500}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:1rem}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--gold)}.form-row{display:flex;gap:20px;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:200px}.checkbox-group{display:flex;align-items:center;margin-top:25px}.checkbox-group label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}.attachment-section{margin-top:10px;padding:15px;background:#0003;border-radius:6px}.attachment-container{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-top:10px}.attachment-button{background-color:var(--dark-blue);color:#fff;border:1px solid var(--gold);padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .3s ease}.attachment-button:hover{background-color:var(--gold);color:var(--dark-blue)}.attachment-preview{flex:1;min-width:200px;max-width:300px;overflow:hidden}.image-preview{max-width:100%;max-height:150px;border-radius:4px;border:1px solid rgba(255,255,255,.2)}.file-preview{padding:10px;background:#0003;border-radius:4px;border:1px solid rgba(255,255,255,.1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-help{font-size:.8rem;color:#aaa;margin-top:10px}.icon-section{margin-top:20px;padding:15px;background:#0003;border-radius:6px}.icon-container{display:flex;align-items:center;gap:15px;margin-top:10px}.icon-preview{width:64px;height:64px;border-radius:6px;overflow:hidden;background:#0000004d;display:flex;justify-content:center;align-items:center;border:1px solid rgba(255,255,255,.1)}.icon-preview img{max-width:100%;max-height:100%;object-fit:contain}.custom-icon-preview,.default-icon-preview{width:100%;height:100%;object-fit:contain}.icon-button{background-color:var(--dark-blue);color:#fff;border:1px solid var(--gold);padding:8px 16px;border-radius:4px;cursor:pointer;transition:all .3s ease}.icon-button:hover{background-color:var(--gold);color:var(--dark-blue)}.icon-help{font-size:.8rem;color:#aaa;margin-top:10px}.icon-options{margin-top:15px}.icon-options label{display:block;margin-bottom:10px;color:var(--gold);font-weight:500}.preset-icons{display:flex;flex-wrap:wrap;gap:10px}.preset-icon{width:48px;height:48px;border-radius:4px;cursor:pointer;border:2px solid transparent;padding:2px;background:#0003;transition:all .2s ease}.preset-icon:hover{transform:scale(1.1);border-color:#ffffff4d}.preset-icon.selected{border-color:var(--gold);box-shadow:0 0 8px #ffd70099}.form-actions{display:flex;justify-content:center;margin-top:20px}.submit-button{background-color:var(--gold);color:var(--dark-blue);padding:12px 30px;border:none;border-radius:4px;cursor:pointer;font-weight:700;font-size:1.1rem;transition:all .3s ease}.submit-button:hover{background-color:gold;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.error-message{color:#ff6b6b;margin-bottom:15px;padding:10px;background:#ff6b6b1a;border-radius:4px}.location-controls{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}.random-location-btn{background-color:#4a69bd;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-size:.9rem;cursor:pointer;transition:background-color .2s;margin-bottom:10px;margin-left:10px}.random-location-btn:hover{background-color:#2c3e50}@media (max-width: 768px){.form-row{flex-direction:column;gap:10px}.form-row .form-group{min-width:100%}.attachment-preview{max-width:100%}.location-controls{flex-direction:column}.random-location-btn{width:100%;margin-left:0;margin-top:10px}}.visibility-section{margin:1rem 0;padding:1rem;background:#ffffff0d;border-radius:8px}.visibility-options{display:flex;flex-direction:column;gap:.5rem}.visibility-options label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.visibility-options input[type=radio]{margin:0}.tags-section{margin:1rem 0}.tags-section input{width:100%;padding:.5rem;margin-bottom:.5rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff}.tags-preview{display:flex;flex-wrap:wrap;gap:.5rem}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#ffffff1a;border-radius:4px;font-size:.9rem}.tag button{background:none;border:none;color:#fff;cursor:pointer;padding:0;font-size:1.2rem;line-height:1}.tag button:hover{color:#f44}.inventory-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000}.inventory-container{background-color:#1a1a1a;border-radius:10px;width:80%;max-width:800px;height:80vh;max-height:800px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 20px #00000080}.inventory-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#2a2a2a;border-bottom:2px solid #333}.inventory-header h2{margin:0;color:#fff;font-size:1.5rem}.close-button{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color .3s ease}.close-button:hover{color:#f44}.form-error{background-color:#c0392bcc;color:#fff;padding:.75rem 1rem;border-radius:4px;margin:.5rem 1rem;text-align:center;font-weight:500;animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1}to{opacity:0}}.inventory-content{display:flex;flex:1;overflow:hidden}.character-info{display:flex;align-items:center;margin-bottom:20px}.character-info img.avatar{width:150px;height:80px;border-radius:50%;margin-right:10px}.artifact-list{flex:1;padding:1rem;overflow-y:auto;border-right:1px solid #333}.artifact-list h3{color:#4a90e2;margin-bottom:1rem}.empty-message{color:#666;text-align:center;padding:2rem;font-style:italic}.artifact-list ul{list-style:none;padding:0;margin:0}.artifact-item{background-color:#2a2a2a;border-radius:8px;margin-bottom:1rem;padding:1rem;cursor:pointer;transition:all .3s ease;position:relative}.artifact-item:hover{background-color:#333;transform:translate(5px)}.artifact-item.selected{background-color:#3a3a3a;border-left:4px solid #4a90e2}.artifact-info h4{color:#fff;margin:0 0 .5rem}.artifact-info p{color:#999;margin:0;font-size:.9rem}.attachment-badge{position:absolute;top:.5rem;right:.5rem;background-color:#4a90e2;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;box-shadow:0 2px 4px #0000004d}.artifact-actions{display:flex;gap:.5rem;margin-top:1rem}.artifact-actions button{flex:1;padding:.5rem;border:none;border-radius:4px;background-color:#4a90e2;color:#fff;cursor:pointer;transition:background-color .3s ease}.artifact-actions button:hover{background-color:#357abd}.message-editor,.attachment-editor{flex:1;padding:1.5rem;display:flex;flex-direction:column;background-color:#2a2a2a}.editor-header{margin-bottom:1rem}.editor-header h3{color:#4a90e2;margin-bottom:.5rem}.editor-info{color:#999;font-size:.9rem;margin-bottom:1rem}.save-status{margin-top:.5rem;padding:.5rem;border-radius:4px;font-weight:500}.save-status.saving{background-color:#2c3e50;color:#3498db}.save-status.success{background-color:#27ae60;color:#fff}.save-status.error{background-color:#c0392b;color:#fff}.message-editor textarea{flex:1;min-height:200px;padding:1rem;margin-bottom:1rem;background-color:#1a1a1a;border:1px solid #333;border-radius:8px;color:#fff;resize:none;font-size:1rem;line-height:1.5}.message-editor textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.attachment-section{flex:1;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.current-attachment{background-color:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1rem}.current-attachment h4{color:#4a90e2;margin:0 0 .5rem}.current-attachment p{color:#ccc;margin:0}.file-upload{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background-color:#1a1a1a;border:2px dashed #333;border-radius:8px;transition:all .3s ease}.file-upload:hover{border-color:#4a90e2}.upload-button{background-color:#2980b9;color:#fff;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;transition:all .3s ease}.upload-button:hover{background-color:#3498db;transform:translateY(-2px)}.attachment-preview{width:100%;padding:1rem;background-color:#2a2a2a;border-radius:8px;display:flex;flex-direction:column;align-items:center}.image-preview{max-width:100%;max-height:200px;border-radius:4px;box-shadow:0 3px 10px #0000004d}.file-preview{color:#ccc;font-size:.9rem;margin:0;padding:.5rem 1rem;background-color:#1a1a1a;border-radius:4px;width:100%;text-align:center}.editor-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid #333}.editor-actions button{flex:1;padding:.75rem 1rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.editor-actions .save-button{background-color:#4caf50;color:#fff}.editor-actions .save-button:hover{background-color:#45a049}.editor-actions .delete-button{background-color:#e74c3c;color:#fff}.editor-actions .delete-button:hover{background-color:#c0392b}.editor-actions .cancel-button{background-color:#7f8c8d;color:#fff}.editor-actions .cancel-button:hover{background-color:#95a5a6}.editor-actions button:disabled{background-color:#555;color:#888;cursor:not-allowed}.editor-actions button:disabled:hover{transform:none;box-shadow:none}.drop-confirmation{flex:1;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#2a2a2a}.drop-confirmation h3{color:#e74c3c;margin-bottom:1rem}.drop-confirmation p{color:#ccc;margin-bottom:2rem;text-align:center;line-height:1.5}.button-group{display:flex;gap:1rem}.button-group button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.save-button{background-color:#4caf50;color:#fff}.save-button:hover{background-color:#45a049}.delete-button{background-color:#e74c3c;color:#fff}.delete-button:hover{background-color:#c0392b}.cancel-button{background-color:#7f8c8d;color:#fff}.cancel-button:hover{background-color:#95a5a6}.confirm-button{background-color:#e74c3c;color:#fff}.confirm-button:hover{background-color:#c0392b}@media (max-width: 768px){.inventory-container{width:95%;height:90vh}.inventory-content{flex-direction:column}.artifact-list{border-right:none;border-bottom:1px solid #333;max-height:40vh}.attachment-preview{max-height:150px}.editor-actions{flex-direction:column}.upload-button{width:100%}}.game-container,.game-world{position:relative;z-index:1}.error-boundary{display:flex;align-items:center;justify-content:center;height:100vh;background-color:#000000e6;color:#fff}.error-content{background-color:#1b1b1b;padding:2rem;border-radius:8px;box-shadow:0 0 20px #f003;max-width:600px;width:90%;text-align:center}.error-content h2{color:#f44;margin-bottom:1rem;font-size:1.8rem}.error-content p{margin-bottom:1.5rem;font-size:1.1rem}.error-details{background-color:#0000004d;padding:1rem;border-radius:4px;margin:1rem 0;text-align:left}.error-details details{margin-top:1rem}.error-details summary{cursor:pointer;color:#aaa;padding:.5rem 0}.error-details pre{background-color:#00000080;padding:1rem;border-radius:4px;overflow-x:auto;font-family:monospace;font-size:.9rem;color:#ddd;margin-top:.5rem}.error-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.error-actions button,.error-actions .home-link{padding:.8rem 1.5rem;border-radius:4px;border:none;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-decoration:none}.retry-button{background-color:#4caf50;color:#fff}.retry-button:hover{background-color:#45a049}.reset-button{background-color:#f44336;color:#fff}.reset-button:hover{background-color:#da190b}.home-link{background-color:#2196f3;color:#fff;display:inline-flex;align-items:center}.home-link:hover{background-color:#1976d2}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-content{animation:fadeIn .3s ease-out}.world-map-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:2000;animation:map-fade-in .3s ease-out;transition:all .5s ease}.world-map-overlay.spinning{background-color:#000000e6}.world-map-container{position:relative;width:80%;max-width:1200px;height:80%;max-height:800px;background-color:#1a1a1a;border:2px solid #444;border-radius:10px;padding:20px;color:#fff;overflow:hidden;box-shadow:0 0 30px #000000b3;transition:transform .5s ease,box-shadow .5s ease}.world-map-container.spinning-content{animation:spin-map 3s ease-in-out;box-shadow:0 0 50px #6495edcc}.world-map-container h2{text-align:center;font-size:28px;margin-top:0;margin-bottom:10px;text-shadow:0 0 10px rgba(255,255,255,.5)}.map-subtitle{text-align:center;margin-bottom:20px;color:#aaa}.current-world{color:#4a90e2;font-weight:700}.world-map-canvas{position:relative;width:100%;height:calc(100% - 150px);background-color:#222;border-radius:5px;overflow:hidden}.connection-lines{position:absolute;top:0;left:0;width:100%;height:100%}.connection-line{stroke:#444;stroke-width:2;stroke-dasharray:5,5;transition:stroke .3s ease}.connection-line.current-connection{stroke:#4a90e2;stroke-width:3;stroke-dasharray:none}.world-node{position:absolute;width:30px;height:30px;transform:translate(-50%,-50%);cursor:pointer;transition:transform .3s ease}.world-node:hover{transform:translate(-50%,-50%) scale(1.2);z-index:10}.world-icon{width:100%;height:100%;background-color:#333;border:2px solid #555;border-radius:50%;transition:all .3s ease}.world-node:hover .world-icon{border-color:#fff;box-shadow:0 0 15px #ffffffb3}.current-world-node .world-icon{background-color:#4a90e2;border-color:#88b8ff;box-shadow:0 0 20px #4a90e2b3;animation:pulse 2s infinite}.world-name{position:absolute;top:35px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;color:#aaa;text-shadow:0 0 5px #000;transition:all .3s ease}.world-node:hover .world-name{color:#fff;font-weight:700}.world-details{position:absolute;bottom:70px;left:20px;background-color:#000000b3;padding:10px 15px;border-radius:5px;border-left:3px solid #4a90e2;max-width:300px}.world-details h3{margin-top:0;margin-bottom:5px;color:#4a90e2}.world-details p{margin:0;font-size:14px;color:#ccc}.close-map-btn{position:absolute;bottom:20px;right:20px;padding:10px 20px;background-color:#4a90e2;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:all .3s ease}.close-map-btn:hover{background-color:#3a80d2;transform:scale(1.05)}@keyframes map-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #4a90e2b3}70%{box-shadow:0 0 0 15px #4a90e200}to{box-shadow:0 0 #4a90e200}}.world-node.dungeon-node .world-icon{background-color:#8b0000;border-color:#ff4500}.world-node.special-node .world-icon{background-color:#daa520;border-color:gold}.world-node.text-node .world-icon{background-color:#2e8b57;border-color:#00ff7f}.connection-line.dungeon-connection{stroke:#8b0000;stroke-dasharray:5,3}.connection-line.special-connection{stroke:#daa520;stroke-dasharray:10,5}.connection-line.text-connection{stroke:#2e8b57;stroke-dasharray:2,2}.world-node.dungeon-node:hover .world-icon{box-shadow:0 0 15px #ff0000b3}.world-node.special-node:hover .world-icon{box-shadow:0 0 15px #ffd700b3}.world-node.text-node:hover .world-icon{box-shadow:0 0 15px #00ff7fb3}.world-type{margin-top:8px!important;font-style:italic;color:#ddd!important}.portal-animation-btn{position:absolute;bottom:20px;left:20px;padding:10px 20px;background-color:#9932cc;color:#fff;border:none;border-radius:5px;cursor:pointer;font-weight:700;transition:all .3s ease}.portal-animation-btn:hover{background-color:#8a2be2;transform:scale(1.05);box-shadow:0 0 15px #9932ccb3}@keyframes spin-map{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-5deg) scale(1.05)}40%{transform:rotate(360deg) scale(.95)}60%{transform:rotate(355deg) scale(1.02)}80%{transform:rotate(360deg) scale(.98)}to{transform:rotate(360deg) scale(1)}}.feedback-form-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.feedback-form{background-color:#2a2a30;border-radius:8px;box-shadow:0 4px 20px #00000080;padding:24px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;color:#e0e0e0;border:1px solid #444;animation:slideIn .3s ease-out}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #444;padding-bottom:15px}.form-header h2{margin:0;font-size:1.8rem;color:#f8d65b;text-shadow:0 2px 4px rgba(0,0,0,.3)}.close-button{background:none;border:none;color:#aaa;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:hover{background-color:#ffffff1a;color:#fff}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;color:#afc}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #444;border-radius:4px;background-color:#1a1a20;color:#f0f0f0;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#5e7ce2;box-shadow:0 0 0 2px #5e7ce24d}.form-group input::placeholder,.form-group textarea::placeholder{color:#777}.button-container{display:flex;justify-content:space-between;margin-top:24px;gap:12px}.button-container button{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:120px}.button-container button[type=submit]{background-color:#4a7dff;color:#fff}.button-container button[type=submit]:hover:not(:disabled){background-color:#3a6ae8;box-shadow:0 4px 8px #0003}.button-container button[type=submit]:disabled{background-color:#666;cursor:not-allowed;opacity:.7}.button-container .secondary-button{background-color:#555;color:#fff}.button-container .secondary-button:hover{background-color:#666}.loading{position:relative;pointer-events:none}.loading:after{content:"";position:absolute;width:20px;height:20px;top:calc(50% - 10px);right:10px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s infinite linear}.export-options{display:flex;justify-content:center;gap:12px;margin:20px 0}.export-options button{padding:12px 20px;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;flex:1;max-width:220px}.export-options .primary-button{background-color:#4a7dff;color:#fff}.export-options .primary-button:hover{background-color:#3a6ae8;box-shadow:0 4px 8px #0003}.export-options .secondary-button{background-color:#555;color:#fff}.export-options .secondary-button:hover{background-color:#666}.export-instructions{margin-top:20px;padding:15px;background-color:#ffffff1a;border-radius:6px;border-left:3px solid #4a7dff;animation:fadeIn .5s ease-in}.export-instructions h3{color:#f8d65b;margin-top:0;margin-bottom:10px;font-size:1.2rem}.export-instructions p{margin-top:0;margin-bottom:10px}.export-instructions ol{margin:0;padding-left:20px}.export-instructions li{margin-bottom:5px}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.feedback-form{padding:16px}.form-header h2{font-size:1.5rem}.button-container,.export-options{flex-direction:column;align-items:center}.button-container button,.export-options button{width:100%;max-width:100%}}.game-container{position:relative;width:100%;height:100%;overflow:hidden;background:#000}.viewport{position:relative;width:100%;height:100%;overflow:hidden}.game-world{position:relative;width:100%;height:100%;transition:transform .5s ease-out}.game-world.paused{filter:blur(3px) brightness(.7)}.game-world.transitioning{animation:portalTransition 1s ease-in-out;transform-origin:center center}.game-world.level-3-transition{animation:level3Transition 3s forwards}.game-world.level-2{filter:saturate(1.2) brightness(1.1)}.game-world.level-3{filter:grayscale(1) contrast(.8) brightness(.5);transition:filter 2s ease-in-out}.game-world.level-1{filter:saturate(1) brightness(1);transition:filter 2s ease-in-out}.game-world.level-2{filter:saturate(1.3) brightness(1.2) hue-rotate(15deg);transition:filter 2s ease-in-out}.game-world.level-3{filter:grayscale(.7) contrast(1.2) brightness(.7) hue-rotate(-15deg);transition:filter 2s ease-in-out}@keyframes level3Transition{0%{filter:brightness(1) contrast(1) blur(0);transform:scale(1)}20%{filter:brightness(1.5) contrast(1.2) blur(2px);transform:scale(1.05)}40%{filter:brightness(.8) contrast(1.5) blur(5px);transform:scale(1.1) rotate(1deg)}60%{filter:brightness(.4) contrast(2) blur(10px);transform:scale(1.15) rotate(-1deg)}80%{filter:brightness(.2) contrast(3) blur(15px);transform:scale(1.2) rotate(0)}to{filter:brightness(0) contrast(5) blur(20px);transform:scale(1.3)}}.cursor-entry{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:40px;background-color:#3f3;box-shadow:0 0 20px #3f3;z-index:9998;animation:cursorExpand 3s forwards}@keyframes cursorExpand{0%{width:0;opacity:0}20%{width:10px;opacity:1}40%{width:20px;opacity:1}60%{width:40px;opacity:1}80%{width:100px;opacity:1}to{width:200vw;opacity:1}}@keyframes portalTransition{0%{transform:rotate(0) scale(1);filter:brightness(1) blur(0)}25%{transform:rotate(180deg) scale(.8);filter:brightness(1.5) blur(2px)}75%{transform:rotate(540deg) scale(.6);filter:brightness(2) blur(4px)}to{transform:rotate(720deg) scale(1);filter:brightness(1) blur(0)}}.small-map,.small-map .game-world{width:640px;height:640px}.artifact{position:absolute;width:64px;height:64px;transition:transform .3s ease,filter .3s ease;cursor:pointer;z-index:1200;pointer-events:all;background-color:#fff3;border:1px solid white;background:url(../assets/artifact.webp) no-repeat center center;background-size:cover;image-rendering:pixelated}.artifact:hover{transform:scale(1.1);filter:brightness(1.2)}.artifact.weapon{filter:drop-shadow(0 0 5px #ff4444)}.artifact.scroll{filter:drop-shadow(0 0 5px #44ff44)}.artifact.relic{filter:drop-shadow(0 0 5px #4444ff)}.artifact.key{filter:drop-shadow(0 0 5px #ffff44)}.artifact.container{filter:drop-shadow(0 0 5px #ff44ff)}.tile{width:64px;height:64px;position:absolute;background-size:cover}.grass{background:url(../assets/tiles/piskel_grass.png) no-repeat center center;background-size:cover;box-shadow:0 0 10px #01250180}.wall{background:url(../assets/tiles/wall.webp) no-repeat center center;background-size:cover;box-shadow:0 0 10px #ffffff80}.water{background:url(../assets/tiles/water.webp) no-repeat center center;background-size:cover;box-shadow:0 0 10px #0202ab80}.sand{background:url(../assets/tiles/sand.png) no-repeat center center;background-size:cover;box-shadow:0 0 10px #a7a71380}.dungeon{background:url(../assets/tiles/dungeon.webp) no-repeat center center;background-size:cover;box-shadow:0 0 10px #ffffff80}.portal-transition{animation:portalSpin 1s ease-in-out}@keyframes portalSpin{0%{transform:scale(1) rotate(0);filter:brightness(1)}50%{transform:scale(1.5) rotate(180deg);filter:brightness(2)}to{transform:scale(1) rotate(360deg);filter:brightness(1)}}.portal-flash{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,#ffffffe6,#fff0 70%);z-index:2000;pointer-events:none;animation:portalFlash 1s ease-in-out}@keyframes portalFlash{0%{opacity:0;transform:scale(0)}50%{opacity:.8;transform:scale(1.2)}to{opacity:0;transform:scale(1)}}.pause-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;padding:2rem;border-radius:10px;text-align:center;color:#fff;z-index:1000;box-shadow:0 0 20px #fff3}.pause-menu h2{margin-bottom:1rem;font-size:2rem}.pause-menu button{display:block;width:200px;margin:1rem auto;padding:.8rem;background:#4a90e2;border:none;border-radius:5px;color:#fff;font-size:1.1rem;cursor:pointer;transition:background .3s ease}.pause-menu button:hover{background:#357abd}.edit-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000f2;padding:2rem;border-radius:10px;color:#fff;z-index:1000;min-width:300px;box-shadow:0 0 20px #fff3}.edit-menu h3{margin-top:0;margin-bottom:1.5rem;color:#4a90e2}.edit-menu textarea{width:100%;min-height:100px;margin-bottom:1rem;padding:.5rem;background:#1a1a1a;border:1px solid #333;border-radius:5px;color:#fff;resize:vertical}.edit-menu input{width:100%;margin-bottom:1rem;padding:.5rem;background:#1a1a1a;border:1px solid #333;border-radius:5px;color:#fff}.edit-menu button{margin:.5rem;padding:.8rem 1.5rem;background:#4a90e2;border:none;border-radius:5px;color:#fff;cursor:pointer;transition:background .3s ease}.edit-menu button:last-child{background:#666}.edit-menu button:hover{background:#357abd}.edit-menu button:last-child:hover{background:#555}.error-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#1a1a1af2;border:2px solid #ffd700;border-radius:10px;padding:20px;width:80%;max-width:500px;z-index:9000;color:#fff;box-shadow:0 0 20px #00000080;text-align:center}.error-message h3{margin-top:0;color:gold;font-family:Cinzel,serif;margin-bottom:15px}.error-message p{margin-bottom:20px;line-height:1.5;font-style:italic}.error-message button{background-color:gold;color:#000;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:700;transition:all .2s}.error-message button:hover{background-color:#fff;transform:translateY(-2px)}.loading-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;padding:2rem;border-radius:10px;color:#fff;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-spinner:after{content:"";width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4a90e2;border-radius:50%;animation:spin 1s linear infinite}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}.map{position:absolute;top:0;left:0;z-index:1}.character{position:absolute;z-index:1500;pointer-events:none}.npc{position:absolute;z-index:1300;pointer-events:all}.quotes-button{position:absolute;top:10px;right:10px;background:#8b4513cc;color:gold;border:2px solid #ffd700;border-radius:4px;padding:8px 12px;font-size:.9em;font-family:var(--game-font);cursor:pointer;z-index:1000;transition:all .2s ease}.quotes-button:hover{background:#8b4513;transform:scale(1.05)}.quotes-button:disabled{opacity:.5;cursor:not-allowed}.controls-hint{position:absolute;top:10px;left:10px;background:#000000b3;color:#fff;padding:10px;border-radius:5px;font-size:14px;font-family:var(--primary-font);z-index:100;opacity:1;transition:opacity 1s ease-out}.drop-down-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:400px;max-height:80vh;background:#000000f2;border:2px solid #ffd700;border-radius:8px;z-index:3500;font-family:var(--game-font);display:flex;flex-direction:column;box-shadow:0 0 20px #00000080;overflow:hidden}.drop-down-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #ffd700}.drop-down-header h3{color:gold;font-size:1.2em;margin:0}.drop-down-header .close-button{background:none;border:none;color:gold;font-size:1.5em;cursor:pointer;padding:0 8px}.drop-down-header .close-button:hover{color:#fff}.drop-down-items{flex:1;overflow-y:auto;padding:12px;max-height:400px}.drop-down-item{background:#ffffff1a;border:1px solid rgba(255,215,0,.5);border-radius:4px;padding:12px;margin-bottom:12px;position:relative;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s ease}.drop-down-item:hover{background:#ffd70033;transform:scale(1.02)}.drop-down-item:active{transform:scale(.98)}.item-name{color:#fff;font-size:1em;font-weight:500}.item-action{background:gold;color:#000;padding:5px 10px;border-radius:4px;font-size:.8em;text-transform:uppercase;font-weight:700}.no-items-message{text-align:center;color:#aaa;padding:20px;font-style:italic}@media (max-width: 768px){.drop-down-menu{width:90%;max-height:70vh}.drop-down-item{padding:15px}.item-action{padding:8px 12px;font-size:.9em}}.yosemite-access{position:fixed;bottom:20px;right:20px;z-index:100}.yosemite-access-button{background:#2e8b57e6;color:#fff;border:2px solid #1a472a;border-radius:8px;padding:12px 16px;font-size:14px;cursor:pointer;box-shadow:0 4px 8px #0003;transition:all .3s ease;display:flex;align-items:center;justify-content:center;min-width:200px}.yosemite-access-button:hover{background:#2e8b57;transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.yosemite-access-button:active{transform:translateY(0)}@media (max-width: 768px){.yosemite-access{bottom:80px}.yosemite-access-button{font-size:12px;padding:10px 14px;min-width:180px}}.debug-info{position:absolute;top:10px;right:10px;background:#000c;color:#0f0;padding:15px;border-radius:5px;font-family:monospace;font-size:12px;max-width:400px;max-height:80vh;overflow-y:auto;z-index:1000;border:1px solid #00ff00;box-shadow:0 0 10px #00ff0080}.debug-info h3,.debug-info h4{margin:0 0 10px;color:#0f0;border-bottom:1px solid #00ff00;padding-bottom:5px}.debug-info h4{margin-top:10px}.debug-info p{margin:5px 0}.debug-info ul{list-style:none;padding:0;margin:0}.debug-info li{margin-bottom:8px;padding:5px;background:#0064004d;border-radius:3px}.debug-info button{background:#040;color:#0f0;border:1px solid #00ff00;border-radius:3px;padding:3px 6px;margin:5px 3px;font-size:10px;cursor:pointer}.debug-info button:hover{background:#060}.level-up-notification{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:9995;animation:levelUpFadeIn .8s ease-out}@keyframes levelUpFadeIn{0%{opacity:0}to{opacity:1}}.level-up-content{width:80%;max-width:600px;background-color:#1a1a1a;border:2px solid #ffd700;border-radius:10px;padding:30px;color:#fff;box-shadow:0 0 30px #ffd7004d;position:relative;overflow:hidden}.level-up-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 30%,rgba(255,215,0,.1) 0%,transparent 60%),radial-gradient(circle at 70% 70%,rgba(255,215,0,.1) 0%,transparent 60%);pointer-events:none}.level-up-content h3{font-size:28px;text-align:center;margin-bottom:20px;color:gold;font-family:Cinzel,serif;text-shadow:0 0 10px rgba(255,215,0,.5);letter-spacing:2px}.guide-message{display:flex;gap:20px;margin-bottom:30px;position:relative}.guide-portrait{width:100px;height:100px;border-radius:50%;overflow:hidden;border:2px solid #ffd700;flex-shrink:0;box-shadow:0 0 15px #ffd70080}.guide-portrait img{width:100%;height:100%;object-fit:cover}.guide-text{flex:1}.guide-text h4{font-size:20px;margin-bottom:10px;color:gold;font-family:Cinzel,serif}.guide-text p{font-size:16px;line-height:1.6;font-style:italic;color:#e6e6e6}.artifact-recognition{background-color:#ffd7001a;padding:15px;border-radius:8px;margin-bottom:20px;text-align:center;border-left:3px solid #ffd700}.artifact-recognition p{font-size:16px;color:gold}.level-up-content button{display:block;width:200px;margin:0 auto;padding:12px 20px;background-color:gold;color:#000;border:none;border-radius:30px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 0 10px #ffd70080}.level-up-content button:hover{background-color:#fff;box-shadow:0 0 20px #fffc;transform:translateY(-2px)}.guide-portrait img[alt="John Muir"]{filter:sepia(.3) saturate(1.2)}.guide-portrait img[alt=Virgil]{filter:grayscale(.7) brightness(.9)}.divine-transition{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9990;opacity:0;background:radial-gradient(circle at center,rgba(255,215,0,.7) 0%,transparent 70%)}.divine-transition.active{animation:divine-passage 3s forwards}@keyframes divine-passage{0%{opacity:0;transform:scale(.1)}50%{opacity:.8;transform:scale(1.5)}to{opacity:0;transform:scale(2)}}.guide-appearance{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;background-size:cover;background-position:center;box-shadow:0 0 30px #ffd700cc;z-index:9991;opacity:0;pointer-events:none}.guide-appearance.virgil{background-image:url(/assets/guides/virgil.png)}.guide-appearance.john-muir{background-image:url(/assets/guides/john_muir.png)}.guide-appearance.active{animation:guide-reveal 4s forwards}@keyframes guide-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}30%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}.level-portal{position:absolute;width:64px;height:64px;border-radius:50%;cursor:pointer;overflow:hidden;z-index:10;transition:all .3s ease}.level-portal:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,215,0,.8) 30%,rgba(255,140,0,.6) 70%,transparent 100%);animation:portal-glow 3s infinite alternate}.level-portal:after{content:"";position:absolute;top:10px;left:10px;right:10px;bottom:10px;border-radius:50%;box-shadow:inset 0 0 15px #fffc;animation:portal-ripple 3s infinite}.level-portal.level-2-portal:before{background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(0,191,255,.8) 30%,rgba(30,144,255,.6) 70%,transparent 100%)}.level-portal.level-3-portal:before{background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(153,50,204,.8) 30%,rgba(75,0,130,.6) 70%,transparent 100%)}@keyframes portal-glow{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.1)}}@keyframes portal-ripple{0%{transform:scale(.8);opacity:.3}50%{transform:scale(1);opacity:.5}to{transform:scale(.8);opacity:.3}}.dante-quote{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:600px;text-align:center;color:#fff;font-family:Cinzel,serif;font-style:italic;font-size:24px;line-height:1.6;text-shadow:0 0 20px rgba(255,215,0,.8);z-index:9992;opacity:0;pointer-events:none}.dante-quote.active{animation:quote-fade 5s forwards}@keyframes quote-fade{0%{opacity:0;transform:translate(-50%,-40%)}20%{opacity:1;transform:translate(-50%,-50%)}80%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-60%)}}.debug-overlay{position:fixed;top:10px;right:10px;background-color:#000c;color:#0f0;padding:10px;border-radius:5px;font-family:monospace;font-size:12px;z-index:9999;max-width:300px;max-height:80vh;overflow-y:auto}.debug-overlay h3{margin-top:0;color:#ff0;border-bottom:1px solid #ffff00;padding-bottom:5px}.debug-overlay p{margin:5px 0}.win-notification{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .5s ease-in-out}.win-content{background:linear-gradient(135deg,#8b4513,#654321);border:3px solid #ffd700;border-radius:15px;padding:30px;max-width:500px;text-align:center;box-shadow:0 0 30px #ffd70080;animation:scaleIn .5s ease-in-out}.win-content h2{color:gold;font-size:2rem;font-family:var(--game-font);margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.win-content p{color:#fff;font-size:1.2rem;margin-bottom:20px;line-height:1.5}.win-stars{color:gold;font-size:3rem;margin:20px 0;text-shadow:0 0 10px rgba(255,215,0,.8);animation:starPulse 1s infinite alternate}.win-content button{background-color:gold;color:#000;border:none;border-radius:30px;padding:12px 30px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 4px 6px #0000004d}.win-content button:hover{background-color:#fff;transform:translateY(-3px);box-shadow:0 6px 10px #0000004d}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes starPulse{0%{transform:scale(1)}to{transform:scale(1.2)}}.world-announcement{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#000c;color:#fff;padding:20px 40px;border-radius:10px;box-shadow:0 0 30px #ffffff80;text-align:center;z-index:2000;animation:announcement-appear .5s ease-out;opacity:1;transition:opacity 1s ease-out}.world-announcement h2{font-size:24px;margin:0;font-weight:700;text-shadow:0 0 10px rgba(255,255,255,.7)}.world-announcement.fade-out{opacity:0}@keyframes announcement-appear{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.map-key-hint{position:fixed;bottom:20px;left:20px;background-color:#000000b3;color:#ccc;padding:8px 15px;border-radius:20px;font-size:14px;z-index:500;box-shadow:0 0 10px #00000080;border-left:3px solid #4a90e2;animation:hint-pulse 3s infinite alternate;pointer-events:none}@keyframes hint-pulse{0%{opacity:.6;transform:translateY(0)}to{opacity:1;transform:translateY(-3px)}}.feedback-button{position:fixed;right:20px;bottom:70px;background-color:#4a7dff;color:#fff;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:700;box-shadow:0 4px 8px #0000004d;display:flex;align-items:center;gap:8px;z-index:1000;transition:all .2s ease}.feedback-button:hover{background-color:#3a6ae8;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.feedback-button:active{transform:translateY(0);box-shadow:0 2px 4px #0003}.feedback-text{display:block}@media (max-width: 480px){.feedback-button{width:40px;height:40px;justify-content:center;border-radius:50%;padding:0}.feedback-text{display:none}}.portal-notification{position:fixed;bottom:-100px;left:50%;transform:translate(-50%);background-color:#000c;color:#fff;border-radius:8px;padding:15px 25px;box-shadow:0 0 20px #ffffff4d;z-index:100;transition:bottom .5s ease-in-out;max-width:90%;text-align:center;pointer-events:none;opacity:0;border:2px solid rgba(255,255,255,.3)}.portal-notification.active{bottom:30px;opacity:1}.portal-notification-content h3{font-size:18px;margin:0 0 8px;color:#50e3c2;text-shadow:0 0 10px #50e3c2}.portal-notification-content p{font-size:14px;margin:0;color:#fff;font-weight:400}@media (max-width: 768px){.portal-notification{padding:10px 15px}.portal-notification-content h3{font-size:16px}.portal-notification-content p{font-size:12px}}.saved-quotes-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;max-height:85vh;background:#000000f2;border:2px solid #ffd700;border-radius:8px;z-index:3000;font-family:var(--game-font);display:flex;flex-direction:column;box-shadow:0 0 20px #00000080;overflow:hidden}.saved-quotes-header{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #ffd700;min-height:50px}.saved-quotes-header h2{color:gold;font-size:1em;margin:0;white-space:nowrap}.saved-quotes-header .close-button{background:none;border:none;color:gold;font-size:1.5em;cursor:pointer;padding:0 8px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.saved-quotes-header .close-button:hover{color:#fff}.quotes-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid rgba(255,215,0,.3);justify-content:center}.quotes-actions button{background:#3498dbb3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:8px 12px;font-size:.8em;font-family:var(--game-font);cursor:pointer;transition:all .2s ease;min-height:36px;flex:1;min-width:110px;max-width:160px;white-space:nowrap}.quotes-actions button:hover{background:#3498dbe6;transform:translateY(-2px)}.quotes-actions button:active{transform:translateY(0)}.export-button{background:#2ecc71b3!important}.export-button:hover{background:#2ecc71e6!important}.share-button{background:#9b59b6b3!important}.share-button:hover{background:#9b59b6e6!important}.add-quote-button{background:#e67e22b3!important}.add-quote-button:hover{background:#e67e22e6!important}.share-form{display:flex;padding:12px;gap:8px;border-bottom:1px solid rgba(255,215,0,.3)}.share-form input{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;padding:8px 12px;font-size:.8em}.share-form input:focus{outline:none;border-color:gold}.share-submit-button{background:#9b59b6b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:8px 12px;font-size:.8em;cursor:pointer;min-width:70px}.share-submit-button:hover{background:#9b59b6e6}.select-all-container{padding:8px 0;color:#ccc;font-size:.8em;display:flex;align-items:center}.select-all-container label{display:flex;align-items:center;gap:8px;cursor:pointer}.select-all-container input[type=checkbox]{width:16px;height:16px;cursor:pointer}.quotes-list{flex:1;overflow-y:auto;padding:12px}.quote-item{background:#ffffff1a;border:1px solid rgba(255,215,0,.5);border-radius:4px;padding:12px;margin-bottom:12px;position:relative;display:flex;gap:12px;transition:all .2s ease}.quote-item.selected{background:#3498db33;border-color:#3498dbb3}.quote-checkbox{display:flex;align-items:flex-start;padding-top:4px}.quote-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.quote-content{flex:1;min-width:0}.quote-text{color:#fff;font-size:.8em;line-height:1.6;margin-bottom:8px;font-style:italic;word-wrap:break-word;overflow-wrap:break-word}.quote-source{color:gold;font-size:.7em;margin-bottom:8px;word-wrap:break-word;overflow-wrap:break-word}.npc-type{font-weight:700;color:#f90}.quote-timestamp{color:#aaa;font-size:.6em}.quote-actions{display:flex;flex-direction:column;gap:8px;align-self:flex-start}.delete-quote-button,.copy-quote-button{background:#8b0000b3;color:#fff;border:1px solid #ff6b6b;border-radius:4px;padding:4px 8px;font-size:.6em;font-family:var(--game-font);cursor:pointer;white-space:nowrap;min-width:60px;text-align:center}.delete-quote-button:hover{background:#8b0000e6}.copy-quote-button{background:#3498dbb3;border-color:#3498dbe6}.copy-quote-button:hover{background:#3498dbe6}.no-quotes-message{padding:24px;text-align:center;color:#aaa;font-size:.7em;line-height:1.6}.no-quotes-message button{margin-top:16px;background:#e67e22b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:8px 16px;font-size:1.1em;cursor:pointer}.no-quotes-message button:hover{background:#e67e22e6}.quotes-list::-webkit-scrollbar{width:6px}.quotes-list::-webkit-scrollbar-track{background:#00000080;border-radius:3px}.quotes-list::-webkit-scrollbar-thumb{background:gold;border-radius:3px}.quotes-list::-webkit-scrollbar-thumb:hover{background:#fff}@media (max-width: 768px){.saved-quotes-container{width:95%;max-height:90vh;top:50%;border-width:1px}.quotes-actions{padding:8px}.quotes-actions button{font-size:.7em;padding:6px 8px;min-width:90px}.quote-item{padding:10px;flex-direction:column}.quote-checkbox{align-self:flex-start}.quote-actions{flex-direction:row;justify-content:space-between;width:100%;margin-top:8px}.delete-quote-button,.copy-quote-button{flex:1;max-width:48%}.quotes-list{padding:8px}}@media (max-width: 480px){.saved-quotes-container{width:98%;max-height:95vh}.saved-quotes-header h2{font-size:.9em}.quotes-actions{flex-direction:column;align-items:stretch}.quotes-actions button{max-width:none;width:100%}.quote-text{font-size:.75em}.quote-source{font-size:.65em}.share-form{flex-direction:column}.share-submit-button{width:100%}}.reward-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1500;animation:fadeIn .5s ease}.reward-modal{background-color:#1a1a2e;border-radius:10px;box-shadow:0 0 30px #ffd70080;width:95%;max-width:600px;max-height:90vh;overflow-y:auto;padding:0;position:relative;border:2px solid #ffd700;animation:scaleIn .5s ease}.reward-modal-header{background:linear-gradient(135deg,#392d69,#1a1a2e);padding:15px 20px;border-bottom:2px solid #ffd700;display:flex;justify-content:space-between;align-items:center}.reward-modal-header h2{color:gold;margin:0;font-size:1.5rem;text-shadow:0 0 5px rgba(255,215,0,.7)}.close-button{background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;padding:0;line-height:1}.reward-content{padding:25px;color:#fff;text-align:center}.reward-icon{font-size:60px;margin-bottom:15px;animation:pulse 2s infinite}.reward-content h3{color:gold;font-size:1.8rem;margin-bottom:15px;text-shadow:0 0 10px rgba(255,215,0,.5)}.reward-content p{font-size:1.1rem;margin-bottom:25px;line-height:1.5}.reward-item{background-color:#0000004d;border-radius:8px;padding:20px;display:flex;flex-direction:column;align-items:center;margin-bottom:25px;border:1px solid rgba(255,215,0,.3)}@media (min-width: 768px){.reward-item{flex-direction:row;text-align:left;gap:20px}}.reward-image{width:120px;height:120px;object-fit:contain;border-radius:8px;margin-bottom:15px;background-color:#ffffff1a;padding:10px;border:1px solid rgba(255,255,255,.2)}@media (min-width: 768px){.reward-image{margin-bottom:0}}.reward-details{flex:1}.reward-details h4{color:gold;font-size:1.3rem;margin-bottom:10px;text-shadow:0 0 5px rgba(255,215,0,.5)}.download-button{display:inline-block;background:linear-gradient(135deg,gold,#f7971e);color:#000;font-weight:700;padding:12px 24px;border-radius:50px;text-decoration:none;margin-top:15px;transition:all .3s ease;box-shadow:0 0 15px #ffd70080;border:none;cursor:pointer}.download-button:hover{transform:translateY(-3px);box-shadow:0 0 20px #ffd700b3}.reward-instructions{background-color:#ffffff1a;border-radius:8px;padding:20px;text-align:left;border:1px solid rgba(255,255,255,.2)}.reward-instructions h4{color:gold;margin-bottom:15px;font-size:1.2rem}.reward-instructions ol{margin:0;padding-left:25px}.reward-instructions li{margin-bottom:10px;line-height:1.4}.reward-footer{background:linear-gradient(135deg,#1a1a2e,#392d69);padding:15px 20px;border-top:2px solid rgba(255,215,0,.3);display:flex;justify-content:center}.continue-button{background:linear-gradient(135deg,#4a3f8d,#392d69);color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 25px;border-radius:50px;cursor:pointer;font-weight:700;transition:all .3s ease}.continue-button:hover{background:linear-gradient(135deg,#5a4f9d,#493d79);transform:translateY(-2px)}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1);text-shadow:0 0 10px rgba(255,215,0,.5)}50%{transform:scale(1.1);text-shadow:0 0 20px rgba(255,215,0,.8),0 0 30px rgba(255,215,0,.4)}to{transform:scale(1);text-shadow:0 0 10px rgba(255,215,0,.5)}}.dialog-overlay{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:450px;max-width:90vw;background:#000000e6;border:2px solid #ffd700;border-radius:8px;z-index:2000;display:flex;flex-direction:column;box-shadow:0 0 20px #000000b3;animation:dialogFadeIn .3s ease-out;-webkit-user-select:none;user-select:none}@keyframes dialogFadeIn{0%{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.dialog-box{width:100%;display:flex;flex-direction:column;padding:15px;box-sizing:border-box;color:#f0f0f0}.dialog-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffd700;padding-bottom:10px;margin-bottom:15px}.dialog-header h3{margin:0;color:gold;font-size:1.2em}.close-btn{background:none;border:none;color:gold;font-size:1.4em;cursor:pointer;height:25px;width:25px;display:flex;align-items:center;justify-content:center;padding:0;transition:color .2s}.close-btn:hover{color:#fff}.dialog-content{min-height:80px;line-height:1.5;font-size:1.05em;margin-bottom:10px}.npc-message{background:#32323280;border-radius:5px;padding:15px;position:relative;border-left:3px solid #ffd700}.typing-cursor{display:inline-block;margin-left:2px;animation:cursorBlink .8s infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.dialog-footer{display:flex;justify-content:flex-end}.dialog-btn{background:#333;color:gold;border:1px solid #ffd700;border-radius:4px;padding:6px 15px;cursor:pointer;transition:all .2s;font-size:.9em}.dialog-btn:hover{background:#444;box-shadow:0 0 5px #ffd70080}@media (max-width: 600px){.dialog-overlay{width:90vw}.dialog-box{padding:10px}.dialog-content{min-height:80px;font-size:.9em}}.npc-message:not(.typing){transition:background-color .3s}.dialog-box[data-npc-type=guide] .dialog-header{background-color:#0050ff33;border-bottom:1px solid #4080ff;padding:10px 15px;margin-bottom:15px;border-radius:4px 4px 0 0}.dialog-box[data-npc-type=guide] .dialog-header h2{color:#4080ff;text-shadow:0 0 5px rgba(0,100,255,.5)}.dialog-box[data-npc-type=guide] .dialog-content{background-color:#0032961a;border-left:3px solid #4080ff;padding:10px;margin-bottom:15px;border-radius:0 4px 4px 0}.dialog-box[data-npc-type=guide] .dialog-actions button{background-color:#4080ff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s}.dialog-box[data-npc-type=guide] .dialog-actions button:hover{background-color:#2060dd}.dialog-box[data-npc-type=guide] .dialog-actions button:disabled{background-color:#a0a0a0;cursor:not-allowed}.dialog-actions{display:flex;justify-content:flex-end;margin-top:15px}.dialog-actions button,.dialog-btn{background-color:gold;color:#000;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:700}.dialog-actions button:hover,.dialog-btn:hover{background-color:#fc0}.dialog-actions button:disabled,.dialog-btn:disabled{background-color:#a0a0a0;cursor:not-allowed}@font-face{font-family:Royal Vogue;src:url(/assets/fonts/royal-vogue.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:American Typewriter;src:url(/assets/fonts/american-typewriter.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}.text-adventure-container{width:100%;height:100vh;display:flex;flex-direction:column;background-color:#1a1a1a;color:#ccc;font-family:Royal Vogue,American Typewriter,Courier New,monospace;position:fixed;top:0;left:0;z-index:1000;background-image:url(/assets/images/paper-texture.png);background-blend-mode:overlay}.text-adventure-header{background-color:#121212;padding:15px;border-bottom:2px solid #333;display:flex;justify-content:space-between;align-items:center}.text-adventure-header h2{margin:0;color:#e0e0e0;font-size:24px;font-family:Royal Vogue,American Typewriter,Courier New,monospace;letter-spacing:2px;text-transform:uppercase;text-shadow:0 0 5px rgba(255,255,255,.3)}.health-bar{width:200px;height:20px;background-color:#333;border-radius:10px;overflow:hidden;position:relative}.health-bar-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.health-bar span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;text-shadow:1px 1px 2px black;white-space:nowrap}.text-adventure-body{flex:1;display:flex;flex-direction:column;padding:20px;overflow:hidden}.game-history{flex:1;overflow-y:auto;padding:20px;margin-bottom:15px;background-color:#141414e6;border:1px solid #333;box-shadow:inset 0 0 10px #000000b3;border-radius:0}.history-entry{margin-bottom:12px;line-height:1.8;animation:fadeIn .3s ease-in;letter-spacing:.4px;position:relative;text-indent:20px;font-weight:400}.history-entry.system{color:#7cbb00;font-style:italic}.history-entry.player{color:#4a90e2;font-weight:700}.history-entry.room{color:#ccc}.history-entry.typing{color:#ccc;position:relative}.cursor{display:inline-block;width:8px;height:16px;margin-left:2px;background-color:#e0e0e0;animation:typeBlink 1s step-start infinite;vertical-align:middle}.command-input-container{display:flex;align-items:center;background-color:#121212;padding:10px;border-radius:0;border-top:1px solid #333}.command-prompt{color:#4a90e2;margin-right:10px;font-weight:700}.command-input{flex:1;background-color:transparent;border:none;color:#e0e0e0;font-family:Royal Vogue,American Typewriter,Courier New,monospace;font-size:16px;outline:none;letter-spacing:.5px;text-transform:lowercase}.command-input::placeholder{color:#666}.text-adventure-footer{background-color:#121212;padding:15px;border-top:2px solid #333;display:flex;justify-content:flex-end}.exit-button{background-color:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:5px;cursor:pointer;font-family:Royal Vogue,American Typewriter,Courier New,monospace;transition:all .2s ease}.exit-button:hover{background-color:#c0392b;transform:scale(1.05)}.game-complete-overlay,.game-over-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:10}.game-complete-content,.game-over-content{background-color:#1a1a1a;border:2px solid #4CAF50;border-radius:10px;padding:30px;max-width:500px;text-align:center;animation:slideIn .5s ease}.game-over-content{border-color:#e74c3c}.game-complete-content h2,.game-over-content h2{color:#e0e0e0;margin-top:0}.game-complete-content p,.game-over-content p{color:#ccc;margin-bottom:20px;font-style:italic}.game-complete-content button,.game-over-content button{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;margin:0 10px;border-radius:5px;cursor:pointer;font-family:Royal Vogue,American Typewriter,Courier New,monospace;transition:all .2s ease}.game-over-content button:first-of-type{background-color:#e74c3c}.game-over-content button:last-of-type{background-color:#4caf50}.game-complete-content button:hover,.game-over-content button:hover{transform:scale(1.05);box-shadow:0 0 10px #ffffff4d}.typing-effect{animation:typeKey .1s linear}.history-entry:nth-child(odd){letter-spacing:.4px}.history-entry:nth-child(2n){letter-spacing:.6px}.history-entry span{display:inline-block}.history-entry span:nth-child(3n){transform:translateY(-.5px)}.history-entry span:nth-child(5n){transform:translateY(.5px)}.game-history:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;opacity:.05;pointer-events:none}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes typeBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes typeKey{0%{transform:translateY(0)}50%{transform:translateY(1px)}to{transform:translateY(0)}}@media (max-width: 768px){.text-adventure-header{flex-direction:column;padding:10px}.text-adventure-header h2{margin-bottom:10px}.text-adventure-body,.game-history{padding:10px}}.user-artifact-manager{position:absolute;background:#000c;padding:15px;border-radius:8px;color:#fff;z-index:1000;min-width:200px}.edit-form{display:flex;flex-direction:column;gap:10px}.edit-form input,.edit-form textarea{padding:8px;border:1px solid #444;border-radius:4px;background:#ffffff1a;color:#fff}.edit-form textarea{min-height:80px;resize:vertical}.button-group{display:flex;gap:10px;justify-content:flex-end}.artifact-controls{display:flex;gap:10px;justify-content:space-between}.artifact-controls button,.button-group button{padding:8px 16px;border:none;border-radius:4px;background:#4a90e2;color:#fff;cursor:pointer;transition:background .2s}.artifact-controls button:hover,.button-group button:hover{background:#357abd}.artifact-controls button:last-child{background:#e2844a}.artifact-controls button:last-child:hover{background:#bd6b35}.placement-instructions{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000e6;padding:20px;border-radius:8px;color:#fff;text-align:center;z-index:1001;box-shadow:0 0 20px #00000080}.artifact-discovery{position:fixed;bottom:20px;right:20px;background:#000c;border:1px solid var(--gold);border-radius:8px;padding:15px;max-width:300px;color:#fff;z-index:1000;animation:fadeIn .3s ease-in-out}.discovery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.discovery-header h3{color:var(--gold);margin:0;font-size:1.2rem}.discovery-count{background:#ffd70033;padding:4px 8px;border-radius:4px;font-size:.9rem}.discovery-hints{display:flex;flex-direction:column;gap:10px}.discovery-hint{background:#ffffff0d;border-radius:6px;padding:10px;position:relative;transition:all .3s ease}.discovery-hint:hover{background:#ffffff1a;transform:translate(-5px)}.discovery-hint.found{background:#ffd7001a;border:1px solid var(--gold)}.hint-content{display:flex;justify-content:space-between;align-items:center;gap:10px}.hint-content p{margin:0;font-size:.9rem;flex:1}.interact-button{background:var(--gold);color:var(--dark-blue);border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-weight:700;transition:all .2s ease}.interact-button:hover{background:gold;transform:scale(1.05)}.creator-badge{position:absolute;top:-8px;right:-8px;background:var(--gold);color:var(--dark-blue);padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.artifact-discovery{bottom:10px;right:10px;left:10px;max-width:none}}.xp-notification{position:fixed;top:20px;right:20px;background-color:#000c;color:#fff;padding:12px 20px;border-radius:8px;z-index:1000;max-width:300px;box-shadow:0 4px 10px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:16px;transform:translate(100%)}.xp-notification.slide-in{animation:slideIn .5s forwards}.xp-notification.slide-out{animation:slideOut .5s forwards}.xp-notification-content{display:flex;align-items:center;gap:10px}.xp-icon{font-size:20px}.xp-notification.success{border-left:4px solid #4CAF50}.xp-notification.info{border-left:4px solid #2196F3}.xp-notification.warning{border-left:4px solid #FF9800}.xp-notification.achievement{max-width:350px;background-color:#4c1d95f2;border-left:4px solid #FFD700}.achievement-content{padding:5px 0}.achievement-icon{font-size:30px;margin-right:10px}.achievement-text{display:flex;flex-direction:column;gap:5px}.achievement-title{margin:0;font-size:18px;font-weight:700;color:gold}.achievement-description{margin:0;font-size:14px;color:#e2e8f0;line-height:1.4}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.terminal-container{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;color:#3f3;font-family:Courier New,monospace;display:flex;flex-direction:column;z-index:9999;animation:terminalFadeIn 1s ease-out;overflow:hidden}@keyframes terminalFadeIn{0%{opacity:0}to{opacity:1}}.terminal-header{display:flex;justify-content:space-between;align-items:center;background-color:#111;padding:8px 16px;border-bottom:1px solid #33ff33}.terminal-title{font-weight:700;letter-spacing:1px}.terminal-status{color:#f33;font-size:.9em;animation:blink 1.5s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.5}}.terminal-exit{background-color:#333;color:#fff;border:1px solid #666;padding:4px 8px;cursor:pointer;transition:all .2s;font-family:Courier New,monospace;font-weight:700;font-size:.9em}.terminal-exit:hover{background-color:#f33;color:#000;transform:scale(1.05);box-shadow:0 0 8px #f33c}.terminal-exit-reminder{position:fixed;bottom:60px;left:50%;transform:translate(-50%);color:#33ff3380;font-size:.8em;text-align:center;padding:5px 10px;background-color:#000c;border-radius:5px;pointer-events:none;z-index:100;animation:fadeInOut 3s infinite}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:.8}}.terminal-screen{flex:1;padding:20px;overflow-y:auto;background-color:#000;background-image:radial-gradient(rgba(0,50,0,.1) 15%,transparent 16%),radial-gradient(rgba(0,50,0,.1) 15%,transparent 16%);background-size:4px 4px;background-position:0 0,2px 2px;position:relative}.terminal-screen:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(#12101000 50%,#00000040 50%);background-size:100% 4px;pointer-events:none;z-index:2}.terminal-screen:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:inset 0 0 150px #000000e6;pointer-events:none;z-index:3}.terminal-line{margin-bottom:12px;line-height:1.5;position:relative;z-index:5}.system-output{color:#3f3;text-shadow:0 0 5px rgba(51,255,51,.5)}.user-input{color:#fff;text-shadow:0 0 5px rgba(255,255,255,.5)}.current-line{animation:fadeIn .5s ease-out}.cursor{animation:cursorBlink .8s infinite;color:#3f3;font-weight:700}@keyframes cursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}.terminal-choices{display:flex;flex-direction:column;gap:10px;margin-top:20px}.terminal-choice{background-color:#000000b3;border:1px solid #33ff33;color:#3f3;padding:8px 16px;text-align:left;cursor:pointer;transition:all .2s;font-family:Courier New,monospace;font-size:1em}.terminal-choice:hover{background-color:#3f33;text-shadow:0 0 8px rgba(51,255,51,.8)}.terminal-input-area{display:flex;align-items:center;background-color:#0f0f0f;padding:16px;border-top:1px solid #33ff33;position:relative;z-index:10}.input-prompt{color:#3f3;margin-right:8px;font-weight:700}.terminal-input{flex:1;background-color:transparent;border:none;color:#fff;font-family:Courier New,monospace;font-size:1em;caret-color:transparent;outline:none}.terminal-input.active{text-shadow:0 0 5px rgba(255,255,255,.5)}.terminal-input::placeholder{color:#ffffff4d}.error-text{color:#f33!important;text-shadow:0 0 8px rgba(255,51,51,.8)!important;animation:glitch .3s infinite}@keyframes glitch{0%{transform:translate(-2px)}25%{transform:translate(2px)}50%{transform:translate(-1px)}75%{transform:translate(1px)}to{transform:translate(0)}}.terminal-container.glitch{animation:terminalGlitch .2s}@keyframes terminalGlitch{0%{transform:translate(0);filter:hue-rotate(0deg)}25%{transform:translate(-5px);filter:hue-rotate(90deg) brightness(1.5)}50%{transform:translate(5px);filter:hue-rotate(180deg) contrast(1.5)}75%{transform:translate(-2px);filter:hue-rotate(270deg) brightness(.8)}to{transform:translate(0);filter:hue-rotate(0deg)}}@media (max-width: 768px){.terminal-header{padding:8px}.terminal-title{font-size:.8em}.terminal-screen{padding:12px}.terminal-choice{padding:6px 12px;font-size:.9em}.terminal-input-area{padding:12px}}.terminal-line.dark{color:red;text-shadow:0 0 8px rgba(255,0,0,.8)}.disruption{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent,rgba(51,255,51,.1),transparent);pointer-events:none;opacity:0;z-index:4;animation:disrupt 5s infinite}@keyframes disrupt{0%,95%,to{opacity:0}50%,55%{opacity:.8;transform:translateY(100%)}}.system-output.distorted{animation:distort .1s steps(2) infinite}@keyframes distort{0%{transform:skew(0);filter:blur(0)}25%{transform:skew(3deg);filter:blur(1px)}75%{transform:skew(-3deg);filter:blur(1px)}to{transform:skew(0);filter:blur(0)}}.level4-shooter{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;font-family:Courier New,monospace}.game-hud{position:absolute;top:10px;left:10px;width:calc(100% - 20px);display:flex;justify-content:space-between;padding:10px;background-color:#0009;border-radius:5px;color:#0f0;font-family:Courier New,monospace;z-index:10}.score-display,.health-display{font-size:18px;font-weight:700;margin:0 10px;text-shadow:2px 2px 2px rgba(0,0,0,.8)}.health-display{color:red}.game-canvas-container{width:800px;height:400px;position:relative;overflow:hidden;border:2px solid #444;box-shadow:0 0 20px #00000080;background:linear-gradient(to bottom,#87ceeb,#cfecf8)}.game-canvas{display:block;width:100%;height:100%}.game-over-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:20}.game-over-content{background-color:#222;padding:30px 50px;border-radius:10px;text-align:center;color:#fff;box-shadow:0 0 20px #00ff004d;border:2px solid #0f0}.game-over-content h2{color:#ff0;font-size:28px;margin-bottom:20px}.game-over-content p{margin-bottom:20px;font-size:18px}.game-over-content button{background-color:#0a0;color:#fff;border:none;padding:10px 20px;margin:10px;border-radius:5px;font-family:Courier New,monospace;font-size:16px;cursor:pointer;transition:all .2s}.game-over-content button:hover{background-color:#0f0;box-shadow:0 0 10px #0f0;transform:scale(1.05)}.controls-info{position:absolute;bottom:10px;width:100%;text-align:center;color:#0f0;background-color:#0009;padding:5px 0;font-size:14px}@keyframes jump{0%{transform:translateY(0)}50%{transform:translateY(-15px)}to{transform:translateY(0)}}.debug-overlay{position:absolute;top:50px;right:10px;background-color:#000000b3;color:#0f0;padding:10px;border-radius:5px;font-family:monospace;font-size:12px;z-index:100}.health-bar{margin-right:15px;display:flex;flex-direction:column}.health-label{font-size:8px;margin-bottom:2px}.health-bar-outer{width:150px;height:10px;background-color:#333;border:1px solid #555}.health-bar-inner{height:100%;width:100%;background-color:#3f3;transition:width .3s ease,background-color .3s ease}.player-level{margin-right:15px;font-size:10px}.xp-bar{width:100px;height:6px;background-color:#333;border:1px solid #555;margin-right:15px;border-radius:3px;overflow:hidden}.xp-bar-inner{height:100%;background:linear-gradient(to right,#ff9,#fc3);transition:width .5s ease}.boss-health-bar{position:absolute;top:5px;right:10px;width:250px}.health-bar-outer.boss{width:250px;height:15px;background-color:#222;border:1px solid #f55}.level-name{font-size:10px;font-style:italic;margin-left:auto;padding-right:15px}.quote-container{position:absolute;top:50px;left:50%;transform:translate(-50%);z-index:50;max-width:80%;animation:fade-in .5s ease}.quote-bubble{background-color:#000c;padding:15px;border-radius:10px;border:2px solid #777;position:relative}.quote-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(0,0,0,.8)}.quote-text{font-style:italic;margin:0 0 5px;font-size:12px;line-height:1.4;color:#fff;text-align:center}.quote-attribution{font-size:10px;margin:0;text-align:right;color:#ccc}.level-up-notification{position:absolute;top:120px;left:50%;transform:translate(-50%);z-index:60;animation:level-up-bounce .5s ease,fade-in .3s ease}.level-up-content{background:linear-gradient(135deg,#46a,#83c);padding:15px 25px;border-radius:10px;border:2px solid #adf;box-shadow:0 0 20px #adf;text-align:center}.level-up-content h3{color:#ff9;margin:0 0 5px;font-size:16px;text-shadow:0 0 5px #fff}.level-up-content p{margin:0;font-size:10px;color:#fff}.game-canvas-container{position:relative;width:800px;height:400px;margin:0 auto;overflow:hidden;background-color:#87ceeb;transition:background-color 1s ease}.game-canvas{display:block;width:100%;height:100%;background:transparent}.paris-background{background-image:linear-gradient(to bottom,#6ca0dc,#87ceeb);background-position:0 0;background-size:800px 400px}.spain-background{background-image:linear-gradient(to bottom,#e1bc92,#d2691e);background-position:0 0;background-size:800px 400px}.africa-background{background-image:linear-gradient(to bottom,orange,gold);background-position:0 0;background-size:800px 400px}.player,.hemingway,.enemy,.boss{position:absolute;background-size:contain;background-repeat:no-repeat}.player{width:40px;height:50px;background-color:#3f3;z-index:10}.player.jumping{animation:player-jump .5s!important}.player.crouching{height:40px;transform-origin:bottom center}.hemingway{width:40px;height:50px;background-color:#33f;z-index:10}.enemy{width:40px;height:40px;background-color:#f33}.enemy.grunt{background-color:#f33;width:35px;height:40px}.enemy.soldier{background-color:#f55;width:35px;height:45px}.enemy.sniper{background-color:#f99;width:30px;height:45px}.enemy.tank{background-color:#833;width:50px;height:40px}.boss{width:100px;height:100px;background-color:red;z-index:15}.boss.lion{background-color:#b70;border-radius:15px 15px 5px 5px}.boss.general{background-color:#a33;border-radius:0}.platform{position:absolute;background-color:#555;border-top:2px solid #777}.platform.ground{background-color:#373;border-top:2px solid #595}.platform.end-platform{background-color:#773;border-top:2px solid #995}.platform.boss-platform{background-color:#733;border-top:2px solid #955}.platform.trench{background-color:#654;border-top:2px solid #876;height:10px!important}.platform.water{background-color:#33c;border-top:2px solid #55f;opacity:.7;animation:water-ripple 2s infinite}.platform.stone{background-color:#666;border-top:2px solid #888;border-radius:5px}.platform.hill{background-color:#585;border-top:2px solid #7a7;border-radius:30px 30px 0 0}.platform.tree-platform{background-color:#563;border-top:2px solid #784;border-radius:2px}.item{position:absolute;width:30px;height:30px;background-color:#ff0;border-radius:15px;animation:item-pulse 1.5s infinite;z-index:5}.item.health{background-color:#0f5}.item.weapon{background-color:#f70}.item.weapon.typewriter{background-color:#aaa;border-radius:5px}.item.weapon.rifle{background-color:#853;width:40px;height:20px;border-radius:2px}.item.weapon.hunting-rifle{background-color:#a83;width:40px;height:20px;border-radius:2px}.item.ammo{background-color:#fa3;width:20px;height:20px}.item.manuscript{background-color:#fff;border:1px solid #000;border-radius:0;width:25px;height:30px}.item.powerup{background-color:#0ff}.item.powerup.speed{background-color:#0ff;animation:item-pulse-fast .7s infinite}.item.powerup.shield{background-color:#55f;animation:item-pulse 1s infinite}.bullet{position:absolute;width:10px;height:4px;background-color:#ff0;z-index:5}.bullet.player{background-color:#ff0}.bullet.player.special{background-color:#f0f;width:14px;height:6px;box-shadow:0 0 5px #f0f}.bullet.hemingway{background-color:#0ff}.bullet.hemingway-special{background-color:#f5f;width:14px;height:6px;box-shadow:0 0 5px #f5f}.bullet.enemy-{background-color:#f50}.bullet.sniper{background-color:red;width:12px;height:3px}.bullet.tank{background-color:red;width:16px;height:8px;border-radius:4px}.bullet.boss{background-color:#f33;width:14px;height:7px}.bullet.boss-special{background-color:red;width:20px;height:10px;border-radius:5px;box-shadow:0 0 8px red}@keyframes player-idle{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes player-jump{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes player-shoot{0%{transform:translate(0)}25%{transform:translate(-2px)}50%{transform:translate(0)}75%{transform:translate(-1px)}to{transform:translate(0)}}@keyframes hemingway-idle{0%,to{transform:translateY(0)}50%{transform:translateY(1px)}}@keyframes hemingway-shoot{0%{transform:translate(0)}50%{transform:translate(-3px)}to{transform:translate(0)}}@keyframes item-pulse{0%,to{transform:scale(1);box-shadow:0 0 5px #ffff00b3}50%{transform:scale(1.1);box-shadow:0 0 10px #ffff00e6}}@keyframes item-pulse-fast{0%,to{transform:scale(1);box-shadow:0 0 5px #00ffffb3}50%{transform:scale(1.2);box-shadow:0 0 15px #00ffffe6}}@keyframes powerup-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes shield-pulse{0%,to{opacity:.5;box-shadow:0 0 5px #55f}50%{opacity:.8;box-shadow:0 0 10px #55f}}@keyframes weapon-glow{0%,to{opacity:.7}50%{opacity:1}}@keyframes speed-trail{0%{width:100%;opacity:.7}to{width:20%;opacity:0}}@keyframes water-ripple{0%,to{opacity:.7}50%{opacity:.9}}@keyframes fade-in{0%{opacity:0;transform:translateY(-20px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}@keyframes level-up-bounce{0%{transform:translateY(0) translate(-50%) scale(.8)}50%{transform:translateY(-15px) translate(-50%) scale(1.1)}75%{transform:translateY(-5px) translate(-50%) scale(1.05)}to{transform:translateY(0) translate(-50%) scale(1)}}.intro-overlay,.game-over-overlay,.victory-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.intro-content,.game-over-content,.victory-content{background-color:#222;border:2px solid #555;padding:20px;text-align:center;max-width:80%}.intro-content h2,.game-over-content h2,.victory-content h2{color:#0ff;margin-bottom:15px}.intro-content p,.game-over-content p,.victory-content p{margin-bottom:10px;font-size:14px}.victory-content p:nth-child(3),.victory-content p:nth-child(4){color:#ff9;text-shadow:0 0 3px #660;font-weight:700}.intro-content button,.game-over-content button,.victory-content button{margin-top:15px;padding:8px 16px;background-color:#357;color:#fff;border:none;cursor:pointer;font-family:inherit;transition:background-color .3s}.intro-content button:hover,.game-over-content button:hover,.victory-content button:hover{background-color:#46a}.powerups{display:flex;margin-left:10px}.powerup-icon{width:20px;height:20px;margin-right:5px;text-align:center;font-size:12px;display:flex;align-items:center;justify-content:center;border-radius:50%;animation:powerup-pulse 1s infinite}.powerup-icon.rapid-fire{background-color:#ff32324d;border:1px solid #f55}.powerup-icon.shield{background-color:#6464ff4d;border:1px solid #55f}.powerup-icon.speed{background-color:#64ff644d;border:1px solid #5f5}.shield-effect{position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border-radius:50%;border:2px solid #55f;animation:shield-pulse 1.5s infinite;z-index:-1}.weapon-effect{position:absolute;top:15px;left:35px;width:15px;height:10px;background-color:#f55;animation:weapon-glow .5s infinite}.speed-effect{position:absolute;bottom:-5px;left:0;right:0;height:5px;background-color:#5f5;animation:speed-trail .3s infinite}@media (max-width: 768px){.health-bar{margin-right:10px;max-width:150px}.health-label{font-size:10px}.score-display,.level-display,.player-level{font-size:12px;margin-left:10px}.xp-bar{width:80px}.game-over-content h2,.victory-content h2,.intro-content h2{font-size:20px}.game-over-content p,.victory-content p,.intro-content p{font-size:14px}.game-over-content button,.victory-content button,.intro-content button{font-size:14px;padding:8px 16px}}.artifact-card{background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1);margin-bottom:20px;overflow:hidden;transition:all .3s ease;color:#fff}.artifact-card.expanded{box-shadow:0 5px 15px #0000004d;border-color:var(--gold)}.artifact-header{padding:15px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.artifact-title{margin:0;color:var(--gold);font-size:1.2rem}.artifact-meta{display:flex;gap:15px;font-size:.8rem;color:#aaa}.artifact-date,.artifact-area{display:flex;align-items:center}.artifact-area{text-transform:capitalize;background:#0000004d;padding:3px 8px;border-radius:4px}.artifact-preview{padding:15px;cursor:pointer}.artifact-preview-description{margin:0 0 10px;color:#ddd;font-size:.9rem}.artifact-preview-stats{display:flex;gap:15px;font-size:.8rem;color:#aaa}.artifact-content{padding:20px;animation:fadeIn .3s ease}.artifact-description{margin-top:0;margin-bottom:15px;color:#ddd;font-size:1rem;line-height:1.5}.artifact-main-content{margin-bottom:20px;padding:15px;background:#0003;border-radius:6px;white-space:pre-wrap;line-height:1.6}.artifact-riddle{margin:20px 0;padding:15px;background:#0003;border-radius:6px;border-left:3px solid var(--gold)}.artifact-riddle h4{margin-top:0;color:var(--gold)}.artifact-creator{margin:15px 0;font-size:.9rem;color:#aaa}.artifact-stats{display:flex;gap:20px;margin:20px 0;padding:10px;background:#0003;border-radius:6px}.stat-item{display:flex;align-items:center;gap:5px}.stat-icon{font-size:1.2rem}.artifact-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.artifact-actions button{padding:8px 15px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.vote-button{background-color:#0000004d;color:#fff;border:1px solid var(--gold)}.vote-button:hover{background-color:#ffd70033}.vote-button.voted{background-color:var(--gold);color:var(--dark-blue)}.comment-toggle-button{background-color:#0000004d;color:#fff;border:1px solid #666}.comment-toggle-button:hover{background-color:#ffffff1a}.share-button{background-color:#0000004d;color:#fff;border:1px solid #4a6fa5}.share-button:hover{background-color:#4a6fa533}.edit-button{background-color:#0000004d;color:#fff;border:1px solid #4a9a4a}.edit-button:hover{background-color:#4a9a4a33}.delete-button{background-color:#0000004d;color:#fff;border:1px solid #a54a4a}.delete-button:hover{background-color:#a54a4a33}.artifact-attachment{margin:20px 0;padding:15px;background:#0003;border-radius:6px;display:flex;flex-direction:column;align-items:center}.image-attachment img{max-width:100%;max-height:400px;border-radius:4px}.audio-attachment{width:100%}.audio-attachment audio{width:100%;margin-bottom:10px}.video-attachment video{max-width:100%;max-height:400px;border-radius:4px}.document-attachment{padding:20px}.document-link{display:flex;align-items:center;gap:10px;color:#4a9a4a;text-decoration:none;padding:10px;background:#0000004d;border-radius:4px;transition:all .2s ease}.document-link:hover{background:#4a9a4a1a}.document-icon{font-size:1.5rem}.attachment-name{margin:10px 0 0;font-size:.9rem;color:#aaa}.artifact-comments{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.artifact-comments h4{margin-top:0;color:var(--gold)}.comment-form{display:flex;gap:10px;margin-bottom:20px}.comment-form input{flex:1;padding:10px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff}.comment-form input:focus{outline:none;border-color:var(--gold)}.submit-comment-button{background-color:var(--gold);color:var(--dark-blue);border:none;padding:8px 15px;border-radius:4px;cursor:pointer;transition:all .2s ease}.submit-comment-button:hover{background-color:gold}.comments-list{display:flex;flex-direction:column;gap:15px}.comment-item{padding:15px;background:#0003;border-radius:6px}.comment-header{display:flex;justify-content:space-between;margin-bottom:10px}.comment-author{font-weight:700;color:var(--gold)}.comment-date{font-size:.8rem;color:#aaa}.comment-text{margin:0;white-space:pre-wrap}.no-comments{color:#aaa;font-style:italic;text-align:center;padding:20px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.artifact-header{flex-direction:column;align-items:flex-start}.artifact-meta{margin-top:10px}.artifact-actions{justify-content:center}.comment-form{flex-direction:column}}.artifact-preview-actions{display:flex;justify-content:flex-end;margin-top:8px;gap:8px}.preview-action-btn{background:none;border:none;cursor:pointer;color:#ffffff80;font-size:1rem;padding:5px;border-radius:4px;transition:all .2s ease}.preview-action-btn:hover{background-color:#ffffff1a;color:#fff}.preview-action-btn.edit-btn:hover{color:var(--info)}.preview-action-btn.delete-btn:hover{color:var(--danger)}.artifacts-page{max-width:1200px;margin:0 auto;padding:20px}.artifacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,215,0,.2)}.artifacts-header h1{color:var(--gold);margin-bottom:0;font-size:2rem}.create-artifact-btn{padding:10px 16px!important;font-size:1rem!important;font-weight:600!important}.create-artifact-btn.primary-btn{background-color:var(--gold)!important;color:var(--dark-blue)!important;border:none!important;box-shadow:0 4px 8px #0003!important;transition:all .3s ease!important}.create-artifact-btn.primary-btn:hover{transform:translateY(-2px)!important;box-shadow:0 6px 12px #0000004d!important;background-color:gold!important}.artifacts-description{margin-bottom:25px;padding:15px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.artifacts-description p{color:#fffc;font-size:1rem;line-height:1.6;margin:0}.artifacts-filters{display:flex;justify-content:space-between;margin-bottom:20px;padding:15px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.artifacts-filters select{padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:.9rem;min-width:150px}.artifacts-filters select:focus{outline:none;border-color:var(--gold)}.artifacts-controls{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#0000004d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.filter-controls,.sort-controls{display:flex;align-items:center;gap:10px}.filter-controls label,.sort-controls label{color:var(--gold);font-weight:500}.filter-controls select,.sort-controls select{padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:.9rem}.filter-controls select:focus,.sort-controls select:focus{outline:none;border-color:var(--gold)}.create-button{background-color:var(--gold);color:var(--dark-blue);padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:all .3s ease}.create-button:hover{background-color:gold;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.artifact-form-wrapper{margin-bottom:30px;position:relative}.cancel-button{background-color:#0000004d;color:#fff;border:1px solid #a54a4a;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:15px;transition:all .2s ease;display:block;margin-left:auto;margin-right:auto}.cancel-button:hover{background-color:#a54a4a33}.artifacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.loading-message{text-align:center;padding:40px;color:#aaa;font-size:1.2rem}.error-message{color:#ff6b6b;margin:20px 0;padding:15px;background:#ff6b6b1a;border-radius:4px;text-align:center}.no-artifacts-message{text-align:center;padding:40px;color:#aaa;font-size:1.2rem;background:#0003;border-radius:8px;margin:20px 0}.no-artifacts-message p{margin-bottom:20px}@media (max-width: 768px){.artifacts-controls{flex-direction:column;align-items:stretch;gap:15px}.filter-controls,.sort-controls{flex-direction:column;align-items:flex-start}.filter-controls select,.sort-controls select,.create-button{width:100%}.artifacts-grid{grid-template-columns:1fr}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px;background:#ffffff0d;border-radius:8px;text-align:center}.loading-spinner{width:40px;height:40px;margin-bottom:1rem;border:4px solid rgba(255,255,255,.2);border-radius:50%;border-top:4px solid #3498db;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{padding:2rem;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:8px;text-align:center;margin:1rem 0;color:#e74c3c}.error-container h3{color:#e74c3c;margin-bottom:1rem}.error-container button{margin-top:1rem;background-color:#e74c3c}.error-container button:hover{background-color:#c0392b}.no-artifacts{padding:3rem;background:#ffffff0d;border-radius:8px;text-align:center;margin:1rem 0}.no-artifacts h3{margin-bottom:1rem;color:#3498db}.no-artifacts p{margin-bottom:1.5rem;color:#ffffffb3}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000;color:#0ff;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--game-font);font-size:16px;letter-spacing:2px;animation:fadeIn 1.5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.App{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background:#121212;color:#e0e0e0;font-family:var(--primary-font);text-align:center}h1,h2{color:#90caf9;margin-bottom:16px;text-shadow:1px 1px 8px rgba(144,202,249,.3)}button{background:#37474f;border:none;color:#fff;padding:10px 20px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:8px;transition:background .3s ease}button:hover{background:#455a64}
