*,::after,::before{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0d0d0d;color:#fff;min-height:100dvh;display:flex;flex-direction:column;align-items:center}.page{width:100%;max-width:480px;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:5rem}.slots-header{display:flex;align-items:center;gap:.6rem;padding:1rem 1.2rem .6rem}.back-btn{font-size:2rem;line-height:1;color:rgba(255,255,255,.85);text-decoration:none;padding-right:.2rem}.header-title{font-size:1.15rem;font-weight:600;color:#fff}.user-card{display:flex;align-items:center;gap:.85rem;padding:.8rem 1.2rem}.avatar-wrap{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#2a2a2a;border:2px solid #1e1e1e}.avatar-wrap img{width:100%;height:100%;object-fit:cover;display:block}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#2a2a2a}.user-name{font-size:1rem;font-weight:600;color:#fff}.date-card{margin:.4rem 1rem 0;background:#1e1e1e;border-radius:12px;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between}.date-label{font-size:1.4rem;font-weight:700;color:#fff}.cal-icon{color:rgba(255,255,255,.5);flex-shrink:0}.date-chips{margin:.5rem 1rem 0;display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.2) transparent}.date-chips::-webkit-scrollbar{height:3px}.date-chips::-webkit-scrollbar-track{background:0 0}.date-chips::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}.date-chip{flex-shrink:0;background:#1e1e1e;border:1.5px solid rgba(255,255,255,.12);border-radius:20px;color:rgba(255,255,255,.7);font-size:.78rem;padding:.45rem .9rem;cursor:pointer;transition:border-color .15s,color .15s,background .15s;white-space:nowrap}.date-chip.active,.date-chip:hover{background:#7c3fa0;border-color:#7c3fa0;color:#fff}.time-card{margin:.6rem 1rem 0;background:#1e1e1e;border-radius:12px;padding:1rem 1.1rem;display:flex;align-items:center;justify-content:space-between}.irl-confirm-section{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;flex-direction:column;align-items:stretch;padding:.8rem 1.4rem 1.8rem;background:linear-gradient(to top,#0d0d0d 60%,transparent)}.irl-confirm-btn{display:block;text-align:right;font-size:1rem;font-weight:600;color:#fef450;text-decoration:none;cursor:pointer;margin-bottom:.75rem}.irl-description-block{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.75rem}.irl-description-label{font-size:.78rem;color:rgba(255,255,255,.45);font-weight:500}.irl-description-text{font-size:1.05rem;font-weight:700;color:#fff}.irl-location-msg{font-size:.82rem;color:rgba(255,255,255,.35);font-style:italic;text-align:center;line-height:1.5}.slots-card{margin:.75rem 1rem 0;background:#1e1e1e;border-radius:14px;padding:1rem}.slots-prompt{font-size:.85rem;color:rgba(255,255,255,.4);margin-bottom:.9rem}.pills-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.time-pill{background:0 0;border:1.5px solid rgba(255,255,255,.18);border-radius:20px;color:rgba(255,255,255,.85);font-size:.78rem;padding:.6rem .5rem;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-pill:hover{border-color:rgba(124,63,160,.6);background:rgba(124,63,160,.1)}.time-pill--irl{border-color:rgba(144,72,209,.5)}.pill-irl-badge{display:inline-block;font-size:.6rem;font-weight:700;color:#9048d1;letter-spacing:.04em;margin-right:.25rem;vertical-align:middle}.time-pill.active{background:#7c3fa0;border-color:#7c3fa0;color:#fff;font-weight:600}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:flex;justify-content:flex-end;padding:1rem 1.4rem 1.4rem;background:linear-gradient(to top,#0d0d0d 60%,transparent);pointer-events:none}.next-btn{pointer-events:all;font-size:1rem;font-weight:600;color:#fef450;text-decoration:none;cursor:pointer;opacity:.4;transition:opacity .15s}.next-btn.ready{opacity:1}.empty-state,.not-found{flex:1;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:.9rem;padding:3rem 1rem}