:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: #e74c3c;--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-toast-width: 320px;--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient( to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55 );--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error)}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;padding:4px;width:var(--toastify-toast-width);box-sizing:border-box;color:#fff}.Toastify__toast-container--top-left{top:1em;left:1em}.Toastify__toast-container--top-center{top:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:1em;right:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:0;margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:0;transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:0;transform:translate(0)}.Toastify__toast-container--rtl{right:0;left:initial}}.Toastify__toast{position:relative;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:4px;box-shadow:0 1px 10px #0000001a,0 2px 15px #0000000d;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);overflow:hidden;font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{margin:auto 0;-ms-flex:1 1 auto;flex:1 1 auto;padding:6px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.Toastify__toast-body>div:last-child{word-break:break-word;-ms-flex:1;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;margin-inline-end:10px;width:20px;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.7s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}@media only screen and (max-width : 480px){.Toastify__toast{margin-bottom:0;border-radius:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;-ms-flex-item-align:start;align-self:flex-start}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:5px;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{transform:perspective(400px) rotateX(-20deg);opacity:1}to{transform:perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(110%,0,0)}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(-110%,0,0)}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.navigation{width:250px;background:linear-gradient(180deg,#fff,#f8f9fa);height:100vh;position:fixed;left:0;top:0;padding:20px;box-shadow:5px 0 20px #0000001a;display:flex;flex-direction:column;overflow:hidden}.nav-brand{display:flex;align-items:center;gap:15px;margin-bottom:40px;padding:20px;border-bottom:2px solid rgba(0,0,0,.1)}.brand-icon{font-size:40px;color:#ff6b6b}.nav-brand h1{font-size:24px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.nav-menu{list-style:none;flex:1;overflow-y:auto;overflow-x:hidden;padding-right:10px;margin-bottom:10px}.nav-menu::-webkit-scrollbar{width:6px}.nav-menu::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.nav-menu::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:3px}.nav-menu::-webkit-scrollbar-thumb:hover{background:#667eea80}.nav-menu li{margin-bottom:10px}.nav-menu a{display:flex;align-items:center;gap:15px;padding:15px 20px;color:#495057;text-decoration:none;border-radius:10px;transition:all .3s}.nav-menu a:hover{background:#667eea1a;color:#2c3e50}.nav-menu li.active a{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.nav-menu svg{font-size:24px}.management-dropdown{position:relative}.management-toggle{display:flex;align-items:center;gap:15px;padding:15px 20px;color:#495057;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .3s;width:100%;text-align:left;font-size:16px}.management-toggle:hover,.management-dropdown.open .management-toggle{background:#667eea1a;color:#2c3e50}.dropdown-arrow{margin-left:auto;font-size:12px;transition:transform .3s}.management-submenu{list-style:none;margin-top:5px;padding-left:20px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.management-submenu li{margin-bottom:5px}.management-submenu a{padding:10px 15px;font-size:14px;border-left:2px solid rgba(255,107,107,.3);margin-left:10px}.management-submenu li.active a{background:linear-gradient(135deg,#667eea,#764ba2);border-left-color:#667eea}.nav-user{padding:15px 20px;border-top:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;gap:10px;margin-top:auto}.user-name{color:#d4af37;font-size:14px;font-weight:500}.nav-actions{display:flex;gap:10px;align-items:center;justify-content:center}.dark-mode-toggle{background:#667eea33;border:1px solid #667eea;color:#667eea;padding:8px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;font-size:1.2rem;transition:all .3s ease;flex:1;justify-content:center}.dark-mode-toggle:hover{background:#667eea4d;transform:scale(1.05)}.logout-button{background:#dc354533;border:1px solid #dc3545;color:#ff6b6b;padding:8px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;font-size:1.2rem;transition:all .3s ease;flex:1;justify-content:center}.logout-button:hover{background:#dc35454d;transform:scale(1.05)}.mobile-menu-toggle{display:none;position:fixed;top:15px;left:15px;z-index:1001;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:12px;color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:all .3s ease}.mobile-menu-toggle:hover{transform:scale(1.05);box-shadow:0 6px 16px #0006}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}@media (max-width: 768px){.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-overlay{display:block}.navigation{position:fixed;left:-100%;top:0;width:280px;height:100vh;transition:left .3s ease;z-index:1000}.navigation.mobile-open{left:0}.app{margin-left:0!important}.nav-brand{padding:15px;margin-bottom:20px}.nav-brand h1{font-size:20px}.brand-icon{font-size:28px}.nav-menu{padding-right:5px}.nav-menu a{padding:12px 15px;font-size:15px}.nav-user{padding:12px 15px}.user-name{font-size:13px}.nav-actions{gap:8px}.dark-mode-toggle,.logout-button{padding:8px 10px;font-size:1.1rem}}@media (max-width: 480px){.navigation{width:85vw;max-width:300px}.mobile-menu-toggle{top:12px;left:12px;padding:10px;font-size:22px}}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.auth-card{background:#0009;border:2px solid #d4af37;border-radius:12px;padding:3rem;max-width:500px;width:100%;box-shadow:0 8px 32px #d4af3733}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{font-size:4rem;color:#d4af37;margin-bottom:1rem}.auth-header h1{color:#d4af37;margin:0 0 .5rem;font-size:2rem}.auth-header p{color:#888;margin:0;font-size:1rem}.auth-error{background:#dc354533;border:2px solid #dc3545;color:#ff6b6b;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{color:#d4af37;font-weight:700;font-size:.9rem}.form-group input{padding:.75rem;background:#ffffff1a;border:2px solid rgba(212,175,55,.3);border-radius:6px;color:#fff;font-size:1rem;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#d4af37;box-shadow:0 0 10px #d4af374d;background:#ffffff26}.form-group input::placeholder{color:#fff6}.field-error{color:#ff6b6b;font-size:.85rem;margin-top:-.25rem}.auth-button{padding:1rem;background:linear-gradient(135deg,gold,#d4af37);border:2px solid #d4af37;border-radius:6px;color:#000;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;margin-top:.5rem}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#ffed4e,gold);transform:translateY(-2px);box-shadow:0 4px 15px #ffd70066}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid rgba(212,175,55,.3)}.auth-footer p{color:#888;margin:0}.auth-footer a{color:#d4af37;text-decoration:none;font-weight:700;transition:color .3s ease}.auth-footer a:hover{color:gold;text-decoration:underline}@media (max-width: 600px){.auth-card{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.auth-header h1{font-size:1.5rem}.auth-icon{font-size:3rem}}.home-page{max-width:1200px;margin:0 auto}.hero{text-align:center;margin-bottom:60px}.hero-title{font-size:72px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f,#ffd93d);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:20px}.hero-subtitle{font-size:24px;color:#ccc}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin-bottom:60px}.feature-card{background:linear-gradient(135deg,#1e3a5f,#16213e);padding:40px;border-radius:20px;text-align:center;text-decoration:none;color:#fff;border:2px solid transparent;transition:all .3s}.feature-card:hover{transform:translateY(-10px);border-color:#ff6b6b;box-shadow:0 20px 40px #ff6b6b4d}.feature-card.highlight{border-color:gold;box-shadow:0 10px 30px #ffd7004d}.feature-icon{font-size:60px;margin-bottom:20px}.feature-card h3{font-size:24px;margin-bottom:10px}.scaling-info{background:#ff6b6b1a;padding:40px;border-radius:20px;text-align:center}.difficulty-tiers{display:flex;justify-content:center;gap:20px;margin-top:20px;flex-wrap:wrap}.tier{padding:15px 30px;background:#ffffff1a;border-radius:10px;font-weight:700}.monsters-page{max-width:1200px;margin:0 auto}.monsters-page h1{font-size:48px;margin-bottom:30px;text-align:center}.controls{display:flex;gap:20px;align-items:flex-end;margin-bottom:40px;background:#ffffff0d;padding:30px;border-radius:15px}.control{flex:1}.control label{display:block;margin-bottom:10px;font-weight:700}.control input[type=range]{width:100%}.controls button{padding:15px 40px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:10px;font-size:18px;font-weight:700}.monster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.monster-card{background:linear-gradient(135deg,#1e3a5f,#16213e);padding:30px;border-radius:15px;border:2px solid rgba(255,107,107,.3)}.monster-card h3{font-size:24px;margin-bottom:15px;color:#ff6b6b}.monster-card p{margin:10px 0;color:#ccc}.loot-box-container{min-height:600px;display:flex;align-items:center;justify-content:center;position:relative;perspective:1000px;overflow:hidden}.chest-container{text-align:center;position:relative}.treasure-chest{width:200px;height:150px;margin:0 auto 40px;position:relative;transform-style:preserve-3d}.chest-body{position:relative;width:100%;height:100%}.chest-base{position:absolute;bottom:0;width:200px;height:100px;background:linear-gradient(135deg,#8b4513,#654321,#8b4513);border-radius:10px;border:4px solid #654321;box-shadow:0 10px 30px #00000080,inset 0 -5px 15px #0000004d}.chest-lid{position:absolute;top:0;width:200px;height:60px;background:linear-gradient(135deg,sienna,#8b4513,sienna);border-radius:10px 10px 0 0;border:4px solid #654321;box-shadow:0 5px 15px #0000004d,inset 0 -3px 10px #0003;transform-origin:bottom;transition:transform .5s ease}.treasure-chest.opening .chest-lid{transform:rotateX(-90deg)}.chest-lock{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:40px;background:linear-gradient(135deg,gold,orange);border-radius:5px;border:2px solid #B8860B;box-shadow:0 0 10px #ffd70080;z-index:10}.chest-lock:before{content:"🔒";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px}.particle{position:absolute;width:8px;height:8px;background:radial-gradient(circle,gold,orange);border-radius:50%;top:50%;left:50%;box-shadow:0 0 10px gold}.roll-button{padding:20px 50px;font-size:24px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px #ff6b6b66;transition:all .3s}.roll-button:hover{box-shadow:0 15px 40px #ff6b6b99;transform:translateY(-2px)}.opening-text{font-size:32px;font-weight:700;color:gold;text-shadow:0 0 20px #FFD700,0 0 40px #FFA500;margin-top:20px}.loot-result{position:relative;width:100%;max-width:500px;padding:20px}.reveal-rays{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,215,0,.3) 45deg,transparent 90deg,rgba(255,215,0,.3) 135deg,transparent 180deg,rgba(255,215,0,.3) 225deg,transparent 270deg,rgba(255,215,0,.3) 315deg,transparent 360deg);animation:rotate 4s linear infinite;pointer-events:none}@keyframes rotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.loot-card{background:linear-gradient(135deg,#2c2c2c,#1a1a1a);border-radius:20px;padding:40px;border:3px solid;position:relative;overflow:hidden;z-index:100}.close-loot-button{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:200;transition:all .3s}.close-loot-button:hover{background:#fff3;border-color:#ffffff80;transform:rotate(90deg)}.loot-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;opacity:.1;filter:blur(40px);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.1}50%{opacity:.3}}.loot-rarity{font-size:24px;font-weight:700;margin-bottom:20px;text-shadow:0 0 10px currentColor}.loot-icon{font-size:80px;margin:20px 0;filter:drop-shadow(0 0 20px rgba(255,215,0,.5))}.loot-name{font-size:32px;color:#fff;margin:20px 0;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.loot-type{font-size:18px;color:#444;margin-bottom:20px}.loot-stats{display:flex;gap:20px;justify-content:center;margin:20px 0;flex-wrap:wrap}.stat{background:#ffffff1a;padding:10px 20px;border-radius:10px;display:flex;gap:10px}.stat-label{color:#444}.stat-value{color:#fff;font-weight:700}.attunement{background:#ffd70033;padding:10px 20px;border-radius:10px;color:gold;font-weight:700}.loot-description{color:#ccc;line-height:1.6;margin:20px 0;font-style:italic}.loot-actions{display:flex;gap:15px;margin-top:30px;flex-wrap:wrap;justify-content:center;position:relative;z-index:200}.roll-again-button{padding:15px 40px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:30px;cursor:pointer;box-shadow:0 5px 15px #4caf5066;transition:all .3s}.roll-again-button:hover{box-shadow:0 8px 20px #4caf5099;transform:translateY(-2px)}.assign-character-button{padding:15px 40px;font-size:18px;font-weight:700;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;border:none;border-radius:30px;cursor:pointer;box-shadow:0 5px 15px #ff6b6b66;transition:all .3s}.assign-character-button:hover{box-shadow:0 8px 20px #ff6b6b99;transform:translateY(-2px)}.confetti{position:absolute;width:10px;height:10px;pointer-events:none;z-index:50}.loot-page{max-width:800px;margin:0 auto}.page-header{text-align:center;margin-bottom:40px}.page-header h1{font-size:48px;margin-bottom:10px}.loot-controls{display:flex;gap:40px;justify-content:center;margin-bottom:40px}.level-control{flex:1;max-width:300px}.level-control label{display:block;margin-bottom:10px;font-size:18px}.level-value{color:#ff6b6b;font-weight:700}.level-control input[type=range]{width:100%;height:8px;border-radius:5px;background:#ffffff1a;outline:none}.character-select-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:linear-gradient(135deg,#1e3a5f,#16213e);padding:40px;border-radius:20px;max-width:500px;width:90%}.modal-content h3{margin-bottom:20px}.modal-content select{width:100%;padding:15px;font-size:16px;border-radius:10px;margin-bottom:20px;background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2)}.modal-buttons{display:flex;gap:15px}.assign-button,.skip-button{flex:1;padding:15px;font-size:16px;font-weight:700;border:none;border-radius:10px}.assign-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.skip-button{background:#ffffff1a;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.campaign-detail-modal{background:#1a1a2e;border-radius:12px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #00000080}.modal-close{position:absolute;top:15px;right:15px;background:#ffffff1a;border:none;color:#fff;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:10}.modal-close:hover{background:#fff3;transform:rotate(90deg)}.modal-content{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 768px){.modal-content{grid-template-columns:350px 1fr}}.modal-image-container{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:30px;min-height:400px}.modal-cover-image{width:100%;height:auto;object-fit:cover;border-radius:8px;box-shadow:0 8px 30px #0006;max-height:500px}.modal-details{padding:30px;display:flex;flex-direction:column;gap:24px}.modal-header{display:flex;flex-direction:column;gap:12px}.modal-header h2{margin:0;color:#e0e0e0;font-size:28px;font-weight:700;line-height:1.2}.campaign-badges{display:flex;flex-wrap:wrap;gap:8px}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge.active{background-color:#10b981;color:#fff}.badge.solo{background-color:#3b82f6;color:#fff}.badge.type{background-color:#8b5cf6;color:#fff}.modal-metadata{display:flex;flex-direction:column;gap:8px;color:#a0a0a0;font-size:14px}.modal-metadata p{margin:0}.modal-metadata strong{color:#e0e0e0;margin-right:8px}.modal-description h3,.modal-stats h3{margin:0 0 12px;color:#e0e0e0;font-size:18px;font-weight:600}.modal-description p{margin:0;color:silver;line-height:1.6;font-size:15px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat{background:#ffffff0d;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#a0a0a0;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:700;color:#667eea}.modal-actions{display:flex;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.modal-actions button{flex:1;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}@media (max-width: 767px){.campaign-detail-modal{max-height:95vh}.modal-image-container{min-height:250px;padding:20px}.modal-details{padding:20px}.modal-header h2{font-size:24px}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.campaign-detail-modal::-webkit-scrollbar{width:8px}.campaign-detail-modal::-webkit-scrollbar-track{background:#1a1a2e}.campaign-detail-modal::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.campaign-detail-modal::-webkit-scrollbar-thumb:hover{background:#764ba2}.campaigns-page{padding:2rem;max-width:1400px;margin:0 auto}.campaigns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.campaigns-header h1{margin:0;color:#2c3e50;font-size:2.5rem}.btn-manage{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-manage:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.no-campaigns{text-align:center;padding:4rem 2rem;background:#f8f9fa;border-radius:12px;margin-top:2rem}.no-campaigns p{font-size:1.2rem;color:#495057;margin-bottom:1.5rem}.btn-create{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;display:inline-block;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tab{background:none;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#495057;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .3s ease}.campaigns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;margin-top:2rem}.campaign-card-wrapper{position:relative;display:flex;flex-direction:column}.campaign-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;border:2px solid transparent;flex:1;overflow:hidden;cursor:pointer}.campaign-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#667eea}.campaign-card-image{width:100%;height:200px;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center}.campaign-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.campaign-card:hover .campaign-card-image img{transform:scale(1.05)}.campaign-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.campaign-card-header{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.campaign-card h3{margin:0;color:#2c3e50;font-size:1.5rem}.campaign-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.active{background:#d4edda;color:#155724}.badge.solo{background:#fff3cd;color:#856404}.badge.play-mode{background:#d1ecf1;color:#0c5460}.btn-add-campaign{margin-top:1rem;width:100%;padding:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}.btn-add-campaign:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-add-campaign:disabled{opacity:.6;cursor:not-allowed}.campaign-dm{color:#495057;font-size:.9rem;margin:.5rem 0}.campaign-description{color:#3d4246;line-height:1.6;flex:1;margin:1rem 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.campaign-footer{margin-top:auto;padding-top:1rem;border-top:1px solid #eee}.view-details{color:#667eea;font-weight:600;transition:all .3s ease}.campaign-card:hover .view-details{color:#764ba2;transform:translate(4px);display:inline-block}@media (max-width: 768px){.campaigns-page{padding:1rem}.campaigns-header{flex-direction:column;gap:1rem;align-items:stretch}.campaigns-header h1{font-size:2rem}.btn-manage{text-align:center}.campaigns-grid{grid-template-columns:1fr;gap:1rem}}.management-page{padding:20px;max-width:1400px;margin:0 auto}.management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.management-header h1{color:#fff;margin:0}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 15px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s}.btn-edit{background:transparent;border:none;font-size:18px;cursor:pointer;padding:5px 10px;transition:transform .2s}.btn-edit:hover{transform:scale(1.2)}.btn-delete{background:transparent;border:none;font-size:18px;cursor:pointer;padding:5px 10px;transition:transform .2s}.btn-delete:hover{transform:scale(1.2)}.form-container{background:linear-gradient(135deg,#1e1e2e,#2d2d44);border-radius:12px;padding:30px;margin-bottom:30px;box-shadow:0 8px 32px #0000004d}.form-container h2{color:#fff;margin-top:0;margin-bottom:20px}.management-form{width:100%}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{color:#b8b8d1;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;color:#fff;font-size:14px;transition:all .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#ffffff14}.form-group textarea{resize:vertical;font-family:inherit}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:20px}.table-container{background:linear-gradient(135deg,#1e1e2e,#2d2d44);border-radius:12px;padding:20px;overflow-x:auto;box-shadow:0 8px 32px #0000004d}.data-table{width:100%;border-collapse:collapse;min-width:800px}.data-table thead{background:#667eea33}.data-table th{color:#667eea;font-weight:600;text-align:left;padding:15px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.data-table td{color:#d8d8e6;padding:15px;border-bottom:1px solid rgba(255,255,255,.05)}.data-table tbody tr{transition:background .2s}.data-table tbody tr:hover{background:#667eea1a}.data-table td.actions{display:flex;gap:5px;align-items:center}.data-table td.no-data{text-align:center;padding:40px;color:#888;font-style:italic}.loading{text-align:center;padding:60px 20px;color:#667eea;font-size:20px;font-weight:600}@media (max-width: 768px){.management-header{flex-direction:column;gap:15px;align-items:flex-start}.form-grid{grid-template-columns:1fr}.table-container{padding:10px}.data-table th,.data-table td{padding:10px;font-size:12px}}.quest-tracker-container{padding:2rem;max-width:1400px;margin:0 auto}.quest-tracker-container h1{color:#d4af37;text-align:center;margin-bottom:2rem;font-size:2.5rem}.character-selector{background:#0000004d;padding:1.5rem;border-radius:8px;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}.character-selector label{color:#d4af37;font-weight:700;font-size:1.1rem}.character-selector select{flex:1;max-width:400px;padding:.75rem;background:#ffffff1a;border:2px solid #d4af37;border-radius:4px;color:#fff;font-size:1rem;cursor:pointer}.character-selector select:focus{outline:none;border-color:gold;box-shadow:0 0 10px #d4af374d}.error-message{background:#dc354533;border:2px solid #dc3545;color:#ff6b6b;padding:1rem;border-radius:8px;margin-bottom:1rem}.success-message{background:#28a74533;border:2px solid #28a745;color:#6bff6b;padding:1rem;border-radius:8px;margin-bottom:1rem;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.loading{text-align:center;color:#d4af37;font-size:1.2rem;padding:2rem}.no-character-selected,.no-quests{text-align:center;color:#888;padding:3rem;font-size:1.1rem}.quests-sections{display:flex;flex-direction:column;gap:2rem}.quest-section h2{color:#d4af37;margin-bottom:1rem;font-size:1.8rem;border-bottom:2px solid rgba(212,175,55,.3);padding-bottom:.5rem}.quests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.quest-card{background:#0006;border:2px solid;border-radius:12px;padding:1.5rem;transition:all .3s ease}.quest-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000080}.active-quest{border-color:gold;background:linear-gradient(135deg,#ffd7001a,#d4af370d)}.available-quest{border-color:#6c757d}.completed-quest{border-color:#28a745;background:linear-gradient(135deg,#28a7451a,#28a7450d)}.turned-in-quest{border-color:#6c757d;opacity:.7}.quest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.quest-header h3{color:#fff;margin:0;font-size:1.3rem;flex:1}.quest-badges{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end}.quest-type-badge,.status-badge{padding:.3rem .8rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.quest-type-main{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff}.quest-type-side{background:linear-gradient(135deg,#17a2b8,#138496);color:#fff}.quest-type-daily{background:linear-gradient(135deg,#ffc107,#e0a800);color:#000}.quest-type-repeatable{background:linear-gradient(135deg,#6f42c1,#5a32a3);color:#fff}.quest-type-hidden{background:linear-gradient(135deg,#6c757d,#545b62);color:#fff}.status-available{background:#6c757d;color:#fff}.status-active{background:gold;color:#000}.status-completed{background:#28a745;color:#fff}.status-turned-in{background:#6c757d;color:#fff}.status-failed{background:#dc3545;color:#fff}.quest-description{color:#ccc;margin-bottom:1rem;line-height:1.6;font-size:.95rem}.quest-requirements{color:#d4af37;font-size:.9rem;margin-bottom:1rem;font-weight:700}.quest-objectives{background:#0000004d;border-radius:8px;padding:1rem;margin:1rem 0}.quest-objectives h4{color:#d4af37;margin:0 0 .75rem;font-size:1rem}.objective{display:flex;align-items:center;gap:.75rem;padding:.5rem;margin-bottom:.5rem;background:#ffffff0d;border-radius:4px;transition:all .2s ease}.objective:hover{background:#ffffff1a}.objective.completed{opacity:.7;text-decoration:line-through}.objective-checkbox{font-size:1.2rem;color:#d4af37;min-width:20px}.objective.completed .objective-checkbox{color:#28a745}.objective-text{flex:1;color:#fff;font-size:.9rem}.objective-progress{color:#d4af37;font-weight:700;font-size:.85rem}.quest-date{color:#888;font-size:.85rem;margin-top:.5rem}.btn-start-quest,.btn-turn-in{width:100%;padding:.75rem;margin-top:1rem;border:2px solid;border-radius:6px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.btn-start-quest{background:linear-gradient(135deg,gold,#d4af37);border-color:#d4af37;color:#000}.btn-start-quest:hover{background:linear-gradient(135deg,#ffed4e,gold);transform:scale(1.02);box-shadow:0 4px 15px #ffd70066}.btn-turn-in{background:linear-gradient(135deg,#28a745,#218838);border-color:#28a745;color:#fff}.btn-turn-in:hover{background:linear-gradient(135deg,#34ce57,#28a745);transform:scale(1.02);box-shadow:0 4px 15px #28a74566}@media (max-width: 768px){.quests-grid{grid-template-columns:1fr}.quest-tracker-container{padding:1rem}.character-selector{flex-direction:column;align-items:stretch}.character-selector select{max-width:100%}}.invite-landing{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem}.invite-card{background:#0009;border:2px solid #d4af37;border-radius:12px;padding:3rem;max-width:600px;width:100%;box-shadow:0 8px 32px #d4af3733;text-align:center}.invite-card.error{border-color:#dc3545}.invite-icon{font-size:5rem;color:#d4af37;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.invite-card h1{color:#d4af37;margin:0 0 1.5rem;font-size:2.5rem}.campaign-info{background:#ffffff0d;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.campaign-info h2{color:#fff;margin:0 0 .5rem;font-size:1.8rem}.dm-info{color:#888;margin:0;font-size:1rem}.dm-info strong{color:#d4af37}.dm-message{background:#d4af371a;border-left:4px solid #d4af37;padding:1.5rem;margin:1.5rem 0;text-align:left}.dm-message h3{color:#d4af37;margin:0 0 .75rem;font-size:1.1rem}.dm-message p{color:#ccc;margin:0;line-height:1.6;font-style:italic}.invite-type-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:20px;font-weight:700;margin:1rem 0;font-size:1.1rem}.expires-info{color:#888;font-size:.9rem;margin:1rem 0}.invite-actions{margin-top:2rem}.auth-prompt{color:#ccc;margin-bottom:1.5rem;font-size:1.1rem}.auth-buttons{display:flex;gap:1rem;justify-content:center}.btn-primary,.btn-secondary,.btn-accept{padding:1rem 2rem;border-radius:6px;font-weight:700;font-size:1.1rem;text-decoration:none;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,gold,#d4af37);color:#000}.btn-primary:hover{background:linear-gradient(135deg,#ffed4e,gold);transform:translateY(-2px);box-shadow:0 4px 15px #ffd70066}.btn-secondary{background:#ffffff1a;color:#fff;border:2px solid #d4af37}.btn-secondary:hover{background:#fff3;transform:translateY(-2px)}.welcome-user{color:#d4af37;font-size:1.2rem;margin-bottom:1.5rem}.welcome-user strong{color:#fff}.btn-accept{background:linear-gradient(135deg,#28a745,#218838);color:#fff;width:100%;max-width:400px;display:block;margin:0 auto}.btn-accept:hover:not(:disabled){background:linear-gradient(135deg,#34ce57,#28a745);transform:translateY(-2px);box-shadow:0 4px 15px #28a74566}.btn-accept:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#dc354533;border:2px solid #dc3545;color:#ff6b6b;padding:1rem;border-radius:8px;margin-top:1rem}@media (max-width: 600px){.invite-card{padding:2rem 1.5rem}.invite-card h1{font-size:2rem}.campaign-info h2{font-size:1.4rem}.auth-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.invite-icon{font-size:4rem}}.character-creation-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3c72,#2a5298);padding:2rem}.creation-card{background:#fffffff2;border-radius:20px;padding:3rem;max-width:800px;width:100%;box-shadow:0 20px 60px #0000004d;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.creation-icon{font-size:4rem;color:#d4af37;display:block;margin:0 auto 1rem;animation:pulse 2s ease-in-out infinite}.creation-card h1{text-align:center;color:#2c3e50;margin-bottom:.5rem;font-size:2.5rem}.campaign-title{text-align:center;color:#d4af37;margin-bottom:2rem;font-size:1.5rem;font-weight:500}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #c33}.character-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#2c3e50;font-size:1rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d4af37;box-shadow:0 0 0 3px #d4af371a}.form-group input::placeholder,.form-group textarea::placeholder{color:#6c757d}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.btn-create{background:linear-gradient(135deg,#d4af37,#aa8b2e);color:#fff;padding:1rem 2rem;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem;box-shadow:0 4px 15px #d4af374d}.btn-create:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #d4af3766}.btn-create:active:not(:disabled){transform:translateY(0)}.btn-create:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.creation-card{padding:2rem}.creation-card h1{font-size:2rem}.campaign-title{font-size:1.2rem}.form-row{grid-template-columns:1fr}}.campaign-detail{padding:2rem;max-width:1400px;margin:0 auto}.campaign-detail-loading,.campaign-detail-error{text-align:center;padding:4rem 2rem}.btn-back{background:#6c757d;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;display:inline-block;margin-top:1rem;transition:all .3s ease}.campaign-header{margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.btn-clone-campaign{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}.btn-clone-campaign:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-clone-campaign:disabled{opacity:.6;cursor:not-allowed}.btn-edit-campaign{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}.btn-edit-campaign:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-delete-campaign{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #dc35454d}.btn-delete-campaign:hover{transform:translateY(-2px);box-shadow:0 4px 12px #dc354566}.btn-play-campaign{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;text-decoration:none;display:inline-block;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2ecc714d}.btn-play-campaign:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166;color:#fff}.campaign-header h1{margin:1rem 0 .5rem;color:#2c3e50;font-size:2.5rem}.campaign-dm{color:#495057;font-size:1rem;margin:.5rem 0}.campaign-description{color:#3d4246;font-size:1.1rem;line-height:1.6;margin-top:1rem}.campaign-tabs{display:flex;gap:.5rem;border-bottom:2px solid #eee;margin-bottom:2rem;flex-wrap:wrap}.tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:600;color:#495057;transition:all .3s ease;position:relative;top:2px}.campaign-content{min-height:400px}.overview-tab{display:flex;flex-direction:column;gap:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 4px 15px #667eea4d}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.9rem;opacity:.9}.quick-info{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.quick-info h3{margin-top:0;color:#2c3e50;margin-bottom:1.5rem}.info-section{margin-bottom:2rem}.info-section:last-child{margin-bottom:0}.info-section h4{color:#667eea;margin-bottom:1rem}.info-section ul{list-style:none;padding:0;margin:0}.info-section li{padding:.5rem 0;border-bottom:1px solid #f0f0f0}.info-section li:last-child{border-bottom:none}.quest-giver,.npc-occupation{color:#495057;font-size:.9rem}.no-content{color:#6c757d;font-style:italic;padding:1rem 0}.quests-tab{display:flex;flex-direction:column;gap:2rem}.quest-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.quest-list{display:grid;gap:1.5rem}.quest-card-link{text-decoration:none;color:inherit;display:block}.quest-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;border-left:4px solid #667eea;transition:all .3s ease}.quest-card.side{border-left-color:#f39c12}.quest-card-link:hover .quest-card{transform:translate(4px);box-shadow:0 6px 20px #00000026}.quest-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.quest-header h4{margin:0;color:#2c3e50;font-size:1.25rem;flex:1}.quest-description{color:#3d4246;line-height:1.6;margin-bottom:1rem}.quest-meta{color:#495057;font-size:.9rem;margin:.5rem 0}.quest-meta strong{color:#2c3e50}.npcs-tab{display:flex;flex-direction:column;gap:2rem}.npc-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.npc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.npc-card-link{text-decoration:none;color:inherit;display:block}.npc-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;border:2px solid transparent}.npc-card.quest-giver{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.npc-card-link:hover .npc-card{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.npc-card h4{margin:0 0 .5rem;color:#2c3e50;font-size:1.25rem}.npc-title{color:#667eea;font-style:italic;margin:.25rem 0;font-size:.95rem}.npc-occupation{color:#495057;margin:.25rem 0;font-weight:600;font-size:.9rem}.npc-location{color:#f39c12;margin:.5rem 0;font-size:.9rem}.npc-description{color:#3d4246;line-height:1.6;margin-top:1rem;font-size:.95rem}.maps-tab{display:flex;flex-direction:column;gap:2rem}.map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.map-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.map-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.map-card h4{margin:0 0 .5rem;color:#2c3e50;font-size:1.25rem}.map-type{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.75rem}.map-description{color:#3d4246;line-height:1.6;margin:.75rem 0}.map-meta{color:#495057;font-size:.9rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #eee}.map-meta strong{color:#2c3e50}@media (max-width: 768px){.campaign-detail{padding:1rem}.campaign-header h1{font-size:2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.npc-grid,.map-grid{grid-template-columns:1fr}.campaign-tabs{overflow-x:auto}.tab{white-space:nowrap}}.map-card{text-decoration:none;color:inherit;position:relative}.map-badge{margin-top:.75rem}.badge-generated,.badge-image{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.badge-generated{background:#e8f5e9;color:#2e7d32}.badge-image{background:#fff3e0;color:#e65100}.view-map-link{margin-top:1rem;padding-top:1rem;border-top:1px solid #eee;color:#667eea;font-weight:600;transition:all .3s ease}.map-card:hover .view-map-link{color:#764ba2;transform:translate(4px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid #e0e0e0}.modal-header h2{margin:0;color:#2c3e50;font-size:1.75rem}.modal-close{background:none;border:none;font-size:2rem;color:#495057;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.modal-close:hover{background:#0000000d;color:#2c3e50}.modal-body{flex:1;overflow-y:auto;padding:2rem}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#667eea;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#764ba2}.modal-footer{padding:1.5rem 2rem;border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end;gap:1rem}.loading-state,.error-state,.empty-state{text-align:center;padding:3rem 1rem;color:#495057}.error-state{color:#dc3545}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.character-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.character-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea33;border-color:#667eea}.character-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.character-header h3{margin:0;color:#2c3e50;font-size:1.3rem}.character-level{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600}.character-details{display:flex;flex-direction:column;gap:.5rem}.character-stat{display:flex;justify-content:space-between;font-size:.95rem}.stat-label{color:#6c757d;font-weight:500}.stat-value{color:#2c3e50;font-weight:600}.character-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.stat-item{text-align:center}.stat-name{font-size:.75rem;color:#6c757d;font-weight:600;text-transform:uppercase;margin-bottom:.25rem}.stat-number{font-size:1.25rem;color:#2c3e50;font-weight:700}.btn-select{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.btn-select:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:#5a6268}@media (max-width: 768px){.modal-content{max-height:90vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.5rem}.modal-body{padding:1.5rem}.characters-grid{grid-template-columns:1fr;gap:1rem}.modal-footer{padding:1rem 1.5rem}}.play-campaign{padding:2rem;max-width:1200px;margin:0 auto}.play-header{margin-bottom:2rem;text-align:center}.play-header .back-link{color:#667eea;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;transition:all .3s ease}.play-header .back-link:hover{color:#764ba2;transform:translate(-4px)}.play-header h1{margin:1rem 0 .5rem;color:#2c3e50;font-size:2.5rem}.play-mode-badge{display:inline-block;padding:.5rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:25px;font-weight:600;margin-top:.5rem}.loading,.error-container{text-align:center;padding:4rem 2rem}.error-container h2{color:#dc3545;margin-bottom:1.5rem}.btn-back{background:#6c757d;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;display:inline-block;transition:all .3s ease}.play-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.welcome-section h2{color:#2c3e50;margin-bottom:1rem;font-size:2rem}.campaign-description{color:#495057;font-size:1.1rem;line-height:1.6;margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.play-instructions{background:#e8f0ff;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.play-instructions h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.play-instructions ul{list-style:none;padding:0;margin:0}.play-instructions li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#495057}.play-instructions li:before{content:"✓";position:absolute;left:0;color:#667eea;font-weight:700}.start-section{margin-top:2rem;padding:2rem;background:#f8f9fa;border-radius:8px}.start-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.75rem}.start-section>p{color:#495057;margin-bottom:1.5rem;font-size:1.1rem}.action-buttons{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.btn-select-character,.btn-create-character{flex:1;min-width:250px;padding:1.25rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-select-character{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-select-character:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-create-character{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 4px 12px #f5576c4d}.btn-create-character:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f5576c66}.quick-start-note{background:#fff;padding:1.5rem;border-radius:8px;border:2px solid #667eea}.quick-start-note p{color:#2c3e50;margin-bottom:1rem;font-size:1rem}.quick-start-note ul{list-style:none;padding:0;margin:0}.quick-start-note li{padding:.5rem 0 .5rem 1.5rem;position:relative;color:#495057}.quick-start-note li:before{content:"→";position:absolute;left:0;color:#667eea;font-weight:700}@media (max-width: 768px){.play-campaign{padding:1rem}.play-header h1{font-size:2rem}.action-buttons{flex-direction:column}.btn-select-character,.btn-create-character{min-width:100%}}.dice-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.dice-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid #d4af37;border-radius:12px;padding:30px;max-width:500px;width:90%;box-shadow:0 10px 40px #000c,inset 0 1px #ffffff1a;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.dice-modal-header{position:relative;margin-bottom:25px;text-align:center;border-bottom:2px solid #d4af37;padding-bottom:15px}.dice-modal-header h2{margin:0 0 10px;color:#d4af37;font-size:24px;font-weight:700}.dc-info{margin:5px 0;color:#444;font-size:14px}.modifier-info{margin:5px 0;color:#4dd0e1;font-size:14px}.close-btn{position:absolute;top:0;right:0;background:none;border:none;color:#d4af37;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-btn:hover{color:#ff6b6b}.dice-modal-content{color:#fff}.mode-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.mode-btn{padding:12px 16px;background:#d4af371a;border:2px solid #666;border-radius:8px;color:#444;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.mode-btn:hover:not(:disabled){border-color:#d4af37;color:#d4af37}.mode-btn.active{background:#d4af3733;border-color:#d4af37;color:#d4af37}.mode-btn:disabled{opacity:.5;cursor:not-allowed}.auto-roll-section{min-height:300px;display:flex;flex-direction:column;justify-content:center}.roll-area{text-align:center;padding:20px}.roll-button{padding:16px 32px;background:linear-gradient(135deg,#d4af37,#c9a227);border:none;border-radius:8px;color:#000;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;margin:10px auto}.roll-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 5px 20px #d4af3766}.roll-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.roll-button.primary{background:linear-gradient(135deg,#d4af37,#c9a227);color:#000}.roll-button.secondary{background:#d4af371a;border:2px solid #d4af37;color:#d4af37}.roll-button.secondary:hover:not(:disabled){background:#d4af3733}.rolling-animation{display:inline-block;animation:spin .5s linear infinite;font-size:20px}.hint{color:#333;font-size:12px;margin-top:10px}.result-area{animation:slideIn .3s ease-out}.dice-display{text-align:center;margin:20px 0}.die{display:inline-flex;align-items:center;justify-content:center;width:100px;height:100px;background:linear-gradient(135deg,#d4af37,#c9a227);border-radius:8px;font-size:48px;font-weight:700;color:#1a1a2e;box-shadow:0 10px 30px #d4af374d;animation:rollAnimation .6s cubic-bezier(.34,1.56,.64,1)}.die.crit-success{animation:critSuccess .6s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#0f0,#0c0)}.die.crit-failure{animation:critFailure .6s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#ff6b6b,#c00)}@keyframes rollAnimation{0%{transform:rotateX(720deg) rotateY(720deg);opacity:0}to{transform:rotateX(0) rotateY(0);opacity:1}}@keyframes critSuccess{0%{transform:rotateX(720deg) rotateY(720deg) scale(.5);opacity:0}to{transform:rotateX(0) rotateY(0) scale(1);opacity:1}}@keyframes critFailure{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.result-details{background:#0000004d;padding:15px;border-radius:8px;margin:15px 0;border-left:3px solid #d4af37}.result-details p{margin:5px 0;color:#ccc}.result-details strong{color:#d4af37;font-weight:700}.result-details .total{font-size:16px;margin-top:10px}.result-details .total strong{font-size:20px}.result-details .dc{color:#444;font-size:12px}.result-outcome{text-align:center;margin:20px 0}.crit-badge{padding:12px;background:linear-gradient(135deg,#0f0,#0c0);color:#000;border-radius:8px;font-weight:700;font-size:16px;margin-bottom:10px;animation:pulse .5s ease-out}.crit-badge.critical{background:linear-gradient(135deg,#ff6b6b,#c00)}@keyframes pulse{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.result-badge{padding:8px 16px;border-radius:6px;font-weight:700;font-size:14px;display:inline-block;margin-bottom:8px}.result-badge.success{background:#0f03;border:2px solid #00ff00;color:#0f0}.result-badge.failure{background:#ff6b6b33;border:2px solid #ff6b6b;color:#ff6b6b}.margin-info{color:#333;font-size:12px;margin-top:5px}.roll-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.manual-roll-section{padding:20px}.manual-description{text-align:center;color:#444;margin-bottom:20px;font-size:14px}.manual-input-group{margin-bottom:20px}.manual-input-group label{display:block;margin-bottom:8px;color:#d4af37;font-weight:600}.manual-input-group input{width:100%;padding:12px;background:#0000004d;border:2px solid #666;border-radius:6px;color:#fff;font-size:16px;text-align:center;transition:all .3s}.manual-input-group input:focus{outline:none;border-color:#d4af37;background:#d4af371a}.manual-input-group input::placeholder{color:#333}.manual-preview{background:#0000004d;padding:15px;border-radius:8px;margin-bottom:20px;border-left:3px solid #d4af37;animation:slideIn .3s ease-out}.manual-preview p{margin:5px 0;color:#ccc}.manual-preview strong{color:#d4af37}.manual-preview .total{font-size:16px;margin-top:10px}.manual-preview .total strong{font-size:20px}.manual-preview>div{margin-top:10px;padding:8px 12px;border-radius:6px;font-weight:700;text-align:center}.manual-preview>div.success{background:#0f03;border:2px solid #00ff00;color:#0f0}.manual-preview>div.failure{background:#ff6b6b33;border:2px solid #ff6b6b;color:#ff6b6b}@media (max-width: 600px){.dice-modal{padding:20px}.dice-modal-header h2{font-size:20px}.die{width:80px;height:80px;font-size:40px}.roll-actions{grid-template-columns:1fr}.roll-button{width:100%}}.gameplay-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.story-content{max-width:900px;margin:0 auto;padding:2rem}.story-event{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.event-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.event-header h2{margin:0;color:#2c3e50;font-size:2rem}.event-type-badge{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:.875rem;font-weight:600}.narrative-text{font-size:1.15rem;line-height:1.8;color:#2c3e50;margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea;white-space:pre-wrap}.skill-check-section,.combat-section{background:#e8f0ff;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.skill-info,.combat-info{margin-bottom:1rem}.skill-info{display:flex;justify-content:space-between;align-items:center}.skill-name{font-size:1.25rem;font-weight:700;color:#2c3e50}.skill-dc{font-size:1.1rem;color:#667eea;font-weight:600}.combat-info h3{margin:0 0 .75rem;color:#2c3e50}.combat-info p{margin:.5rem 0;font-size:1.1rem;color:#495057}.monster-stats{display:flex;gap:1rem;margin-top:.5rem;font-size:.95rem;color:#6c757d}.btn-roll-dice{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-roll-dice:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.choices-section,.continue-section{margin-top:2rem}.choices-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.continue-section{display:flex;justify-content:center}.btn-continue{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.25rem 3rem;border:none;border-radius:8px;font-size:1.15rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-continue:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-continue:disabled{opacity:.6;cursor:not-allowed}.choices-list{display:flex;flex-direction:column;gap:1rem}.choice-button{background:#fff;border:2px solid #e0e0e0;padding:1.25rem 1.5rem;border-radius:8px;text-align:left;font-size:1.05rem;color:#2c3e50;cursor:pointer;transition:all .3s ease;display:block;white-space:normal;word-wrap:break-word;width:100%;overflow-wrap:break-word;line-height:1.5}.choice-button:hover:not(:disabled){border-color:#667eea;background:#f8f9ff;transform:translate(8px);box-shadow:0 4px 12px #667eea33}.choice-skill{font-size:.875rem;color:#667eea;font-weight:600}.rewards-section{margin-top:2rem;padding:1.5rem;background:#fff8e1;border-radius:8px;border-left:4px solid #ffc107}.rewards-section h3{margin:0 0 1rem;color:#2c3e50;font-size:1.3rem}.rewards-list{display:flex;flex-direction:column;gap:.75rem}.reward-item{font-size:1.05rem;color:#495057;font-weight:500}.roll-modal{max-width:500px}.roll-result-display{text-align:center;padding:2rem 1rem}.dice-roll{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.die-result{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:2rem;font-weight:700;border-radius:8px;box-shadow:0 4px 12px #667eea4d}.roll-total{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:1rem}.modifier{font-size:1.25rem;color:#6c757d;margin-left:.5rem}.roll-outcome{padding:1rem 1.5rem;border-radius:8px;font-size:1.5rem;font-weight:700;margin-top:1rem}.roll-outcome.success{background:#d4edda;color:#155724}.roll-outcome.failure{background:#f8d7da;color:#721c24}.dc-info{font-size:1rem;font-weight:500;margin-top:.5rem}.loading,.error-message,.no-content{text-align:center;padding:4rem 2rem;max-width:600px;margin:0 auto}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.completion-modal{max-width:600px}.completion-message{text-align:center;padding:2rem 1rem}.congratulations{font-size:1.5rem;color:#2c3e50;margin-bottom:2rem;line-height:1.6}.congratulations strong{color:#667eea}.completion-stats{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin-bottom:2rem;text-align:left}.stat-line{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;font-size:1.05rem}.stat-line .label{font-weight:600;color:#495057}.stat-line .value{color:#667eea;font-weight:500}.stat-line.perfect{background:linear-gradient(135deg,#fff8e1,#fffde7);padding:1rem;border-radius:6px;margin:1.5rem 0}.stat-line.perfect .label{font-size:1.2rem;color:#f39c12}.completion-options{margin:2rem 0}.option-prompt{font-size:1.1rem;color:#2c3e50;margin-bottom:1rem}.btn-secondary{background:#6c757d;color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}@media (max-width: 768px){.gameplay-header{padding:1rem}.gameplay-header h1{font-size:1.5rem}.character-info{width:100%}.story-content{padding:1rem}.story-event{padding:1.5rem}.event-header h2{font-size:1.5rem}.narrative-text{font-size:1rem;padding:1rem}.choice-button{flex-direction:column;align-items:flex-start;gap:.5rem}.dice-roll{gap:.5rem}.die-result{width:50px;height:50px;font-size:1.5rem}.completion-message{padding:1.5rem}.congratulations{font-size:1.2rem}.stat-line{flex-direction:column;align-items:flex-start;gap:.5rem}}.gameplay-hybrid-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec)}.gameplay-header{background:#fff;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.header-left{display:flex;flex-direction:column;gap:.5rem}.back-link{color:#667eea;text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease}.back-link:hover{color:#764ba2;transform:translate(-4px)}.gameplay-header h1{margin:0;color:#2c3e50;font-size:1.75rem}.play-mode-indicator{font-size:.95rem;color:#6c757d;font-weight:500}.character-info{display:flex;align-items:center;gap:1rem;background:#f8f9fa;padding:.75rem 1.25rem;border-radius:12px}.character-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.character-details{display:flex;flex-direction:column;gap:.25rem}.character-name{font-weight:700;color:#2c3e50;font-size:1.1rem}.character-stats{display:flex;gap:.5rem;font-size:.875rem;color:#6c757d}.gameplay-tabs{background:#fff;display:flex;border-bottom:2px solid #e0e0e0;padding:0 2rem}.tab{background:none;border:none;padding:1rem 2rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .3s ease}.tab:hover{color:#667eea}.tab.active{color:#667eea;border-bottom-color:#667eea}.gameplay-content{max-width:1200px;margin:0 auto;padding:2rem}.quests-panel,.npcs-panel,.journal-panel{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.quests-panel h2,.npcs-panel h2,.journal-panel h2{margin:0 0 1.5rem;color:#2c3e50;font-size:2rem}.quests-section{margin-bottom:3rem}.quests-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.quests-list{display:flex;flex-direction:column;gap:1.5rem}.quest-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.quest-card.active{border-color:#667eea;background:#f8f9ff}.quest-card.available:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quest-card.completed{border-color:#28a745;background:#f0f9f4;opacity:.9}.quest-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.quest-header h4{margin:0;color:#2c3e50;font-size:1.3rem}.status-badge{padding:.4rem 1rem;border-radius:12px;font-size:.875rem;font-weight:600;white-space:nowrap}.status-available{background:#e3f2fd;color:#1976d2}.status-in-progress{background:#fff3e0;color:#f57c00}.status-completed{background:#e8f5e9;color:#2e7d32}.status-turned-in{background:#f3e5f5;color:#7b1fa2}.quest-type{padding:.4rem 1rem;background:#e0e0e0;color:#495057;border-radius:12px;font-size:.875rem;font-weight:600}.quest-description{color:#495057;line-height:1.6;margin-bottom:1rem}.quest-objectives{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px}.quest-objectives ul{margin:.5rem 0 0;padding-left:1.5rem}.quest-objectives li{color:#495057;margin:.25rem 0}.quest-progress{margin-top:1rem}.quest-progress label{display:block;margin-bottom:.5rem;color:#495057;font-weight:600}.quest-progress input[type=range]{width:100%;height:8px;border-radius:5px;background:#e0e0e0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.quest-progress input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer}.quest-progress input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:none}.quest-rewards{color:#6c757d;font-size:.95rem;margin:.75rem 0}.btn-accept-quest{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.btn-accept-quest:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-accept-quest:disabled{opacity:.6;cursor:not-allowed}.empty-message{text-align:center;color:#6c757d;padding:2rem;font-style:italic}.npcs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.npc-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease}.npc-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#667eea}.npc-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.npc-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.npc-card h3{margin:0;color:#2c3e50;font-size:1.25rem}.npc-role{margin:0;color:#6c757d;font-size:.875rem;font-weight:600}.npc-description{color:#495057;line-height:1.6;margin-bottom:1rem}.npc-location{color:#6c757d;font-size:.875rem;font-weight:500}.journal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-save-journal{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save-journal:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.journal-hint{color:#6c757d;font-style:italic;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.journal-textarea{width:100%;min-height:500px;padding:1.5rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Georgia,serif;line-height:1.8;color:#2c3e50;resize:vertical;transition:border-color .3s ease}.journal-textarea:focus{outline:none;border-color:#667eea}.loading,.error-message{text-align:center;padding:4rem 2rem;max-width:600px;margin:0 auto}.error-message h2{color:#dc3545;margin-bottom:1rem}.error-message p{color:#495057;margin-bottom:1.5rem}.btn-back{background:#6c757d;color:#fff;padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;display:inline-block;font-weight:600;transition:all .3s ease}.btn-back:hover{background:#5a6268;transform:translateY(-2px)}@media (max-width: 768px){.gameplay-header{padding:1rem}.gameplay-header h1{font-size:1.5rem}.character-info{width:100%}.gameplay-tabs{padding:0 1rem}.tab{padding:.75rem 1rem;font-size:.9rem}.gameplay-content{padding:1rem}.quests-panel,.npcs-panel,.journal-panel{padding:1.5rem}.npcs-grid{grid-template-columns:1fr}.quest-header{flex-direction:column;align-items:flex-start}.journal-textarea{min-height:400px}}.map-explorer{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.map-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e5e7eb}.map-header h2{margin:0;color:#1f2937}.current-location{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem}.btn-grind{background:#dc2626;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-grind:hover{background:#b91c1c;transform:translateY(-2px)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.location-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.location-card:hover:not(.locked):not(.current){transform:translateY(-4px);box-shadow:0 8px 24px #667eea33;border-color:#667eea}.location-card.current{border-color:#10b981;background:linear-gradient(135deg,#10b9810d,#0596690d);cursor:default}.location-card.locked{opacity:.5;cursor:not-allowed}.location-card.selected{border-color:#667eea;border-width:3px;box-shadow:0 0 0 3px #667eea1a}.location-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.location-header h3{margin:0;font-size:1.25rem;color:#1f2937}.location-type{background:#667eea;color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.location-description{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:1rem}.location-features{display:flex;flex-wrap:wrap;gap:.5rem}.location-features .difficulty{padding:.25rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600}.difficulty.easy{background:#d1fae5;color:#065f46}.difficulty.medium{background:#fef3c7;color:#92400e}.difficulty.hard{background:#fee2e2;color:#991b1b}.feature{background:#f3f4f6;padding:.25rem .75rem;border-radius:6px;font-size:.8rem;color:#4b5563}.feature.grind{background:#fef3c7;color:#92400e}.feature.enemies{background:#fee2e2;color:#991b1b}.feature.npcs{background:#dbeafe;color:#1e40af}.feature.quest{background:#e9d5ff;color:#6b21a8}.locked-overlay,.current-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;text-align:center;font-weight:600;font-size:.9rem}.locked-overlay{background:#6b7280e6;color:#fff}.current-overlay{background:#10b981e6;color:#fff}.travel-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.travel-modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.travel-modal-content h3{margin:0 0 1rem;color:#1f2937;font-size:1.5rem}.travel-modal-content p{color:#6b7280;line-height:1.6;margin-bottom:1.5rem}.location-details{background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.location-details p{margin:.5rem 0;color:#374151;font-size:.95rem}.modal-actions{display:flex;gap:1rem}.modal-actions .btn{flex:1;padding:.75rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#e5e7eb;color:#374151}.btn-secondary:hover{background:#d1d5db}@media (max-width: 768px){.map-explorer{padding:1rem}.map-header{flex-direction:column;align-items:flex-start;gap:1rem}.locations-grid{grid-template-columns:1fr}.travel-modal-content{padding:1.5rem}}.dice-roller{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 6px #0000001a;min-width:200px}.dice-roller-label{font-size:18px;font-weight:700;color:#fff;text-align:center}.dice-roller-display{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.dice-container{width:100px;height:100px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0003;transition:transform .3s ease}.dice-container.rolling{animation:dice-roll .8s ease-in-out}@keyframes dice-roll{0%,to{transform:rotateX(0) rotateY(0)}25%{transform:rotateX(180deg) rotateY(90deg)}50%{transform:rotateX(360deg) rotateY(180deg)}75%{transform:rotateX(180deg) rotateY(270deg)}}.dice-face{font-size:48px;-webkit-user-select:none;user-select:none}.dice-rolling-text{animation:spin .8s linear infinite}.dice-result-text{color:#333;font-weight:700}.dice-idle-text{color:#333;font-weight:700;font-size:24px}.dice-result-panel{background:#ffffffe6;border-radius:8px;padding:12px 16px;min-width:150px}.result-breakdown{display:flex;flex-direction:column;gap:8px;color:#333;font-size:14px}.individual-rolls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.individual-roll{background:#667eea;color:#fff;padding:4px 8px;border-radius:4px;font-weight:700;min-width:30px;text-align:center}.result-sum{color:#555;font-weight:500}.result-modifier{color:#764ba2;font-weight:700}.result-total{font-size:16px;color:#333;border-top:1px solid #ddd;padding-top:8px;margin-top:4px}.result-total strong{color:#667eea;font-size:20px}.manual-input-panel{display:flex;flex-direction:column;gap:12px;width:100%}.manual-roll-input{padding:10px;font-size:16px;border:2px solid white;border-radius:6px;text-align:center;background:#fff;color:#333}.manual-roll-input:focus{outline:none;border-color:gold;box-shadow:0 0 0 3px #ffd7004d}.manual-input-buttons{display:flex;gap:8px}.btn-submit-manual,.btn-cancel-manual,.btn-roll-dice{padding:10px 20px;font-size:16px;font-weight:700;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-submit-manual{flex:1;background:#10b981;color:#fff}.btn-submit-manual:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 8px #10b9814d}.btn-cancel-manual{flex:1;background:#ef4444;color:#fff}.btn-cancel-manual:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 8px #ef44444d}.btn-roll-dice{width:100%;background:#fff;color:#667eea}.btn-roll-dice:hover:not(:disabled){background:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 8px #0003}.btn-roll-dice:disabled{opacity:.6;cursor:not-allowed}.dice-info{color:#fffc;font-size:14px;font-weight:500}.dark-mode .dice-roller{background:linear-gradient(135deg,#1e3a8a,#581c87)}.dark-mode .dice-container{background:#1f2937}.dark-mode .dice-result-panel{background:#1f2937e6}.dark-mode .result-breakdown{color:#e5e7eb}.dark-mode .result-total{color:#e5e7eb;border-top-color:#4b5563}.dark-mode .result-total strong{color:#818cf8}.dark-mode .manual-roll-input{background:#1f2937;color:#e5e7eb;border-color:#4b5563}.dark-mode .btn-roll-dice{background:#1f2937;color:#818cf8}.dark-mode .btn-roll-dice:hover:not(:disabled){background:#374151}.spell-selection-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;display:flex;align-items:center;justify-content:center}.spell-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.spell-modal-content{position:relative;z-index:2001;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid rgba(102,126,234,.3);border-radius:16px;width:90%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0009,0 0 40px #667eea33;animation:spellModalSlideIn .3s ease-out}@keyframes spellModalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.spell-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid rgba(102,126,234,.3);background:#ffffff08}.spell-modal-header h2{margin:0;font-size:28px;color:#fff;text-shadow:0 2px 8px rgba(102,126,234,.5);font-weight:700}.close-btn{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);font-size:28px;color:#fff9;cursor:pointer;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.close-btn:hover{background-color:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:rotate(90deg)}.spell-modal-body{flex:1;overflow-y:auto;padding:24px}.spell-modal-body::-webkit-scrollbar{width:10px}.spell-modal-body::-webkit-scrollbar-track{background:#ffffff0d;border-radius:5px}.spell-modal-body::-webkit-scrollbar-thumb{background:#667eea66;border-radius:5px}.spell-modal-body::-webkit-scrollbar-thumb:hover{background:#667eea99}.loading-spells,.no-spells{text-align:center;padding:60px 20px;color:#fff9;font-size:18px}.spell-list{display:flex;flex-direction:column;gap:14px}.spell-card{background:#ffffff0d;border:2px solid rgba(156,39,176,.3);border-radius:10px;padding:18px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.spell-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(156,39,176,.1),transparent);transition:left .5s}.spell-card:hover:before{left:100%}.spell-card:hover{border-color:#9c27b0;background:#9c27b026;transform:translateY(-3px) scale(1.01);box-shadow:0 8px 24px #9c27b04d,0 0 20px #9c27b033}.spell-card.selected{border-color:#ce93d8;background:#9c27b040;box-shadow:0 0 0 3px #9c27b04d,0 8px 24px #9c27b066}.spell-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;position:relative;z-index:1}.spell-header h3{margin:0;font-size:20px;color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3)}.spell-level{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;padding:6px 14px;border-radius:16px;font-size:13px;font-weight:700;box-shadow:0 2px 8px #9c27b066}.spell-school{font-size:14px;color:#ce93d8e6;margin-bottom:10px;font-style:italic;position:relative;z-index:1}.spell-damage{font-size:15px;color:#ff6b6b;margin-bottom:10px;position:relative;z-index:1;font-weight:500}.spell-damage strong{color:#fff}.spell-healing{font-size:15px;color:#51cf66;margin-bottom:10px;position:relative;z-index:1;font-weight:500}.spell-healing strong{color:#fff}.utility-tag{color:#74c0fc;font-weight:600;font-style:normal}.spell-card.cantrip-spell{border-color:#51cf6666!important}.spell-card.cantrip-spell:hover{border-color:#51cf66!important;background:#51cf6626!important;box-shadow:0 8px 24px #51cf664d,0 0 20px #51cf6633!important}.spell-card.cantrip-spell.selected{border-color:#51cf66!important;background:#51cf6640!important;box-shadow:0 0 0 3px #51cf664d,0 8px 24px #51cf6666!important}.spell-card.damage-spell{border-color:#9c27b066!important}.spell-card.damage-spell:hover{border-color:#9c27b0!important;background:#9c27b026!important;box-shadow:0 8px 24px #9c27b04d,0 0 20px #9c27b033!important}.spell-card.damage-spell.selected{border-color:#ce93d8!important;background:#9c27b040!important;box-shadow:0 0 0 3px #9c27b04d,0 8px 24px #9c27b066!important}.spell-card.utility-spell{border-color:#74c0fc66!important}.spell-card.utility-spell:hover{border-color:#74c0fc!important;background:#74c0fc26!important;box-shadow:0 8px 24px #74c0fc4d,0 0 20px #74c0fc33!important}.spell-card.utility-spell.selected{border-color:#74c0fc!important;background:#74c0fc40!important;box-shadow:0 0 0 3px #74c0fc4d,0 8px 24px #74c0fc66!important}.spell-description{font-size:14px;color:#ffffffd9;line-height:1.6;position:relative;z-index:1}.spell-modal-footer{display:flex;justify-content:flex-end;gap:14px;padding:24px;border-top:2px solid rgba(102,126,234,.3);background:#ffffff08}.spell-modal-footer .btn{padding:12px 28px;font-size:16px;font-weight:700;border-radius:8px;cursor:pointer;transition:all .3s;border:none}.spell-modal-footer .btn-secondary{background:#ffffff14;color:#ffffffe6;border:2px solid rgba(255,255,255,.2)}.spell-modal-footer .btn-secondary:hover{background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px)}.spell-modal-footer .btn-primary{background:linear-gradient(135deg,#9c27b0,#7b1fa2);color:#fff;border:2px solid #9c27b0;box-shadow:0 4px 12px #9c27b04d}.spell-modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7b1fa2,#6a1b9a);border-color:#7b1fa2;transform:translateY(-2px);box-shadow:0 6px 20px #9c27b080}.spell-modal-footer .btn-primary:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (max-width: 768px){.spell-modal-content{width:95%;max-height:90vh}.spell-modal-header h2{font-size:20px}.spell-card{padding:12px}.spell-header h3{font-size:16px}}.dice-animation-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;min-height:200px;perspective:1000px}.dice-portal-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:11000}.dice-wrapper{--dice-size: 480px;width:var(--dice-size);height:var(--dice-size);display:flex;align-items:center;justify-content:center;position:relative;transform-style:preserve-3d;transition:transform .2s ease}.dice-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5))}.dice-animation-container .dice-box-canvas,.dice-animation-container canvas.dice-box-canvas,.dice-wrapper .dice-box-canvas,.dice-wrapper canvas.dice-box-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;z-index:12000;pointer-events:none;background:transparent}.dice-wrapper .dice-box,.dice-animation-container .dice-box{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;display:block}.dice-wrapper.rolling{animation:roll3d .6s infinite ease-in-out}.fallback-die{margin-top:8px}.fallback-die .dice-image{font-size:10rem;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:12px;background:linear-gradient(135deg,#fff,#f1f5f9);box-shadow:0 10px 30px #0206171f;transform-origin:center;animation:emoji-rotate .9s cubic-bezier(.36,.07,.19,.97) infinite}@keyframes emoji-rotate{0%{transform:rotate3d(1,1,0,0) scale(1)}25%{transform:rotate3d(1,1,0,90deg) scale(1.05)}50%{transform:rotate3d(1,1,0,180deg) scale(1)}75%{transform:rotate3d(1,1,0,270deg) scale(1.05)}to{transform:rotate3d(1,1,0,360deg) scale(1)}}@keyframes roll3d{0%{transform:rotateX(0) rotateY(0) rotate(0) scale(1)}20%{transform:rotateX(120deg) rotateY(90deg) rotate(45deg) scale(1.1)}40%{transform:rotateX(240deg) rotateY(180deg) rotate(90deg) scale(1)}60%{transform:rotateX(360deg) rotateY(270deg) rotate(135deg) scale(1.1)}80%{transform:rotateX(480deg) rotateY(360deg) rotate(180deg) scale(1)}to{transform:rotateX(720deg) rotateY(540deg) rotate(360deg) scale(1.05)}}.rolling-text{margin-top:20px;font-size:1.2rem;font-weight:700;color:#fbbf24;animation:pulse 1s infinite;text-transform:uppercase;letter-spacing:2px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@media (max-width: 768px){.dice-animation-container{padding:30px;min-height:150px}.dice-wrapper{--dice-size: 320px}.rolling-text{margin-top:15px;font-size:1rem}}@media (max-width: 480px){.dice-animation-container{padding:20px;min-height:120px}.dice-wrapper{--dice-size: 220px}.rolling-text{margin-top:12px;font-size:.9rem}}.damage-die-icon{display:inline-flex;align-items:center;gap:8px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.die-face{background:transparent;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center}.die-label{font-weight:700;color:inherit;font-size:.9rem}.die-emoji{display:inline-block;line-height:1}.die-value{font-weight:700;color:#f97316;font-size:1rem}.damage-die-icon .die-face.small{width:28px;height:28px}.attack-result-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-out}.attack-result-modal{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border-radius:16px;padding:0;min-width:400px;max-width:500px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease-out;border:3px solid}.attack-result-modal.hit{border-color:#4ade80}.attack-result-modal.miss{border-color:#ef4444}.attack-result-header{position:relative;padding:24px;text-align:center;border-bottom:2px solid rgba(255,255,255,.1)}.attack-result-title{margin:0;font-size:2.5rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.5)}.attack-result-modal.hit .attack-result-title{color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.5)}.attack-result-modal.miss .attack-result-title{color:#ef4444;text-shadow:0 0 20px rgba(239,68,68,.5)}.attack-result-body{padding:24px}.result-section{margin-bottom:24px}.result-section:last-child{margin-bottom:0}.result-section h3{margin:0 0 12px;font-size:1.1rem;color:#9ca3af;text-transform:uppercase;letter-spacing:1px;font-weight:600}.dice-result{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.8rem;font-weight:700;padding:16px;background:#ffffff0d;border-radius:12px}.d20-result{font-size:2.2rem;color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.3)}.plus,.equals{color:#6b7280;font-size:1.5rem}.bonus{color:#60a5fa}.total{color:#fff;font-size:2rem;margin-left:8px}.damage-rolls{display:flex;gap:8px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.damage-die{background:#ef444433;color:#fca5a5;padding:8px 12px;border-radius:8px;font-weight:700;font-size:1.1rem;border:1px solid rgba(239,68,68,.3)}.damage-total{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:linear-gradient(135deg,#ef444433,#dc262633);border-radius:12px;border:2px solid rgba(239,68,68,.4)}.damage-number{font-size:2.5rem;font-weight:700;color:#ef4444;text-shadow:0 0 15px rgba(239,68,68,.5)}.damage-label{font-size:1.2rem;color:#9ca3af;font-weight:600}.result-message{margin-top:16px;padding:12px;background:#ffffff0d;border-radius:8px;color:#d1d5db;font-size:.95rem;text-align:center}.attack-result-footer{padding:20px 24px;border-top:2px solid rgba(255,255,255,.1);text-align:center}.btn-acknowledge{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 48px;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 12px #3b82f64d}.btn-acknowledge:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.btn-acknowledge:active{transform:translateY(0);box-shadow:0 2px 8px #3b82f64d}.btn-acknowledge:focus{outline:2px solid #60a5fa;outline-offset:2px}@media (max-width: 640px){.attack-result-modal{min-width:320px;margin:16px}.attack-result-title{font-size:2rem}.dice-result{font-size:1.4rem}.d20-result{font-size:1.8rem}.damage-number{font-size:2rem}}@media (max-width: 768px){.attack-result-modal{min-width:90vw;max-width:90vw;margin:10px}.attack-result-header{padding:16px}.attack-result-title{font-size:1.75rem}.attack-result-body{padding:16px}.result-section h3{font-size:1rem}.d20-result{font-size:2rem}.damage-total .damage-number{font-size:3rem}.damage-total .damage-label{font-size:1rem}.btn-acknowledge{font-size:1.1rem;padding:14px 32px}}@media (max-width: 480px){.attack-result-modal{min-width:95vw;max-width:95vw;margin:5px}.attack-result-header{padding:12px}.attack-result-title{font-size:1.5rem}.attack-result-body{padding:12px}.result-section{margin-bottom:16px}.result-section h3{font-size:.9rem;margin-bottom:8px}.d20-result{font-size:1.5rem}.damage-total .damage-number{font-size:2.5rem}.damage-total .damage-label,.dice-result{font-size:.875rem}.btn-acknowledge{font-size:1rem;padding:12px 24px}}.victory-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out}.victory-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:3px solid #fbbf24;border-radius:16px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 0 40px #fbbf2480,0 20px 60px #00000080;animation:victorySlideIn .5s ease-out}@keyframes victorySlideIn{0%{transform:scale(.8) translateY(-50px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.victory-header{background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:24px;border-radius:13px 13px 0 0;text-align:center;border-bottom:3px solid #d97706}.victory-title{margin:0;font-size:2rem;color:#1a1a2e;text-shadow:2px 2px 4px rgba(255,255,255,.3);animation:victoryPulse 1.5s ease-in-out infinite}@keyframes victoryPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.victory-body{padding:24px}.rewards-info-note{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;padding:12px;margin-bottom:16px;text-align:center}.rewards-info-note p{margin:0;color:#60a5fa;font-size:.875rem}.rewards-section{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.reward-item{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease;animation:rewardPopIn .5s ease-out backwards}.xp-reward{animation-delay:.3s;border-color:#a78bfa}.gold-reward{animation-delay:.5s;border-color:#fbbf24}@keyframes rewardPopIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.reward-icon{font-size:2.5rem;animation:iconSpin 2s ease-in-out infinite}@keyframes iconSpin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.1)}}.reward-value{font-size:1.5rem;font-weight:700;color:#fff}.loot-section{margin-top:24px;padding-top:24px;border-top:2px solid rgba(255,255,255,.1)}.loot-section h3{color:#fbbf24;margin-bottom:16px;text-align:center;font-size:1.5rem}.loot-rolling{text-align:center;padding:40px}.dice-spin{font-size:4rem;animation:diceRoll 1s linear infinite;display:inline-block}@keyframes diceRoll{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loot-card-container{perspective:1000px;min-height:300px;display:flex;align-items:center;justify-content:center}.loot-card{background:#ffffff0d;border:3px solid;border-radius:12px;padding:24px;max-width:500px;width:100%}.loot-card.animating{animation:lootFlip .8s ease-out}@keyframes lootFlip{0%{transform:rotateY(90deg) scale(.8);opacity:0}50%{transform:rotateY(45deg) scale(.9)}to{transform:rotateY(0) scale(1);opacity:1}}.loot-card-header h4{margin:0;font-size:1.5rem;font-weight:700}.loot-rarity{font-size:.875rem;font-weight:600;padding:4px 12px;background:#ffffff1a;border-radius:12px;text-transform:uppercase}.loot-card-description{color:#d1d5db;line-height:1.6;margin-bottom:16px;min-height:60px}.loot-card-value{display:flex;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);color:#fbbf24;font-weight:600}.attunement-badge{background:#a855f733;color:#a855f7;padding:4px 8px;border-radius:8px;font-size:.75rem;border:1px solid #a855f7}.btn-continue{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e;border:none;padding:16px 48px;font-size:1.25rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #fbbf2466;text-transform:uppercase}.btn-continue:hover{transform:translateY(-2px);box-shadow:0 6px 20px #fbbf2499}.victory-footer{padding:24px;border-top:2px solid rgba(255,255,255,.1);text-align:center}@media (max-width: 768px){.victory-modal{width:95%;max-width:95%;margin:10px}.victory-header{padding:16px}.victory-title{font-size:1.5rem}.victory-body{padding:16px}.rewards-section{grid-template-columns:1fr;gap:12px}.reward-item{padding:16px}.reward-icon{font-size:2rem}.reward-value,.loot-section h3{font-size:1.25rem}.loot-card-container{min-height:250px}.loot-card{padding:16px}.loot-card-header h4{font-size:1.25rem}.loot-rarity{font-size:.75rem;padding:3px 8px}.loot-card-description{font-size:.875rem;min-height:50px}.btn-continue{padding:14px 32px;font-size:1.1rem}.victory-footer{padding:16px}}@media (max-width: 480px){.victory-modal{width:98%;max-width:98%;margin:5px}.victory-header{padding:12px}.victory-title{font-size:1.25rem}.victory-body{padding:12px}.rewards-info-note{padding:8px;margin-bottom:12px}.rewards-info-note p{font-size:.75rem}.rewards-section{gap:8px}.reward-item{padding:12px;gap:12px}.reward-icon{font-size:1.75rem}.reward-label{font-size:.75rem}.reward-value{font-size:1.1rem}.loot-section{margin-top:16px;padding-top:16px}.loot-section h3{font-size:1.1rem;margin-bottom:12px}.loot-card-container{min-height:200px}.loot-card{padding:12px}.loot-card-header{flex-direction:column;align-items:flex-start;gap:8px}.loot-card-header h4{font-size:1.1rem}.loot-rarity{font-size:.7rem;padding:2px 6px}.loot-card-type{font-size:.75rem;margin-bottom:8px}.loot-card-description{font-size:.8rem;min-height:40px;line-height:1.4}.loot-card-value{font-size:.875rem;padding-top:12px;gap:8px}.attunement-badge{font-size:.65rem;padding:3px 6px}.loot-counter{font-size:.75rem;margin-top:12px}.dice-spin{font-size:3rem}.loot-rolling p{font-size:1rem;margin-top:12px}.btn-continue{padding:12px 24px;font-size:1rem}.victory-footer{padding:12px}}.level-up-section{margin:.75rem 0}.level-up-banner{background:linear-gradient(135deg,#064e3b,#065f46);border:2px solid #10b981;border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;color:#6ee7b7;font-size:1.1rem;text-align:center;animation:levelUpPulse .6s ease-out}.level-up-banner strong{color:#34d399;font-size:1.3rem}@keyframes levelUpPulse{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.defeat-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-in}.defeat-modal{background:linear-gradient(135deg,#1a0000,#2d0000);border:3px solid #dc2626;border-radius:16px;box-shadow:0 0 40px #dc262680;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:shakeAndSlide .6s ease-out}@keyframes shakeAndSlide{0%{transform:translateY(-50px) rotate(0);opacity:0}20%{transform:translateY(-30px) rotate(-2deg)}40%{transform:translateY(-15px) rotate(2deg)}60%{transform:translateY(-5px) rotate(-1deg)}80%{transform:translateY(0) rotate(1deg)}to{transform:translateY(0) rotate(0);opacity:1}}.defeat-header{background:linear-gradient(135deg,#dc2626,#991b1b);padding:20px;border-radius:13px 13px 0 0;text-align:center;border-bottom:2px solid #7f1d1d}.defeat-title{margin:0;font-size:32px;font-weight:700;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.8);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{text-shadow:2px 2px 8px rgba(0,0,0,.8)}50%{text-shadow:2px 2px 20px rgba(220,38,38,.8)}}.defeat-body{padding:30px}.defeat-message{text-align:center;margin-bottom:30px}.defeat-text{font-size:24px;font-weight:700;color:#fca5a5;margin:0 0 15px}.defeat-subtext{font-size:16px;color:#d1d5db;margin:0;line-height:1.6}.defeat-icon-container{display:flex;justify-content:center;margin:30px 0}.defeat-skull{font-size:100px;animation:float 3s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(220,38,38,.5))}.defeat-tips{background:#0006;border:1px solid #7f1d1d;border-radius:12px;padding:20px;margin-top:20px}.defeat-tips h3{color:#fca5a5;margin-top:0;margin-bottom:15px;font-size:18px}.defeat-tips ul{list-style:none;padding:0;margin:0}.defeat-tips li{color:#d1d5db;padding:8px 0;font-size:14px;line-height:1.5;border-bottom:1px solid rgba(127,29,29,.3)}.defeat-tips li:last-child{border-bottom:none}.defeat-footer{padding:20px 30px;border-top:1px solid rgba(127,29,29,.5);display:flex;justify-content:center}.btn-try-again{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;border:2px solid #7f1d1d;padding:14px 40px;font-size:18px;font-weight:700;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #dc26264d}.btn-try-again:hover{background:linear-gradient(135deg,#991b1b,#7f1d1d);transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.btn-try-again:active{transform:translateY(0)}body.dark-mode .defeat-modal{background:linear-gradient(135deg,#0a0000,#1a0000)}body.dark-mode .defeat-tips{background:#0009}@media (max-width: 600px){.defeat-title{font-size:24px}.defeat-text{font-size:20px}.defeat-skull{font-size:80px}.defeat-modal{width:95%}.defeat-body{padding:20px}.defeat-tips li{font-size:13px}}.combat-view{padding:20px;max-width:1400px;margin:0 auto;min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e)}.combat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(102,126,234,.3)}.combat-header h2{margin:0;font-size:32px;color:#fff;text-shadow:0 2px 8px rgba(102,126,234,.5);font-weight:700}.combat-status{display:flex;gap:20px;align-items:center}.turn-indicator{padding:8px 16px;border-radius:20px;font-weight:700;font-size:16px}.turn-indicator.player-turn{background-color:#4caf50;color:#fff}.turn-indicator.enemy-turn{background-color:#f44336;color:#fff}.round-counter{padding:8px 16px;background-color:#2196f3;color:#fff;border-radius:20px;font-weight:700}.combat-main{display:grid;grid-template-columns:1fr 2fr;gap:20px}.initiative-tracker{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);padding:20px;border-radius:12px}.initiative-tracker h3{margin-top:0;font-size:20px;margin-bottom:18px;color:#fff;font-weight:600}.initiative-list{display:flex;flex-direction:column;gap:8px}.initiative-item{display:flex;align-items:center;gap:10px;padding:12px;background:#ffffff14;border-radius:8px;border:2px solid transparent;transition:all .3s}.initiative-item.active{border-color:#667eea;background:#667eea33;font-weight:700;box-shadow:0 0 20px #667eea4d}.initiative-value{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 12px;border-radius:6px;font-weight:700;min-width:40px;text-align:center;box-shadow:0 2px 8px #667eea4d}.combatant-name{flex:1;color:#fff}.combatant-hp{font-size:14px;color:#ffffffd9;font-weight:500}.player-status{margin-bottom:20px}.player-status h3{margin-top:0;font-size:20px;margin-bottom:18px;color:#fff;font-weight:600}.combatant-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:18px;position:relative;transition:all .3s}.combatant-card.player{border-color:#4caf50;box-shadow:0 0 20px #4caf5033}.combatant-card.enemy{cursor:pointer;transition:all .3s}.combatant-card.enemy:hover:not(.defeated){border-color:#ff9800;transform:translateY(-3px);box-shadow:0 8px 24px #ff98004d}.combatant-card.enemy.selected{border-color:#ff9800;background:#ff980026;box-shadow:0 0 20px #ff980066}.combatant-card.enemy.defeated{opacity:.3;cursor:not-allowed;filter:grayscale(.8)}.combatant-card .combatant-name{font-size:20px;font-weight:700;margin-bottom:12px;color:#fff}.combatant-stats{display:flex;flex-direction:column;gap:10px}.stat{display:flex;align-items:center;gap:10px}.stat-label{font-weight:700;min-width:60px;color:#fffc}.stat-value{font-size:18px;color:#fff;font-weight:600;text-shadow:0 0 4px rgba(0,0,0,.5)}.hp-bar{flex:1;height:30px;background-color:#e0e0e0;border-radius:15px;position:relative;overflow:hidden}.hp-fill{height:100%;background:linear-gradient(to right,#4caf50,#8bc34a);transition:width .3s}.hp-bar.enemy-hp .hp-fill{background:linear-gradient(to right,#f44336,#e57373)}.hp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.7);z-index:1;font-size:14px}.defeated-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#000000b3;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;border-radius:8px}.enemies-section{margin-bottom:20px}.enemies-section h3{margin-top:0;font-size:20px;margin-bottom:18px;color:#fff;font-weight:600}.enemies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.combat-actions{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);padding:20px;border-radius:12px;margin-bottom:20px}.combat-actions h3{margin-top:0;font-size:20px;margin-bottom:18px;color:#fff;font-weight:600}.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px}.action-btn{padding:12px 20px;font-size:16px;font-weight:700}.action-btn:disabled{opacity:.5;cursor:not-allowed}.target-info{padding:12px;background:#ff980026;border-radius:8px;border-left:4px solid #ff9800;margin-top:12px;color:#ffffffe6}.combat-log{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);padding:20px;border-radius:12px;grid-column:1 / -1}.combat-log h3{margin-top:0;font-size:20px;margin-bottom:18px;color:#fff;font-weight:600}.log-entries{max-height:300px;overflow-y:auto;background:#0000004d;padding:18px;border-radius:8px;font-family:Courier New,monospace;font-size:14px;line-height:1.8;border:1px solid rgba(255,255,255,.1)}.log-entries::-webkit-scrollbar{width:8px}.log-entries::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.log-entries::-webkit-scrollbar-thumb{background:#667eea66;border-radius:4px}.log-entries::-webkit-scrollbar-thumb:hover{background:#667eea99}.log-entry{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffd9}.log-entry:last-child{border-bottom:none}.log-entry.empty{color:#ffffff80;font-style:italic;opacity:.7}.combat-view.loading,.combat-view.error{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:22px;color:#fffc}.combat-view.error{color:#ff6b6b;text-shadow:0 2px 8px rgba(255,107,107,.5)}.dice-roller-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.dice-roller-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dice-roller-container{position:relative;z-index:1001;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.combat-main{grid-template-columns:1fr}.enemies-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width: 768px){.combat-header{flex-direction:column;align-items:flex-start;gap:15px}.combat-status{flex-direction:column;align-items:flex-start;gap:10px}.action-buttons{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.combat-view{padding:10px 10px 180px}.combat-header{flex-direction:row;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px;position:sticky;top:0;background:linear-gradient(180deg,#1a1a2e 0%,#1a1a2e 85%,transparent 100%);z-index:50;padding-top:10px;padding-bottom:10px}.combat-header h2{font-size:20px;margin:0}.combat-status{flex-direction:row;gap:8px;flex-wrap:wrap}.turn-indicator,.round-counter{font-size:12px;padding:6px 10px}.combat-main{grid-template-columns:1fr;gap:12px;margin-bottom:0}.initiative-tracker{padding:12px;max-height:50vh;overflow-y:auto}.initiative-tracker h3{font-size:16px;margin-bottom:10px}.initiative-item{padding:8px;font-size:14px}.initiative-value{font-size:14px;min-width:30px}.player-status{order:1}.player-status h3{font-size:16px;margin-bottom:10px}.combatant-card{padding:12px}.combatant-name{font-size:16px}.combatant-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{flex-direction:column;gap:2px;align-items:center}.stat-label{font-size:11px}.stat-value{font-size:15px}.enemies-section{order:2}.enemies-section h3{font-size:16px;margin-bottom:10px}.enemies-grid{grid-template-columns:1fr;gap:10px;max-height:35vh;overflow-y:auto}.combat-actions{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,#1a1a2e 15%,#1a1a2e 100%);padding:12px;border-top:2px solid rgba(102,126,234,.3);z-index:100;box-shadow:0 -4px 20px #00000080;order:4}.combat-actions h3{font-size:14px;margin:0 0 8px}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-btn{padding:12px 8px;font-size:14px}.target-info{font-size:12px;margin-top:6px;text-align:center}.combat-log{order:3;max-height:120px;padding:12px;margin-bottom:10px}.combat-log h3{font-size:14px;margin-bottom:8px}.log-entries{font-size:12px}.log-entry{padding:4px}}@media (max-width: 480px){.combat-view{padding:5px 5px 170px}.combat-header h2{font-size:18px}.turn-indicator,.round-counter{font-size:11px;padding:5px 8px}.initiative-tracker{padding:10px}.initiative-tracker h3{font-size:14px}.initiative-item{padding:6px;font-size:12px}.player-status h3,.enemies-section h3{font-size:14px}.combatant-card{padding:10px}.combatant-name{font-size:14px}.stat-label{font-size:10px}.stat-value{font-size:13px}.enemies-grid{max-height:30vh}.combat-actions{padding:10px}.combat-actions h3{font-size:12px;margin-bottom:6px}.action-btn{font-size:12px;padding:10px 6px}.target-info{font-size:11px}.combat-log{max-height:100px;padding:8px}.combat-log h3{font-size:12px}.log-entries{font-size:11px}.log-entry{padding:3px}}.status-effects{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.status-badge{background:#00000080;border:1px solid #555;border-radius:4px;padding:1px 6px;font-size:.75rem;cursor:default}.btn-special{background:linear-gradient(135deg,#78350f,#92400e);border:1px solid #fbbf24;color:#fde68a;font-weight:700;letter-spacing:.02em}.btn-special:hover:not(:disabled){background:linear-gradient(135deg,#92400e,#b45309);box-shadow:0 0 8px #fbbf2466}.npc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-end;justify-content:center;z-index:1000;padding-bottom:2rem}.npc-modal{background:#1a1a2e;border:2px solid #4b3b00;border-radius:8px;width:min(540px,96vw);box-shadow:0 8px 32px #0009;display:flex;flex-direction:column;gap:0}.npc-modal-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid #333}.npc-avatar{font-size:2rem;line-height:1}.npc-modal-name{margin:0;color:#fbbf24;font-size:1rem}.npc-modal-title{margin:0;color:#9ca3af;font-size:.75rem}.npc-modal-close{margin-left:auto;background:none;border:none;color:#6b7280;font-size:1rem;cursor:pointer}.npc-modal-close:hover{color:#e0e0e0}.npc-dialogue-box{background:#0d0d1a;border:1px solid #333;margin:.75rem;border-radius:6px;min-height:64px;padding:.75rem 1rem;font-size:.9rem;color:#e0e0e0;line-height:1.5}.npc-typing{color:#6b7280;font-style:italic;letter-spacing:.15em}.npc-dialogue-text{margin:0}.npc-quest-offers{padding:0 .75rem}.npc-quest-offers h4{margin:0 0 .5rem;color:#fbbf24;font-size:.85rem}.npc-quest-offer{background:#16213e;border:1px solid #2d2d4e;border-radius:6px;padding:.6rem .75rem;margin-bottom:.5rem}.npc-quest-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.npc-quest-name{font-weight:600;color:#e0e0e0;font-size:.85rem}.npc-quest-level{font-size:.7rem;background:#374151;padding:1px 6px;border-radius:3px;color:#9ca3af}.npc-quest-desc{margin:0 0 .5rem;color:#9ca3af;font-size:.8rem;line-height:1.4}.btn-accept-quest{background:#064e3b;border:1px solid #10b981;border-radius:5px;color:#6ee7b7;font-size:.8rem;padding:.3rem .75rem;cursor:pointer;transition:background .15s}.btn-accept-quest:hover:not(:disabled){background:#065f46}.btn-accept-quest:disabled{opacity:.5;cursor:default}.npc-message{margin:0 .75rem;padding:.4rem .75rem;background:#1e3a1e;border:1px solid #4ade80;border-radius:5px;color:#4ade80;font-size:.8rem}.npc-modal-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem;border-top:1px solid #2d2d4e}.btn-goodbye{background:none;border:1px solid #4b5563;border-radius:5px;color:#9ca3af;padding:.4rem 1rem;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-goodbye:hover{border-color:#6b7280;color:#e0e0e0}.btn-talk-again{background:#1e3a5f;border:1px solid #3b82f6;border-radius:5px;color:#93c5fd;padding:.4rem 1rem;cursor:pointer;font-size:.85rem;transition:background .15s}.btn-talk-again:hover:not(:disabled){background:#1e40af}.btn-talk-again:disabled{opacity:.5;cursor:default}.shop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.shop-modal{background:#1a1a2e;border:2px solid #92400e;border-radius:10px;width:min(560px,96vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 40px #000000b3}.shop-header{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid #333}.shop-title{margin:0;color:#fbbf24;font-size:1.05rem}.shop-subtitle{margin:.2rem 0 0;color:#9ca3af;font-size:.75rem}.shop-gold{margin-left:auto;color:#fbbf24;font-weight:700;font-size:.95rem;white-space:nowrap}.shop-close{background:none;border:none;color:#6b7280;font-size:1rem;cursor:pointer;padding:0 0 0 .5rem}.shop-close:hover{color:#e0e0e0}.shop-loading,.shop-empty{padding:2rem;text-align:center;color:#6b7280;font-style:italic}.shop-items{flex:1;overflow-y:auto;padding:.6rem;display:flex;flex-direction:column;gap:.4rem}.shop-item{display:flex;align-items:center;justify-content:space-between;background:#16213e;border:1px solid #2d2d4e;border-radius:6px;padding:.55rem .75rem;gap:.5rem}.shop-item.unavailable{opacity:.5}.shop-item-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.shop-item-name{font-weight:600;color:#e0e0e0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-item-type{font-size:.65rem;background:#374151;padding:1px 6px;border-radius:3px;color:#9ca3af;flex-shrink:0}.shop-item-rarity{font-size:.7rem;font-weight:600;flex-shrink:0}.shop-item-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.shop-item-stock{font-size:.75rem;color:#6b7280}.shop-item-price{font-size:.8rem;color:#fbbf24;white-space:nowrap}.shop-item-price.cant-afford{color:#f87171}.btn-buy{background:#78350f;border:1px solid #fbbf24;border-radius:5px;color:#fde68a;font-size:.75rem;padding:.25rem .65rem;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-buy:hover:not(:disabled){background:#92400e}.btn-buy:disabled{opacity:.4;cursor:default}.shop-message{margin:.4rem .6rem;padding:.35rem .75rem;border-radius:5px;font-size:.8rem}.shop-message.success{background:#1e3a1e;border:1px solid #4ade80;color:#4ade80}.shop-message.error{background:#3a1e1e;border:1px solid #f87171;color:#f87171}.shop-footer{padding:.6rem 1rem;border-top:1px solid #2d2d4e;display:flex;justify-content:flex-end}.btn-shop-close{background:none;border:1px solid #4b5563;border-radius:5px;color:#9ca3af;padding:.4rem 1rem;cursor:pointer;font-size:.85rem;transition:all .15s}.btn-shop-close:hover{border-color:#6b7280;color:#e0e0e0}.zone-map{display:flex;flex-direction:column;height:100%;background:#1a1a2e;color:#e0e0e0}.zone-map-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #333}.zone-map-header h2{margin:0;color:#fbbf24}.zone-loading,.zone-error{padding:1rem 1.5rem;color:#9ca3af}.zone-error{color:#f87171}.zone-map-layout{display:flex;flex:1;overflow:hidden}.zone-list{width:200px;border-right:1px solid #333;overflow-y:auto;padding:.5rem}.zone-list h3{font-size:.75rem;text-transform:uppercase;color:#6b7280;padding:.5rem;margin:0}.zone-list-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;background:none;border:none;border-radius:6px;color:#d1d5db;cursor:pointer;text-align:left;font-size:.85rem;transition:background .15s}.zone-list-item:hover{background:#2d2d4e}.zone-list-item.active{background:#2d2d4e;color:#fff}.zone-difficulty-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.zone-hub-badge{margin-left:auto;font-size:.65rem;background:#374151;padding:1px 5px;border-radius:3px;color:#9ca3af}.zone-detail{flex:1;overflow-y:auto;padding:1.5rem}.zone-detail-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.zone-detail-header h2{margin:0;font-size:1.5rem}.zone-difficulty-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;color:#000}.zone-level-badge{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;background:#374151;color:#9ca3af}.zone-description{color:#9ca3af;margin-bottom:1.5rem;line-height:1.6}.zone-monsters{margin-bottom:1.5rem}.zone-monsters h4{font-size:.8rem;text-transform:uppercase;color:#6b7280;margin:0 0 .5rem}.monster-chips{display:flex;flex-wrap:wrap;gap:.5rem}.monster-chip{background:#2d2d4e;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;display:flex;align-items:center;gap:.5rem}.monster-cr{font-size:.7rem;color:#6b7280}.zone-actions{margin-bottom:1.5rem}.btn-fight{background:#dc2626;color:#fff;padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-fight:hover:not(:disabled){background:#b91c1c}.btn-fight:disabled{opacity:.6;cursor:not-allowed}.hub-note{color:#6b7280;font-style:italic;font-size:.9rem}.zone-travel h4{font-size:.8rem;text-transform:uppercase;color:#6b7280;margin:0 0 .5rem}.travel-options{display:flex;flex-wrap:wrap;gap:.75rem}.travel-btn{background:#1e1e3a;border:1px solid;border-radius:8px;padding:.6rem 1rem;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;transition:background .15s;min-width:120px}.travel-btn:hover{background:#2d2d4e}.travel-name{color:#e0e0e0;font-size:.9rem}.travel-diff{font-size:.75rem;font-weight:600}.zone-level-warning{border-radius:8px;padding:.6rem 1rem;margin-bottom:1rem;font-size:.9rem;font-weight:500}.zone-level-warning.caution{background:#78350f33;border:1px solid #d97706;color:#fbbf24}.zone-level-warning.danger{background:#7f1d1d33;border:1px solid #dc2626;color:#f87171}.zone-levelup-banner{background:#064e3b;border:2px solid #10b981;border-radius:8px;padding:.75rem 1rem;margin:.5rem 1.5rem;color:#6ee7b7;font-size:1rem;font-weight:600;cursor:pointer;text-align:center;animation:pulse-green 1.5s ease-in-out 3}@keyframes pulse-green{0%,to{box-shadow:0 0 #10b98140}50%{box-shadow:0 0 0 8px #10b98100}}.char-level-indicator{color:#9ca3af;font-size:.85rem;margin-bottom:.5rem}.char-level-indicator strong{color:#fbbf24}.btn-fight.btn-warning{background:#b45309}.btn-fight.btn-warning:hover:not(:disabled){background:#92400e}.zone-map-combat{height:100%}.quest-complete-section{margin-top:1rem}.quest-complete-banner{background:#064e3b;border:1px solid #065f46;border-radius:6px;padding:.5rem .75rem;margin-bottom:.5rem;color:#6ee7b7;font-size:.9rem}.claimed-summary{margin-top:.75rem;color:#9ca3af;font-size:.85rem}.quest-item-badge{background:#451a03;color:#fbbf24;font-size:.75rem;padding:2px 8px;border-radius:4px;margin-top:.25rem}.zone-npcs{margin-bottom:1.5rem}.zone-npcs h4{font-size:.8rem;text-transform:uppercase;color:#6b7280;margin:0 0 .5rem}.npc-chips{display:flex;flex-wrap:wrap;gap:.5rem}.npc-chip{background:#1e3a5f;border:1px solid #3b82f6;border-radius:20px;padding:.35rem .75rem;font-size:.85rem;color:#93c5fd;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .15s}.npc-chip:hover{background:#1e40af}.npc-chip-title{font-size:.7rem;color:#6b7280}.btn-shop{background:#78350f;border:1px solid #fbbf24;border-radius:8px;color:#fde68a;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-shop:hover{background:#92400e}.quest-journal{display:flex;flex-direction:column;height:100%;background:#1a1a2e;color:#e0e0e0}.qj-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #333}.qj-header h2{margin:0;color:#fbbf24;font-size:1.2rem}.qj-close{background:none;border:none;color:#9ca3af;font-size:1.2rem;cursor:pointer}.qj-tabs{display:flex;gap:.25rem;padding:.5rem 1rem;border-bottom:1px solid #2d2d4e}.qj-tab{background:none;border:1px solid #333;border-radius:4px;padding:.3rem .75rem;color:#9ca3af;cursor:pointer;font-size:.8rem;transition:all .15s}.qj-tab.active,.qj-tab:hover{background:#2d2d4e;color:#fbbf24;border-color:#fbbf24}.qj-loading,.qj-empty{padding:1.5rem;text-align:center;color:#6b7280;font-style:italic}.qj-list{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.qj-card{background:#16213e;border:1px solid #2d2d4e;border-radius:8px;overflow:hidden;transition:border-color .15s}.qj-card.active{border-color:#fbbf2440}.qj-card.completed{border-color:#4ade8040}.qj-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer}.qj-card-header:hover{background:#1e1e3a}.qj-card-title{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.qj-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.qj-name{font-weight:600;color:#e0e0e0;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qj-type-badge{font-size:.65rem;background:#374151;padding:1px 6px;border-radius:3px;color:#9ca3af;flex-shrink:0}.qj-expand{color:#6b7280;font-size:.7rem}.qj-card-body{padding:.75rem 1rem;border-top:1px solid #2d2d4e}.qj-description{color:#9ca3af;font-size:.85rem;line-height:1.5;margin-bottom:.75rem}.qj-locked{background:#1f2937;border:1px solid #374151;border-radius:6px;padding:.5rem .75rem;color:#6b7280;font-size:.8rem;margin-bottom:.75rem}.qj-objectives h4{font-size:.75rem;text-transform:uppercase;color:#6b7280;margin:0 0 .5rem}.qj-objective{margin-bottom:.5rem}.qj-obj-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.25rem}.qj-obj-check{font-size:.8rem}.qj-obj-text{flex:1;font-size:.8rem;color:#d1d5db}.qj-obj-count{font-size:.75rem;color:#6b7280}.qj-progress-bar{height:4px;background:#374151;border-radius:2px;overflow:hidden}.qj-progress-fill{height:100%;border-radius:2px;transition:width .3s}.qj-rewards{display:flex;gap:.75rem;margin-top:.75rem;font-size:.8rem;color:#9ca3af}.btn-turn-in{margin-top:.75rem;width:100%;padding:.5rem;background:#064e3b;border:1px solid #10b981;border-radius:6px;color:#6ee7b7;cursor:pointer;font-size:.85rem;font-weight:600;transition:background .15s}.btn-turn-in:hover{background:#065f46}.skill-panel{background:#2d1f00;border:2px solid #7c5c00;border-radius:6px;padding:.5rem;-webkit-user-select:none;user-select:none}.skill-panel-header{display:flex;align-items:center;gap:.75rem;padding:.25rem .5rem .5rem;border-bottom:1px solid #7c5c00;margin-bottom:.4rem}.skill-panel-title{font-weight:700;color:#fbbf24;font-size:.9rem;flex:1}.skill-panel-combat,.skill-panel-total{font-size:.72rem;color:#d97706}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.skill-cell{background:#3d2a00;border:1px solid #5c4000;border-radius:3px;display:flex;flex-direction:column;align-items:center;padding:4px 2px;gap:1px;cursor:default;transition:background .1s}.skill-cell:hover{background:#4d3500}.skill-icon{font-size:1rem;line-height:1}.skill-level{font-size:.8rem;font-weight:700;color:#fde68a;line-height:1}.skill-name{font-size:.55rem;color:#a37c00;text-align:center;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.skill-panel-loading{color:#6b7280;font-size:.8rem;padding:.5rem;font-style:italic}.achievement-diary{display:flex;height:100%;gap:0;background:#1a1a2e;border-radius:8px;overflow:hidden;min-height:500px}.diary-sidebar{width:180px;flex-shrink:0;background:#12122a;border-right:1px solid #2d2d4e;display:flex;flex-direction:column;overflow-y:auto}.diary-sidebar-title{padding:.75rem 1rem;font-size:.75rem;text-transform:uppercase;color:#6b7280;letter-spacing:.08em;margin:0;border-bottom:1px solid #2d2d4e}.diary-region-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:none;border:none;border-bottom:1px solid #1e1e38;cursor:pointer;text-align:left;width:100%;transition:background .1s;color:#9ca3af}.diary-region-btn:hover{background:#1e1e38;color:#e0e0e0}.diary-region-btn.active{background:#1e2a4a;color:#e0e0e0;border-left:3px solid #fbbf24}.diary-region-icon{font-size:1.1rem;flex-shrink:0}.diary-region-name{flex:1;font-size:.8rem;font-weight:500}.diary-region-progress{font-size:.7rem;color:#6b7280}.diary-main{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.diary-region-header{display:flex;align-items:flex-start;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid #2d2d4e}.diary-region-big-icon{font-size:2rem}.diary-region-title{margin:0;color:#fbbf24;font-size:1.1rem}.diary-region-desc{margin:.2rem 0 0;font-size:.8rem;color:#6b7280}.diary-claim-msg{padding:.4rem .75rem;border-radius:5px;font-size:.85rem}.diary-claim-msg.success{background:#1e3a1e;border:1px solid #4ade80;color:#4ade80}.diary-claim-msg.error{background:#3a1e1e;border:1px solid #f87171;color:#f87171}.diary-tiers{display:flex;flex-direction:column;gap:.75rem}.diary-tier{background:#16213e;border:1px solid #2d2d4e;border-radius:8px;overflow:hidden;transition:border-color .15s}.diary-tier.tier-done{border-color:#4ade8040;opacity:.85}.diary-tier.tier-claimable{border-color:var(--tier-color);box-shadow:0 0 8px color-mix(in srgb,var(--tier-color) 30%,transparent)}.diary-tier-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem .4rem}.diary-tier-icon{font-size:1rem}.diary-tier-name{font-weight:700;color:var(--tier-color);font-size:.9rem;flex:1}.diary-tier-count{font-size:.75rem;color:#6b7280}.diary-tier-badge{font-size:.7rem;padding:1px 6px;border-radius:3px}.diary-tier-badge.done{background:#1e3a1e;color:#4ade80}.diary-tier-bar{height:4px;background:#374151;margin:0 .75rem .6rem;border-radius:2px;overflow:hidden}.diary-tier-bar-fill{height:100%;border-radius:2px;transition:width .3s}.diary-tasks{padding:0 .75rem;display:flex;flex-direction:column;gap:.35rem;margin-bottom:.6rem}.diary-task{display:flex;align-items:baseline;gap:.4rem;font-size:.82rem;color:#d1d5db}.diary-task.done{color:#6b7280}.diary-task-check{font-size:.75rem;flex-shrink:0}.diary-task-desc{flex:1;line-height:1.3}.diary-task-count{font-size:.72rem;color:#9ca3af;white-space:nowrap}.diary-task{flex-wrap:wrap}.diary-task-goto{margin-left:auto;padding:.15rem .5rem;font-size:.72rem;background:#1e3a5f;color:#60a5fa;border:1px solid #2563eb;border-radius:4px;cursor:pointer;white-space:nowrap;transition:background .15s}.diary-task-goto:hover{background:#2563eb;color:#fff}.diary-task-goto.quest-goto{background:#3b2a1a;color:#fbbf24;border-color:#d97706}.diary-task-goto.quest-goto:hover{background:#d97706;color:#fff}.diary-reward{background:#0d0d1a;border-top:1px solid #2d2d4e;padding:.5rem .75rem;font-size:.8rem}.diary-reward-label{color:#6b7280;margin-right:.3rem}.diary-reward-text{color:#9ca3af}.diary-reward-nums{display:flex;gap:.75rem;margin-top:.35rem;flex-wrap:wrap}.diary-reward-nums span{color:#e0e0e0}.btn-claim-diary{display:block;width:calc(100% - 1.5rem);margin:.5rem .75rem .75rem;padding:.5rem;background:#064e3b;border:1px solid #10b981;border-radius:6px;color:#6ee7b7;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-claim-diary:hover:not(:disabled){background:#065f46}.btn-claim-diary:disabled{opacity:.5;cursor:default}.diary-loading,.diary-empty{padding:2rem;text-align:center;color:#6b7280;font-style:italic}.decision-tree-container{display:flex;flex-direction:column;height:100vh;max-height:100vh;overflow:hidden;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#e0e0e0}.decision-tree-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:2px solid #444;background:#0000004d;flex-shrink:0}.view-tabs{display:flex;gap:.5rem;padding:1rem 2rem;background:#0003;border-bottom:2px solid #444}.view-tab{padding:.75rem 1.5rem;border:none;background:#ffffff0d;color:#b8b8b8;cursor:pointer;border-radius:8px 8px 0 0;font-size:1rem;font-weight:600;transition:all .3s}.view-tab:hover{background:#ffffff1a;color:#fff}.view-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.header-left{flex:1;display:flex;align-items:center;gap:1rem}.back-link{color:#8cf;text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:4px;transition:all .2s}.back-link:hover{background:#88ccff1a;color:#adf}.header-center{flex:2;text-align:center}.header-center h1{margin:0;font-size:1.8rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.header-right{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:1rem}.character-badge{display:flex;flex-direction:column;align-items:flex-end;padding:.5rem 1rem;background:#64c8961a;border-radius:4px}.char-name{font-weight:700;color:#64c896}.char-level{font-size:.8rem;color:#8cf}.char-xp{font-size:.7rem;color:#9ca3af}.decision-tree-main{display:flex;flex:1;overflow:hidden;gap:2rem;padding:2rem}.game-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;padding-right:1rem}.game-area::-webkit-scrollbar{width:8px}.game-area::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.game-area::-webkit-scrollbar-thumb{background:#88ccff4d;border-radius:4px}.game-area::-webkit-scrollbar-thumb:hover{background:#88ccff80}.decision-node{background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border:2px solid #444;border-radius:8px;padding:2rem;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.node-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #555}.node-type-badge{display:flex;align-items:center;gap:.5rem;font-size:1rem}.node-type-badge span{font-size:.9rem;color:#8cf;font-weight:700}.location-tag{display:flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:#c8643233;border-radius:4px;font-size:.9rem;color:#d4a574}.node-title{font-size:2rem;margin:0 0 1.5rem;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.skill-check-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:#c8643226;border-left:4px solid #d4a574;border-radius:4px;margin-bottom:1.5rem;font-weight:700}.skill-label{color:#d4a574;font-size:1.1rem}.check-type{color:#b0b0b0;font-size:.9rem;margin-left:auto}.narrative-content{margin-bottom:1.5rem}.narrative-text{font-size:1.1rem;line-height:1.6;color:#1a1a1a;margin:0;font-style:italic;background:#fffffff2;padding:1rem;border-radius:6px}.rewards-section{margin-top:1.5rem;padding:1rem;background:#64c8961a;border-left:4px solid #64c896;border-radius:4px}.rewards-section h3{margin:0 0 1rem;color:#64c896;font-size:1rem}.rewards-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.reward-item{padding:.6rem;background:#0000004d;border-radius:4px;font-size:.9rem;display:flex;flex-direction:column;gap:.2rem}.reward-item.gold{border-left:3px solid #ffd700}.reward-item.xp{border-left:3px solid #88ccff}.reward-item.loot{border-left:3px solid #d4a574}.loot-desc{font-size:.8rem;color:#d0d0d0;display:block}.node-meta{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #555;font-size:.9rem}.meta-item{display:inline-block;padding:.3rem .6rem;background:#88ccff1a;border-radius:3px;color:#8cf}.meta-item.branching{background:#c864321a;color:#d4a574}.decision-count{text-align:center;margin-top:1rem;font-size:.9rem;color:#d0d0d0}.decision-choices{display:flex;flex-direction:column;gap:1rem}.choices-title{margin:0;font-size:1.3rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.choices-grid{display:grid;grid-template-columns:1fr;gap:1rem}.choice-button{position:relative;display:grid;align-items:center;gap:1rem;padding:1.2rem;background:linear-gradient(135deg,#2a3a4e,#1a2a3e);border:2px solid #444;border-radius:6px;color:#e0e0e0;cursor:pointer;transition:all .3s ease;text-align:left;font-family:inherit;font-size:1rem;overflow:hidden}.choice-button:hover:not(:disabled){border-color:#8cf;background:linear-gradient(135deg,#3a4a5e,#2a3a4e);box-shadow:0 0 15px #8cf3;transform:translate(5px)}.choice-button:disabled{opacity:.6;cursor:not-allowed}.choice-button.has-skill-check{border-color:#d4a574}.choice-button.has-skill-check:hover:not(:disabled){border-color:#e0c090;box-shadow:0 0 15px #d4a57433}.choice-button.hidden{opacity:.4;border-style:dashed}.choice-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#8cf3;border-radius:50%;font-weight:700;color:#8cf;font-size:1.1rem}.choice-button.has-skill-check .choice-number{background:#d4a57433;color:#d4a574}.choice-text-container{display:flex;flex-direction:column;gap:.3rem}.choice-text{font-weight:600;color:#fff;margin:0}.choice-flavor{font-size:.85rem;color:#b0b0b0;font-style:italic;margin:0}.skill-check-badge{display:flex;align-items:center;padding:.4rem .8rem;background:#d4a57426;border-radius:3px;font-size:.85rem;color:#d4a574;font-weight:700;white-space:nowrap}.item-requirement-badge{display:flex;align-items:center;padding:.4rem .8rem;background:#64c89626;border-radius:3px;font-size:.85rem;color:#64c896;white-space:nowrap}.outcome-indicator{font-size:1.2rem;opacity:.6;transition:opacity .3s}.choice-button:hover .outcome-indicator{opacity:1}.choices-note{margin-top:1rem;padding:.8rem;background:#d4a5741a;border-left:3px solid #d4a574;border-radius:4px;font-size:.9rem;color:#e8e8e8}.choices-note p{margin:0}.embedded-element{margin:1.5rem 0;padding:1.5rem;border-radius:6px;border-left:4px solid #88ccff;animation:slideIn .4s ease-out}.embedded-element h3{margin:0 0 .8rem;font-size:1.3rem;color:#fff}.embedded-element p{margin:.5rem 0;color:#e8e8e8;line-height:1.6}.map-section{background:linear-gradient(135deg,#6496c826,#6496c80d);border-left-color:#6496c8}.map-section h3{color:#8cf}.encounter-section{background:linear-gradient(135deg,#c8646426,#c864640d);border-left-color:#c86464}.encounter-section h3{color:#ff6b6b}.enemy-count{font-weight:700;color:#ff8a8a;margin-top:.8rem}.npc-section{background:linear-gradient(135deg,#9664c826,#9664c80d);border-left-color:#9964c8}.npc-section h3{color:#d4a5ff}.npc-role{font-style:italic;color:#444aaa;font-size:.95rem;margin-bottom:.5rem}.no-choices{text-align:center;padding:2rem;background:#0003;border-radius:6px;color:#d0d0d0}.skill-check-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.skill-check-modal{background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border:2px solid #444;border-radius:12px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #00000080;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:scale(.95) translateY(-20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #444}.modal-header h2{margin:0;color:#fff}.modal-close{background:none;border:none;color:#d0d0d0;font-size:1.5rem;cursor:pointer;transition:color .2s}.modal-close:hover{color:#fff}.modal-body{padding:2rem}.check-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background:#d4a5741a;border-radius:6px}.skill-name{font-size:1.2rem;color:#d4a574;font-weight:700}.difficulty-class{text-align:right;color:#b0b0b0;font-size:.9rem}.difficulty-class strong{color:#fff;font-size:1.1rem}.roll-area{min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}.roll-pending{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}.roll-prompt{color:#e8e8e8;font-size:1.1rem;margin:0;text-transform:capitalize}.roll-result{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;background:#0000004d;border-radius:8px;text-align:center}.roll-result.success{border:2px solid #64c896;box-shadow:0 0 20px #64c89633}.roll-result.failure{border:2px solid #ff6b6b;box-shadow:0 0 20px #ff6b6b33}.d20-display{display:flex;flex-direction:column;align-items:center;gap:.5rem}.d20-value{font-size:3rem;font-weight:700;color:#8cf}.d20-label{font-size:.9rem;color:#b0b0b0;text-transform:uppercase;letter-spacing:2px}.modifier-display{display:flex;align-items:baseline;gap:.3rem;font-size:1.5rem;font-weight:700;color:#64c896}.modifier-symbol{font-size:1.2rem}.roll-total{font-size:1.5rem;color:#d0d0d0;display:flex;align-items:center;gap:.5rem}.roll-total strong{color:#fff;font-size:2rem}.roll-status{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.status-badge{padding:.8rem 1.5rem;border-radius:6px;font-weight:700;font-size:1.1rem}.status-badge.success{background:#64c8964d;color:#64c896}.status-badge.failure{background:#ff6b6b4d;color:#ff6b6b}.margin-info,.dc-info{font-size:.9rem;color:#b0b0b0}.outcome-flavor{margin-top:1rem;padding-top:1rem;border-top:1px solid #555}.outcome-flavor p{margin:0;color:#e8e8e8;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #444}.btn{padding:.8rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s;font-size:1rem}.btn-primary{background:linear-gradient(135deg,#8cf,#6ad);color:#000}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #88ccff4d}.btn-secondary{background:#88ccff1a;color:#8cf;border:1px solid #88ccff}.btn-secondary:hover:not(:disabled){background:#8cf3}.btn-large{padding:1rem 2rem;font-size:1.2rem}.btn-small{padding:.5rem 1rem;font-size:.9rem}.decision-history-panel{width:350px;background:linear-gradient(135deg,#2a2a3e,#1a1a2e);border:1px solid #444;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 4rem);animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #444;flex-shrink:0}.panel-header h3{margin:0;color:#fff;font-size:1.1rem}.btn-close{background:none;border:none;color:#d0d0d0;font-size:1.3rem;cursor:pointer;transition:color .2s}.btn-close:hover{color:#fff}.history-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:1rem;background:#0003;border-bottom:1px solid #444;flex-shrink:0}.stat-item{display:flex;flex-direction:column;align-items:center;gap:.2rem}.stat-label{font-size:.75rem;color:#d0d0d0;text-transform:uppercase;letter-spacing:1px}.stat-value{font-size:1.3rem;font-weight:700;color:#8cf}.history-tabs{display:flex;border-bottom:1px solid #444;flex-shrink:0}.tab-button{flex:1;padding:.8rem;background:none;border:none;border-bottom:2px solid transparent;color:#d0d0d0;cursor:pointer;font-size:.9rem;font-weight:700;transition:all .2s}.tab-button.active{color:#8cf;border-bottom-color:#8cf}.tab-button:hover{color:#adf}.history-content{flex:1;overflow-y:auto;padding:1rem}.decisions-list,.checks-list,.items-list{display:flex;flex-direction:column;gap:.5rem}.decisions-list ul,.checks-list ul,.items-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.decision-entry,.check-entry,.item-entry{padding:.8rem;background:#0000004d;border-radius:4px;display:flex;gap:.8rem;align-items:flex-start;font-size:.9rem}.entry-number{min-width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#8cf3;border-radius:50%;color:#8cf;font-size:.8rem;font-weight:700;flex-shrink:0}.entry-content{flex:1;display:flex;flex-direction:column;gap:.3rem}.decision-text{margin:0;color:#e0e0e0;font-weight:500}.success-badge{display:inline-block;padding:.2rem .5rem;border-radius:3px;font-weight:700;font-size:.8rem;width:fit-content}.success-badge.success{background:#64c8964d;color:#64c896}.success-badge.failure{background:#ff6b6b4d;color:#ff6b6b}.roll-info{margin:0;font-size:.8rem;color:#b0b0b0}.check-skill{font-weight:700;color:#d4a574}.check-result{display:flex;gap:.5rem;align-items:center;flex:1}.roll-value{color:#8cf;font-weight:700}.dc-value{color:#b0b0b0;font-size:.85rem}.result-badge{padding:.2rem .4rem;border-radius:2px;font-size:.75rem;font-weight:700}.margin{color:#64c896;font-weight:700}.item-icon{font-size:1rem;min-width:1.5rem}.item-name{color:#e0e0e0}.empty-message{text-align:center;color:#d0d0d0;padding:1rem;margin:0;font-style:italic}.history-footer{padding:1rem;border-top:1px solid #444;flex-shrink:0}.completion-badge,.active-badge{padding:.6rem;border-radius:4px;text-align:center;font-weight:700;font-size:.9rem}.completion-badge{background:#64c89633;color:#64c896}.active-badge{background:#d4a57433;color:#d4a574}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;color:#e8e8e8;gap:2rem}.spinner{width:50px;height:50px;border:4px solid rgba(136,204,255,.2);border-top-color:#8cf;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state h2{color:#ff6b6b}.error-toast{position:fixed;bottom:1rem;right:1rem;background:linear-gradient(135deg,#3a2a2a,#2a1a1a);border:2px solid #ff6b6b;border-radius:6px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #00000080;animation:slideUp .3s ease-out;z-index:999}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.error-toast p{margin:0;color:#ff6b6b;font-weight:500}@media (max-width: 1200px){.decision-tree-main{flex-direction:column}.decision-history-panel{width:100%;max-height:300px}}@media (max-width: 768px){.decision-tree-header{flex-wrap:wrap;padding:1rem;gap:1rem}.header-center h1{font-size:1.3rem}.header-left,.header-right{flex:1;min-width:100%}.node-title{font-size:1.5rem}.choice-button{grid-template-columns:35px 1fr}.skill-check-badge,.item-requirement-badge,.outcome-indicator{grid-column:2}}.level-warning-banner{padding:.6rem 1.5rem;font-size:.9rem;font-weight:500;cursor:pointer;text-align:center;border-bottom:1px solid}.level-warning-danger{background:#7f1d1d33;border-color:#dc2626;color:#f87171}.level-warning-caution{background:#78350f33;border-color:#d97706;color:#fbbf24}.side-panels{display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.skill-panel-aside{width:220px}.consequence-toast{padding:.6rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;animation:fadeInOut 4s ease forwards}.consequence-toast.success{background:#1e3a1e;border:1px solid #4ade80;color:#4ade80}.consequence-toast.failure{background:#3a1e1e;border:1px solid #f87171;color:#f87171}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-8px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.quest-complete-panel{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #fbbf24;border-radius:12px;text-align:center;animation:questCompleteIn .4s ease}@keyframes questCompleteIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.qcp-icon{font-size:3rem;line-height:1}.qcp-title{margin:0;color:#fbbf24;font-size:1.6rem;font-weight:700}.qcp-name{margin:0;color:#e0e0e0;font-size:1rem}.qcp-rewards{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.qcp-reward{background:#2d2d4e;border:1px solid #4b5563;border-radius:6px;padding:.4rem 1rem;font-size:1rem;color:#e0e0e0;font-weight:600}.qcp-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.diary-tier-toast{padding:.6rem 1rem;background:#1c2a3a;border:1px solid #fbbf24;border-radius:8px;font-size:.88rem;color:#fde68a;animation:fadeInOut 6s ease forwards}.map-generator{padding:2rem;max-width:1600px;margin:0 auto}.terrain-map-generator{padding:2rem;max-width:1600px;margin:0 auto}.map-stats{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.map-stats h4{margin:0 0 .75rem;color:#2c3e50;font-size:1rem}.generator-header{margin-bottom:2rem}.generator-header h1{margin:0 0 .5rem;color:#2c3e50;font-size:2.5rem}.generator-header p{color:#495057;font-size:1.1rem}.generator-container{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:start}.controls-panel{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;position:sticky;top:2rem}.controls-panel h3{margin:0 0 1.5rem;color:#2c3e50;font-size:1.5rem}.control-group{margin-bottom:1.5rem}.control-group label{display:flex;flex-direction:column;gap:.5rem;color:#2c3e50;font-weight:600}.control-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;transition:all .3s ease}.control-group input[type=range]::-webkit-slider-thumb:hover{background:#764ba2;transform:scale(1.2)}.control-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;border:none;transition:all .3s ease}.control-group input[type=range]::-moz-range-thumb:hover{background:#764ba2;transform:scale(1.2)}.control-group input[type=range]:disabled{opacity:.5;cursor:not-allowed}.control-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;background:#fff;cursor:pointer;transition:border-color .3s ease}.control-group select:focus{outline:none;border-color:#667eea}.control-group select:disabled{opacity:.5;cursor:not-allowed;background:#f5f5f5}.checkbox-label{flex-direction:row!important;align-items:center;gap:.75rem!important;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.checkbox-label span{font-weight:600;color:#2c3e50}.btn-generate{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d;margin-bottom:1.5rem}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-generate:active:not(:disabled){transform:translateY(0)}.dungeon-stats{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.dungeon-stats h4{margin:0 0 .75rem;color:#2c3e50;font-size:1rem}.stat-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e0e0e0;color:#3d4246}.stat-row:last-child{border-bottom:none}.stat-row span:first-child{font-weight:600;color:#2c3e50}.legend{margin-bottom:1.5rem}.legend h4{margin:0 0 .75rem;color:#2c3e50;font-size:1rem}.legend-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#3d4246}.legend-color{width:24px;height:24px;border-radius:4px;border:1px solid #ccc}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.btn-export,.btn-save{width:100%;padding:.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-export{background:#3498db;color:#fff}.btn-export:hover{background:#2980b9;transform:translateY(-2px)}.btn-save{background:#27ae60;color:#fff}.btn-save:hover{background:#229954;transform:translateY(-2px)}.canvas-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;min-height:600px;display:flex;align-items:center;justify-content:center}.empty-state{text-align:center;color:#6c757d}.empty-state p{font-size:1.2rem;margin-bottom:2rem}.empty-icon{font-size:6rem;opacity:.3;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.canvas-wrapper{overflow:auto;max-width:100%;max-height:80vh;border:2px solid #e0e0e0;border-radius:8px;background:#34495e}.canvas-wrapper canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges}@media (max-width: 1200px){.generator-container{grid-template-columns:1fr}.controls-panel{position:static}}@media (max-width: 768px){.map-generator{padding:1rem}.generator-header h1{font-size:2rem}.controls-panel{padding:1.5rem}.canvas-container{padding:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0 0 1.5rem;color:#2c3e50}.modal-content .form-group{margin-bottom:1.5rem}.modal-content .form-group label{display:block;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .3s ease}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{outline:none;border-color:#667eea}.modal-content .form-group textarea{resize:vertical}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#3d4246}.btn-cancel:hover:not(:disabled){background:#d0d0d0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.btn-cancel:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed}.success-message{text-align:center;padding:2rem;color:#27ae60;font-size:1.2rem;font-weight:600}.map-viewer{display:flex;flex-direction:column;gap:1rem;height:100%}.map-viewer-empty{text-align:center;padding:4rem 2rem;color:#6c757d}.map-viewer-empty p{margin:.5rem 0}.map-controls{display:flex;gap:.5rem;align-items:center;padding:1rem;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.map-controls button{padding:.5rem 1rem;background:#fff;border:2px solid #e0e0e0;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease}.map-controls button:hover{background:#667eea;color:#fff;border-color:#667eea}.zoom-level{font-weight:600;color:#495057}.texture-controls{display:flex;align-items:center;gap:.75rem;margin-left:auto;padding-left:1rem;border-left:2px solid #e0e0e0}.texture-controls label{font-weight:600;color:#495057;font-size:.9rem}.texture-style-select{padding:.5rem .75rem;border:2px solid #e0e0e0;border-radius:6px;background:#fff;font-weight:600;cursor:pointer;transition:border-color .3s ease}.texture-style-select:focus{outline:none;border-color:#667eea}.texture-style-select:hover{border-color:#667eea}.grid-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.grid-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.grid-toggle span{font-weight:600;color:#495057}.canvas-viewer{flex:1;overflow:hidden;border:2px solid #e0e0e0;border-radius:8px;background:#34495e;cursor:grab;position:relative;display:flex;align-items:center;justify-content:center;min-height:400px}.canvas-viewer:active{cursor:grabbing}.canvas-viewer canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;max-width:100%;max-height:100%;object-fit:contain}.image-container{flex:1;overflow:auto;border:2px solid #e0e0e0;border-radius:8px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;padding:2rem}.image-container img{max-width:100%;height:auto;transition:transform .3s ease}.map-info{text-align:center;color:#495057;font-size:.9rem;padding:.5rem}@media (max-width: 768px){.map-controls{padding:.75rem}.map-controls button{font-size:.9rem;padding:.4rem .8rem}.zoom-level{margin-left:0;width:100%;text-align:center}}.map-view-page{padding:2rem;max-width:1600px;margin:0 auto;height:calc(100vh - 4rem);display:flex;flex-direction:column}.loading,.error{text-align:center;padding:4rem 2rem}.error h2{color:#c0392b;margin-bottom:1rem}.btn-back{display:inline-block;margin-top:2rem;padding:.75rem 1.5rem;background:#667eea;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s ease}.btn-back:hover{background:#764ba2;transform:translateY(-2px)}.map-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:1.5rem}.back-link{color:#667eea;text-decoration:none;font-weight:600;transition:all .3s ease}.map-header h1{margin:0 0 .5rem;color:#2c3e50;font-size:2rem}.map-meta{display:flex;gap:1rem;align-items:center}.map-type{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.map-size{color:#495057;font-size:.9rem}.map-description{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.map-description p{margin:0;color:#3d4246;line-height:1.6}.generate-section{background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem;border-radius:12px;text-align:center;margin-bottom:1.5rem;box-shadow:0 4px 12px #667eea4d}.btn-generate{padding:1rem 2rem;background:#fff;color:#667eea;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #00000026}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #0003}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.generate-hint{margin-top:1rem;margin-bottom:0;color:#fff;font-size:.9rem}.generate-hint a{color:#fff;text-decoration:underline;font-weight:600}.generate-hint a:hover{text-decoration:none}.regenerate-section{margin-bottom:1rem;text-align:center}.btn-regenerate{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-regenerate:hover:not(:disabled){background:#764ba2;transform:translateY(-2px)}.btn-regenerate:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.modal-content h2{margin:0 0 .5rem;color:#2c3e50}.modal-hint{color:#495057;margin:0 0 1.5rem;font-size:.9rem}.param-group{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.param-group label{display:flex;flex-direction:column;gap:.5rem;color:#2c3e50;font-weight:600}.param-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;cursor:pointer}.param-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer}.param-group input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#667eea;cursor:pointer;border:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.btn-cancel{padding:.75rem 1.5rem;background:#e0e0e0;color:#2c3e50;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-confirm{padding:.75rem 1.5rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-confirm:hover{background:#764ba2}.map-viewer-container{flex:1;background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.map-view-page{padding:1rem;height:calc(100vh - 2rem)}.map-header{flex-direction:column;gap:1rem}.header-left{flex-direction:column;align-items:flex-start;gap:.5rem}.map-header h1{font-size:1.5rem}.map-viewer-container{padding:1rem}}.characters-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.page-header h1{margin:0;color:#2c3e50;font-size:2rem;flex:1}.header-buttons{display:flex;gap:1rem;flex-wrap:wrap}.btn-templates,.btn-create,.btn-kids-wizard{padding:.5rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;font-size:.95rem}.btn-kids-wizard{background:linear-gradient(135deg,#ff6b9d,#ffa06b,#ffeb99);animation:kidsButtonGlow 3s ease-in-out infinite}@keyframes kidsButtonGlow{0%,to{box-shadow:0 4px 12px #ff6b9d66}50%{box-shadow:0 6px 20px #ffa06b99}}.btn-templates:hover,.btn-create:hover,.btn-kids-wizard:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-kids-wizard:hover{box-shadow:0 6px 20px #ff6b9d99}.templates-section{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.templates-section h2{margin:0 0 1rem;color:#2c3e50;font-size:1.5rem}.templates-description{color:#495057;margin:0 0 1.5rem;font-size:.95rem}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.template-card{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:12px;padding:1.5rem;border:2px solid #e0e0e0;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea33;border-color:#667eea}.template-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.template-header h3{margin:0;color:#2c3e50;font-size:1.3rem;flex:1}.template-category{background:#667eea;color:#fff;padding:.35rem .75rem;border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.template-description{color:#495057;font-size:.9rem;line-height:1.4;padding:.5rem;background:#fff;border-radius:6px}.template-stats{display:flex;gap:1rem;padding:1rem;background:#fff;border-radius:8px}.btn-clone{width:100%;padding:.75rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;margin-top:.5rem}.btn-clone:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-clone:active:not(:disabled){transform:translateY(0)}.btn-clone:disabled{opacity:.7;cursor:not-allowed}.loading,.error-message{text-align:center;padding:2rem;color:#495057}.error-message{background:#fee;color:#c33;border-radius:8px;margin-bottom:1rem}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-input{flex:2;min-width:250px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select{flex:1;min-width:150px;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:#667eea}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.empty-state h2{color:#2c3e50;margin-bottom:1rem}.empty-state p{color:#495057;margin-bottom:2rem}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.character-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.character-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.character-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.character-header h3{margin:0;color:#2c3e50;font-size:1.5rem}.character-level{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.character-info{display:flex;flex-direction:column;gap:.5rem}.info-row{display:flex;justify-content:space-between;align-items:center}.info-row .label{color:#495057;font-weight:600}.info-row .value{color:#2c3e50}.character-stats{display:flex;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-box{flex:1;text-align:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{font-size:.75rem;color:#495057;font-weight:600;text-transform:uppercase}.stat-value{font-size:1.25rem;color:#2c3e50;font-weight:700}.character-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:2px solid #f0f0f0}.btn-view,.btn-edit,.btn-delete{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;text-decoration:none;font-size:.9rem}.btn-view{background:#e3f2fd;color:#1976d2}.btn-view:hover{background:#1976d2;color:#fff}@media (max-width: 768px){.characters-page{padding:1rem}.page-header{flex-direction:column;gap:1rem;align-items:stretch}.page-header h1{flex:none}.header-buttons{flex-direction:column}.btn-templates,.btn-create{width:100%}.characters-grid,.templates-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.search-input,.filter-select{width:100%}.templates-section,.template-card{padding:1rem}.template-header{flex-direction:column;gap:.5rem}.template-category{align-self:flex-start}}.equipment-panel{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.equipment-panel h3{margin-top:0;margin-bottom:20px;color:#333;font-size:20px;border-bottom:2px solid #e5e7eb;padding-bottom:10px}.equipment-error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b;padding:12px;border-radius:6px;margin-bottom:15px;font-size:14px}.equipment-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-bottom:20px}.equipment-slot{border:2px solid #e5e7eb;border-radius:8px;padding:15px;background:#f9fafb}.slot-label{font-weight:700;color:#374151;margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.equipped-item{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:12px;border-radius:6px;border:1px solid #d1d5db;margin-bottom:8px}.equipped-item:last-child{margin-bottom:0}.equipped-items-list{margin-bottom:10px}.item-info{flex:1}.item-name{font-weight:600;color:#1f2937;margin-bottom:4px}.item-stats{font-size:13px;color:#6b7280}.btn-unequip{background:#ef4444;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background .2s}.btn-unequip:hover{background:#dc2626}.btn-unequip:disabled{background:#9ca3af;cursor:not-allowed}.empty-slot{display:flex;flex-direction:column;gap:10px}.empty-slot span{color:#9ca3af;font-style:italic;font-size:14px}.equip-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:border-color .2s}.equip-select:hover{border-color:#9ca3af}.equip-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.equip-select:disabled{background:#f3f4f6;cursor:not-allowed}.equipment-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-top:15px;border-top:2px solid #e5e7eb}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f3f4f6;border-radius:6px}.stat-label{font-weight:600;color:#6b7280;font-size:13px}.stat-value{font-size:18px;font-weight:700;color:#1f2937}body.dark-mode .equipment-panel{background:#1f2937;box-shadow:0 2px 8px #0000004d}body.dark-mode .equipment-panel h3{color:#f3f4f6;border-bottom-color:#374151}body.dark-mode .equipment-slot{background:#111827;border-color:#374151}body.dark-mode .slot-label{color:#d1d5db}body.dark-mode .equipped-item{background:#1f2937;border-color:#4b5563}body.dark-mode .item-stats{color:#9ca3af}body.dark-mode .empty-slot span{color:#6b7280}body.dark-mode .equip-select{background:#111827;color:#f3f4f6;border-color:#4b5563}body.dark-mode .equip-select:hover{border-color:#6b7280}body.dark-mode .stat-item{background:#111827}body.dark-mode .stat-label{color:#9ca3af}body.dark-mode .stat-value{color:#f3f4f6}@media (max-width: 768px){.equipment-panel{padding:12px;margin-bottom:0}.equipment-slots{grid-template-columns:1fr;gap:12px}.equipment-slot{padding:12px}.equipment-stats{grid-template-columns:1fr;gap:10px}}@media (max-width: 480px){.equipment-panel{padding:10px}.equipment-panel h3{font-size:18px;margin-bottom:15px}.equipment-slots{gap:10px}.equipment-slot{padding:10px}.slot-label{font-size:12px}.equipped-item{padding:10px;flex-direction:column;align-items:flex-start;gap:8px}.btn-unequip{width:100%}.equip-select{width:100%;font-size:13px}.item-name{font-size:14px}.item-stats{font-size:12px}}.spell-selector{display:flex;flex-direction:column;gap:2rem}.spell-selector-loading{text-align:center;padding:3rem;color:#6b7280;font-size:1.1rem}.spell-error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b;padding:12px;border-radius:6px;margin-bottom:1rem}.spell-slots-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem}.spell-slots-section h3{margin:0 0 1rem;color:#1f2937;font-size:1.3rem;border-bottom:2px solid #e5e7eb;padding-bottom:.75rem}.spell-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.spell-slot-item{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all .2s}.spell-slot-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.slot-level{font-weight:700;font-size:1rem;color:#374151;text-transform:uppercase;letter-spacing:.5px}.slot-bubbles{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.slot-bubble{font-size:1.5rem;line-height:1;transition:all .2s}.slot-bubble.available{color:#667eea}.slot-bubble.used{color:#d1d5db}.slot-count{font-weight:600;font-size:1.1rem;color:#667eea}.known-spells-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.known-spells-section h3{margin:0 0 1rem;color:#1f2937;font-size:1.3rem;border-bottom:2px solid #e5e7eb;padding-bottom:.75rem}.empty-message{text-align:center;color:#9ca3af;font-style:italic;padding:2rem}.known-spells-list{display:flex;flex-direction:column;gap:.75rem}.known-spell-item{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.known-spell-item:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.spell-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;background:#f9fafb}.spell-header:hover{background:#f3f4f6}.spell-main-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.spell-name{font-weight:700;font-size:1.1rem;color:#1f2937}.spell-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.spell-level{padding:.25rem .75rem;border-radius:4px;font-size:.85rem;font-weight:600;background:#e0e7ff;color:#3730a3}.spell-level.level-0{background:#f3f4f6;color:#6b7280}.spell-school{font-size:.85rem;color:#6b7280;font-weight:500}.spell-tag{padding:.2rem .6rem;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase}.spell-tag.ritual{background:#dbeafe;color:#1e40af}.spell-tag.concentration{background:#fef3c7;color:#92400e}.btn-remove-spell{background:#ef4444;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s}.btn-remove-spell:hover{background:#dc2626;transform:translateY(-1px)}.spell-details{padding:1rem;background:#fff;border-top:1px solid #e5e7eb}.spell-stats-row{display:flex;gap:1.5rem;margin-bottom:.75rem;font-size:.9rem;color:#374151;flex-wrap:wrap}.spell-components{margin-bottom:.75rem;font-size:.9rem;color:#374151}.spell-description{line-height:1.6;color:#4b5563;margin-bottom:.75rem}.spell-damage,.spell-healing{margin-top:.5rem;padding:.5rem;background:#f3f4f6;border-radius:4px;font-size:.9rem}.spell-damage{background:#fee2e2;color:#991b1b}.spell-healing{background:#dcfce7;color:#166534}.spell-library-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.spell-library-section h3{margin:0 0 1rem;color:#1f2937;font-size:1.3rem;border-bottom:2px solid #e5e7eb;padding-bottom:.75rem}.spell-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.spell-search{flex:1;min-width:200px;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s}.spell-search:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.filter-select{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:all .2s}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.spell-library-list{display:flex;flex-direction:column;gap:2rem}.spell-level-group{display:flex;flex-direction:column;gap:1rem}.level-header{margin:0;color:#1f2937;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.spell-count{font-size:.9rem;color:#6b7280;font-weight:400}.spell-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.spell-card{border:2px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fff;transition:all .2s;display:flex;flex-direction:column;gap:.75rem}.spell-card:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.spell-card.known{background:#f9fafb;border-color:#9ca3af;opacity:.7}.spell-card-header{display:flex;justify-content:space-between;align-items:start;gap:.5rem}.spell-card-name{font-weight:700;color:#1f2937;font-size:1rem}.spell-card-school{font-size:.8rem;color:#6b7280;font-weight:500}.spell-card-tags{display:flex;gap:.3rem;flex-wrap:wrap}.tag-small{padding:.15rem .4rem;border-radius:3px;font-size:.7rem;font-weight:600;background:#f3f4f6;color:#4b5563}.tag-small.ritual{background:#dbeafe;color:#1e40af}.tag-small.concentration{background:#fef3c7;color:#92400e}.spell-card-description{font-size:.85rem;color:#6b7280;line-height:1.5;flex:1}.btn-add-spell{background:#667eea;color:#fff;border:none;padding:.6rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s;width:100%}.btn-add-spell:hover:not(:disabled){background:#5568d3;transform:translateY(-1px)}.btn-add-spell:disabled,.btn-add-spell.disabled{background:#9ca3af;cursor:not-allowed;transform:none}body.dark-mode .spell-slots-section,body.dark-mode .known-spells-section,body.dark-mode .spell-library-section{background:#1f2937;box-shadow:0 2px 8px #0000004d}body.dark-mode .spell-slots-section h3{color:#f3f4f6;border-bottom-color:#374151}body.dark-mode .spell-slot-item{background:#111827;border-color:#374151}body.dark-mode .spell-slot-item:hover{border-color:#818cf8}body.dark-mode .slot-level{color:#d1d5db}body.dark-mode .slot-bubble.available,body.dark-mode .slot-count{color:#818cf8}body.dark-mode .known-spells-section h3,body.dark-mode .spell-library-section h3,body.dark-mode .spell-name,body.dark-mode .spell-card-name,body.dark-mode .level-header{color:#f3f4f6;border-bottom-color:#374151}body.dark-mode .known-spell-item,body.dark-mode .spell-card{border-color:#374151;background:#111827}body.dark-mode .spell-header{background:#1f2937}body.dark-mode .spell-header:hover{background:#111827}body.dark-mode .spell-details{background:#111827;border-top-color:#374151}body.dark-mode .spell-description,body.dark-mode .spell-card-description{color:#9ca3af}body.dark-mode .spell-search,body.dark-mode .filter-select{background:#111827;border-color:#374151;color:#f3f4f6}body.dark-mode .spell-card.known{background:#1f2937;border-color:#4b5563}@media (max-width: 768px){.spell-slots-grid{grid-template-columns:1fr}.spell-filters{flex-direction:column}.spell-search{min-width:100%}.spell-grid{grid-template-columns:1fr}.spell-stats-row{flex-direction:column;gap:.5rem}.btn-remove-spell{width:100%;margin-top:.5rem}}.character-sheet{min-height:100vh;background:#f5f5f5;padding:2rem}.loading,.error-container{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;margin:2rem auto;max-width:600px}.btn-back{display:inline-block;padding:.75rem 1.5rem;background:#667eea;color:#fff;text-decoration:none;border-radius:8px;font-weight:600;margin-top:1rem}.sheet-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.back-link{color:#667eea;text-decoration:none;font-weight:600;transition:color .3s ease}.back-link:hover{color:#764ba2}.header-actions{display:flex;gap:.75rem}.btn-edit,.btn-delete{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-edit{background:#fff3e0;color:#e65100}.btn-edit:hover{background:#e65100;color:#fff}.btn-delete{background:#ffebee;color:#c62828}.btn-delete:hover{background:#c62828;color:#fff}.character-title h1{margin:0 0 .5rem;color:#2c3e50;font-size:2.5rem;font-weight:700}.character-subtitle{color:#495057;font-size:1.25rem;font-weight:500;margin-bottom:.5rem}.character-background{color:#6c757d;font-size:1rem}.header-stats{display:flex;gap:2rem;margin-top:1.5rem;flex-wrap:wrap}.header-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:#f8f9fa;border-radius:8px;border:2px solid #e0e0e0}.header-stat.inspiration{background:linear-gradient(135deg,gold,#ffed4e);border-color:gold}.header-stat .stat-label{font-size:.85rem;color:#495057;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.header-stat .stat-value{font-size:1.5rem;font-weight:700;color:#2c3e50;margin-top:.25rem}.sheet-page-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.sheet-page-tab{background:none;border:none;border-bottom:3px solid transparent;padding:.6rem 1.4rem;font-size:1rem;font-weight:600;color:#6c757d;cursor:pointer;margin-bottom:-2px;transition:color .15s}.sheet-page-tab:hover{color:#2c3e50}.sheet-page-tab.active{color:#667eea;border-bottom-color:#667eea}.sheet-body{display:grid;grid-template-columns:240px 1fr 320px;gap:1.5rem;align-items:start;max-width:100%;margin:0;padding:0 1.5rem 2rem}.left-column{grid-column:1}.center-column{grid-column:2}.features-column,.inventory-column,.spells-column,.bio-column{grid-column:3}.sheet-column{display:flex;flex-direction:column;gap:1.5rem}.desktop-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem}.desktop-tab{background:none;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.desktop-tab:hover{color:#374151;background:#00000005}.desktop-tab.active{color:#667eea;border-bottom-color:#667eea}body.dark-mode .desktop-tabs{border-bottom-color:#374151}body.dark-mode .desktop-tab{color:#9ca3af}body.dark-mode .desktop-tab:hover{color:#d1d5db;background:#ffffff0d}body.dark-mode .desktop-tab.active{color:#818cf8;border-bottom-color:#818cf8}.sheet-column>div{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.sheet-column h2{margin:0 0 1rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:1.25rem;font-weight:700}.abilities-section{display:flex;flex-direction:column;gap:.75rem}.ability-score{background:#f8f9fa;border:3px solid #e0e0e0;border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.ability-score:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.ability-name{font-weight:700;color:#667eea;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.ability-modifier{font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:.25rem}.ability-value{font-size:1rem;color:#6c757d;font-weight:600;margin-bottom:.75rem}.saving-throw{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-top:.75rem;border-top:2px solid #e0e0e0;font-size:.85rem;font-weight:600;color:#495057}.saving-throw input[type=checkbox]{margin:0;cursor:not-allowed}.skills-list{display:flex;flex-direction:column;gap:.5rem}.skill-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f8f9fa;border-radius:6px;transition:background .3s ease}.skill-item:hover{background:#e8eaf6}.skill-prof{font-size:1.25rem;width:24px;text-align:center;color:#667eea}.skill-name{flex:1;font-weight:500;color:#2c3e50}.skill-bonus{font-weight:700;color:#667eea;min-width:40px;text-align:right}.prof-group{margin-bottom:.75rem;line-height:1.6;color:#3d4246}.prof-group strong{color:#2c3e50}.combat-stats{display:flex;flex-direction:column;gap:1.5rem}.combat-row{display:flex;gap:1.5rem}.combat-stat{flex:1;text-align:center}.ac-stat{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem 1rem;border-radius:12px;box-shadow:0 4px 12px #667eea4d}.stat-value-large{font-size:3rem;font-weight:700;margin-bottom:.5rem}.stat-label-large{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.hp-stat{background:#f8f9fa;border:3px solid #e0e0e0;padding:1.5rem 1rem;border-radius:12px}.hp-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.hp-controls button{width:40px;height:40px;border:2px solid #e0e0e0;background:#fff;border-radius:50%;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .3s ease;color:#667eea}.hp-controls button:hover{background:#667eea;color:#fff;border-color:#667eea}.hp-display{display:flex;align-items:baseline;gap:.5rem}.hp-current{font-size:2.5rem;font-weight:700;color:#2c3e50}.hp-separator{font-size:1.5rem;color:#6c757d}.hp-max{font-size:1.5rem;color:#6c757d;font-weight:600}.hp-bar{width:100%;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden;margin-bottom:.75rem}.hp-bar-fill{height:100%;transition:width .3s ease,background .3s ease;border-radius:6px}.temp-hp{font-size:.9rem;color:#3498db;font-weight:600;margin-top:.5rem}.hit-dice-stat,.death-saves{background:#f8f9fa;border:2px solid #e0e0e0;padding:1rem;border-radius:8px;flex:1}.hit-dice-stat .stat-label,.death-saves .stat-label{font-size:.85rem;font-weight:600;color:#495057;text-transform:uppercase;margin-bottom:.5rem}.hit-dice-stat .stat-value{font-size:1.25rem;font-weight:700;color:#2c3e50}.saves-row{display:flex;flex-direction:column;gap:.5rem}.saves-group{display:flex;justify-content:space-between;align-items:center}.saves-group span:first-child{font-size:.85rem;color:#495057;font-weight:600}.save-bubbles{display:flex;gap:.25rem}.save-bubbles span{font-size:1.25rem;color:#e0e0e0}.save-bubbles span.filled{color:#27ae60}.features-content,.personality-item,.appearance-content,.backstory-content,.notes-content{white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;line-height:1.6;color:#3d4246}.personality-item{margin-bottom:.75rem}.personality-item:last-child{margin-bottom:0}.personality-item strong{color:#2c3e50}.currency-list{display:flex;flex-direction:column;gap:.5rem}.currency-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background:#f8f9fa;border-radius:6px;font-weight:600;color:#2c3e50}.coin{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff}.coin.pp{background:linear-gradient(135deg,silver,#e8e8e8);color:#333}.coin.gp{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914}.coin.ep{background:linear-gradient(135deg,#7c9982,#a8c5af)}.coin.sp{background:linear-gradient(135deg,#999,#ccc);color:#333}.coin.cp{background:linear-gradient(135deg,#b87333,#d4915c)}.actions-tab-content,.spells-tab-content,.equipment-tab-content{display:flex;flex-direction:column;gap:1.5rem}.attacks-section,.actions-section,.other-items-section,.wealth-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.attacks-list,.items-list{display:flex;flex-direction:column;gap:.75rem}.attack-item,.action-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:all .2s}.attack-item:hover,.action-item:hover{background:#f3f4f6;border-color:#d1d5db}.attack-name,.action-name{font-weight:600;font-size:1.1rem;color:#1f2937;margin-bottom:.5rem}.attack-stats,.action-stats{display:flex;gap:1rem;flex-wrap:wrap;font-size:.9rem;color:#6b7280}.attack-stats span,.action-stats span{background:#e5e7eb;padding:.25rem .75rem;border-radius:4px;font-weight:500}.attack-bonus{background:#dbeafe!important;color:#1e40af!important}.attack-damage{background:#fee2e2!important;color:#991b1b!important}.attack-type{background:#e0e7ff!important;color:#3730a3!important}.item-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:.5rem}.item-row:last-child{margin-bottom:0}.item-name{font-weight:600;color:#1f2937;flex:1}.item-quantity{color:#6b7280;font-weight:500}body.dark-mode .attacks-section,body.dark-mode .actions-section,body.dark-mode .other-items-section,body.dark-mode .wealth-section{background:#1f2937;box-shadow:0 2px 8px #0000004d}body.dark-mode .attack-item,body.dark-mode .action-item{background:#111827;border-color:#374151}body.dark-mode .attack-item:hover,body.dark-mode .action-item:hover{background:#1f2937;border-color:#4b5563}body.dark-mode .attack-name,body.dark-mode .action-name{color:#f3f4f6}body.dark-mode .attack-stats span,body.dark-mode .action-stats span{background:#374151;color:#d1d5db}body.dark-mode .item-row{background:#111827;border-color:#374151}body.dark-mode .item-name{color:#f3f4f6}body.dark-mode .item-quantity{color:#9ca3af}.spellcasting-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin-bottom:1.5rem}.spell-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.spell-stat{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f8f9fa;border-radius:8px;text-align:center}.spell-stat .label{font-weight:600;font-size:.85rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.spell-stat .value{font-weight:700;font-size:1.5rem;color:#667eea}.no-spellcasting{background:#fff;border-radius:12px;padding:3rem 1.5rem;box-shadow:0 2px 8px #0000001a;text-align:center}.no-spellcasting p{color:#9ca3af;font-style:italic;font-size:1.1rem}body.dark-mode .spellcasting-section,body.dark-mode .no-spellcasting{background:#1f2937;box-shadow:0 2px 8px #0000004d}body.dark-mode .spellcasting-section h2{color:#f3f4f6}body.dark-mode .spell-stat{background:#111827}body.dark-mode .spell-stat .label{color:#9ca3af}body.dark-mode .spell-stat .value{color:#818cf8}body.dark-mode .no-spellcasting p{color:#6b7280}.spell-selection-notice{background:#667eea1a;border:2px solid rgba(102,126,234,.3);border-radius:12px;padding:2rem;text-align:center;margin-top:1rem}.spell-selection-notice h3{margin:0 0 1rem;color:#667eea}.spell-selection-notice p{margin:.5rem 0;color:#2c3e50}.no-spellcasting,.empty-bio{background:#0000000d;padding:2rem;border-radius:12px;text-align:center;color:#666}.mobile-tabs{display:none;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:1.5rem;padding:0 2rem}.tab-button{background:#fff;border:2px solid #e0e0e0;color:#666;padding:12px 8px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff;box-shadow:0 4px 12px #667eea4d}@media (max-width: 1200px){.sheet-body{grid-template-columns:1fr}.abilities-section{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}}@media (max-width: 768px){.character-sheet{padding:.5rem}.sheet-header{padding:1rem;margin-bottom:.5rem}.header-top{margin-bottom:.5rem;padding-bottom:.5rem}.character-title h1{font-size:1.5rem;margin-bottom:.25rem}.character-subtitle{font-size:1rem;margin-bottom:.25rem}.character-background{font-size:.9rem}.header-stats{gap:.5rem;margin-top:.75rem;display:grid!important;grid-template-columns:repeat(2,1fr)}.header-stat{padding:.5rem;font-size:.85rem}.header-stat .stat-label{font-size:.7rem}.header-stat .stat-value{font-size:1.1rem;margin-top:.1rem}.desktop-tabs{display:none!important}.mobile-tabs{display:grid!important;margin-bottom:.75rem;padding:0 .5rem}.sheet-column{display:none!important}.sheet-column.active{display:flex!important}.abilities-section{grid-template-columns:repeat(2,1fr)}.combat-row{flex-direction:column}.sheet-column>div{padding:1rem}.tab-button{font-size:11px;padding:8px 4px}}@media (max-width: 480px){.character-sheet{padding:.25rem}.sheet-header{padding:.75rem}.character-title h1{font-size:1.25rem}.character-subtitle{font-size:.9rem}.character-background{font-size:.8rem}.header-stat{padding:.4rem}.header-stat .stat-label{font-size:.65rem}.header-stat .stat-value{font-size:1rem}.mobile-tabs{padding:0 .25rem;gap:4px}.tab-button{font-size:10px;padding:6px 3px}}.character-form-new{padding:2rem;max-width:1200px;margin:0 auto}.form-header{margin-bottom:2rem}.form-header h1{margin:0;color:#2c3e50;font-size:2rem}.loading{text-align:center;padding:3rem;color:#495057}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #c62828}.form-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0;flex-wrap:wrap}.form-tabs button{padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;color:#495057;font-weight:600;cursor:pointer;transition:all .3s ease}.form-tabs button:hover{color:#667eea;background:#667eea0d}.form-tabs button.tab-active{color:#667eea;border-bottom-color:#667eea}.character-form-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:2rem}.form-tab-content h2{margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:1.25rem}.form-tab-content h2:not(:first-child){margin-top:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff;color:#2c3e50}.form-group select option{color:#2c3e50;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin:0;cursor:pointer}.help-text{color:#495057;font-size:.9rem;font-style:italic;margin-top:1rem}.abilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:2rem}.ability-box{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:1rem;text-align:center;transition:all .3s ease}.ability-box:hover{border-color:#667eea;box-shadow:0 4px 12px #667eea26}.ability-box label{display:block;font-weight:700;color:#667eea;text-transform:uppercase;font-size:.85rem;margin-bottom:.5rem}.ability-box input{width:100%;text-align:center;font-size:1.5rem;font-weight:700;padding:.5rem;margin-bottom:.5rem}.ability-modifier{font-size:1.25rem;font-weight:700;color:#2c3e50;margin-bottom:.75rem;padding:.5rem;background:#fff;border-radius:8px}.saving-throw{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.saving-throw label{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;text-transform:none;color:#495057}.saving-throw input[type=checkbox]{width:auto;margin:0;cursor:pointer}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}.skill-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8f9fa;border-radius:8px;border:2px solid transparent;transition:all .3s ease}.skill-row:hover{border-color:#e0e0e0}.skill-name{font-weight:600;color:#2c3e50}.skill-ability{margin-left:.5rem;font-size:.85rem;color:#6c757d;font-weight:400}.skill-buttons{display:flex;gap:.5rem}.skill-buttons button{width:32px;height:32px;border:2px solid #e0e0e0;background:#fff;border-radius:6px;font-weight:700;cursor:pointer;transition:all .3s ease;color:#495057}.skill-buttons button:hover{border-color:#667eea;color:#667eea}.skill-buttons button.active{background:#667eea;border-color:#667eea;color:#fff}.form-actions{padding-top:2rem;margin-top:2rem;border-top:2px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end}.btn-cancel,.btn-submit{padding:.75rem 2rem;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-cancel{background:#e0e0e0;color:#2c3e50}.btn-cancel:hover{background:#d0d0d0}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.character-form-new{padding:1rem}.form-tabs{gap:.25rem}.form-tabs button{padding:.75rem 1rem;font-size:.9rem}.character-form-content{padding:1.5rem}.form-row{grid-template-columns:1fr}.abilities-grid{grid-template-columns:repeat(2,1fr)}.skills-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%}}.kids-wizard-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);background-size:400% 400%;animation:gradientShift 15s ease infinite;padding:20px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.kids-wizard-container:before{content:"✨";position:absolute;font-size:30px;animation:float 6s ease-in-out infinite;top:10%;left:10%;opacity:.6}.kids-wizard-container:after{content:"⭐";position:absolute;font-size:25px;animation:float 8s ease-in-out infinite;top:70%;right:15%;opacity:.6}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.kids-wizard-content{background:#fff;border-radius:30px;padding:40px;max-width:900px;width:100%;box-shadow:0 20px 60px #0000004d;position:relative;z-index:1}.wizard-progress{display:flex;justify-content:center;gap:20px;margin-bottom:40px}.progress-bubble{width:50px;height:50px;border-radius:50%;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;transition:all .3s ease;box-shadow:0 4px 10px #0003}.progress-bubble.active{background:linear-gradient(135deg,#4caf50,#8bc34a);box-shadow:0 6px 20px #4caf5080}.wizard-step{min-height:500px;display:flex;flex-direction:column;align-items:center}.wizard-title{font-size:36px;color:#333;text-align:center;margin-bottom:40px;display:flex;align-items:center;gap:15px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.title-icon{font-size:48px;color:#667eea;animation:bounce 2s ease infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;width:100%;margin-bottom:30px}.kids-wizard-container .character-card{background:#fff;border:4px solid #ddd;border-radius:20px;padding:25px 15px;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.kids-wizard-container .character-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.3));opacity:0;transition:opacity .3s ease}.kids-wizard-container .character-card:hover:before{opacity:1}.kids-wizard-container .character-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0003}.character-icon-wrapper{width:100px;height:100px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;position:relative;box-shadow:0 4px 15px #0003}.character-icon{font-size:60px;color:#fff}.character-emoji{font-size:40px;margin:10px 0;animation:wiggle 1s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.kids-wizard-container .character-card h3{font-size:24px;color:#333;margin:10px 0;font-weight:700}.kids-wizard-container .character-card p{font-size:16px;color:#666;margin:5px 0}.emoji-icon{background:none!important;box-shadow:none!important}.race-emoji{font-size:80px;line-height:1}.name-step{justify-content:center}.name-preview-card{position:relative;width:200px;height:200px;margin:20px auto 40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 10px 40px #667eea66}.preview-class-icon{font-size:100px;position:absolute}.preview-race-emoji{font-size:60px;position:absolute;bottom:10px;right:10px;background:#fff;border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0003}.name-form{width:100%;max-width:500px;display:flex;flex-direction:column;gap:20px}.name-input{font-size:28px;padding:20px;border:4px solid #667eea;border-radius:15px;text-align:center;font-weight:700;color:#333;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.name-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 20px #4caf5066;transform:scale(1.02)}.name-input::placeholder{color:#aaa}.next-button,.create-hero-button{font-size:24px;padding:20px 40px;border:none;border-radius:15px;background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #4caf5066}.next-button:hover,.create-hero-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #4caf5099}.next-button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.back-button{font-size:18px;padding:12px 25px;border:2px solid #666;border-radius:10px;background:#fff;color:#666;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:20px}.back-button:hover:not(:disabled){background:#f0f0f0;border-color:#333;color:#333}.back-button:disabled{opacity:.5;cursor:not-allowed}.confirmation-step{justify-content:center}.final-preview-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;padding:40px;margin:30px 0;box-shadow:0 15px 50px #0000004d;text-align:center;color:#fff}.final-hero-display{position:relative;width:200px;height:200px;margin:0 auto 30px;display:flex;align-items:center;justify-content:center}.final-class-icon{font-size:140px;filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}.final-race-emoji{font-size:70px;position:absolute;bottom:0;right:0;background:#fff;border-radius:50%;width:90px;height:90px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0000004d}.hero-name{font-size:48px;font-weight:700;margin:20px 0;text-shadow:3px 3px 6px rgba(0,0,0,.3);color:#fff;animation:glow 2s ease-in-out infinite}.hero-details{display:flex;gap:15px;justify-content:center;margin:20px 0}.detail-badge{padding:12px 25px;border-radius:25px;font-size:20px;font-weight:700;color:#fff;box-shadow:0 4px 15px #0003;text-transform:uppercase;letter-spacing:1px}.hero-tagline{font-size:22px;margin-top:15px;opacity:.9}.final-buttons{display:flex;flex-direction:column;align-items:center;gap:15px}.create-hero-button{font-size:28px;padding:25px 50px}.spell-subtitle{font-size:18px;color:#666;text-align:center;margin-bottom:30px}.spells-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%;margin-bottom:30px}.spell-card{background:#fff;border:4px solid #ddd;border-radius:20px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:center;position:relative;box-shadow:0 4px 15px #0000001a}.spell-card.selected{border-color:#4caf50;background:#e8f5e9;transform:translateY(-5px);box-shadow:0 8px 25px #4caf504d}.spell-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0003}.spell-emoji{font-size:60px;margin:10px 0;animation:float 3s ease-in-out infinite}.spell-card h3{font-size:22px;color:#333;margin:15px 0 10px;font-weight:700}.spell-description{font-size:16px;color:#666;margin:10px 0}.spell-damage{font-size:18px;color:#667eea;font-weight:700;margin-top:10px;padding:8px;background:#667eea1a;border-radius:10px}.spell-check{position:absolute;top:10px;right:10px;width:40px;height:40px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;font-weight:700;box-shadow:0 4px 10px #4caf5066}.spell-counter{font-size:24px;font-weight:700;color:#667eea;text-align:center;margin:20px 0;padding:15px;background:#667eea1a;border-radius:15px}@media (max-width: 768px){.kids-wizard-content{padding:30px 20px}.character-grid{grid-template-columns:repeat(2,1fr);gap:15px}.wizard-title{font-size:28px;flex-direction:column;gap:10px}.character-icon-wrapper{width:80px;height:80px}.character-icon{font-size:50px}.character-emoji{font-size:30px}.kids-wizard-container .character-card h3{font-size:20px}.kids-wizard-container .character-card p{font-size:14px}.spells-grid{grid-template-columns:1fr}.spell-card{padding:15px}.spell-emoji{font-size:50px}.spell-card h3{font-size:18px}.spell-description{font-size:14px}.name-input{font-size:24px;padding:15px}.hero-name{font-size:36px}.final-class-icon{font-size:100px}}@media (max-width: 480px){.character-grid{grid-template-columns:1fr}.progress-bubble{width:40px;height:40px;font-size:18px}.wizard-title{font-size:24px}.title-icon{font-size:36px}.name-preview-card{width:150px;height:150px}.preview-class-icon{font-size:70px}.preview-race-emoji{width:50px;height:50px;font-size:40px}}body.dark-mode .kids-wizard-content{background:#2c2c2c;color:#e9ecef}body.dark-mode .wizard-title{color:#e9ecef}body.dark-mode .kids-wizard-container .character-card{background:#3a3a3a;border-color:#555}body.dark-mode .kids-wizard-container .character-card h3{color:#e9ecef}body.dark-mode .kids-wizard-container .character-card p{color:#bbb}body.dark-mode .name-input{background:#3a3a3a;color:#e9ecef;border-color:#667eea}body.dark-mode .back-button{background:#3a3a3a;border-color:#888;color:#e9ecef}body.dark-mode .back-button:hover:not(:disabled){background:#4a4a4a}.kids-character-sheet{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);padding:30px 20px}.kids-sheet-header{text-align:center;margin-bottom:40px}.kids-sheet-header h1{font-size:48px;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.3);margin-bottom:20px;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{text-shadow:3px 3px 6px rgba(0,0,0,.3)}50%{text-shadow:0 0 20px rgba(255,255,255,.8),3px 3px 6px rgba(0,0,0,.3)}}.character-badges{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.character-badges span{padding:10px 20px;border-radius:25px;font-size:18px;font-weight:700;color:#fff;box-shadow:0 4px 15px #0003}.badge-race{background:linear-gradient(135deg,#ff6b9d,#ffa06b)}.badge-class{background:linear-gradient(135deg,#4caf50,#8bc34a)}.badge-level{background:linear-gradient(135deg,#667eea,#764ba2)}.kids-main-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;max-width:1200px;margin-left:auto;margin-right:auto}.big-stat-card{background:#fff;border-radius:25px;padding:30px;text-align:center;box-shadow:0 8px 25px #0003;transition:transform .3s ease}.big-stat-card:hover{transform:translateY(-5px)}.hp-card{background:linear-gradient(135deg,#ff6b9d,#ffa06b);color:#fff}.big-stat-emoji{font-size:60px;margin-bottom:15px}.big-stat-label{font-size:18px;font-weight:700;margin-bottom:10px;opacity:.9}.big-stat-value{font-size:36px;font-weight:700}.health-bar{width:100%;height:15px;background:#ffffff4d;border-radius:10px;margin-top:15px;overflow:hidden}.health-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;transition:width .3s ease}.kids-section{background:#fff;border-radius:25px;padding:30px;box-shadow:0 8px 25px #0003;max-width:1200px;margin-left:auto;margin-right:auto;margin-bottom:25px}.kids-section h2{font-size:32px;color:#333;margin-bottom:25px;text-align:center}.kids-abilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.ability-card{background:linear-gradient(135deg,#f5f7fa,#e4e8ec);border-radius:20px;padding:25px;text-align:center;border:3px solid #ddd;transition:all .3s ease}.ability-card:hover{transform:translateY(-5px);border-color:#667eea;box-shadow:0 8px 20px #667eea4d}.ability-emoji{font-size:50px;margin-bottom:10px}.ability-name{font-size:20px;font-weight:700;color:#666;margin-bottom:10px}.ability-value{font-size:40px;font-weight:700;color:#333}.kids-spells-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.kids-spell-card{background:linear-gradient(135deg,#fff,#f5f7fa);border:4px solid #667eea;border-radius:20px;padding:25px;text-align:center;transition:all .3s ease}.kids-spell-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea66}.spell-emoji-large{font-size:70px;margin-bottom:15px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.kids-spell-card h3{font-size:24px;color:#333;margin-bottom:10px;font-weight:700}.spell-desc{font-size:16px;color:#666;margin-bottom:15px}.spell-roll{font-size:22px;font-weight:700;color:#667eea;padding:10px;background:#667eea1a;border-radius:10px}.kids-actions{display:flex;gap:20px;justify-content:center;margin-top:30px;flex-wrap:wrap;max-width:1200px;margin-left:auto;margin-right:auto}.btn-back-kids,.btn-edit-kids{padding:15px 40px;border-radius:15px;font-size:20px;font-weight:700;text-decoration:none;transition:all .3s ease;box-shadow:0 6px 20px #0003}.btn-back-kids{background:#fff;color:#667eea;border:3px solid #667eea}.btn-back-kids:hover{background:#667eea;color:#fff;transform:translateY(-3px)}.btn-edit-kids{background:linear-gradient(135deg,#4caf50,#8bc34a);color:#fff;border:none}.btn-edit-kids:hover{transform:translateY(-3px);box-shadow:0 8px 25px #4caf5066}.kids-sheet-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb)}.loading,.error-message{font-size:32px;color:#fff;text-align:center;padding:40px;background:#0003;border-radius:25px;box-shadow:0 8px 25px #0000004d}@media (max-width: 768px){.kids-main-stats{grid-template-columns:1fr}.kids-abilities-grid{grid-template-columns:repeat(2,1fr)}.kids-spells-grid{grid-template-columns:1fr}.kids-sheet-header h1{font-size:36px}.big-stat-emoji{font-size:50px}.big-stat-value{font-size:28px}.kids-section{padding:20px}.kids-section h2{font-size:26px}}@media (max-width: 480px){.kids-abilities-grid{grid-template-columns:1fr}.character-badges{flex-direction:column;align-items:center}.kids-actions{flex-direction:column}.btn-back-kids,.btn-edit-kids{width:100%;text-align:center}}body.dark-mode .big-stat-card:not(.hp-card){background:#2c2c2c;color:#e9ecef}body.dark-mode .kids-section{background:#2c2c2c;color:#e9ecef}body.dark-mode .kids-section h2{color:#e9ecef}body.dark-mode .ability-card{background:#3a3a3a;border-color:#555}body.dark-mode .ability-name{color:#bbb}body.dark-mode .ability-value{color:#e9ecef}body.dark-mode .kids-spell-card{background:#3a3a3a;border-color:#667eea}body.dark-mode .kids-spell-card h3{color:#e9ecef}body.dark-mode .spell-desc{color:#bbb}.currency-widget{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid #ffd700;border-radius:12px;padding:1rem 1.5rem;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;min-width:220px}.currency-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#adb5bd;font-weight:600}.currency-coins{display:flex;align-items:center;gap:.5rem}.coin-slot{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:50px}.coin-icon{font-size:1.4rem;line-height:1}.coin-value{font-size:1.3rem;font-weight:800;line-height:1}.coin-name{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7}.coin-slot.gold .coin-value{color:gold}.coin-slot.silver .coin-value{color:silver}.coin-slot.bronze .coin-value{color:#cd7f32}.coin-divider{color:#495057;font-size:1.5rem;line-height:1;align-self:center}.currency-total{font-size:.75rem;color:#6c757d;margin-top:.1rem}.currency-widget.compact{flex-direction:row;background:transparent;border:none;padding:0;min-width:unset;gap:.6rem}.currency-widget.compact .coin{font-size:.85rem;font-weight:700;padding:.2rem .5rem;border-radius:20px;background:#ffffff14}.currency-widget.compact .gold-coin{color:gold}.currency-widget.compact .silver-coin{color:silver}.currency-widget.compact .bronze-coin{color:#cd7f32}.dark-mode .currency-widget{background:linear-gradient(135deg,#0d0d1a,#0a1020)}.irl-dashboard{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.loading,.error{text-align:center;padding:4rem;background:#fff;border-radius:12px;margin:2rem auto;max-width:600px;box-shadow:0 8px 24px #00000026}.daily-bonus-banner{background:linear-gradient(135deg,#856404,#b8860b);border:1px solid #ffd700;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 4px 16px #ffd7004d}.bonus-info{display:flex;align-items:center;gap:.75rem;color:#fff}.bonus-icon{font-size:1.8rem}.bonus-info strong{display:block;font-size:1rem;font-weight:700}.bonus-preview{font-size:.85rem;opacity:.9}.btn-claim-bonus{background:linear-gradient(135deg,gold,#ffed4e);color:#1a1a00;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:700;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:transform .1s,opacity .2s}.btn-claim-bonus:hover{transform:translateY(-1px)}.btn-claim-bonus:disabled{opacity:.6;cursor:not-allowed;transform:none}.currency-section{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn-wishlist-link,.btn-shop-link{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:.6rem 1rem;text-decoration:none;font-size:.9rem;font-weight:600;transition:background .2s}.btn-wishlist-link:hover,.btn-shop-link:hover{background:#ffffff40}.bonus-modal{background:#fff;border-radius:16px;padding:2.5rem;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d}.bonus-modal-icon{font-size:4rem;margin-bottom:.5rem}.bonus-modal h2{margin:0 0 1.5rem;color:#1a1a00}.bonus-rewards{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.bonus-reward-item{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1.3rem;font-weight:700;padding:.75rem 1.5rem;border-radius:10px}.bonus-reward-item.gold{background:#fff9c4;color:#856404}.bonus-reward-item.silver{background:#f5f5f5;color:#546e7a}.bonus-reward-item.bronze{background:#fbe9e7;color:#6d4c41}.bonus-reward-icon{font-size:1.5rem}.bonus-streak{font-size:1.1rem;color:#e65100;font-weight:700;margin-bottom:.75rem}.bonus-balance{color:#495057;margin-bottom:1.5rem;font-size:.95rem}.reward-currency{color:#cd7f32}.enable-prompt{background:#fff;border-radius:16px;padding:3rem;max-width:800px;margin:2rem auto;box-shadow:0 12px 40px #0003;text-align:center}.enable-prompt h1{font-size:2.5rem;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.enable-prompt>p{font-size:1.25rem;color:#495057;margin-bottom:2rem}.features-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0;text-align:left}.feature-item{display:flex;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;transition:all .3s ease}.feature-item:hover{transform:translateY(-4px);box-shadow:0 8px 16px #667eea33}.feature-icon{font-size:2.5rem}.feature-item h3{margin:0 0 .5rem;color:#2c3e50;font-size:1.1rem}.feature-item p{margin:0;color:#495057;font-size:.9rem}.btn-enable{padding:1rem 2.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 8px 20px #667eea66;margin-top:2rem}.btn-enable:hover{transform:translateY(-2px);box-shadow:0 12px 28px #667eea80}.character-header{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 24px #00000026;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.character-info h1{margin:0 0 .5rem;color:#2c3e50;font-size:2rem}.character-level{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.5rem 1.5rem;border-radius:50px;font-weight:700;font-size:1.1rem}.character-stats{display:flex;gap:1.5rem}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000001a}.stat-card.gold{background:linear-gradient(135deg,gold,#ffed4e)}.stat-card.streak{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.stat-card.best-streak{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.stat-icon{font-size:2rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.85rem;opacity:.9}.linked-character-info{margin-top:1rem;padding:.75rem 1rem;background:#fff;border-radius:8px;border:2px solid #e0e0e0}.linked-status,.not-linked{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.link-icon{font-size:1.2rem}.linked-status span,.not-linked span{font-size:.9rem;color:#3d4246}.btn-link,.btn-change-link{padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-left:auto}.btn-link:hover,.btn-change-link:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.character-link-modal{background:#fff;border-radius:16px;padding:2rem;max-width:600px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.character-link-modal h2{margin:0 0 1rem;text-align:center;color:#2c3e50}.modal-description{text-align:center;color:#495057;margin-bottom:1.5rem;line-height:1.6}.character-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;max-height:400px;overflow-y:auto}.character-option{display:flex;flex-direction:column;padding:1rem;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.character-option:hover{border-color:#667eea;background:#f0f4ff;transform:translate(4px)}.character-option.selected{border-color:#667eea;background:linear-gradient(135deg,#f0f4ff,#e8f0ff);box-shadow:0 4px 12px #667eea33}.character-name{font-size:1.1rem;font-weight:700;color:#2c3e50;margin-bottom:.25rem}.character-desc{font-size:.9rem;color:#495057}.xp-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 12px #0000001a}.xp-bar-container{width:100%;height:30px;background:#e0e0e0;border-radius:15px;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a;margin-bottom:.5rem}.xp-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .5s ease;border-radius:15px}.xp-text{text-align:center;font-weight:600;color:#495057}.quests-section,.completed-section,.milestones-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 8px 24px #00000026}.quests-section h2,.completed-section h2,.milestones-section h2{margin:0 0 1.5rem;color:#2c3e50;font-size:1.75rem}.no-quests{text-align:center;padding:3rem 2rem;color:#495057}.no-quests p{font-size:1.25rem;margin:.5rem 0}.no-quests .subtext{font-size:1rem;color:#6c757d}.quests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.quest-card{background:#f8f9fa;border:3px solid #e0e0e0;border-radius:12px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.quest-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea33;border-color:#667eea}.quest-card.active{border-color:#667eea;background:linear-gradient(135deg,#667eea0d,#764ba20d)}.quest-header{display:flex;gap:1rem;align-items:flex-start}.quest-icon{font-size:2.5rem;flex-shrink:0}.quest-title{flex:1}.quest-title h3{margin:0 0 .5rem;color:#2c3e50;font-size:1.25rem}.difficulty{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase}.quest-description{color:#3d4246;line-height:1.5;margin:0 0 1rem}.quest-subtasks{margin:1rem 0;padding:1rem;background:#fff;border-radius:8px;border:2px solid #e0e0e0}.subtask-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:600;color:#667eea;margin-bottom:.75rem}.subtask-toggle:hover{background:#e9ecef;border-color:#667eea;transform:translateY(-1px)}.toggle-icon{font-size:.8rem;color:#667eea;transition:transform .2s ease}.subtask-count{flex:1;text-align:left}.subtask-note{margin-top:.75rem;padding:.75rem;background:#f0f7ff;border-left:3px solid #667eea;border-radius:4px;font-size:.85rem;color:#3d4246;line-height:1.4}.subtask-list{list-style:none;margin:0;padding:0}.subtask-item{padding:.5rem 0;border-bottom:1px solid #f0f0f0}.subtask-item:last-child{border-bottom:none}.subtask-checkbox{display:flex;align-items:flex-start;cursor:pointer;gap:.75rem}.subtask-checkbox input[type=checkbox]{margin-top:.25rem;width:18px;height:18px;cursor:pointer;accent-color:#667eea}.subtask-xp{font-size:.85rem;color:#667eea;font-weight:600;margin-left:.5rem}.subtask-checkbox span{flex:1;font-size:.95rem;color:#2c3e50;transition:all .2s ease}.subtask-checkbox span.completed{text-decoration:line-through;color:#6c757d}.subtask-description{display:block;margin-left:2.5rem;margin-top:.25rem;color:#495057;font-size:.8rem;font-style:italic}.quest-rewards{display:flex;gap:1rem;padding:.75rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border:2px solid #e0e0e0}.quest-rewards .reward{font-weight:700;color:#2c3e50;background:#fff;padding:.5rem .75rem;border-radius:6px;box-shadow:0 2px 4px #0000001a}.btn-generate{padding:.5rem 1.2rem;background:linear-gradient(135deg,#11998e,#38ef7d);color:#1a1a2e;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:.9rem;transition:all .3s ease}.btn-generate:hover{transform:translateY(-2px);box-shadow:0 4px 12px #38ef7d66}.btn-complete{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-complete:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-complete:disabled{opacity:.6;cursor:not-allowed}.completed-list{display:flex;flex-direction:column;gap:.75rem}.completed-quest{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #27ae60}.completed-quest .quest-icon{font-size:1.5rem}.quest-name{flex:1;font-weight:600;color:#2c3e50}.quest-rewards{color:#495057;font-size:.9rem}.btn-undo{padding:.5rem 1rem;background:#fff3cd;color:#856404;border:1px solid #ffc107;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-undo:hover{background:#ffc107;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #ffc1074d}.milestones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.milestone-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease}.milestone-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #667eea66}.milestone-icon{font-size:3rem;margin-bottom:1rem}.milestone-card h3{margin:0 0 .5rem;font-size:1.25rem}.milestone-card p{margin:0 0 1rem;opacity:.9}.milestone-reward{background:#fff3;padding:.5rem;border-radius:6px;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.reward-modal{background:#fff;border-radius:16px;padding:2.5rem;max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.reward-modal h2{margin:0 0 1.5rem;text-align:center;font-size:2rem;color:#2c3e50}.rewards-earned{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.reward-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;font-size:1.25rem;font-weight:600}.reward-item.loot-drop.success{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 4px 12px #ffd7004d;animation:bounceIn .6s ease}.reward-item.loot-drop.no-loot{background:#e0e0e0;color:#495057}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.reward-icon{font-size:2rem}.reward-text{color:#2c3e50}.loot-roll-prompt{text-align:center;padding:1.5rem;background:linear-gradient(135deg,#f093fb,#f5576c);border-radius:12px;margin:1rem 0}.loot-roll-prompt p{color:#fff;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.btn-roll-loot{background:#fff;color:#f5576c;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.btn-roll-loot:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0000004d}.loot-rolling{text-align:center;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin:1rem 0}.dice-animation{font-size:4rem;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loot-rolling p{color:#fff;font-size:1.2rem;font-weight:600;margin:1rem 0}.btn-reveal-loot{background:#fff;color:#667eea;border:none;padding:.75rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.btn-reveal-loot:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #0000004d}.loot-result{margin:1rem 0}.level-up-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem;border-radius:8px;text-align:center;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-close{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-close:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}@media (max-width: 768px){.irl-dashboard{padding:1rem}.character-header{flex-direction:column;align-items:stretch}.character-stats{flex-direction:column}.quests-grid,.milestones-grid{grid-template-columns:1fr}.enable-prompt{padding:2rem 1.5rem}.enable-prompt h1{font-size:2rem}.features-list{grid-template-columns:1fr}}@media (max-width: 768px){.irl-dashboard{padding:1rem;margin-left:0}.dashboard-header{padding:1.5rem 1rem;margin-bottom:1.5rem}.dashboard-header h1{font-size:1.75rem}.character-card{padding:1.25rem;margin-bottom:1.5rem}.character-info h2{font-size:1.5rem}.character-stats{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{padding:.75rem}.progress-bar{height:20px}.xp-text{font-size:.8rem}.quests-grid{grid-template-columns:1fr;gap:1rem}.quest-card{padding:1.25rem}.quest-header{gap:.75rem}.quest-icon{font-size:1.5rem;width:45px;height:45px}.quest-title h3{font-size:1.1rem}.subtask-toggle{padding:.65rem;font-size:.85rem}.subtask-list{font-size:.9rem}.quest-rewards{flex-wrap:wrap;gap:.5rem}.quest-rewards .reward{font-size:.85rem;padding:.4rem .65rem}.btn-complete,.btn-start,.btn-link-character{padding:.65rem 1.25rem;font-size:.9rem}.completed-quests-container{margin-top:1.5rem}.completed-quest{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.quest-rewards{font-size:.85rem}.btn-undo{width:100%;justify-content:center}.milestones-grid{grid-template-columns:1fr;gap:1rem}.milestone-card{padding:1.25rem}.milestone-icon{font-size:2.5rem}.reward-modal{padding:1.5rem;max-width:90vw}.reward-modal h2{font-size:1.5rem}.reward-details{font-size:.95rem}.character-link-modal{padding:1.5rem;max-width:90vw}.character-select-grid{grid-template-columns:1fr;gap:.75rem}.character-select-item{padding:.85rem}}@media (max-width: 480px){.irl-dashboard{padding:.75rem}.dashboard-header{padding:1.25rem .75rem}.dashboard-header h1{font-size:1.5rem}.character-card{padding:1rem}.character-info h2{font-size:1.3rem}.character-stats{grid-template-columns:1fr}.quest-card{padding:1rem}.quest-title h3{font-size:1rem}.subtask-toggle{padding:.5rem;font-size:.8rem}.btn-complete,.btn-start{padding:.6rem 1rem;font-size:.85rem}.milestone-icon{font-size:2rem}.reward-modal,.character-link-modal{padding:1.25rem}}.template-library-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.template-library-modal{background:#1a1a2e;border-radius:12px;width:90%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080;color:#e0e0e0}.template-library-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #2d2d44}.template-library-header h2{margin:0;color:gold;font-size:24px}.close-button{background:none;border:none;color:#e0e0e0;font-size:32px;cursor:pointer;padding:0;width:32px;height:32px;line-height:1;transition:color .2s}.close-button:hover{color:#f44}.template-library-controls{padding:20px 24px;border-bottom:1px solid #2d2d44;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.search-container{flex:1;min-width:250px}.search-input{width:100%;padding:10px 16px;background:#2d2d44;border:1px solid #3d3d5c;border-radius:8px;color:#e0e0e0;font-size:14px;transition:border-color .2s}.search-input:focus{outline:none;border-color:gold}.search-input::placeholder{color:#888}.filters-container{display:flex;gap:12px;flex-wrap:wrap}.filter-select{padding:10px 16px;background:#2d2d44;border:1px solid #3d3d5c;border-radius:8px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:gold}.create-new-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.create-new-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.template-library-content{flex:1;overflow-y:auto;padding:20px 24px}.loading,.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888}.no-results p{margin-bottom:20px;font-size:16px}.templates-grouped{display:flex;flex-direction:column;gap:30px}.template-category-group{display:flex;flex-direction:column;gap:16px}.category-header{margin:0;padding-bottom:8px;border-bottom:2px solid #3d3d5c;color:gold;font-size:20px;font-weight:600}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.template-card{background:#2d2d44;border:1px solid #3d3d5c;border-radius:10px;padding:16px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:12px}.template-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #667eea4d;border-color:#667eea}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.template-card h4{margin:0;color:#fff;font-size:16px;font-weight:600;flex:1}.difficulty-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.difficulty-badge.easy{background:#4caf5033;color:#4caf50;border:1px solid #4caf50}.difficulty-badge.medium{background:#ffc10733;color:#ffc107;border:1px solid #ffc107}.difficulty-badge.hard{background:#ff980033;color:#ff9800;border:1px solid #ff9800}.difficulty-badge.very-hard{background:#f4433633;color:#f44336;border:1px solid #f44336}.template-description{margin:0;color:#b0b0b0;font-size:13px;line-height:1.5;flex:1}.template-rewards{display:flex;gap:12px;flex-wrap:wrap}.template-rewards .reward{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#ffd7001a;border-radius:6px;font-size:12px;color:gold;font-weight:500}.template-subtasks{padding:8px 12px;background:#667eea1a;border-radius:6px;border-left:3px solid #667eea}.subtasks-count{font-size:12px;color:#9ba6ff;font-weight:500}.template-meta{display:flex;gap:8px;align-items:center;padding-top:8px;border-top:1px solid #3d3d5c}.daily-badge{padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600}.daily-badge.daily{background:#4caf5033;color:#4caf50}.daily-badge.one-time{background:#9e9e9e33;color:#9e9e9e}.template-library-footer{padding:16px 24px;border-top:1px solid #2d2d44;text-align:center}.results-count{margin:0;color:#888;font-size:13px}.template-library-content::-webkit-scrollbar{width:8px}.template-library-content::-webkit-scrollbar-track{background:#1a1a2e}.template-library-content::-webkit-scrollbar-thumb{background:#3d3d5c;border-radius:4px}.template-library-content::-webkit-scrollbar-thumb:hover{background:#4d4d6c}@media (max-width: 768px){.template-library-modal{width:95%;max-height:95vh}.template-library-controls{flex-direction:column;align-items:stretch}.search-container,.filters-container{width:100%}.filter-select{flex:1}.create-new-button{width:100%}.templates-grid{grid-template-columns:1fr}}.irl-quest-management{padding:2rem;max-width:1400px;margin:0 auto}.management-header{text-align:center;margin-bottom:2rem;padding:2rem;background:#fff;border-radius:16px;color:#333;border:2px solid #e0e0e0;box-shadow:0 2px 8px #0000000f}.management-header h1{margin:0 0 .5rem;font-size:2.5rem}.subtitle{margin:0 0 .5rem;color:#495057;font-size:1.1rem}.btn-create{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea40}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea59}.btn-secondary{padding:.75rem 1.5rem;background:#e9ecef;color:#3d4246;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#dee2e6;transform:translateY(-1px)}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.template-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;border:2px solid #e0e0e0}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#667eea}.template-header{margin-bottom:1rem}.template-info{display:flex;flex-direction:column;gap:.5rem}.template-category{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#495057}.category-icon{font-size:1.2rem}.category-name{font-weight:600;text-transform:capitalize}.template-info h3{margin:0;color:#2c3e50;font-size:1.3rem}.difficulty{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:700;text-transform:uppercase;width:fit-content}.difficulty.diff-1{background:#d4edda;color:#155724}.difficulty.diff-2{background:#fff3cd;color:#856404}.difficulty.diff-3{background:#f8d7da;color:#721c24}.difficulty.diff-4{background:#d6d8db;color:#1b1e21}.template-description{color:#3d4246;line-height:1.5;margin:1rem 0}.template-rewards{display:flex;gap:.75rem;flex-wrap:wrap;padding:.75rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;margin:1rem 0}.template-rewards .reward{font-weight:700;color:#2c3e50;background:#fff;padding:.5rem .75rem;border-radius:6px;box-shadow:0 2px 4px #0000001a;font-size:.9rem}.template-meta{display:flex;gap:.5rem;margin:1rem 0}.meta-item{padding:.25rem .75rem;background:#e9ecef;border-radius:6px;font-size:.85rem;color:#3d4246}.custom-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.public-badge{background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;font-weight:600}.creator-badge{background:#f8f9fa;color:#495057;font-style:italic;border:1px solid #e0e0e0}.template-subtasks{margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.btn-toggle-subtasks{background:transparent;border:none;color:#667eea;font-weight:600;cursor:pointer;padding:.25rem 0;display:flex;align-items:center;gap:.5rem;transition:color .2s ease}.btn-toggle-subtasks:hover{color:#764ba2}.subtask-preview-list{list-style:none;margin:.75rem 0 0;padding:0}.subtask-preview-list li{padding:.5rem 0;border-bottom:1px solid #e0e0e0;color:#3d4246;font-size:.9rem}.subtask-preview-list li:last-child{border-bottom:none}.st-desc{color:#888;font-style:italic}.template-actions{display:flex;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.btn-edit,.btn-delete{flex:1;padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-edit:hover{transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.btn-delete{background:#f8d7da;color:#721c24}.btn-delete:hover{background:#f5c6cb;transform:translateY(-1px)}.template-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;color:#0056b3;font-size:.9rem;margin-top:1rem}.notice-icon{font-size:1.2rem}.no-templates{grid-column:1 / -1;text-align:center;padding:3rem;color:#6c757d;font-size:1.1rem}.quest-form-modal{background:#fff;border-radius:16px;padding:2rem;max-width:800px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quest-form-modal h2{margin:0 0 1.5rem;text-align:center;color:#2c3e50}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#2c3e50}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.75rem;background:#f8f9fa;border-radius:8px;transition:background .2s ease}.checkbox-label:hover{background:#e9ecef}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.checkbox-label span{font-weight:400}.subtasks-section{margin-top:2rem;padding:1.5rem;background:#f8f9fa;border-radius:12px;border:2px solid #e0e0e0}.subtasks-section h3{margin:0 0 .5rem;color:#667eea}.section-note{margin:0 0 1rem;color:#495057;font-size:.9rem;font-style:italic}.subtask-item{display:flex;gap:.75rem;margin-bottom:.75rem;padding:.75rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.subtask-inputs{flex:1;display:grid;grid-template-columns:1fr 1fr 70px 70px;gap:.5rem}.subtask-inputs input{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem}.xp-input,.order-input{text-align:center}.btn-remove-subtask{padding:.5rem .75rem;background:#f8d7da;color:#721c24;border:none;border-radius:6px;cursor:pointer;font-weight:700;transition:all .2s ease}.btn-remove-subtask:hover{background:#f5c6cb}.add-subtask{display:flex;gap:.75rem;margin-top:1rem}.add-subtask input{flex:1;padding:.5rem;border:2px solid #e0e0e0;border-radius:6px;font-size:.9rem}.add-subtask input:focus{outline:none;border-color:#667eea}.btn-add-subtask{padding:.5rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-add-subtask:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #667eea4d}.btn-add-subtask:disabled{opacity:.5;cursor:not-allowed}.modal-actions{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.btn-save,.btn-cancel{flex:1;padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea4d}.btn-cancel{background:#e9ecef;color:#3d4246}.btn-cancel:hover{background:#dee2e6}.loading,.error{text-align:center;padding:2rem;font-size:1.1rem}.error{color:#721c24;background:#f8d7da;border-radius:8px;margin-bottom:1rem}@media (max-width: 768px){.irl-quest-management{padding:1rem;margin-left:0}.management-header{padding:1.5rem 1rem;margin-bottom:1.5rem}.management-header h1{font-size:1.75rem}.subtitle{font-size:1rem}.btn-create{padding:.65rem 1.5rem;font-size:.9rem}.templates-grid{grid-template-columns:1fr;gap:1rem}.template-card{padding:1.25rem}.template-info h3{font-size:1.1rem}.template-rewards{gap:.5rem}.template-rewards .reward{font-size:.85rem;padding:.4rem .65rem}.template-meta{flex-wrap:wrap;gap:.4rem}.meta-item{font-size:.8rem;padding:.2rem .6rem}.template-actions{flex-direction:column;gap:.5rem}.btn-edit,.btn-delete{width:100%;padding:.65rem}.quest-form-modal{width:95vw;max-width:95vw;padding:1.5rem;max-height:85vh}.quest-form-modal h2{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:.75rem}.form-group input,.form-group textarea,.form-group select{font-size:.95rem}.subtask-inputs{grid-template-columns:1fr;gap:.65rem}.subtask-item{padding:.65rem}.add-subtask{flex-direction:column;gap:.65rem}.add-subtask input{width:100%}.btn-add-subtask{width:100%;padding:.65rem}.subtasks-section{padding:1.25rem}.modal-actions{flex-direction:column;gap:.75rem}.btn-save,.btn-cancel{width:100%;padding:.85rem}}.section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.section-title-group{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem}.section-title{margin:0;font-size:1.5rem;color:#2c3e50}.section-count{font-size:.85rem;color:#6c757d;background:#e9ecef;padding:.2rem .6rem;border-radius:12px;font-weight:600}.section-hint{font-size:.85rem;color:#6c757d;font-style:italic}.section-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-add-to-mine{width:100%;padding:.6rem 1rem;background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff;border:none;border-radius:6px;font-weight:700;font-size:.95rem;cursor:pointer;transition:all .2s ease}.btn-add-to-mine:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 10px #11998e59}.btn-add-to-mine:disabled{opacity:.6;cursor:not-allowed}.template-card.library-card{border-color:#c8f7c5}@media (max-width: 480px){.irl-quest-management{padding:.75rem}.management-header{padding:1.25rem .75rem}.management-header h1{font-size:1.5rem}.subtitle{font-size:.95rem}.btn-create{padding:.6rem 1.25rem;font-size:.85rem}.template-card{padding:1rem}.template-info h3{font-size:1rem}.template-description{font-size:.9rem}.quest-form-modal{padding:1.25rem}.quest-form-modal h2{font-size:1.3rem}.form-group label{font-size:.9rem}.form-group input,.form-group textarea,.form-group select{font-size:.9rem;padding:.65rem}}.health-tracking-section{margin-top:1.25rem;padding:1rem;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:8px}.health-tracking-section h3{font-size:1rem;font-weight:600;color:var(--color-fg, #e2e8f0);margin:0 0 .25rem;display:flex;align-items:center;gap:.5rem}.optional-badge{font-size:.7rem;font-weight:500;color:var(--color-muted, #94a3b8);border:1px solid var(--color-border, #334155);border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.5px}.health-badge{color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:4px;padding:1px 6px;font-size:.75rem}.combat-test-page{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:2rem}.combat-test-container{max-width:1400px;margin:0 auto}.combat-test-header{text-align:center;margin-bottom:3rem}.combat-test-header h1{font-size:3rem;color:#fff;margin:0 0 1rem;text-shadow:0 2px 4px rgba(0,0,0,.5)}.combat-test-header p{font-size:1.2rem;color:#e0e0e0;margin:0}.error-message{background:#f443361a;border:2px solid #f44336;color:#ff6b6b;padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center}.selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:3rem}.selection-panel{background:#ffffff0d;border-radius:12px;padding:2rem;border:2px solid rgba(255,255,255,.1)}.selection-panel h2{color:#fff;margin:0 0 1rem;font-size:1.8rem;text-align:center}.search-input{width:100%;padding:.8rem 1rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:1rem;margin-bottom:1rem;transition:all .3s}.search-input::placeholder{color:#ffffff80}.search-input:focus{outline:none;background:#ffffff26;border-color:#667eea;box-shadow:0 0 10px #667eea4d}.selection-list{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto;padding-right:.5rem}.selection-list::-webkit-scrollbar{width:8px}.selection-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.selection-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.selection-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.selection-card{background:#ffffff14;border:2px solid transparent;border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .3s}.selection-card:hover{background:#ffffff1f;border-color:#667eea80;transform:translateY(-2px)}.selection-card.selected{background:#667eea33;border-color:#667eea;box-shadow:0 0 20px #667eea4d}.selection-card h3{color:#fff;margin:0 0 .8rem;font-size:1.4rem}.card-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.card-stats span{background:#667eea33;color:#fff;padding:.3rem .8rem;border-radius:4px;font-size:.9rem;font-weight:600;border:1px solid rgba(102,126,234,.3)}.monster-type{color:#b0b0b0;font-size:.9rem;margin-top:.5rem}.loading{text-align:center;color:#e0e0e0;padding:2rem;font-size:1.1rem}.empty-state{text-align:center;padding:3rem 2rem}.empty-state p{color:#b0b0b0;font-size:1.1rem;margin-bottom:1.5rem}.combat-start-section{text-align:center;padding:2rem;background:#ffffff0d;border-radius:12px;border:2px solid rgba(255,255,255,.1)}.btn-large{font-size:1.5rem;padding:1.2rem 3rem;min-width:300px}.matchup-text{color:#e0e0e0;font-size:1.3rem;margin-top:1rem;margin-bottom:0;font-weight:600}.btn{border:none;border-radius:8px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.2)}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}@media (max-width: 1024px){.selection-grid{grid-template-columns:1fr}.combat-test-header h1{font-size:2.5rem}}.mobile-tabs{display:none;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.tab-button{background:#ffffff0d;border:2px solid rgba(102,126,234,.3);color:#9ca3af;padding:14px 20px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.tab-button.active{background:#667eea33;border-color:#667eea;color:#fff;box-shadow:0 0 20px #667eea4d}.tab-button:hover{border-color:#667eea;transform:translateY(-2px)}.tab-badge{background:#4ade80;color:#1a1a2e;font-size:12px;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700}@media (max-width: 768px){.combat-test-page{padding:10px 10px 110px}.combat-test-header{margin-bottom:1.5rem}.combat-test-header h1{font-size:2rem}.combat-test-header p{font-size:1rem}.mobile-tabs{display:grid!important}.selection-grid{grid-template-columns:1fr!important;gap:0!important;margin-bottom:0}.selection-panel{display:none!important;padding:1.5rem}.selection-panel.active{display:block!important}.selection-panel h2{font-size:1.5rem;margin-bottom:1rem}.selection-list{max-height:calc(100vh - 320px)}.selection-card{padding:12px}.selection-card h3{font-size:1rem}.card-stats{font-size:.85rem;gap:8px}.combat-start-section{position:fixed;bottom:0;left:0;right:0;padding:12px;margin:0;background:linear-gradient(180deg,transparent 0%,#1a1a2e 15%,#1a1a2e 100%);border-top:2px solid rgba(102,126,234,.3);border-radius:0;z-index:100;box-shadow:0 -4px 20px #00000080}.btn-large{width:100%;font-size:1.1rem;padding:14px 28px;margin:0;min-width:unset}.matchup-text{margin-top:8px;font-size:.9rem}.pagination{gap:5px}.page-btn{padding:6px 12px;font-size:14px}}@media (max-width: 480px){.combat-test-page{padding:5px 5px 100px}.combat-test-header h1{font-size:1.5rem}.combat-test-header p{font-size:.9rem}.tab-button{padding:12px 16px;font-size:14px}.selection-panel{padding:1rem;display:none!important}.selection-panel.active{display:block!important}.selection-panel h2{font-size:1.25rem}.selection-list{max-height:calc(100vh - 280px)}.selection-card{padding:10px}.selection-card h3{font-size:.95rem}.card-stats{font-size:.8rem;flex-direction:column;align-items:flex-start;gap:4px}.combat-start-section{padding:10px}.btn-large{width:100%;font-size:1rem;padding:12px;min-width:unset}.matchup-text{font-size:.85rem}.search-input{font-size:14px;padding:10px}.page-btn{padding:5px 10px;font-size:12px}}.cosmetics-page{min-height:100vh;padding:2rem;background:linear-gradient(135deg,#1a1d2e,#0f3460);color:#e9ecef}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.header-left h1{font-size:2rem;margin:0 0 .25rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:#adb5bd;margin:0;font-size:.95rem}.cosmetics-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.tab-btn{display:flex;align-items:center;gap:.5rem;padding:.65rem 1.4rem;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#adb5bd;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.tab-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.tab-btn:hover:not(.active){background:#ffffff1f;color:#fff}.tab-count{background:#fff3;border-radius:20px;padding:.05rem .45rem;font-size:.75rem}.cosmetics-filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}.filter-group{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn{padding:.35rem .8rem;border-radius:20px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#adb5bd;font-size:.8rem;cursor:pointer;transition:all .15s}.filter-btn:hover{background:#ffffff1f;color:#fff}.filter-btn.active{background:#ffffff2e;color:#fff;border-color:#fff6}.cosmetics-group{margin-bottom:2.5rem}.group-title{font-size:1.2rem;margin:0 0 1rem;color:#e9ecef;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.cosmetics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.cosmetic-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-top:3px solid var(--rarity-color, #888);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.6rem;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.cosmetic-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.cosmetic-card.equipped{border-color:#4ade80;background:#4ade8014}.cosmetic-card.cant-afford{opacity:.65}.cosmetic-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.cosmetic-name{font-size:.95rem;font-weight:700;margin:0;color:#f1f3f5;line-height:1.3}.cosmetic-rarity{font-size:.65rem;font-weight:800;letter-spacing:.08em;white-space:nowrap;flex-shrink:0}.cosmetic-description{font-size:.8rem;color:#adb5bd;line-height:1.5;margin:0;flex:1}.preview{margin:.25rem 0}.preview-theme{display:flex;gap:4px;height:28px}.theme-swatch{flex:1;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.preview-frame{display:flex;justify-content:center;padding:.5rem 0}.frame-demo{width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:#ffffff0d}.preview-banner{height:40px;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.preview-border{height:40px;border-radius:6px;background:#ffffff08}.preview-badge{display:flex;justify-content:center;padding:.25rem 0}.badge-demo{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border:2px solid rgba(255,255,255,.2)}.preview-title{display:flex;justify-content:center;padding:.5rem 0}.title-demo{font-size:.85rem;font-weight:700;font-style:italic}.cosmetic-price{border-radius:8px;padding:.5rem .75rem;font-size:.85rem;font-weight:700;display:flex;flex-direction:column;gap:.4rem}.cosmetic-price.can-afford{background:#4ade801f;color:#4ade80}.cosmetic-price.too-expensive{background:#ffffff0d;color:#adb5bd}.price-progress{position:relative;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.price-bar{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:3px;transition:width .3s}.price-bar-label{font-size:.7rem;color:#6c757d;margin-top:.2rem;display:block}.cosmetic-footer{margin-top:auto}.btn-equip,.btn-unequip,.btn-purchase{width:100%;padding:.55rem;border-radius:8px;border:none;font-weight:700;font-size:.85rem;cursor:pointer;transition:opacity .15s,transform .1s}.btn-equip{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-unequip{background:#4ade8026;color:#4ade80;border:1px solid #4ade80}.btn-purchase{background:linear-gradient(135deg,gold,#ffb300);color:#1a1000}.btn-purchase.disabled{background:#ffffff14;color:#6c757d;cursor:not-allowed}.btn-equip:hover:not(:disabled),.btn-unequip:hover:not(:disabled),.btn-purchase:hover:not(:disabled):not(.disabled){opacity:.88;transform:translateY(-1px)}.btn-equip:disabled,.btn-unequip:disabled{opacity:.5;cursor:not-allowed}.locked-message{text-align:center;color:#6c757d;font-size:.8rem;padding:.5rem}.no-cosmetics{text-align:center;padding:3rem;color:#adb5bd;background:#ffffff0a;border-radius:12px}.purchase-modal{background:#1e2340;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:2.5rem;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #00000080}.purchase-modal-icon{font-size:3.5rem;margin-bottom:.5rem}.purchase-modal h2{margin:0 0 .75rem;color:#f1f3f5}.purchase-modal p{color:#adb5bd;margin-bottom:1rem}.purchase-balance{color:gold;margin-bottom:1.5rem;font-size:.9rem}.btn-close-modal{display:block;width:100%;margin-top:.75rem;padding:.55rem;background:transparent;border:1px solid rgba(255,255,255,.2);color:#adb5bd;border-radius:8px;cursor:pointer;font-size:.85rem;transition:background .15s}.loading,.error{text-align:center;padding:4rem;color:#adb5bd}@media (max-width: 768px){.cosmetics-page{padding:1rem}.page-header{flex-direction:column}.cosmetics-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}.wishlist-page{min-height:100vh;padding:2rem;background:linear-gradient(135deg,#1a1d2e,#0f3460);color:#e9ecef}.wl-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem}.wl-header h1{font-size:2rem;margin:0 0 .25rem;background:linear-gradient(135deg,gold,#ffb300);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.wl-subtitle{color:#adb5bd;margin:0;font-size:.95rem}.wl-header-right{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.wl-shop-link{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:.5rem 1rem;text-decoration:none;font-size:.9rem;font-weight:600;transition:background .15s}.wl-shop-link:hover{background:#fff3}.btn-add-wish{background:linear-gradient(135deg,gold,#ffb300);color:#1a1000;border:none;border-radius:10px;padding:.7rem 1.5rem;font-weight:700;font-size:1rem;cursor:pointer;margin-bottom:1.5rem;transition:opacity .15s,transform .1s}.btn-add-wish:hover{opacity:.9;transform:translateY(-1px)}.wl-form{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.5rem;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem;max-width:560px}.wl-form h3{margin:0;color:#f1f3f5;font-size:1.1rem}.wl-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#adb5bd;font-weight:600}.wl-form input,.wl-form select,.wl-form textarea{background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#e9ecef;padding:.55rem .75rem;font-size:.9rem;outline:none;transition:border-color .15s}.wl-form input:focus,.wl-form select:focus,.wl-form textarea:focus{border-color:gold}.wl-form select option{background:#1e2340}.input-hint{font-size:.75rem;color:gold;font-weight:400;min-height:1em}.btn-save-wish{background:linear-gradient(135deg,gold,#ffb300);color:#1a1000;border:none;border-radius:8px;padding:.65rem 1.5rem;font-weight:700;font-size:.95rem;cursor:pointer;align-self:flex-start;transition:opacity .15s}.btn-save-wish:disabled{opacity:.6;cursor:not-allowed}.wl-section{margin-bottom:3rem}.wl-section h2{font-size:1.2rem;margin:0 0 1rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.wl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.wl-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;position:relative;transition:box-shadow .15s}.wl-card.affordable{border-color:#4ade80;background:#4ade800f;box-shadow:0 0 20px #4ade8026}.wl-affordable-badge{background:#4ade80;color:#052e16;font-size:.75rem;font-weight:800;padding:.2rem .6rem;border-radius:20px;align-self:flex-start}.wl-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.wl-card-header h3{margin:0;font-size:1.05rem;color:#f1f3f5;line-height:1.3}.wl-delete{background:transparent;border:none;color:#6c757d;cursor:pointer;font-size:.9rem;padding:.1rem .3rem;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.wl-delete:hover{color:#ef4444;background:#ef44441a}.wl-notes{margin:0;font-size:.82rem;color:#adb5bd;line-height:1.5}.wl-linked{display:flex;align-items:center;gap:.4rem;font-size:.8rem;background:#ffffff0d;border-radius:6px;padding:.35rem .6rem}.wl-linked-icon{opacity:.6}.wl-rarity{font-weight:700;font-size:.7rem;margin-left:auto}.wl-progress-wrap{display:flex;flex-direction:column;gap:.35rem}.wl-progress-bar-bg{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.wl-progress-bar{height:100%;background:linear-gradient(90deg,gold,#ffb300);border-radius:4px;transition:width .4s ease}.wl-card.affordable .wl-progress-bar{background:linear-gradient(90deg,#4ade80,#22c55e)}.wl-progress-labels{display:flex;justify-content:space-between;font-size:.75rem}.balance-current{color:#adb5bd}.balance-ready{color:#4ade80;font-weight:700}.balance-target{color:#6c757d}.wl-shortfall{font-size:.78rem;color:#6c757d}.wl-shortfall strong{color:#adb5bd}.btn-wl-purchase{width:100%;padding:.6rem;border-radius:8px;border:none;font-weight:700;font-size:.9rem;cursor:pointer;background:linear-gradient(135deg,gold,#ffb300);color:#1a1000;transition:opacity .15s,transform .1s;margin-top:auto}.btn-wl-purchase:hover:not(:disabled):not(.disabled){opacity:.88;transform:translateY(-1px)}.btn-wl-purchase.disabled,.btn-wl-purchase:disabled{background:#ffffff14;color:#6c757d;cursor:not-allowed;transform:none}.purchased-section{opacity:.75}.wl-purchased-list{display:flex;flex-direction:column;gap:.5rem}.wl-purchased-item{display:flex;align-items:center;gap:.75rem;background:#4ade800f;border:1px solid rgba(74,222,128,.2);border-radius:10px;padding:.75rem 1rem}.wl-purchased-icon{font-size:1.1rem}.wl-purchased-info{flex:1;display:flex;align-items:center;gap:.75rem}.wl-purchased-info strong{color:#e9ecef;font-size:.9rem}.wl-purchased-info span{color:#6c757d;font-size:.8rem}.wl-delete.small{font-size:.75rem}.wl-empty{text-align:center;padding:4rem 2rem;color:#adb5bd}.wl-empty-icon{font-size:3.5rem;margin-bottom:1rem}.wl-empty h3{color:#e9ecef;margin:0 0 .5rem}.wl-empty p{font-size:.9rem;max-width:400px;margin:0 auto}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.wl-success-modal{background:#1e2340;border:1px solid rgba(255,215,0,.3);border-radius:16px;padding:2.5rem;max-width:420px;width:90%;text-align:center;box-shadow:0 20px 60px #00000080}.wl-success-icon{font-size:3.5rem;margin-bottom:.5rem}.wl-success-modal h2{margin:0 0 .75rem;color:#f1f3f5}.wl-success-modal p{color:#adb5bd;margin:0 0 .5rem}.wl-unlocked-note{color:#a78bfa}.wl-new-balance{color:gold;font-size:.9rem;margin:.75rem 0 1.5rem}.wl-success-btns{display:flex;flex-direction:column;gap:.5rem}.btn-go-cosmetics{display:block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-decoration:none;border-radius:8px;padding:.6rem 1rem;font-weight:700;font-size:.9rem}.btn-close-modal{background:transparent;border:1px solid rgba(255,255,255,.2);color:#adb5bd;border-radius:8px;padding:.6rem;cursor:pointer;font-size:.85rem;transition:background .15s}.btn-close-modal:hover{background:#ffffff14}.wl-loading{text-align:center;padding:4rem;color:#adb5bd}@media (max-width: 768px){.wishlist-page{padding:1rem}.wl-header{flex-direction:column}.wl-header-right{align-items:flex-start}.wl-grid{grid-template-columns:1fr}}.api-keys-page{max-width:860px;margin:2rem auto;padding:0 1.5rem 4rem}.api-keys-header h1{font-size:1.8rem;margin-bottom:.5rem}.api-keys-header .subtitle{color:var(--text-secondary, #888);margin-bottom:2rem;line-height:1.5}.api-error{background:#fee;border:1px solid #f88;color:#c00;padding:.75rem 1rem;border-radius:6px;margin-bottom:1.5rem}.new-key-banner{background:#1a3a1a;border:1px solid #2d6a2d;border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:2rem}.new-key-banner-title{font-weight:600;color:#6dbe6d;margin-bottom:.75rem}.new-key-value-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.new-key-value{font-family:Courier New,monospace;font-size:.85rem;background:#0d1f0d;color:#aef5ae;padding:.5rem .75rem;border-radius:4px;word-break:break-all;flex:1}.copy-btn{padding:.4rem 1rem;background:#2d6a2d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;white-space:nowrap}.copy-btn:hover{background:#3d8a3d}.new-key-instructions{font-size:.85rem;color:#6dbe6d;opacity:.8}.api-keys-create{background:var(--card-bg, #1e1e2e);border:1px solid var(--border, #333);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.api-keys-create h2{font-size:1.1rem;margin-bottom:1rem}.create-form{display:flex;gap:.75rem;align-items:center}.label-input{flex:1;padding:.6rem .9rem;background:var(--input-bg, #111);border:1px solid var(--border, #444);border-radius:6px;color:var(--text, #eee);font-size:.95rem}.label-input:focus{outline:none;border-color:#6d6dde}.create-btn{padding:.6rem 1.4rem;background:#5a5ad6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;white-space:nowrap}.create-btn:hover:not(:disabled){background:#6e6ee8}.create-btn:disabled{opacity:.5;cursor:not-allowed}.api-keys-list{background:var(--card-bg, #1e1e2e);border:1px solid var(--border, #333);border-radius:8px;padding:1.5rem}.api-keys-list h2{font-size:1.1rem;margin-bottom:1rem}.keys-loading,.keys-empty{color:var(--text-secondary, #888);font-size:.95rem;padding:1rem 0}.keys-table{width:100%;border-collapse:collapse;font-size:.9rem}.keys-table th{text-align:left;padding:.5rem .75rem;color:var(--text-secondary, #888);border-bottom:1px solid var(--border, #333);font-weight:500}.keys-table td{padding:.75rem;border-bottom:1px solid var(--border, #2a2a2a);vertical-align:middle}.key-label{font-weight:500}.key-date{color:var(--text-secondary, #888);font-size:.85rem}.revoke-btn{padding:.3rem .85rem;background:transparent;color:#e05a5a;border:1px solid #e05a5a;border-radius:4px;cursor:pointer;font-size:.82rem}.revoke-btn:hover{background:#e05a5a;color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);color:#2c3e50;min-height:100vh}.app{min-height:100vh;display:flex}.main-content{flex:1;margin-left:250px;padding:40px;transition:margin-left .3s ease}@media (max-width: 768px){.main-content{margin-left:0;padding:70px 20px 20px}}@media (max-width: 480px){.main-content{padding:60px 15px 15px}}button{cursor:pointer;transition:all .3s}button:disabled{opacity:.5;cursor:not-allowed}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #212529;--text-secondary: #6c757d;--border-color: #dee2e6;--card-bg: #ffffff;--card-shadow: rgba(0, 0, 0, .1);--input-bg: #ffffff;--input-border: #ced4da}body.dark-mode{--bg-primary: #1a1d2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--text-primary: #e9ecef;--text-secondary: #adb5bd;--border-color: #495057;--card-bg: #212529;--card-shadow: rgba(0, 0, 0, .3);--input-bg: #2d3748;--input-border: #4a5568;background-color:var(--bg-primary);color:var(--text-primary)}body.dark-mode{background:linear-gradient(135deg,#1a1d2e,#16213e)}body.dark-mode .app{background-color:var(--bg-primary);color:var(--text-primary)}body.dark-mode .card,body.dark-mode .quest-card,body.dark-mode .npc-card,body.dark-mode .template-card,body.dark-mode .monster-card,body.dark-mode .loot-card{background-color:var(--card-bg);color:var(--text-primary);border-color:var(--border-color);box-shadow:0 4px 12px var(--card-shadow)}body.dark-mode .npc-card h4{color:var(--text-primary)}body.dark-mode .npc-title{color:#8b9dc3}body.dark-mode .npc-occupation{color:var(--text-secondary)}body.dark-mode .npc-location{color:#f39c12}body.dark-mode .npc-description{color:var(--text-secondary)}body.dark-mode .npc-card.quest-giver{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea}body.dark-mode input,body.dark-mode textarea,body.dark-mode select{background-color:var(--input-bg);color:var(--text-primary);border-color:var(--input-border)}body.dark-mode input::placeholder,body.dark-mode textarea::placeholder{color:var(--text-secondary)}body.dark-mode input:focus,body.dark-mode textarea:focus,body.dark-mode select:focus{border-color:#667eea;background-color:var(--input-bg)}body.dark-mode button:not(.btn-complete):not(.btn-save):not(.btn-create):not(.btn-edit):not(.btn-add-subtask):not(.dark-mode-toggle):not(.logout-button){background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}body.dark-mode table{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode th{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}body.dark-mode td{border-color:var(--border-color);color:var(--text-primary)}body.dark-mode tr:hover{background-color:var(--bg-secondary)}body.dark-mode .modal-overlay{background-color:#000000e6}body.dark-mode .modal,body.dark-mode .quest-form-modal,body.dark-mode .reward-modal{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode .reward-modal h2{color:var(--text-primary)}body.dark-mode .reward-item{background-color:var(--bg-secondary);color:var(--text-primary)}body.dark-mode .reward-item.loot-drop.no-loot{background-color:var(--bg-tertiary);color:var(--text-secondary)}body.dark-mode .level-up-banner{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}body.dark-mode .loot-roll-section{background-color:var(--bg-secondary)}body.dark-mode .character-link-modal{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode .character-link-modal h2{color:var(--text-primary)}body.dark-mode .modal-description{color:var(--text-secondary)}body.dark-mode .character-option{background-color:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}body.dark-mode .character-option:hover,body.dark-mode .character-option.selected{background-color:var(--bg-tertiary);border-color:#667eea}body.dark-mode .character-name{color:var(--text-primary)}body.dark-mode .character-desc{color:var(--text-secondary)}body.dark-mode .dropdown-menu,body.dark-mode .management-submenu{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-mode .dropdown-item{color:var(--text-primary)}body.dark-mode .dropdown-item:hover{background-color:var(--bg-secondary)}body.dark-mode .loading,body.dark-mode .error{color:var(--text-primary)}body.dark-mode .error{background-color:#dc354533;border-color:#dc3545}body.dark-mode .character-sheet{background-color:var(--bg-primary);color:var(--text-primary)}body.dark-mode .stat-block,body.dark-mode .ability-scores{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-mode .irl-dashboard{background-color:var(--bg-primary);color:var(--text-primary)}body.dark-mode .character-header{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode .character-info h1{color:var(--text-primary)}body.dark-mode .stat-card{background-color:var(--bg-tertiary);color:var(--text-primary)}body.dark-mode .stat-card.gold,body.dark-mode .stat-card.xp,body.dark-mode .stat-card.level{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);color:var(--text-primary)}body.dark-mode .stat-card.streak{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}body.dark-mode .stat-card.best-streak{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}body.dark-mode .stat-label{color:var(--text-secondary)}body.dark-mode .linked-character-info{background-color:var(--bg-secondary);border-color:var(--border-color)}body.dark-mode .linked-status span,body.dark-mode .not-linked span{color:var(--text-primary)}body.dark-mode .xp-section{background-color:var(--bg-secondary);color:var(--text-primary)}body.dark-mode .xp-bar-container{background-color:var(--bg-tertiary)}body.dark-mode .quests-section,body.dark-mode .completed-section,body.dark-mode .milestones-section{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode .quests-section h2,body.dark-mode .completed-section h2,body.dark-mode .milestones-section h2{color:var(--text-primary)}body.dark-mode .no-quests{color:var(--text-secondary)}body.dark-mode .no-quests .subtext{color:var(--text-secondary);opacity:.7}body.dark-mode .quest-card{background-color:var(--bg-secondary);border-color:var(--border-color)}body.dark-mode .quest-card.active{background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea}body.dark-mode .quest-title h3,body.dark-mode .quest-description,body.dark-mode .quest-meta,body.dark-mode .meta-item,body.dark-mode .quest-rewards,body.dark-mode .quest-name{color:var(--text-primary)}body.dark-mode .completed-quest{background-color:var(--bg-secondary);color:var(--text-primary)}body.dark-mode .milestone-card{background-color:var(--bg-secondary);border-color:var(--border-color)}body.dark-mode .milestone-card h3{color:var(--text-primary)}body.dark-mode .milestone-card p{color:var(--text-secondary)}body.dark-mode .milestone-reward,body.dark-mode .loot-rolling p,body.dark-mode .loot-roll-prompt p{color:var(--text-primary)}body.dark-mode .characters-page,body.dark-mode .campaigns-page{background:transparent;color:var(--text-primary)}body.dark-mode .characters-page h1,body.dark-mode .campaigns-page h1{color:var(--text-primary)}body.dark-mode .filters-section .search-input,body.dark-mode .filters-section .filter-select{background-color:var(--input-bg);color:var(--text-primary);border-color:var(--input-border)}body.dark-mode .campaign-card{background-color:var(--card-bg);border-color:var(--border-color);box-shadow:0 4px 12px var(--card-shadow)}body.dark-mode .campaign-card h3,body.dark-mode .campaign-card-content{color:var(--text-primary)}body.dark-mode .campaign-footer{border-top-color:var(--border-color)}body.dark-mode .campaign-description{color:var(--text-secondary)}body.dark-mode .character-card{background-color:var(--card-bg);border-color:var(--border-color);box-shadow:0 4px 12px var(--card-shadow)}body.dark-mode .character-card .character-header h3{color:var(--text-primary)}body.dark-mode .character-card .character-header{border-bottom-color:var(--border-color)}body.dark-mode .character-card .info-row .label{color:var(--text-secondary)}body.dark-mode .character-card .info-row .value{color:var(--text-primary)}body.dark-mode .character-card .character-stats{background-color:var(--bg-secondary)}body.dark-mode .character-card .stat-label{color:var(--text-secondary)}body.dark-mode .character-card .stat-value{color:var(--text-primary)}body.dark-mode .character-card .character-actions{border-top-color:var(--border-color)}body.dark-mode .character-card .btn-view{background:#1e3a5f;color:#63adef}body.dark-mode .character-card .btn-view:hover{background:#1976d2;color:#fff}body.dark-mode .character-card .btn-edit{background:#3d2800;color:#f4a261}body.dark-mode .character-card .btn-edit:hover{background:#e65100;color:#fff}body.dark-mode .character-card .btn-delete{background:#3d0000;color:#ef9a9a}body.dark-mode .character-card .btn-delete:hover{background:#c62828;color:#fff}body.dark-mode .subtask-note{background-color:var(--bg-secondary);border-left-color:#667eea;color:var(--text-secondary)}body.dark-mode .completed-quest{background-color:var(--bg-secondary)}body.dark-mode .form-group label{color:var(--text-primary)}body.dark-mode .checkbox-label{background-color:var(--bg-secondary);color:var(--text-primary)}body.dark-mode .checkbox-label:hover{background-color:var(--bg-tertiary)}body.dark-mode .subtasks-section{background-color:var(--bg-secondary);border-color:var(--border-color)}body.dark-mode .subtask-item{background-color:var(--card-bg);border-color:var(--border-color)}body.dark-mode .subtask-toggle{background-color:var(--bg-secondary);border-color:var(--border-color);color:#667eea}body.dark-mode .subtask-toggle:hover,body.dark-mode .progress-bar{background-color:var(--bg-tertiary)}body.dark-mode .progress-fill{background:linear-gradient(135deg,#667eea,#764ba2)}body.dark-mode .quest-rewards .reward,body.dark-mode .template-rewards .reward{background-color:var(--card-bg);color:var(--text-primary);border:1px solid var(--border-color)}body.dark-mode .meta-item{background-color:var(--bg-tertiary);color:var(--text-secondary)}body.dark-mode .navigation{background:linear-gradient(180deg,#0f3460,#0a1929);box-shadow:5px 0 20px #000000b3}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:var(--text-primary)}body.dark-mode a{color:#667eea}body.dark-mode a:hover{color:#764ba2}body.dark-mode ::-webkit-scrollbar-track{background:var(--bg-secondary)}body.dark-mode ::-webkit-scrollbar-thumb{background:var(--bg-tertiary)}body.dark-mode ::-webkit-scrollbar-thumb:hover{background:#667eea}@media (max-width: 768px){body.dark-mode .mobile-menu-toggle{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #00000080}body.dark-mode .navigation{background:linear-gradient(180deg,#0f3460,#0a1929);box-shadow:5px 0 30px #000c}body.dark-mode .mobile-overlay{background:#000000d9}body.dark-mode .quest-card,body.dark-mode .template-card{box-shadow:0 2px 8px var(--card-shadow)}body.dark-mode .quest-form-modal{background-color:var(--card-bg);box-shadow:0 10px 40px #0009}body.dark-mode input:focus,body.dark-mode textarea:focus,body.dark-mode select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}}body.dark-mode .campaign-header h1{color:var(--text-primary)}body.dark-mode .campaign-dm,body.dark-mode .campaign-description{color:var(--text-secondary)}body.dark-mode .back-link{color:#8b9dc3}body.dark-mode .back-link:hover{color:#a8b8d8}body.dark-mode .quick-info{background-color:var(--card-bg);color:var(--text-primary)}body.dark-mode .quick-info h3,body.dark-mode .info-section h4{color:var(--text-primary)}body.dark-mode .info-section li{border-bottom-color:var(--border-color)}body.dark-mode .quest-giver,body.dark-mode .npc-occupation{color:var(--text-secondary)}body.dark-mode .quest-section h3,body.dark-mode .quest-header h4{color:var(--text-primary)}body.dark-mode .quest-description,body.dark-mode .quest-meta{color:var(--text-secondary)}body.dark-mode .quest-meta strong,body.dark-mode .npc-section h3{color:var(--text-primary)}body.dark-mode .no-content{color:var(--text-secondary)}@media (max-width: 480px){body.dark-mode .btn-complete,body.dark-mode .btn-save,body.dark-mode .btn-create,body.dark-mode .btn-edit,body.dark-mode .btn-add-subtask{box-shadow:0 2px 8px #667eea66}body.dark-mode .subtask-toggle{background-color:var(--bg-tertiary);border-color:var(--border-color)}}
