.special-page{text-align:center;color:#fff;background:0 0;min-height:100vh;padding:20px;font-family:Funnel Display,sans-serif}.special-title{color:#61d5c8;margin-bottom:0;font-size:2.5rem;font-weight:700}.special-subtitle{color:#fff;margin-top:0;margin-bottom:40px;font-size:1.5rem}.special-grid{-webkit-overflow-scrolling:touch;justify-content:center;gap:20px;max-width:100%;padding:0 10px;display:flex;overflow-x:auto}.special-card{text-align:center;border-radius:4px;flex-direction:column;flex:0 0 200px;align-items:stretch;max-width:200px;min-height:280px;margin-top:50px;display:flex;overflow:hidden}.special-grid:before,.special-grid:after{content:"";flex:0 0 10px}.special-day{color:#0c171c;z-index:2;background:#fff;border-radius:4px;padding:0;font-size:1.05rem;font-weight:400;box-shadow:0 2px 6px #00000026}.special-body{background:linear-gradient(#61d5c840 0%,#28464be6 30%,#14232899 65%,#14232800 100%);border-radius:0 0 10px 10px;flex:1;padding:20px 10px;transform:translateY(-4px)}.special-time{color:#ddd;margin-top:16px;margin-bottom:28px;font-size:.85rem;line-height:1.4}.special-event{text-transform:uppercase;color:#fff;margin-bottom:20px;font-size:1rem;font-weight:700}.special-headerbar{color:#0c171c;z-index:2;background:#fff;border-radius:4px;padding:0;font-size:1.05rem;font-weight:400;box-shadow:0 2px 6px #00000026}.special-text{color:#fff;margin-top:50px;margin-bottom:12px;font-size:.95rem;line-height:1.3}.special-desc{color:#61d5c8;font-size:.9rem;font-weight:600}.special-card.disabled{opacity:.5;pointer-events:none;filter:grayscale(80%)}.highlight{color:#61d5c8;font-weight:600}.slot-form{justify-content:center;gap:10px;margin-bottom:30px;display:flex}.slot-input{color:#fff;background:#0c171ce6;border:1px solid #61d5c8;border-radius:6px;min-width:390px;padding:10px 14px;font-size:1rem}.btn-submit{color:#fff;cursor:pointer;background:#329e9e;border:none;border-radius:6px;padding:10px;font-weight:600;transition:background .3s}.btn-submit:hover{background:#42c7c5}.login-hint{color:#aaa;margin-bottom:20px;font-size:1rem}.slot-list{text-align:left;flex-direction:column;gap:12px;max-width:500px;max-height:50vh;margin:0 auto;padding-right:6px;display:flex;overflow-y:auto}.slot-list::-webkit-scrollbar{width:6px}.slot-list::-webkit-scrollbar-thumb{background:linear-gradient(#61d5c8,#42c7c5);border-radius:6px}.slot-list::-webkit-scrollbar-track{background:#ffffff0d}.slot-item{background:#16212de6;border:1px solid #61d5c84d;border-radius:6px;justify-content:space-between;padding:10px 14px;display:flex}.slot-nick{color:#61d5c8;font-weight:600}.slot-name{color:#fff;font-weight:500}.autocomplete{width:100%;max-width:400px;position:relative}.suggestions{z-index:10;background:#16212d;border:1px solid #61d5c84d;border-radius:6px;max-height:200px;margin:4px 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestions li{cursor:pointer;padding:8px 12px;transition:background .2s}.suggestions li:hover{background:#61d5c833}.slot-input.error{border:1px solid #e74c3c;box-shadow:0 0 6px #e74c3c99}.special-page{color:#fff;max-width:800px;margin:0 auto;padding:40px 20px;font-family:Funnel Display,sans-serif}.special-header{text-align:center;margin-bottom:30px}.special-title{color:#61d5c8;margin:0;font-size:2.5rem;font-weight:700}.special-subtitle{color:#ccc;font-size:1.2rem;font-weight:400}.special-content{background:#16212d;border-radius:12px;padding:20px;box-shadow:0 4px 15px #0006}.guess-form{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.guess-form label{font-size:1rem;font-weight:500}.guess-form input{color:#fff;background:#0f1a22;border:2px solid #61d5c8;border-radius:6px;outline:none;padding:10px;font-size:1rem}.guess-form input:focus{border-color:#00ffe5}.guess-form button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#61d5c8,#37a9a2);border:none;border-radius:8px;padding:12px;font-size:1rem;font-weight:700;transition:transform .15s,opacity .15s}.info-msg{background:#61d5c81a;border:1px solid #61d5c8;border-radius:6px;margin-bottom:20px;padding:12px;font-size:1rem}.error-msg{color:#ff6b6b;margin-top:-5px;font-size:.95rem}.rules-box{color:#ccc;background:#ffffff0d;border-left:4px solid #61d5c8;border-radius:6px;padding:15px;font-size:.95rem}.rules-box p{margin:5px 0}.guess-list{max-height:50vh;margin-top:20px;padding-right:8px;overflow-y:auto}.guess-list::-webkit-scrollbar{width:8px}.guess-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.guess-list::-webkit-scrollbar-thumb{background:linear-gradient(#61d5c8,#37a9a2);border-radius:4px}.guess-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(#37a9a2,#2e8b82)}.guess-item{background:#0f1a22;border:1px solid #61d5c84d;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 14px;transition:transform .15s;display:flex}.guess-nick{color:#61d5c8;margin-right:8px;font-weight:700}.guess-value{color:#fff}@media (max-width:768px){.special-page{color:#fff;max-width:100%;min-height:50vh;margin:0;padding:0;font-family:Funnel Display,sans-serif}.mobile-main{padding:0}.special-grid{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x mandatory;flex-wrap:nowrap;justify-content:flex-start;gap:12px;margin-left:0;padding:0;overflow:auto hidden}.special-card{scroll-snap-align:center;box-sizing:border-box;text-align:center;border-radius:10px;flex:0 0 100%;max-width:100%;padding:16px}.special-grid::-webkit-scrollbar{display:none}.special-grid{-ms-overflow-style:none;scrollbar-width:none}.special-title{text-align:center;margin-top:0;margin-bottom:0;font-size:1.8rem}.special-subtitle{text-align:center;margin:0;font-size:1.1rem;line-height:1.3}.special-text,.special-desc,.special-headerbar{word-wrap:break-word;overflow-wrap:break-word;white-space:normal;text-align:center}.special-text{text-align:center;word-wrap:break-word;overflow-wrap:break-word;max-width:200px;margin:0 auto}.special-desc{margin-top:20px}.special-headerbar{padding:6px 10px}.swipe-hint-top{text-align:center;color:#fbfcfc;opacity:.8;pointer-events:none;margin-bottom:8px;font-size:.95rem;animation:1.8s ease-in-out infinite swipeHintAnim}@keyframes swipeHintAnim{0%{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}to{opacity:.2;transform:translateY(0)}}}
