:root{--bg-primary:#0f0d15;--bg-surface:#1a1721;--bg-elevated:#242030;--accent:#7c5cfc;--accent-hover:#efeef4;--danger:#f0506e;--success:#38d39f;--warning:#ffb547;--imminent:#2563eb;--action:#f472b6;--text-primary:#ece9f1;--text-muted:#9a94a3;--border:#2f2b3a;--radius:10px;--gap:1rem;color:var(--text-primary);background-color:var(--bg-primary);font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);margin:0;line-height:1.5}h1,h2,h3{color:var(--text-primary);font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{border-radius:var(--radius);background-color:var(--accent);color:#fff;cursor:pointer;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:background-color .15s}button:hover{background-color:var(--accent-hover)}button.secondary{background-color:var(--bg-elevated);color:var(--text-primary)}button.secondary:hover{background-color:var(--border)}input,select{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-surface);color:var(--text-primary);margin:.25rem 0;padding:.5rem .75rem;font-family:inherit;font-size:.95rem}input:focus,select:focus{border-color:var(--accent);outline:none}.card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);margin-bottom:var(--gap)}.container{max-width:700px;padding:var(--gap);margin:0 auto}.nav{align-items:center;gap:var(--gap);padding:.75rem var(--gap);border-bottom:1px solid var(--border);margin-bottom:var(--gap);display:flex}.nav a{font-weight:500}.error{color:var(--danger)}.success{color:var(--success)}.muted{color:var(--text-muted)}.badge{border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.badge.pending{background-color:var(--warning);color:#1a1721}.badge.confirmed{background-color:var(--success);color:#1a1721}.badge.cancelled{background-color:var(--danger);color:#fff}.badge-action{background-color:var(--action);color:#1a1721;white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.invitations-count{color:var(--text-primary);margin-bottom:1rem;font-size:.95rem}.session-card{background-color:var(--bg-surface);border-radius:var(--radius);margin-bottom:1rem;padding:1.25rem;transition:transform .15s,border-color .15s;position:relative;overflow:hidden}.session-card--clickable:hover{border-color:var(--accent);background-color:#7c5cfc0f;transform:translateY(-2px)}.session-card__clickable{color:inherit;cursor:pointer;text-decoration:none;display:block}.session-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.session-card.pending:before{background-color:var(--warning)}.session-card.confirmed:before{background-color:var(--success)}.session-card.cancelled:before{background-color:var(--danger)}.session-card__game-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.session-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.session-card__meta{color:var(--text-muted);font-size:.85rem}.session-card__group-link,.session-card__group-name{color:var(--text-muted);margin-top:.15rem;margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:block}.session-card__group-link:hover{color:var(--accent)}.session-card__game{color:var(--text-primary);margin:.5rem 0 .25rem;font-size:1.4rem;font-weight:700;transition:color .15s;display:block}.detail-description{background-color:var(--bg-surface);border-radius:var(--radius);color:var(--text-primary);white-space:pre-wrap;margin:1rem 0;padding:1rem}.session-card__info{gap:2.5rem;margin-bottom:1rem;display:flex}.session-card__info-label{color:var(--text-muted);margin-top:.5rem;margin-bottom:.2rem;font-size:.8rem;display:block}.session-card__info-value{font-size:.8rem;font-weight:600}.session-card__info-value.urgent{color:var(--danger)}.session-card__count{color:var(--text-muted);font-weight:600}.session-card__organizer{border-top:1px solid var(--border);color:var(--accent);margin-top:1rem;padding-top:1rem;font-size:.9rem}.session-card__actions{gap:.5rem;margin-top:1rem;display:flex}.session-card__actions button{flex:1;padding:.7rem .5rem;font-weight:600}.session-card__actions button.dimmed{background-color:var(--bg-elevated);color:var(--text-muted)}.session-card__actions button.dimmed:hover{background-color:var(--border)}.session-card__actions button.chosen-available{background-color:var(--success);color:#1a1721}.session-card__actions button.chosen-unavailable{background-color:var(--danger);color:#fff}.session-card__actions button.chosen-maybe{background-color:var(--warning);color:#1a1721}.session-card__actions button:disabled{opacity:.5;cursor:not-allowed}.session-card__badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-card__badges--top{flex-wrap:wrap;gap:.4rem;margin-bottom:.5rem;display:flex}.badge-imminent{background-color:var(--imminent);color:#fff;white-space:nowrap;border-radius:999px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.session-card.session-card--imminent{border-color:var(--imminent)}.session-card.session-card--imminent:before{background-color:var(--imminent)}.gauge{margin:.75rem 0}.gauge__track{background-color:var(--bg-elevated);border-radius:999px;height:8px;overflow:hidden}.gauge__fill{border-radius:999px;height:100%;transition:width .3s}.gauge__fill.low{background-color:var(--danger)}.gauge__fill.mid{background-color:var(--warning)}.gauge__fill.full{background-color:var(--success)}.gauge__label{color:var(--text-muted);margin-top:.3em;font-size:.85em}.header{padding:1rem var(--gap);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.header__brand{color:var(--text-primary);align-items:center;gap:.6rem;font-size:1.3rem;font-weight:700;display:flex}.header__logo{background-color:var(--accent);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;display:flex}.header__right{align-items:center;gap:.75rem;display:flex}.avatar{background-color:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;display:flex}.avatar-sm{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;font-weight:600;display:flex}.avatars{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.avatars__stack{display:flex}.avatars__stack .avatar-sm{border:2px solid var(--bg-surface);margin-left:-8px}.avatars__stack .avatar-sm:first-child{margin-left:0}.avatar-sm.available{background-color:var(--success)}.avatar-sm.maybe{background-color:var(--warning);color:#1a1721}.avatar-sm.unavailable{background-color:var(--danger);color:#fff}.avatars__count{color:var(--text-muted);margin-left:.25rem;font-weight:600}.welcome{padding:var(--gap)}.welcome__greeting{margin:0 0 .3rem;font-size:2rem;font-weight:700}.welcome__subtitle{color:var(--text-muted);font-size:1rem}.header__nav{gap:var(--gap);padding:.75rem var(--gap);border-bottom:1px solid var(--border);display:flex}.header__nav a{color:var(--text-muted);font-weight:500}.header__nav a:hover{color:var(--text-primary)}.new-session-btn{border:2px dashed var(--border);border-radius:var(--radius);width:100%;color:var(--accent);cursor:pointer;margin-bottom:var(--gap);background-color:#0000;padding:1.25rem;font-size:1.05rem;font-weight:600;transition:border-color .15s,color .15s}.new-session-btn:hover{border-color:var(--accent);color:var(--accent-hover);background-color:#0000}.form-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--gap);padding:1.5rem}.form-card h2{margin-top:0;margin-bottom:1.25rem}.form-field{margin-bottom:1rem}.form-field label{color:var(--text-muted);margin-bottom:.35rem;font-size:.85rem;display:block}.form-field input,.form-field select{width:100%;margin:0}.form-field--checkbox label{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.95rem;display:flex}.form-field--checkbox input{width:auto}.form-actions{gap:.75px;margin-top:1.5rem;display:flex}.form-actions button{flex:1;padding:.75rem;font-weight:600}textarea{border:1px solid var(--border);border-radius:var(--radius);background-color:var(--bg-surface);color:var(--text-primary);resize:vertical;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.95rem}textarea:focus{border-color:var(--accent);outline:none}.filter-toggle{border:1px solid var(--border);color:var(--text-muted);margin-bottom:var(--gap);background-color:#0000;padding:.5rem 1rem}.filter-toggle:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.filters{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--gap);padding:1rem}.filters__group{margin-bottom:1rem}.filters__group:last-child{margin-bottom:0}.filters__label{color:var(--text-muted);margin-bottom:.5rem;font-size:.8rem;display:block}.filter-chip{border:1px solid var(--border);color:var(--text-muted);background-color:#0000;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.filter-chip:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.filter-chip.active{background-color:var(--accent);border-color:var(--accent);color:#fff}.detail-header{margin-bottom:1.5rem}.detail-header__game{margin:.2rem 0 .1rem;font-size:2rem;font-weight:700}.detail-info{gap:2.5rem;margin-bottom:1.5rem;display:flex}.detail-info__label{color:var(--text-muted);margin-bottom:.2rem;font-size:.8rem;display:block}.detail-info__value{font-weight:600}.detail-info__value.urgent{color:var(--danger)}.response-group{margin-bottom:1.25rem}.response-group__title{color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.response-group__people{flex-wrap:wrap;gap:.5rem;display:flex}.person-chip{background-color:var(--bg-elevated);border-radius:999px;align-items:center;gap:1rem;padding:.1rem 1.5rem .1rem .5rem;font-size:.9rem;display:flex}.response-pills{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.response-pill{background-color:var(--bg-elevated);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .75rem .25rem .25rem;display:flex}.response-pill__name{color:var(--text-primary);font-size:.85rem}.chat{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.5rem;padding:1.25rem}.chat__title{margin:0 0 1rem;font-size:1.1rem}.chat__messages{flex-direction:column;gap:.6rem;max-height:400px;margin-bottom:1rem;padding-right:.25rem;display:flex;overflow-y:auto}.chat__empty{color:var(--text-muted);text-align:center;padding:1rem 0;font-size:.9rem}.chat__message{flex-direction:column;align-items:flex-start;display:flex}.chat__message--own{align-items:flex-end}.chat__author{color:var(--text-muted);margin-bottom:.2rem;padding-left:.25rem;font-size:.75rem}.chat__bubble{text-align:left;background-color:var(--bg-elevated);width:fit-content;max-width:85%;color:var(--text-primary);border-radius:14px;padding:.5rem .85rem;font-size:.95rem;line-height:1.4}.chat__message--own .chat__bubble{background-color:var(--accent);color:#fff}.chat__form{gap:.5rem;display:flex}.chat__form input{flex:1;min-width:0;margin:0}.chat__form button{flex-shrink:0}.auth{min-height:100vh;padding:var(--gap);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth__card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;width:100%;max-width:380px;padding:2rem;display:flex}.auth__brand{justify-content:center;align-items:center;gap:.6rem;margin-bottom:1.5rem;font-size:1.5rem;font-weight:700;display:flex}.auth__brand .header__logo{width:44px;height:44px}.auth__title{text-align:center;margin:0 0 1.25rem;font-size:1.3rem}.auth__card input{width:100%;margin-bottom:.75rem}.auth__card button{width:100%;margin-top:.5rem;padding:.7rem}.auth__switch{text-align:center;color:var(--text-muted);margin-top:1.25rem;font-size:.9rem}.auth__switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;width:auto;padding:0;font-weight:600}.auth__switch button:hover{color:var(--accent-hover);background:0 0}.groups__create{gap:.5rem;margin-bottom:1.5rem;display:flex}.groups__create input{flex:1;margin:0}.group-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.6rem;margin-bottom:1rem;padding:1.25rem;display:flex}.group-card__stats{flex-wrap:wrap;gap:1.25rem;display:flex}.stat-set{align-items:center;gap:.5rem;display:flex}.stat-set__label{color:var(--text-muted);font-size:.8rem}.pill-row{gap:.4rem;display:flex}.group-card__name{font-size:1.1rem;font-weight:600}.group-card__copy{white-space:nowrap}.group-card__copy.copied{background-color:var(--success);color:#1a1721}.group-card__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.pill-row{gap:.4rem;margin-top:.4rem;display:flex}.pill{color:#fff;cursor:default;border-radius:999px;justify-content:center;align-items:center;min-width:1.6rem;height:1.6rem;padding:0 .45rem;font-size:.8rem;font-weight:600;display:inline-flex}.pill--imminent{background:var(--imminent)}.pill--confirmed{background:var(--success)}.pill--pending{background:var(--warning);color:var(--bg-primary)}.pill--now{background:var(--action)}.pill--today{background:var(--accent)}.pill--declared{background:var(--text-muted);color:var(--bg-primary)}.group-detail__header{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.group-detail__header h1{margin:0}.group-detail__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.group-detail__actions button{white-space:nowrap;padding:.35rem .75rem;font-size:.85rem}.group-invitation__info{flex-wrap:wrap}button.danger-text{color:var(--danger)}button.danger-text:hover{background-color:var(--danger);color:#fff}.members-header{align-items:center;gap:.75rem;margin:1.5rem 0 .75rem;display:flex}.members-header button{padding:.35rem .75rem;font-size:.85rem}.members-header h2{margin:0}.member-card{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.75rem;padding:1rem}.member-card__left{align-items:center;gap:.75rem;display:flex}.member-card__name{align-items:center;gap:.5rem;font-weight:600;display:flex}.member-card__role{text-transform:uppercase;background-color:var(--bg-elevated);color:var(--text-muted);border-radius:999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.member-card__role--creator{background-color:var(--accent);color:#fff}.member-card__availability{margin-top:.2rem;font-size:.85rem}.member-card{justify-content:space-between;align-items:center;display:flex}.icon-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.4rem .6rem;font-size:1.2rem;line-height:1}button.icon-btn:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.member-menu button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;width:100%;padding:.6rem .9rem;font-size:.85rem;display:block}.member-menu button:hover{background-color:var(--bg-surface)}.group-invitation{background-color:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);flex-direction:column;justify-content:space-between;gap:.4rem;margin-bottom:.5rem;padding:.75rem 1rem;text-decoration:none;display:flex}.group-invitation:hover{border-color:var(--accent)}.group-invitation__game{font-weight:600}.group-invitation__badges{flex-wrap:wrap;gap:.4rem;display:flex}.group-invitation__date{font-size:.85rem}.group-invitation--past{opacity:.6}.organizer-actions{border-top:1px solid var(--border);gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.organizer-actions button{flex:1}.organizer-actions button.confirm-btn{background-color:var(--success);color:#1a1721}.organizer-actions button.confirm-btn:disabled{background-color:var(--bg-elevated);color:var(--text-muted);cursor:not-allowed}.organizer-actions button.cancel-btn{background-color:var(--danger);color:#fff}.organizer-hint{color:var(--text-muted);margin-top:.5rem;font-size:.8rem}.danger-actions{border-top:1px solid var(--line,#e4e2f2);margin-top:1rem;padding-top:1rem}.delete-btn{background:var(--danger,#e74c3c);color:#fff}.delete-btn:hover{filter:brightness(.92)}.menu-wrap{position:relative}.menu-dropdown{background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);z-index:10;min-width:190px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.menu-dropdown button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;width:100%;padding:.6rem .9rem;font-size:.85rem;display:block}.menu-dropdown button:hover{background-color:var(--bg-surface)}.profile__logout{text-align:center;margin-top:2rem}.link-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:.9rem}.link-btn:hover{color:var(--danger);background:0 0}.header__logo-img{width:auto;height:50px;display:block}.auth__logo{width:180px;height:auto;margin:0 auto 1.5rem;display:block}.chat-indicator__svg rect{stroke:currentColor;stroke-width:1.5px}.chat-indicator__flap{stroke-width:1.5px;fill:none}.chat-indicator--empty{color:var(--text-muted);opacity:.5}.chat-indicator--empty rect{fill:none}.chat-indicator--empty .chat-indicator__flap{stroke:currentColor}.chat-indicator--read{color:var(--text-primary)}.chat-indicator--read rect{fill:currentColor}.chat-indicator--read .chat-indicator__flap{stroke:var(--bg-surface)}.chat-indicator--unread{color:var(--warning)}.chat-indicator--unread rect{fill:currentColor}.chat-indicator--unread .chat-indicator__flap{stroke:var(--bg-surface)}@media (width<=640px){.header{padding:.75rem 1rem}.header__brand{gap:.4rem;font-size:1.1rem}.header__logo{width:32px;height:32px}.header__logo-img{width:auto;height:42px;display:block}.session-card__info,.detail-info{flex-direction:column;gap:1rem}.session-card__actions,.organizer-actions,.form-actions{flex-direction:column}.list-toggles{flex-direction:column;align-items:stretch}.group-card{flex-direction:column;align-items:stretch;gap:.75rem}.form-submit button{width:100%}.invitations-count span{display:block}.group-invitation{flex-direction:column;align-items:flex-start;gap:.5rem}}
