@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=JetBrains+Mono:wght@300;400;500&display=swap";:root{--bg: #08090c;--bg2: #0f1014;--bg3: #16171c;--bg4: #1e1f26;--gold: #c9a55a;--gold2: #a8884a;--gold3: #8a6e3a;--gold-glow: rgba(201,165,90,.08);--gold-glow2: rgba(201,165,90,.15);--text: #e2dfd8;--text2: #9e9a90;--text3: #605d54;--red: #b84a4a;--green: #4ab870;--border: #222328;--border2: rgba(201,165,90,.15);--font: "JetBrains Mono", monospace;--serif: "Playfair Display", Georgia, serif;--ease: cubic-bezier(.4,0,.2,1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:12px;line-height:1.6;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}#root{min-height:100%;display:flex;flex-direction:column}::selection{background:var(--gold);color:var(--bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text3)}.shell{max-width:480px;margin:0 auto;padding:0 16px;width:100%}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{text-align:center;width:100%;max-width:320px;padding:0 20px}.login-logo{font-family:var(--serif);font-size:56px;font-weight:300;color:var(--gold);letter-spacing:.15em;margin-bottom:4px}.login-sub{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.3em;margin-bottom:48px}.login-users{display:flex;gap:12px;margin-bottom:24px}.login-user-btn{flex:1;padding:16px;background:var(--bg2);border:1px solid var(--border);color:var(--text2);font-family:var(--font);font-size:13px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:all .2s var(--ease)}.login-user-btn:hover,.login-user-btn.sel{border-color:var(--gold2);color:var(--gold);background:var(--gold-glow)}.login-pin{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.login-pin input{width:44px;height:52px;text-align:center;background:var(--bg2);border:1px solid var(--border);color:var(--gold);font-family:var(--font);font-size:20px;outline:none}.login-pin input:focus{border-color:var(--gold2)}.login-err{color:var(--red);font-size:11px;margin-bottom:16px}.hdr{padding:20px 0 16px;border-bottom:1px solid var(--border);margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.hdr-logo{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--gold);letter-spacing:.1em}.hdr-logo span{color:var(--text3);margin:0 3px;font-size:16px}.hdr-right{display:flex;align-items:center;gap:12px}.hdr-user{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:.1em}.hdr-logout{background:none;border:1px solid var(--border);color:var(--text3);font-family:var(--font);font-size:9px;padding:4px 8px;cursor:pointer;text-transform:uppercase;letter-spacing:.1em}.hdr-logout:hover{border-color:var(--red);color:var(--red)}.timer-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);margin-bottom:16px}.timer-who{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.timer-who b{color:var(--gold);font-weight:500}.timer-clock{font-size:13px;font-weight:500;color:var(--gold);font-variant-numeric:tabular-nums}.timer-expired{color:var(--red)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text3);font-family:var(--font);font-size:10px;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:all .2s var(--ease)}.tab:hover{color:var(--text2)}.tab.on{color:var(--gold);border-bottom-color:var(--gold)}.choice-mode{display:flex;gap:10px;margin-bottom:20px}.choice-btn{flex:1;padding:24px 16px;background:var(--bg2);border:1px solid var(--border);cursor:pointer;transition:all .2s var(--ease);text-align:center}.choice-btn:hover{border-color:var(--border2);background:var(--bg3)}.choice-btn .cb-icon{font-size:28px;margin-bottom:8px}.choice-btn .cb-title{font-family:var(--serif);font-size:16px;color:var(--text);margin-bottom:4px}.choice-btn .cb-sub{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.spin-area{text-align:center;padding:32px 0}.spin-result{padding:32px;background:var(--bg2);border:1px solid var(--border2);margin-bottom:20px}.spin-result h2{font-family:var(--serif);font-size:28px;font-weight:300;margin-bottom:8px;color:var(--text)}.spin-result p{color:var(--text2);font-size:12px;line-height:1.7;font-family:var(--serif);font-style:italic}.spin-count{font-size:10px;color:var(--text3);margin-bottom:16px;text-transform:uppercase;letter-spacing:.1em}.spin-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.filters{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.fbtn{padding:5px 10px;background:var(--bg2);border:1px solid var(--border);color:var(--text3);font-family:var(--font);font-size:9px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .15s var(--ease)}.fbtn:hover{border-color:var(--text3);color:var(--text2)}.fbtn.on{background:var(--gold-glow);border-color:var(--gold2);color:var(--gold)}.flabel{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;align-self:center;margin-right:2px}.search{margin-bottom:12px}.search input{width:100%;padding:8px 12px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-family:var(--font);font-size:11px;outline:none}.search input::placeholder{color:var(--text3)}.search input:focus{border-color:var(--gold3)}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.cat-card{background:var(--bg2);border:1px solid var(--border);padding:16px 12px;cursor:pointer;transition:all .2s var(--ease);position:relative;overflow:hidden}.cat-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.cat-card:hover{border-color:var(--border2);background:var(--bg3)}.cat-card:hover:after{transform:scaleX(1)}.cat-card.locked{opacity:.7}.cat-card .ci{font-size:22px;margin-bottom:8px}.cat-card .cn{font-family:var(--serif);font-size:15px;color:var(--text);margin-bottom:2px}.cat-card .cc{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em}.d-list{display:flex;flex-direction:column;gap:4px}.d-item{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg2);border:1px solid var(--border);cursor:pointer;transition:all .15s var(--ease)}.d-item:hover{border-color:var(--border2);background:var(--bg3)}.d-icon{font-size:18px;flex-shrink:0}.d-body{flex:1;min-width:0}.d-title{font-family:var(--serif);font-size:14px;color:var(--text);margin-bottom:1px}.d-meta{display:flex;gap:8px;font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em}.d-arrow{color:var(--text3);font-size:12px;flex-shrink:0}.d-save{background:none;border:none;font-size:16px;cursor:pointer;padding:4px;transition:transform .15s;flex-shrink:0}.d-save:hover{transform:scale(1.2)}.detail{padding-bottom:100px}.back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--text3);font-family:var(--font);font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;margin-bottom:20px}.back:hover{color:var(--gold)}.det-cat{font-size:9px;color:var(--gold2);text-transform:uppercase;letter-spacing:.15em;margin-bottom:6px}.det-h{font-family:var(--serif);font-size:32px;font-weight:300;line-height:1.2;margin-bottom:14px}.det-tags{display:flex;gap:6px;margin-bottom:20px}.det-tag{padding:3px 8px;border:1px solid var(--border);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--text2)}.det-desc{font-size:14px;line-height:1.8;color:var(--text2);margin-bottom:28px;font-family:var(--serif);font-weight:400;font-style:italic}.det-div{width:32px;height:1px;background:var(--gold3);margin-bottom:28px}.prep{margin-bottom:24px}.prep-title{font-size:10px;color:var(--gold2);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;display:flex;align-items:center;gap:6px}.prep-title:after{content:"";flex:1;height:1px;background:var(--border)}.prep-list{list-style:none;padding:0}.prep-list li{padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--text2);display:flex;align-items:center;gap:8px}.prep-list li:before{content:"·";color:var(--gold2);font-weight:700}.confirm-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg3);border-top:1px solid var(--border2);padding:16px;z-index:50}.confirm-inner{max-width:480px;margin:0 auto;display:flex;gap:8px}.active-date{padding:24px;background:var(--bg2);border:1px solid var(--border2);margin-bottom:16px}.active-date .ad-label{font-size:9px;color:var(--gold);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}.active-date h2{font-family:var(--serif);font-size:24px;font-weight:300;margin-bottom:6px}.active-date .ad-who{font-size:11px;color:var(--text2);margin-bottom:16px}.active-date .ad-info{display:flex;gap:16px;font-size:11px;color:var(--text2);margin-bottom:16px}.active-date .ad-info span{display:flex;align-items:center;gap:4px}.btn{padding:10px 20px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font-family:var(--font);font-size:10px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all .15s var(--ease)}.btn:hover{border-color:var(--text3);background:var(--bg3)}.btn-g{background:var(--gold);color:var(--bg);border-color:var(--gold);font-weight:500}.btn-g:hover{background:#d4b060;border-color:#d4b060}.btn-g:disabled{opacity:.5;cursor:default}.btn-o{background:transparent}.btn-full{width:100%}.btn-sm{padding:6px 12px;font-size:9px}.h-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg2);border:1px solid var(--border);margin-bottom:4px}.h-who{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--gold2);padding:2px 6px;border:1px solid var(--border2);flex-shrink:0}.h-body{flex:1}.h-title{font-family:var(--serif);font-size:14px;color:var(--text);margin-bottom:1px}.h-date{font-size:9px;color:var(--text3)}.h-del{background:none;border:none;color:var(--text3);cursor:pointer;font-size:12px;padding:2px}.h-del:hover{color:var(--red)}.empty{text-align:center;padding:48px 16px;color:var(--text3)}.empty .ei{font-size:32px;margin-bottom:12px;opacity:.3}.empty h3{font-family:var(--serif);font-size:18px;font-weight:300;color:var(--text2);margin-bottom:6px}.empty p{font-size:11px}.confirmed{text-align:center;padding:60px 16px}.confirmed .check{width:52px;height:52px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:20px;color:var(--gold)}.confirmed h2{font-family:var(--serif);font-size:24px;font-weight:300;margin-bottom:6px}.confirmed p{color:var(--text2);font-size:11px;margin-bottom:6px}.confirmed .next{color:var(--gold);font-size:11px;margin-bottom:24px}.waiting{text-align:center;padding:40px 16px}.waiting .w-icon{font-size:40px;margin-bottom:16px;opacity:.5}.waiting h2{font-family:var(--serif);font-size:22px;font-weight:300;margin-bottom:8px}.waiting p{color:var(--text2);font-size:11px;margin-bottom:4px}.gate-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gate-box{background:var(--bg2);border:1px solid var(--border2);padding:32px;max-width:320px;text-align:center}.gate-box h2{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--gold);margin-bottom:10px}.gate-box p{color:var(--text2);margin-bottom:20px;font-size:11px}.gate-acts{display:flex;gap:8px}.gate-acts button{flex:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.anim{animation:fadeUp .25s var(--ease) forwards}@keyframes spin-glow{0%{box-shadow:0 0 0 0 var(--gold-glow2)}50%{box-shadow:0 0 20px 4px var(--gold-glow2)}to{box-shadow:0 0 0 0 var(--gold-glow2)}}.spinning{animation:spin-glow .6s var(--ease)}@media (max-width:480px){.shell{padding:0 12px}.det-h{font-size:26px}.login-logo{font-size:44px}}
