: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-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--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-color-progress-bgo: .2}.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:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width : 480px){.Toastify__toast-container{width:100vw;padding:0;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y: 0;position:relative;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:8px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;direction:ltr;z-index:0;overflow:hidden}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.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:.5s}.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;z-index:1}.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:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:left;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.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;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{position:absolute;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.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,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),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,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),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,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 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,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 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:translate3d(0,var(--y),0) 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:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) 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:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),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;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header{background-color:var(--color-background);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-layer-3);height:60px;display:flex;align-items:center;box-shadow:0 2px 4px #0000000d}.header-container{display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;max-width:1200px;margin:0 auto;width:100%;height:100%;position:relative}.main-nav{margin-left:auto}.logo{font-size:1.5rem;font-weight:600}.logo a{display:flex;align-items:center;gap:.8rem;color:var(--color-primary);text-decoration:none;transition:color .2s}.logo a:hover{color:var(--color-primary-light)}.logo-icon{color:var(--color-primary);transition:transform .2s;width:32px;height:32px}.logo a:hover .logo-icon{transform:scale(1.1)}.nav-section{display:flex;align-items:center;gap:2rem}.server-time{position:absolute;left:50%;transform:translate(-50%);font-size:.95rem;color:var(--color-primary);font-weight:500;background-color:rgba(var(--color-primary-rgb),.05);padding:.35rem .75rem;border-radius:4px;letter-spacing:.5px}.main-nav ul{display:flex;list-style:none;gap:1rem}.main-nav a{color:#fff;text-decoration:none;padding:.4rem .8rem;border-radius:4px;font-size:.95rem;font-weight:500;transition:background-color .2s;background-color:#505050}.main-nav li.active a{background-color:var(--color-primary);color:#fff}.main-nav a:hover{background-color:var(--color-primary-light);color:#fff}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;background:transparent;border:none;cursor:pointer;padding:0;z-index:var(--z-layer-3)}.mobile-menu-toggle span{display:block;width:100%;height:2px;background-color:var(--color-text-primary);border-radius:2px;transition:all .2s}@media (max-width: 768px){.header{height:56px}.header-container{padding:0 1rem;flex-wrap:wrap;justify-content:space-between}.logo{font-size:1.2rem;margin-right:auto}.logo-icon{width:24px;height:24px}.server-time{position:static;transform:none;font-size:.8rem;min-width:auto;white-space:nowrap;padding:.25rem .5rem;margin-right:1rem;order:2}.mobile-menu-toggle{display:flex;order:3}.main-nav{position:fixed;top:0;right:-280px;width:280px;height:100vh;background-color:var(--color-surface);box-shadow:var(--shadow-large);padding:4rem 1.5rem;transition:right .3s;z-index:var(--z-layer-2);overflow-y:auto}.main-nav.mobile-active{right:0}.main-nav ul{flex-direction:column;gap:1rem;margin-top:2rem}.main-nav li{width:100%}.main-nav a{display:block;padding:.75rem;width:100%;text-align:left}.mobile-active+.mobile-menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-active+.mobile-menu-toggle span:nth-child(2){opacity:0}.mobile-active+.mobile-menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}.footer{background-color:var(--color-background);border-top:1px solid var(--color-border);padding:1.5rem 0;margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.footer-section{display:flex;flex-direction:column}.main-info{flex:1;max-width:70%}.footer-logo{font-size:1.1rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.footer-description{color:#777;font-size:.85rem;line-height:1.4}.footer-dev{display:flex;flex-direction:column;align-items:flex-start}.dev-title{font-size:.9rem;font-weight:500;color:#4caf50;margin-bottom:.4rem}.github-link{display:flex;align-items:center;gap:.5rem;color:#555;text-decoration:none;transition:color .2s;font-size:.9rem}.github-link:hover{color:var(--color-primary)}.footer-bottom{text-align:center;padding-top:1rem;color:#888;font-size:.8rem}@media (max-width: 768px){.footer{padding:1.25rem 0}.footer-content{flex-direction:column;gap:1.25rem;align-items:center;text-align:center}.main-info{max-width:100%;text-align:center}.footer-logo{margin-bottom:.5rem}.footer-container{padding:0 1rem}.footer-dev{align-items:center}.github-link{margin:0 auto}}.messages-page{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background-color:var(--color-background)}.messages-container{background-color:var(--color-surface);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-medium);padding:30px;width:100%;max-width:800px}.messages-container h2{text-align:center;color:var(--color-primary);margin-bottom:10px;font-size:28px}.message-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:25px;font-size:16px}.message-form{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);padding:20px;margin-bottom:30px}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;color:var(--color-text-primary);font-weight:500}.form-group input,.form-group textarea{width:100%;padding:12px;border:1px solid var(--color-border);border-radius:var(--border-radius-sm);font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}.form-group textarea{resize:vertical}.char-count{text-align:right;font-size:12px;color:var(--color-text-secondary);margin-top:5px}.error-message{color:var(--color-error);background-color:rgba(var(--color-error-rgb),.1);padding:10px;border-radius:var(--border-radius-sm);margin-bottom:15px;font-size:14px}.submit-button{background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);padding:12px 20px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s;width:100%}.submit-button:hover{background-color:var(--color-primary-dark)}.submit-button:disabled{opacity:.7;cursor:not-allowed}.message-divider{position:relative;text-align:center;margin:30px 0}.message-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:var(--color-border)}.message-divider span{position:relative;display:inline-block;padding:0 15px;background-color:var(--color-surface);color:var(--color-text-secondary)}.message-list{max-height:500px;overflow-y:auto;padding-right:5px}.message-card{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);padding:15px;margin-bottom:15px;position:relative;border-left:4px solid var(--color-primary)}.message-card.my-message{background-color:rgba(var(--color-primary-rgb),.05);border-left:4px solid var(--color-secondary)}.my-label{font-size:11px;color:var(--color-secondary);margin-left:8px;font-weight:400;background-color:rgba(var(--color-secondary-rgb),.1);padding:2px 5px;border-radius:4px}.message-header{display:flex;justify-content:space-between;margin-bottom:8px}.message-author{font-weight:600;color:var(--color-primary)}.message-date{font-size:12px;color:var(--color-text-secondary)}.message-text{color:var(--color-text-primary);line-height:1.5;word-break:break-word}.delete-button{position:absolute;top:10px;right:10px;background:rgba(var(--color-error-rgb),.1);border:none;color:var(--color-error);font-size:20px;cursor:pointer;opacity:.7;transition:all .3s;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.delete-button:hover{opacity:1;background:rgba(var(--color-error-rgb),.2)}.empty-message{text-align:center;padding:30px;color:var(--color-text-secondary);font-style:italic}.loading-message{text-align:center;padding:30px;color:var(--color-text-secondary);font-style:italic;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.page-actions{display:flex;justify-content:center;margin-top:30px}.practice-button{display:inline-block;background-color:var(--color-secondary);color:#fff;text-decoration:none;border-radius:var(--border-radius-md);padding:12px 25px;font-size:16px;font-weight:600;transition:background-color .3s}.practice-button:hover{background-color:var(--color-secondary-dark)}@media (max-width: 768px){.messages-container{padding:20px}.message-form{padding:15px}.form-group input,.form-group textarea{padding:10px}.submit-button,.practice-button{padding:10px 15px}.message-list{max-height:400px}}.difficulty-selector{margin-bottom:var(--spacing-lg)}.difficulty-selector h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.difficulty-options{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.difficulty-option{background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-small);border:2px solid transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.difficulty-option:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.difficulty-option.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.difficulty-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.difficulty-name{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xxs);color:var(--color-text-primary)}.difficulty-description{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.difficulty-option:nth-child(1) .difficulty-icon{color:#4caf50}.difficulty-option:nth-child(2) .difficulty-icon{color:#3d9bff}.difficulty-option:nth-child(3) .difficulty-icon{color:#ffc107}.difficulty-option:nth-child(4) .difficulty-icon{color:#ff5722}@media (max-width: 768px){.difficulty-options{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.difficulty-options{grid-template-columns:1fr}}.venue-selector{margin-bottom:var(--spacing-lg)}.venue-selector h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.venue-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.venue-option{background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-small);border:2px solid transparent;display:flex;align-items:center}.venue-option:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}.venue-option.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.venue-image{width:80px;height:80px;border-radius:var(--border-radius-sm);overflow:hidden;margin-right:var(--spacing-md);background-color:var(--color-surface-variant)}.venue-image img{width:100%;height:100%;object-fit:cover}.venue-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-primary);color:var(--color-background);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.venue-details{flex:1}.venue-name{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xxs);color:var(--color-text-primary)}.venue-capacity{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg)}.loading-spinner .spinner{width:40px;height:40px;border:4px solid rgba(60,255,143,.2);border-left-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.loading-spinner p{color:var(--color-text-secondary)}@media (max-width: 768px){.venue-options{grid-template-columns:repeat(2,1fr)}.venue-image{width:60px;height:60px;margin-right:var(--spacing-sm)}}@media (max-width: 480px){.venue-options{grid-template-columns:1fr}}.event-header{width:100%;background-color:var(--color-surface);border-radius:var(--border-radius-md);overflow:hidden;box-shadow:var(--shadow-medium);margin-bottom:var(--spacing-lg)}.event-header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg)}.event-info{flex:1}.event-info h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.event-details{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.event-date,.event-time,.event-venue{position:relative}.event-date:after,.event-time:after{content:"•";margin-left:var(--spacing-sm);color:var(--color-text-disabled)}.mode-badge{display:inline-block;padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.mode-badge.practice{background-color:var(--color-primary);color:var(--color-background)}.mode-badge.simulation{background-color:var(--color-secondary);color:#fff}.mode-badge.real{background-color:var(--color-warning);color:#fff}.mode-badge.payment{background-color:#c9356e;color:#fff}.time-container{display:flex;flex-direction:column;align-items:center;margin-left:var(--spacing-lg)}.time-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xxs)}.time-display{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-primary);font-family:monospace}.time-display.time-warning{color:#e74c3c;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.6}}.progress-bar-container{width:100%;height:4px;background-color:var(--color-surface-variant)}.progress-bar{height:100%;background-color:var(--color-primary);transition:width var(--transition-normal)}.progress-bar.time-warning{background-color:#e74c3c}@media (max-width: 768px){.event-header-content{flex-direction:column;padding:var(--spacing-sm);align-items:flex-start;gap:var(--spacing-sm)}.event-info h2{font-size:var(--font-size-lg)}.event-details{margin-bottom:var(--spacing-sm)}.time-container{margin-left:0;align-items:flex-start}}.waiting-room{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - var(--header-height) - var(--footer-height));padding:var(--spacing-xl) var(--spacing-md)}.waiting-container{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-large);width:100%;max-width:600px;text-align:center}.waiting-container h2{font-size:var(--font-size-xxl);color:var(--color-primary);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-bold)}.progress-container{height:6px;background-color:var(--color-surface-variant);border-radius:3px;margin-bottom:var(--spacing-lg);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(to right,var(--color-primary),var(--color-secondary));transition:width .5s ease}.waiting-info{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.info-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:var(--font-size-md)}.info-row:last-child{margin-bottom:0}.info-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.info-value{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.server-status{padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.status-normal{background-color:var(--color-primary);color:var(--color-background)}.status-medium{background-color:#ffc107;color:var(--color-background)}.status-high{background-color:#ff9800;color:var(--color-background)}.status-critical{background-color:var(--color-warning);color:var(--color-background)}.waiting-tips{text-align:left;border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.waiting-tips h4{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.waiting-tips ul{padding-left:var(--spacing-lg)}.waiting-tips li{margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.waiting-status{transition:opacity .5s ease,transform .5s ease}.entering-message{display:flex;flex-direction:column;align-items:center;justify-content:center}.success-icon{color:var(--color-primary);margin-bottom:var(--spacing-md);animation:pulse 2s infinite}.entering-message h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--color-primary);font-weight:var(--font-weight-bold)}.entering-message p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.entering-spinner{width:36px;height:36px;border:3px solid rgba(60,255,143,.2);border-left-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media (max-width: 768px){.waiting-container{padding:var(--spacing-lg)}.waiting-container h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md)}.info-row{font-size:var(--font-size-sm)}}.seat-selection{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (min-width: 1024px){.seat-selection{flex-direction:row}.seat-map-section{flex:2}.selection-section{flex:1;position:sticky;top:calc(var(--header-height) + var(--spacing-md));max-height:calc(100vh - var(--header-height) - var(--spacing-xl));overflow-y:auto}}.seat-map-section{position:relative;background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-medium)}.seat-map-container{position:relative;overflow:hidden;padding-bottom:var(--spacing-md)}.seat-map-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.zoom-controls{display:flex;align-items:center;background-color:var(--color-surface-variant);border-radius:var(--border-radius-sm);padding:var(--spacing-xxs) var(--spacing-xs)}.zoom-controls button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface);border-radius:50%;font-size:var(--font-size-lg);margin:0 var(--spacing-xs)}.zoom-controls span{margin:0 var(--spacing-xs);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.view-controls{display:flex}.view-toggle{display:flex;align-items:center;background-color:var(--color-surface-variant);border-radius:var(--border-radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.view-toggle.active{background-color:var(--color-primary);color:var(--color-background)}.stage-indicator{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));color:var(--color-background);text-align:center;padding:var(--spacing-xs);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md);position:relative}.stage-indicator:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid var(--color-secondary)}.seat-map{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);transition:transform var(--transition-normal);cursor:grab}.seat-map:active{cursor:grabbing}.zone{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);border:2px solid;overflow:hidden;min-width:200px;transition:background-color var(--transition-normal)}.zone.heatmap{position:relative}.zone.heatmap:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:#f003;opacity:var(--popularity, .5);pointer-events:none;z-index:1}.zone-header{padding:var(--spacing-xs);text-align:center;font-weight:var(--font-weight-bold);color:var(--color-background)}.zone-content{padding:var(--spacing-sm)}.row{display:flex;align-items:center;margin-bottom:var(--spacing-xxs)}.row-header{min-width:30px;text-align:center;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.seats{display:flex;flex-wrap:wrap;gap:2px}.seat{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;background-color:#fff;border:1px solid;border-radius:4px;cursor:pointer;transition:all var(--transition-fast)}.seat:hover{transform:scale(1.2);z-index:1}.seat.sold{background-color:#888;border-color:#888;color:#ccc;cursor:not-allowed}.seat.selected{color:var(--color-background);transform:scale(1.1)}.seat.special{border-radius:50%}.loading-seats{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.loading-seats .spinner{width:40px;height:40px;border:4px solid rgba(60,255,143,.2);border-left-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.seat-tooltip{position:absolute;top:20px;right:20px;background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-sm);box-shadow:var(--shadow-large);min-width:200px;z-index:10}.seat-tooltip-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.seat-grade{display:inline-block;padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-background)}.seat-location{font-weight:var(--font-weight-semibold)}.seat-tooltip-body{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.seat-price{font-weight:var(--font-weight-bold);color:var(--color-primary)}.seat-status{padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.seat-status.available{background-color:var(--color-primary);color:var(--color-background)}.seat-status.selected{background-color:var(--color-secondary);color:#fff}.seat-status.sold{background-color:var(--color-warning);color:#fff}.seat-special-info{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.selection-section{background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-medium)}.empty-selection{text-align:center;padding:var(--spacing-lg) 0;color:var(--color-text-secondary)}.selection-hint{font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.time-warning{color:#e74c3c;font-weight:700;margin:10px 0;padding:8px 12px;text-align:center;background-color:#e74c3c1a;border-radius:4px;animation:pulse 1s infinite;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes pulse{0%,to{opacity:.8}50%{opacity:1}}.selection-summary h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.selected-seats-list{margin-bottom:var(--spacing-md);max-height:240px;overflow-y:auto}.selected-seat-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border)}.seat-info{display:flex;align-items:center;gap:var(--spacing-xs)}.seat-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.remove-seat{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:var(--color-warning);color:#fff;font-size:var(--font-size-md);cursor:pointer}.total-price{display:flex;justify-content:space-between;align-items:center;margin:var(--spacing-md) 0;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.total-price span:last-child{color:var(--color-primary)}.select-complete-button{width:100%;padding:var(--spacing-sm);background-color:var(--color-primary);color:var(--color-background);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--transition-fast)}.select-complete-button:hover{background-color:var(--color-primary-dark)}.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.available{background-color:#fff;border:1px solid var(--color-border)}.legend-color.sold{background-color:#888}.legend-color.selected{background-color:var(--color-primary)}.legend-color.special{background-color:#fff;border:1px solid var(--color-border);border-radius:50%}@media (max-width: 768px){.seat-map-controls{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.seat{width:20px;height:20px;font-size:8px}.row-header{min-width:20px;font-size:8px}}.payment-form-container{background-color:#fff;border-radius:10px;box-shadow:0 0 20px #0000001a;padding:25px;max-width:600px;margin:0 auto}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #eee}.payment-notice{background-color:#fff8e1;border-left:4px solid #ffc107;padding:12px 15px;margin-bottom:20px;border-radius:4px}.payment-notice strong{display:block;margin-bottom:5px;color:#e65100}.payment-notice p{margin:5px 0;font-size:14px;color:#555;line-height:1.4}.input-hint{font-size:12px;color:#777;margin-top:4px;font-style:italic}.payment-header h2{font-size:1.8rem;color:#333;margin:0}.payment-amount{font-size:1.2rem;color:#555}.payment-amount span{font-weight:700;color:#c9356e;font-size:1.3rem}.payment-details{display:flex;flex-direction:column;gap:20px}.selected-seats-info{background-color:#f8f9fa;border-radius:8px;padding:15px;margin-bottom:20px}.selected-seats-info h3{margin-top:0;margin-bottom:10px;color:#333;font-size:1.2rem}.selected-seats-info ul{list-style-type:none;padding:0;margin:0}.selected-seats-info li{padding:8px 0;border-bottom:1px dashed #e0e0e0;font-size:14px;color:#555}.selected-seats-info li:last-child{border-bottom:none}.card-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.card-form label{font-size:14px;color:#555;margin-bottom:5px;font-weight:500}.card-form input{padding:12px 15px;border:1px solid #ddd;border-radius:6px;font-size:16px;transition:border-color .3s}.card-form input:focus{border-color:#c9356e;outline:none;box-shadow:0 0 0 2px #c9356e33}.card-form input.error{border-color:#e74c3c}.error-message{color:#e74c3c;font-size:12px;margin-top:5px}.payment-timer{text-align:center;background-color:#f0f0f0;padding:10px;border-radius:6px;margin:15px 0;font-size:16px}.payment-timer span{font-weight:700;color:#c9356e}.form-actions{display:flex;gap:15px;margin-top:10px}.cancel-button,.pay-button{padding:12px 20px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;flex:1}.cancel-button{background-color:#f1f1f1;color:#555}.cancel-button:hover{background-color:#e5e5e5}.pay-button{background-color:#c9356e;color:#fff}.pay-button:hover{background-color:#b32e61}.cancel-button:disabled,.pay-button:disabled{opacity:.7;cursor:not-allowed}@keyframes processingAnimation{0%{opacity:.7}50%{opacity:1}to{opacity:.7}}.pay-button:disabled{animation:processingAnimation 1.5s infinite}@media (max-width: 768px){.payment-form-container{border-radius:0;padding:15px}.payment-header{flex-direction:column;align-items:flex-start;gap:10px}.form-row{flex-direction:column;gap:15px}.form-actions{flex-direction:column}}.ticketing-page{width:100%}.payment-page{max-width:1200px;margin:20px auto;padding:0 15px;display:flex;justify-content:center;align-items:flex-start}.setup-container{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-medium);max-width:960px;margin:0 auto}.setup-container h2{font-size:var(--font-size-xxl);color:var(--color-primary);margin-bottom:var(--spacing-lg);text-align:center;font-weight:var(--font-weight-bold)}.setup-options{margin-bottom:var(--spacing-xl)}.start-button-container{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.start-button{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-background);border-radius:var(--border-radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none}.start-button:hover{background-color:var(--color-primary-dark)}.start-button:disabled{background-color:var(--color-text-disabled);cursor:not-allowed}.difficulty-description{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);padding:var(--spacing-md)}.difficulty-info h4{color:var(--color-primary);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.difficulty-info p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xxs);font-size:var(--font-size-sm)}.failed-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background-color:var(--color-surface);border-radius:var(--border-radius-md);box-shadow:var(--shadow-medium);max-width:600px;width:100%;margin:2rem auto;text-align:center}.failed-animation{margin-bottom:1.5rem}.cross-circle{width:80px;height:80px;border-radius:50%;border:3px solid #ff3333;margin:0 auto;position:relative;animation:scaleIn .5s ease-in-out}.cross{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px}.cross:before,.cross:after{content:"";position:absolute;background-color:#f33;top:50%;left:0;width:100%;height:4px;margin-top:-2px}.cross:before{transform:rotate(45deg)}.cross:after{transform:rotate(-45deg)}.failed-container h2{color:#f33;font-size:1.8rem;margin-bottom:1rem}.failed-message{font-size:1.1rem;margin-bottom:1rem;color:var(--color-text-primary);white-space:nowrap}.failed-tip{font-size:.95rem;color:var(--color-text-secondary);background-color:#ff33331a;padding:.75rem;border-radius:var(--border-radius-sm);margin-bottom:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.complete-container{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-medium);max-width:600px;margin:0 auto;text-align:center}.success-animation{margin:var(--spacing-xl) auto;width:80px;height:80px;position:relative}.checkmark-circle{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:var(--color-primary);stroke-miterlimit:10;box-shadow:inset 0 0 0 var(--color-primary);animation:checkmark-circle-fill .4s ease-in-out .4s forwards,checkmark-scale .3s ease-in-out .9s both}.checkmark{width:40px;height:40px;border-radius:50%;stroke-width:2;stroke:var(--color-background);stroke-miterlimit:10;margin:20px auto;box-shadow:inset 0 0 0 var(--color-primary);display:block;position:relative;top:-40px;right:-20px;background-color:var(--color-primary);transform:rotate(45deg)}.checkmark:before{content:"";width:5px;height:16px;background-color:#fff;position:absolute;left:19px;top:10px}.checkmark:after{content:"";width:16px;height:5px;background-color:#fff;position:absolute;left:8px;top:21px}.complete-container h2{font-size:var(--font-size-xxl);color:var(--color-primary);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-bold)}.ticket-info{background-color:var(--color-surface-variant);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);text-align:left}.ticket-info h3{font-size:var(--font-size-lg);color:var(--color-primary);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold)}.ticket-details p{margin-bottom:var(--spacing-xs);display:flex;justify-content:space-between;font-size:var(--font-size-md)}.ticket-details strong{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.action-buttons{display:flex;justify-content:center;gap:var(--spacing-md)}.view-history-button,.restart-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast);border:none}.view-history-button{background-color:var(--color-secondary);color:#fff}.restart-button{background-color:var(--color-primary);color:var(--color-background)}.view-history-button:hover{background-color:#4a63e7}.restart-button:hover{background-color:var(--color-primary-dark)}@keyframes checkmark-circle-fill{to{box-shadow:inset 0 0 0 30px var(--color-primary)}}@keyframes checkmark-scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@media (max-width: 768px){.setup-container{padding:var(--spacing-md)}.setup-container h2{font-size:var(--font-size-xl)}.start-button{font-size:var(--font-size-md);padding:var(--spacing-xs) var(--spacing-lg)}.action-buttons{flex-direction:column}.view-history-button,.restart-button{width:100%}}.stats-page{width:100%}.stats-container{max-width:960px;margin:0 auto;padding:var(--spacing-lg)}.stats-container h2{font-size:var(--font-size-xxl);color:var(--color-primary);margin-bottom:var(--spacing-lg);font-weight:var(--font-weight-bold)}.stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stats-card{background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-medium);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.stats-number{font-size:var(--font-size-xxl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.stats-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.history-section{background-color:var(--color-surface);border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-medium)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.history-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.clear-history-btn{background-color:var(--color-warning);color:#fff;padding:var(--spacing-xxs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast)}.clear-history-btn:hover{background-color:#f33}.empty-history{text-align:center;padding:var(--spacing-xl) 0;color:var(--color-text-secondary)}.start-practice-btn{margin-top:var(--spacing-md);background-color:var(--color-primary);color:var(--color-background);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);cursor:pointer;transition:background-color var(--transition-fast);border:none;font-weight:var(--font-weight-medium)}.start-practice-btn:hover{background-color:var(--color-primary-dark)}.history-list{overflow-x:auto}.history-item{display:grid;grid-template-columns:2fr 1fr 3fr 1fr 1fr;padding:var(--spacing-sm);border-bottom:1px solid var(--color-border);gap:var(--spacing-sm);align-items:center}.history-item.header{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-transform:uppercase}.history-item.success{border-left:3px solid var(--color-primary)}.history-item.failure{border-left:3px solid var(--color-warning)}.history-date,.history-venue{font-size:var(--font-size-sm)}.history-seats{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-amount{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:right}.history-result{text-align:center}.result-badge{display:inline-block;padding:var(--spacing-xxs) var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.result-badge.success{background-color:var(--color-primary);color:var(--color-background)}.result-badge.failure{background-color:var(--color-warning);color:#fff}@media (max-width: 768px){.stats-container{padding:var(--spacing-sm)}.stats-summary{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.history-section{padding:var(--spacing-md)}.history-item{grid-template-columns:2fr 1fr;grid-template-rows:auto auto;gap:var(--spacing-xs);padding:var(--spacing-sm)}.history-item.header{display:none}.history-date{grid-column:1 / 2;grid-row:1 / 2}.history-venue{grid-column:1 / 2;grid-row:2 / 3}.history-seats{grid-column:1 / 3;grid-row:3 / 4;white-space:normal;overflow:visible;text-overflow:clip}.history-amount{grid-column:2 / 3;grid-row:1 / 2;text-align:right}.history-result{grid-column:2 / 3;grid-row:2 / 3;text-align:right}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.6;background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}button{background:none;border:none;font:inherit;cursor:pointer}img{max-width:100%;display:block}input,select,textarea,button{font-family:inherit;font-size:inherit}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}:root{--color-primary: #3cff8f;--color-primary-dark: #1fae5b;--color-primary-light: #7affb2;--color-secondary: #5271ff;--color-accent: #ff5e87;--color-warning: #ff4d4d;--color-success: #3cff8f;--color-background: #181a1b;--color-surface: #232526;--color-surface-variant: #2a2d2e;--color-text-primary: #f5f6fa;--color-text-secondary: #a0a0a0;--color-text-disabled: #6c6c6c;--color-border: #444;--color-divider: #333;--color-seat-vip: #ffbf00;--color-seat-r: #ff5e87;--color-seat-s: #3d9bff;--color-seat-a: #5ddb5d;--color-seat-b: #a797ff;--shadow-small: 0 2px 8px rgba(0, 0, 0, .15);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .2);--shadow-large: 0 8px 24px rgba(0, 0, 0, .25);--spacing-xxs: 4px;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--border-radius-sm: 6px;--border-radius-md: 12px;--border-radius-lg: 18px;--border-radius-xl: 24px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-xxl: 1.5rem;--font-size-xxxl: 2rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--z-layer-1: 10;--z-layer-2: 20;--z-layer-3: 30;--z-layer-modal: 100;--z-layer-toast: 200;--header-height: 80px;--footer-height: 60px;--max-content-width: 1280px;--sidebar-width: 280px}[data-theme=light]{--color-background: #f5f6fa;--color-surface: #ffffff;--color-surface-variant: #f0f0f0;--color-text-primary: #2a2d2e;--color-text-secondary: #505050;--color-text-disabled: #a0a0a0;--color-border: #e0e0e0;--color-divider: #eaeaea;--shadow-small: 0 2px 8px rgba(0, 0, 0, .08);--shadow-medium: 0 4px 12px rgba(0, 0, 0, .12);--shadow-large: 0 8px 24px rgba(0, 0, 0, .15)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--spacing-md);max-width:var(--max-content-width);margin:0 auto;width:100%;padding-bottom:calc(var(--footer-height) + var(--spacing-xl))}.mobile-warning{background-color:#ffefef;width:100%;padding:10px;position:relative;z-index:100;border-bottom:1px solid #ffe0e0}.warning-content{display:flex;align-items:center;justify-content:center;max-width:90%;margin:0 auto;position:relative;padding:0 25px}.warning-dot{width:10px;height:10px;background-color:#f33;border-radius:50%;margin-right:10px;animation:pulse 2s infinite}.warning-content p{color:#333;font-size:.9rem;margin:0;text-align:center}.close-warning{position:absolute;right:0;background:none;border:none;font-size:1.2rem;color:#777;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}@keyframes pulse{0%{box-shadow:0 0 #ff3333b3}70%{box-shadow:0 0 0 6px #f330}to{box-shadow:0 0 #f330}}.card{background-color:var(--color-surface);border-radius:var(--border-radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-medium);margin-bottom:var(--spacing-lg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.offline-warning{position:sticky;top:0;background-color:var(--color-warning);color:#fff;text-align:center;padding:var(--spacing-xs);z-index:var(--z-layer-3)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);min-height:40px}.button-primary{background-color:var(--color-primary);color:var(--color-background)}.button-primary:hover{background-color:var(--color-primary-dark)}.button-secondary{background-color:var(--color-secondary);color:#fff}.button-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:transparent}.button-outline:hover{background-color:#3cff8f1a}.button-danger{background-color:var(--color-warning);color:#fff}.button:disabled{background-color:var(--color-text-disabled);color:var(--color-text-secondary);cursor:not-allowed}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.form-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);border:2px solid var(--color-border);background-color:var(--color-surface-variant);color:var(--color-text-primary);transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--color-primary);outline:none}.error-message{color:var(--color-warning);font-size:var(--font-size-sm);margin-top:var(--spacing-xxs)}@media (max-width: 768px){.main-content{padding:var(--spacing-sm)}.grid{grid-template-columns:1fr}.card{padding:var(--spacing-md)}}
