*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1e1308;--bg2:#2a1c0e;--bg3:#352314;--border:#4a3020;--border2:#5a3c28;--text:#f5ede0;--text2:#9a8a78;--text3:#5a4e42;--accent:#e8a040;--accent2:#c8882a;--red:#d96060;--green:#7eb87a;--blue:#6aabdd;--coffee:#c8882a;--game:#8878e8;--company:#7eb87a;--font:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",sans-serif;--r:14px}body,html{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer;border:none;background:none}button,input,textarea{font-family:var(--font)}input,textarea{color:var(--text);background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:12px 14px;font-size:15px;width:100%;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,160,64,.12)}textarea{resize:vertical;min-height:80px}input::placeholder,textarea::placeholder{color:var(--text3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--r);font-size:15px;font-weight:600;transition:all .15s;letter-spacing:-.01em}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#100e0b;box-shadow:0 2px 12px rgba(232,160,64,.25)}.btn-primary:hover{background:var(--accent2);box-shadow:0 4px 20px rgba(232,160,64,.35)}.btn-ghost{background:var(--bg3);color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{border-color:var(--border2);color:var(--text)}.btn-danger{background:#2a1212;color:var(--red);border:1px solid #3d1a1a}.btn-sm{padding:7px 14px;font-size:13px;border-radius:10px}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--r);padding:16px}.tag{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--bg3);color:var(--text2)}.dot,.tag{display:inline-block}.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.nav{position:fixed;bottom:0;left:0;right:0;background:rgba(16,14,11,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom)}.nav,.nav a{display:flex}.nav a{flex:1 1;flex-direction:column;align-items:center;gap:3px;padding:10px 0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);transition:color .15s}.nav a.active{color:var(--accent)}.nav-icon{font-size:20px;line-height:1}.page{max-width:480px;margin:0 auto;padding:24px 16px 100px}.page-title{font-size:22px;font-weight:900;letter-spacing:-.03em;margin-bottom:4px}.page-sub{font-size:13px;color:var(--text2);margin-bottom:24px}.activity-card{background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:16px;display:flex;align-items:center;gap:14px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.activity-card:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at center,rgba(232,160,64,.06) 0,transparent 70%);transition:opacity .3s;pointer-events:none}.activity-card:hover:before{opacity:1}.activity-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.activity-icon-coffee{background:rgba(200,136,42,.15);box-shadow:inset 0 0 0 1px rgba(200,136,42,.2)}.activity-icon-game{background:rgba(136,120,232,.15);box-shadow:inset 0 0 0 1px rgba(136,120,232,.2)}.activity-icon-company{background:rgba(126,184,122,.15);box-shadow:inset 0 0 0 1px rgba(126,184,122,.2)}.activity-name{font-size:16px;font-weight:800;letter-spacing:-.02em}.activity-type{font-weight:400;color:var(--text2)}.activity-note{font-size:13px;color:var(--text2);margin-top:3px;line-height:1.4}.activity-meta{font-size:11px;color:var(--text3);margin-top:6px;display:flex;gap:10px;align-items:center}.join-btn{flex-shrink:0;padding:10px 18px;border-radius:12px;font-size:14px;font-weight:800;letter-spacing:-.01em;transition:all .15s}.join-btn:active{transform:scale(.95)}.join-btn-coffee{background:rgba(200,136,42,.2);color:#e8a040;border:1px solid rgba(200,136,42,.3)}.join-btn-coffee:hover{background:rgba(200,136,42,.3)}.join-btn-game{background:rgba(136,120,232,.2);color:#a090f8;border:1px solid rgba(136,120,232,.3)}.join-btn-game:hover{background:rgba(136,120,232,.3)}.join-btn-company{background:rgba(126,184,122,.2);color:#7eb87a;border:1px solid rgba(126,184,122,.3)}.join-btn-company:hover{background:rgba(126,184,122,.3)}.type-btn{flex:1 1;padding:16px 8px;border-radius:16px;background:var(--bg2);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:var(--border2);background:var(--bg3)}.type-btn.active-coffee{background:rgba(200,136,42,.1);border-color:rgba(200,136,42,.4);box-shadow:0 0 20px rgba(200,136,42,.08)}.type-btn.active-game{background:rgba(136,120,232,.1);border-color:rgba(136,120,232,.4);box-shadow:0 0 20px rgba(136,120,232,.08)}.type-btn.active-company{background:rgba(126,184,122,.1);border-color:rgba(126,184,122,.4);box-shadow:0 0 20px rgba(126,184,122,.08)}.type-btn-icon{font-size:28px;line-height:1}.type-btn-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text2)}.post-form{border-radius:18px;padding:18px;margin-bottom:24px;border:1px solid var(--border2);background:var(--bg2)}.section-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:12px}.empty{text-align:center;padding:40px 16px;color:var(--text2)}.empty-icon{font-size:40px;margin-bottom:12px;opacity:.6}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.live-badge{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.08em}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(126,184,122,.4)}50%{opacity:.7;box-shadow:0 0 0 4px rgba(126,184,122,0)}}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:200;padding:16px}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:24px 24px 18px 18px;width:100%;max-width:480px;padding:24px 20px;max-height:85vh;overflow-y:auto}.modal-title{font-size:17px;font-weight:800;letter-spacing:-.02em;margin-bottom:16px}.game-board{display:flex;flex-direction:column;gap:20px}.card-row{gap:8px;flex-wrap:wrap}.card-row,.uno-card{display:flex;justify-content:center}.uno-card{width:58px;height:84px;border-radius:12px;align-items:center;font-size:18px;font-weight:900;border:2px solid hsla(0,0%,100%,.08);cursor:pointer;transition:transform .15s,box-shadow .15s;flex-shrink:0;text-shadow:0 1px 3px rgba(0,0,0,.5);box-shadow:0 2px 8px rgba(0,0,0,.4)}.uno-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(0,0,0,.5)}.uno-card.playable{border-color:hsla(0,0%,100%,.35);box-shadow:0 0 0 2px var(--accent),0 4px 16px rgba(232,160,64,.2)}.uno-card.back{background:linear-gradient(135deg,#1a1630,#2d1b50);cursor:default;box-shadow:0 2px 8px rgba(0,0,0,.4)}.color-red{background:linear-gradient(145deg,#b02020,#e84040)}.color-yellow{background:linear-gradient(145deg,#b08010,#e8c030)}.color-green{background:linear-gradient(145deg,#208040,#40c060)}.color-blue{background:linear-gradient(145deg,#1060a0,#2090d0)}.color-wild{background:linear-gradient(145deg,#602080,#9030c0)}.discard-area{gap:24px}.discard-area,.draw-pile{display:flex;align-items:center;justify-content:center}.draw-pile{width:58px;height:84px;border-radius:12px;background:linear-gradient(145deg,#1a1630,#2d1b50);border:2px solid hsla(0,0%,100%,.08);font-size:26px;cursor:pointer;transition:transform .15s;box-shadow:0 2px 8px rgba(0,0,0,.4)}.draw-pile:hover{transform:scale(1.05)}.turn-indicator{text-align:center;font-size:13px;color:var(--text2);font-weight:700;padding:8px 16px;border-radius:20px;background:var(--bg3);display:inline-block;align-self:center}.turn-yours{color:var(--accent);background:rgba(232,160,64,.1)}.color-picker{display:flex;gap:12px;justify-content:center;padding:18px;background:var(--bg2);border-radius:var(--r);border:1px solid var(--border2)}.color-btn{width:52px;height:52px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:transform .15s,box-shadow .15s;box-shadow:0 2px 8px rgba(0,0,0,.3)}.color-btn:hover{transform:scale(1.12);box-shadow:0 4px 16px rgba(0,0,0,.4)}.winner-banner{text-align:center;padding:40px 16px;background:var(--bg2);border-radius:18px;border:1px solid var(--border2)}.winner-emoji{font-size:60px}.winner-text{font-size:24px;font-weight:900;margin-top:10px;letter-spacing:-.02em}.messages{display:flex;flex-direction:column;gap:10px;padding:16px 0}.msg{max-width:80%}.msg-mine{align-self:flex-end}.msg-theirs{align-self:flex-start}.msg-bubble{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}.msg-mine .msg-bubble{background:var(--accent);color:#100e0b;border-bottom-right-radius:4px;font-weight:500}.msg-theirs .msg-bubble{background:var(--bg3);border-bottom-left-radius:4px;border:1px solid var(--border2)}.msg-sender{font-size:11px;color:var(--text3);margin-bottom:3px;font-weight:700;letter-spacing:.03em}.seat-card{padding:16px;background:var(--bg2);border:1px solid var(--border);border-radius:16px;margin-bottom:10px}.seat-time{font-size:22px;font-weight:900;letter-spacing:-.03em}.seat-place{font-size:14px;color:var(--text2);margin-top:3px}.seat-note{font-size:13px;margin-top:10px;color:var(--text);line-height:1.5}.seat-meta{font-size:11px;color:var(--text3);margin-top:8px}