#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}.login-container[data-v-74cb958b]{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f7fa;padding:16px}.login-card[data-v-74cb958b]{width:100%;max-width:400px;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.1);padding:30px 25px}.title[data-v-74cb958b]{text-align:center;color:#2c3e50;margin-bottom:30px;font-size:24px}.input-group[data-v-74cb958b]{margin-bottom:20px}label[data-v-74cb958b]{display:block;margin-bottom:8px;color:#34495e;font-weight:500}input[data-v-74cb958b]{width:100%;padding:14px;border:1px solid #dcdfe6;border-radius:8px;font-size:16px;box-sizing:border-box;transition:border-color .3s}input[data-v-74cb958b]:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px rgba(52,152,219,.2)}.login-btn[data-v-74cb958b]{width:100%;padding:14px;background-color:#3498db;color:#fff;border:none;border-radius:8px;font-size:17px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:10px;display:flex;justify-content:center;align-items:center}.login-btn[data-v-74cb958b]:active:not(:disabled){background-color:#2980b9;transform:scale(.98)}.login-btn[data-v-74cb958b]:disabled{background-color:#a0c9e4;cursor:not-allowed;opacity:.8}.error-message[data-v-74cb958b]{color:#e74c3c;background-color:#fdeded;padding:10px 15px;border-radius:8px;margin:15px 0;font-size:14px;text-align:center;animation:fadeIn-74cb958b .3s ease}@keyframes fadeIn-74cb958b{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.login-card[data-v-74cb958b]{padding:25px 20px}.title[data-v-74cb958b]{font-size:22px}input[data-v-74cb958b]{padding:12px}.login-btn[data-v-74cb958b]{padding:13px}}*{margin:0;padding:0;box-sizing:border-box;font-family:PingFang SC,Microsoft YaHei,sans-serif}body{background-color:#f5f7fa;color:#333;overflow:hidden}.film-app{max-width:500px;margin:0 auto;background:#fff;height:100vh;display:flex;flex-direction:column;box-shadow:0 0 20px rgba(0,0,0,.05)}.list-container{flex:1;overflow-y:auto;position:relative;padding-top:10px}.refresh-tip{position:absolute;top:-50px;left:0;right:0;height:50px;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666;background:hsla(0,0%,100%,.9);z-index:2;transition:top .3s}.refresh-tip.active{top:0}.refresh-tip svg{margin-right:8px;transform:rotate(180deg)}.film-list{padding:0 15px 15px}.film-item{background:#fff;border-radius:12px;padding:15px;margin-bottom:15px;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:all .3s;border:1px solid #f0f0f0;position:relative}.film-item:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.08)}.cinema-info{display:flex;justify-content:space-between;margin-bottom:10px;align-items:center}.cinema-name{font-size:16px;font-weight:600;color:#333;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:10px}.people-count{background:#f0f7ff;color:#1890ff;font-size:12px;padding:3px 8px;border-radius:20px;font-weight:500;flex-shrink:0}.film-info{display:flex;margin-bottom:12px;font-size:14px;flex-wrap:wrap}.film-title{color:#333;font-weight:500;margin-right:10px}.hall{color:#666}.price-info{display:flex;flex-wrap:wrap;font-size:14px;margin-bottom:8px}.original-price{color:#999;text-decoration:line-through;margin-right:15px}.discounted-price{color:#ff5e62;font-weight:500}.countdown-container{background:rgba(253,130,10,.11);border-radius:33px;padding:6px 12px;display:inline-flex;justify-content:center;margin-left:auto;margin-top:8px}.countdown{font-size:22px;font-weight:700;color:#fd820a;letter-spacing:.5px}.load-more,.no-more{text-align:center;padding:20px;color:#999;font-size:14px;background:#fafafa;border-top:1px solid #f0f0f0}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,94,98,.3);border-radius:50%;border-top-color:#ff5e62;animation:spin 1s ease-in-out infinite;margin-right:10px;vertical-align:middle}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.film-app{max-width:100%}.film-item{padding:12px}.cinema-name{font-size:15px}.countdown{font-size:20px}.buy-btn{padding:8px 18px;font-size:14px}.hall{margin-top:5px;width:100%}}