:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#f2f4ff;background-color:transparent;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}body{margin:0;min-height:100vh}button{font-family:inherit}:root{color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:radial-gradient(circle at 20% 20%,#2b1d5e,#10143a 55%,#050713);color:#f2f4ff}.app-surface{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,3rem);box-sizing:border-box}.app-menu{width:min(520px,100%);background:linear-gradient(155deg,#1a2450eb,#0c112cfa);border:1px solid rgba(135,155,255,.35);border-radius:24px;padding:clamp(2.75rem,7vw,4rem) clamp(1.75rem,6vw,3.5rem);box-shadow:0 28px 70px #050718bf;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2.25rem}.app-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.app-meta__spotify{display:flex;justify-content:flex-end}.app-language-toggle{display:inline-flex;padding:.35rem;background:#101734b3;border-radius:999px;border:1px solid rgba(135,155,255,.35);gap:.35rem}.app-language-toggle__button{border:none;background:transparent;color:#c7d0ffcc;font-size:.8rem;font-weight:700;letter-spacing:.1em;padding:.45rem .9rem;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease}.app-language-toggle__button:hover,.app-language-toggle__button:focus-visible{background:#5a68aa59;color:#fff;outline:none}.app-language-toggle__button--active{background:linear-gradient(135deg,#6c5ce7f2,#00b894f2);color:#fff}.spotify-login-button{border:none;border-radius:999px;padding:.55rem 1.25rem;font-weight:700;letter-spacing:.08em;background:#1db954;color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.spotify-login-button:hover,.spotify-login-button:focus-visible{transform:translateY(-2px);box-shadow:0 14px 28px #1db95459;outline:none}.spotify-login-button--logout{background:#e24c651f;color:#ff9aa8;border:1px solid rgba(255,122,144,.6);box-shadow:none}.spotify-login-button--logout:hover,.spotify-login-button--logout:focus-visible{box-shadow:0 12px 24px #ff778b59;background:#e24c6533;color:#ffd5db}.spotify-status{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1.1rem;border-radius:999px;font-weight:600;letter-spacing:.05em}.spotify-status--connected{background:#1db9542e;color:#4ff89c;border:1px solid rgba(29,185,84,.35)}.spotify-status--loading{background:#5a68aa40;color:#d7deffd9;border:1px solid rgba(135,155,255,.35)}.app-menu__title{width:clamp(220px,55vw,340px);max-width:100%;display:block;margin:0 auto;filter:drop-shadow(0 14px 35px rgba(48,17,74,.55))}.app-menu__subtitle{margin:-1.25rem 0 1rem;font-size:.95rem;letter-spacing:.35em;text-transform:uppercase;color:#c7d0ffd9}.app-menu__buttons{width:100%;display:grid;gap:1.25rem}.app-menu__primary-action{display:flex;align-items:center;gap:.75rem;width:100%}.app-menu__primary-action>.app-menu__button{flex:1 1 auto}.app-menu__button{border-radius:16px;border:2px solid rgba(138,154,255,.4);padding:1.1rem 1.5rem;font-size:1.1rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:#101734e0;color:#f5f6ff;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.app-menu__button:hover,.app-menu__button:focus-visible{transform:translateY(-3px);border-color:#aab9ffd9;box-shadow:0 18px 36px #070a1e8c;background:#192044f2;outline:none}.app-menu__button--primary{background:linear-gradient(135deg,#6c5ce7,#00b894);border:none;box-shadow:0 22px 48px #4148a899;color:#fff}.app-menu__button--primary:hover,.app-menu__button--primary:focus-visible{box-shadow:0 26px 56px #4148a8bf;transform:translateY(-4px)}.app-menu__button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;border-color:#5a68aa59;background:#101734a6}.app-menu__info{position:relative;display:inline-flex}.app-menu__info-button{display:inline-flex;align-items:center;justify-content:center;width:2.45rem;height:2.45rem;border-radius:999px;border:2px solid rgba(138,154,255,.4);background:#101734e0;color:#f5f6ff;font-size:1.15rem;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.app-menu__info-button:hover,.app-menu__info-button:focus-visible{transform:translateY(-3px);border-color:#aab9ffd9;box-shadow:0 18px 36px #070a1e8c;background:#192044f2;outline:none}.app-menu__info-bubble{position:absolute;top:calc(100% + .75rem);right:0;width:min(260px,70vw);padding:1rem 1.15rem;border-radius:16px;border:1px solid rgba(160,172,255,.35);background:#0c102af7;color:#ecf0ffeb;box-shadow:0 18px 36px #070a1e8c;opacity:0;transform:translateY(-6px) scale(.98);pointer-events:none;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:5}.app-menu__info:hover .app-menu__info-bubble,.app-menu__info:focus-within .app-menu__info-bubble{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;visibility:visible}.app-menu__info-bubble:before{content:"";position:absolute;bottom:100%;right:1.1rem;width:12px;height:12px;background:inherit;border-left:1px solid rgba(160,172,255,.35);border-top:1px solid rgba(160,172,255,.35);transform:rotate(45deg)}.app-menu__info-text{margin:0 0 .75rem;font-size:.95rem;line-height:1.4}.app-menu__info-link{display:inline-flex;align-items:center;gap:.4rem;color:#9caeff;font-weight:600;text-decoration:none;letter-spacing:.04em}.app-menu__info-link:after{content:"↗";font-size:.85em}.app-menu__info-link:hover,.app-menu__info-link:focus-visible{color:#c7d2ff;outline:none;text-decoration:underline}.app-menu__hint{font-size:.9rem;color:#cdd7ff99;letter-spacing:.1em;text-transform:uppercase}.app-container{width:min(760px,100%);background:linear-gradient(150deg,#0f1330f0,#080c24fa);border:1px solid rgba(126,145,255,.25);border-radius:28px;padding:clamp(2.5rem,7vw,4rem) clamp(1.75rem,6vw,3.5rem);box-shadow:0 28px 70px #040616b8;display:grid;justify-items:center;gap:1.75rem;text-align:center;color:#f4f6ff}.app-container__back{justify-self:start;background:transparent;border:none;padding:.2rem 0;font-size:.85rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:#c4ceffbf;cursor:pointer;transition:color .15s ease,transform .15s ease}.app-container__back:hover,.app-container__back:focus-visible{color:#fff;transform:translate(-2px);outline:none}.local-card{width:min(560px,100%);background:linear-gradient(150deg,#121944f2,#060a20fa);border:1px solid rgba(132,151,255,.28);border-radius:24px;padding:clamp(2.5rem,6vw,3.5rem);box-shadow:0 24px 60px #040618b3;display:grid;gap:1.75rem;color:#f4f6ff}.local-card__title{margin:0;font-size:clamp(1.8rem,4vw,2.3rem);text-align:center;letter-spacing:.08em;text-transform:uppercase}.local-card__subtitle{margin:-.75rem auto 0;text-align:center;color:#cbd4ffb3;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}.local-form{display:grid;gap:1.5rem}.local-form__label{display:grid;gap:.6rem;text-align:left;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#dce3ffe6}.local-form__select,.local-form__input{width:100%;border-radius:14px;border:1px solid rgba(140,158,255,.4);background:#090f28e6;color:#f5f6ff;padding:.85rem 1rem;font-size:1rem}.local-form__select:focus,.local-form__input:focus{outline:none;border-color:#afbfffbf;box-shadow:0 0 0 3px #5a70ff33}.local-form__grid{display:grid;gap:1rem}.local-form__error{color:#ff8f8f;text-align:center;margin:0;letter-spacing:.05em}.local-form__actions{display:flex;justify-content:flex-end;gap:1rem}.local-resume__section{display:grid;gap:.9rem;padding:1.6rem;border-radius:18px;background:#0e143899;border:1px solid rgba(122,142,255,.22)}.local-resume__section+.local-resume__section{margin-top:.5rem}.local-resume__section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.local-resume__section-header h3{margin:0;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:#e1e7ffd9}.local-resume__section-header span{padding:.35rem .75rem;border-radius:999px;background:#6c5ce759;border:1px solid rgba(132,118,255,.45);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:#eef0ffd9}.local-resume__empty{margin:0;text-align:center;color:#d2dcffa6;letter-spacing:.08em;font-size:.9rem}.local-resume__list{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.local-resume__entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:stretch}.local-resume__item{width:100%;border-radius:16px;border:1px solid rgba(135,151,255,.3);background:#10173ae6;padding:1.1rem 1.35rem;display:grid;gap:.55rem;text-align:left;color:#f2f4ff;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.local-resume__item:hover,.local-resume__item:focus-visible{transform:translateY(-2px);border-color:#b4c4ffa6;box-shadow:0 16px 32px #05081a73;background:#141c48f2;outline:none}.local-resume__item-main{display:grid;gap:.35rem}.local-resume__item-title{font-size:1.05rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.local-resume__item-status{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase;color:#cdd6ffb3}.local-resume__item-meta{display:flex;flex-wrap:wrap;gap:.65rem;font-size:.8rem;letter-spacing:.08em;color:#c7cfff99}.local-resume__delete{border-radius:14px;border:1px solid rgba(198,92,121,.5);background:#481020cc;color:#ffd7e1e0;padding:.65rem 1rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;cursor:pointer;align-self:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.local-resume__delete:hover,.local-resume__delete:focus-visible{transform:translateY(-2px);border-color:#ff8aa8bf;background:#721834e6;box-shadow:0 12px 24px #28081273;outline:none}.local-resume__delete:active{transform:translateY(0)}.local-resume__item--static{cursor:default;pointer-events:none;background:#0f1430cc;border-color:#7c8cdc59}.local-resume__finished .local-resume__item-meta{color:#ecf2ffbf}.local-button{border-radius:16px;border:1px solid rgba(145,162,255,.35);background:#0c112ee6;color:#f4f6ff;padding:.85rem 1.6rem;font-size:.95rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.local-button:hover,.local-button:focus-visible{transform:translateY(-2px);border-color:#b2c1ffb3;box-shadow:0 16px 32px #06091c73;outline:none}.local-button--primary{background:linear-gradient(135deg,#6c5ce7,#00b894);border:none;color:#fff}.local-button--ghost{background:transparent;border:1px solid rgba(145,162,255,.45);color:#e0e5ffd9}.local-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.local-mode__grid{display:flex;flex-direction:column;gap:1.25rem;align-items:stretch}.local-playlist__grid{display:grid;gap:1.25rem}.local-playlist__item{border-radius:18px;border:1px solid rgba(149,164,255,.4);padding:1.4rem 1.6rem;background:#0d122eeb;color:#f3f5ff;text-align:left;display:grid;gap:.4rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.local-playlist__item--active{border-color:#cdd6fff2;box-shadow:0 18px 38px #0c123273}.online-lobby{width:min(760px,100%);margin:0 auto;background:linear-gradient(155deg,#0e1334f2,#050a20fa);border:1px solid rgba(124,140,255,.3);border-radius:28px;padding:clamp(2.5rem,6vw,3.5rem);box-shadow:0 32px 68px #030612a6;color:#f2f4ff;display:grid;gap:1.75rem}.online-lobby__header{display:flex;justify-content:space-between;align-items:center;gap:1.5rem}.online-lobby__title{font-size:clamp(1.6rem,2.2vw,2rem);font-weight:700;margin:0 0 .4rem}.online-lobby__subtitle{margin:0;color:#d6deffb3;font-size:.98rem}.online-lobby__code{font-size:clamp(2rem,6vw,3.2rem);font-weight:800;letter-spacing:.16em;color:#fff;padding:.75rem 1.5rem;border-radius:18px;background:#212b66a6;border:1px solid rgba(173,187,255,.55);text-transform:uppercase}.online-lobby__section{display:grid;gap:.6rem}.online-lobby__section--highlight{background:#121b48bf;border-radius:20px;padding:1.2rem 1.5rem;border:1px solid rgba(138,152,255,.4)}.online-lobby__heading{margin:0;font-size:1.05rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#d1daffd9}.online-lobby__playlist{margin:0;font-size:1.1rem;font-weight:600}.online-lobby__players{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.online-lobby__player{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#141c468c;border-radius:16px;border:1px solid rgba(126,140,232,.4)}.online-lobby__player-name{font-size:1rem;font-weight:600}.online-lobby__badge{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .55rem;border-radius:999px;background:#8995ff4d;color:#f4f6ff;border:1px solid rgba(180,192,255,.35)}.online-lobby__track{display:flex;gap:1rem;align-items:center}.online-lobby__artwork{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid rgba(183,193,255,.35)}.online-lobby__track-name{margin:0;font-size:1.05rem;font-weight:600}.online-lobby__track-artists{margin:.2rem 0 0;color:#d6deffbf}.online-lobby__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.online-lobby__hint{margin:0;color:#ccd6ffbf}@media (max-width: 640px){.online-lobby__header{flex-direction:column;align-items:flex-start}.online-lobby__actions{flex-direction:column;align-items:stretch}.online-lobby__actions .local-button{width:100%;justify-content:center}}.local-playlist__item:hover,.local-playlist__item:focus-visible{transform:translateY(-3px);border-color:#b7c5ffbf;box-shadow:0 18px 38px #070a1e73;outline:none}.local-playlist__name{font-size:1.2rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.local-playlist__description{color:#d2dcffb3;font-size:.95rem}.local-battle{width:min(940px,100%);background:linear-gradient(160deg,#0c1232f5,#05091efa);border:1px solid rgba(124,140,255,.28);border-radius:28px;padding:clamp(2.5rem,6vw,3.75rem);box-shadow:0 32px 70px #030616b3;display:grid;gap:2rem;color:#f4f6ff;position:relative;overflow:hidden}.local-battle__header{display:flex;justify-content:space-between;align-items:center}.local-battle__status{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.local-battle__turn-label{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:#d2dcffa6}.local-battle__turn-name{font-size:1.4rem;font-weight:700;letter-spacing:.05em}.local-battle__content{display:grid;gap:1.75rem;text-align:center}.local-battle__card{margin:0 auto;width:clamp(180px,20vw,220px);height:clamp(220px,26vw,260px);border-radius:24px;background:linear-gradient(135deg,#824affbf,#00b894bf);display:grid;place-items:center;gap:.5rem;box-shadow:0 24px 48px #120c3899;color:#fff;text-transform:uppercase;letter-spacing:.12em}.local-battle__card-icon{font-size:3.5rem;font-weight:800}.local-battle__song-info{background:#11183cd9;border-radius:18px;padding:1.2rem 1.5rem;display:grid;gap:.4rem}.local-battle__hint{margin:0;font-size:.9rem;color:#d2dcffb3}.local-battle__timeline-container{width:100%;overflow-x:auto;padding:.25rem 0 .5rem;scrollbar-width:thin}.local-battle__timeline-container::-webkit-scrollbar{height:8px}.local-battle__timeline-container::-webkit-scrollbar-thumb{background:#6e82dc73;border-radius:999px}.local-battle__timeline{display:inline-flex;gap:.85rem;align-items:stretch;min-width:100%;width:max-content;scroll-snap-type:x proximity;padding-right:.25rem}.local-battle__timeline-item{border-radius:18px;border:1px solid rgba(146,162,255,.35);background:#0c1230eb;padding:1rem 1.25rem;display:grid;gap:.3rem;text-align:left;flex:0 0 auto;min-width:180px;scroll-snap-align:center}.local-battle__timeline-year{font-size:1.2rem;font-weight:700}.local-battle__timeline-label{color:#d2dcffb3;font-size:.9rem}.local-battle__slot{border-radius:18px;border:1px dashed rgba(146,162,255,.55);background:#0a0f28bf;color:#dce3ffcc;display:grid;place-items:center;padding:.7rem .9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;flex:0 0 auto;min-width:95px;font-size:.75rem;scroll-snap-align:center}.local-battle__slot:hover:not(:disabled),.local-battle__slot:focus-visible{transform:translateY(-3px);border-color:#b7c6ffd9;box-shadow:0 18px 32px #070a2066;outline:none}.local-battle__slot--selected{border-style:solid;border-color:#7ad0fff2;background:#1e305ae6}.local-battle__slot-card{font-size:1.8rem;font-weight:800}.local-battle__result-track{margin:.75rem 0 0;font-size:.95rem;letter-spacing:.06em}.local-battle__submit{justify-self:center;width:clamp(200px,30vw,260px)}.local-battle__message{margin:0;font-size:1rem;letter-spacing:.05em}.local-battle__result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(160deg,#0a10288c,#020616a6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:5;animation:local-battle-result 1.8s ease forwards}.local-battle__result-content{padding:1.4rem 2.4rem;border-radius:24px;box-shadow:0 24px 50px #06091e99;font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.local-battle__result--success .local-battle__result-content{background:#21cba1eb;color:#04121a}.local-battle__result--failure .local-battle__result-content{background:#ef5276eb;color:#2b0512}@keyframes local-battle-result{0%{opacity:0;transform:translateY(16px)}12%{opacity:1;transform:translateY(0)}78%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.local-winner{width:min(560px,100%);background:linear-gradient(150deg,#541db5e6,#0c1c44f2);border:1px solid rgba(190,160,255,.4);border-radius:26px;padding:clamp(3rem,6vw,4rem);box-shadow:0 30px 70px #0a0628b3;text-align:center;display:grid;gap:1.75rem}.local-winner__title{margin:0;font-size:clamp(2.4rem,5vw,3.2rem);letter-spacing:.12em;text-transform:uppercase}.local-winner__subtitle{margin:-.5rem 0 0;color:#e1e6ffc7;letter-spacing:.1em;text-transform:uppercase}.local-winner__actions{display:flex;flex-direction:column;gap:1rem}@media (max-width: 640px){.app-surface{padding:2rem 1.25rem}.app-menu{border-radius:20px;padding:2.5rem 1.75rem}.app-meta{flex-direction:column;align-items:stretch;gap:.75rem}.app-container{border-radius:20px;padding:2.5rem 1.5rem 3rem;gap:1.25rem}.local-card,.local-battle,.local-winner{padding:2.25rem 1.5rem 2.5rem;border-radius:20px}.local-battle__header{flex-direction:column;gap:1rem;align-items:flex-start}.local-battle__status{align-items:flex-start}.local-battle__timeline{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.local-winner__actions{flex-direction:column}}.app-surface--wide{min-height:100vh;padding:3rem;background:linear-gradient(135deg,#0f172a,#1e293b 40%,#0f172a)}.tutoring-page,.tutoring-booking,.tutoring-admin{background:#0b1221;color:#e2e8f0;padding:2.5rem;border-radius:24px;max-width:1280px;margin:0 auto;box-shadow:0 20px 40px #00000040}.tutoring-hero{display:flex;flex-direction:column;gap:1rem}.tutoring-eyebrow{color:#93c5fd;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.tutoring-title{font-size:2rem;line-height:1.3;margin:0}.tutoring-subtitle{margin:0;color:#cbd5e1;font-size:1.05rem}.tutoring-actions{display:flex;gap:1rem;flex-wrap:wrap}.tutoring-button{padding:.85rem 1.4rem;border-radius:12px;border:1px solid transparent;font-weight:700;cursor:pointer;font-size:1rem;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.tutoring-button--primary{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 10px 25px #2563eb59}.tutoring-button--ghost{background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0}.tutoring-button:hover{transform:translateY(-1px);box-shadow:0 14px 30px #00000040}.tutoring-role{display:flex;align-items:center;gap:.75rem;background:#ffffff0a;padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);color:#cbd5e1}.tutoring-select,.tutoring-input{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#e2e8f0;border-radius:12px;padding:.75rem 1rem;width:100%}.tutoring-role .tutoring-select{width:auto;min-width:200px}.tutoring-input--textarea{min-height:120px;resize:vertical;font-family:inherit}.tutoring-hint{color:#cbd5e1;margin:.5rem 0 0}.tutoring-user-booking{margin-top:1.75rem;padding:1.25rem 1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#2563eb33,#7c3aed33);box-shadow:0 12px 32px #0000002e;display:grid;gap:.35rem}.tutoring-user-booking__eyebrow{color:#bfdbfe;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;margin:0}.tutoring-user-booking__content{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tutoring-user-booking__title{margin:0}.tutoring-user-booking__time{margin:.2rem 0;color:#e2e8f0}.tutoring-user-booking__hint{margin:0;color:#cbd5e1}.tutoring-user-booking__status{padding:.55rem 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;color:#f8fafc;font-weight:700;letter-spacing:.05em;text-transform:uppercase;min-width:140px;text-align:center}.tutoring-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:2rem}.tutoring-perk{background:#ffffff0a;padding:1.25rem;border-radius:16px;border:1px solid rgba(255,255,255,.08)}.tutoring-perk h3{margin:0 0 .35rem}.tutoring-perk p{margin:0;color:#cbd5e1}.tutoring-feed{margin-top:2rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1.25rem;box-shadow:0 10px 30px #00000024}.tutoring-feed__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tutoring-booking__header h1{margin:0 0 .35rem}.tutoring-booking__header p{margin:0;color:#cbd5e1}.tutoring-booking__layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.tutoring-calendar{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:1rem}.tutoring-calendar__nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.tutoring-calendar__month{text-transform:capitalize;font-weight:700;color:#e2e8f0}.tutoring-calendar__nav-btn{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#e2e8f0;border-radius:10px;width:36px;height:36px;font-size:1.1rem;cursor:pointer}.tutoring-calendar__nav-btn:disabled{opacity:.4;cursor:not-allowed}.tutoring-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-top:.75rem;color:#94a3b8;font-weight:700}.tutoring-calendar__weekday{text-align:center;font-size:.9rem}.tutoring-calendar__weeks{display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}.tutoring-calendar__week{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.tutoring-calendar__day{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff05;color:#e2e8f0;padding:.85rem .4rem;min-height:52px;text-align:center;width:100%;cursor:pointer}.tutoring-calendar__day--selected{border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed33,#2563eb33)}.tutoring-calendar__day--disabled{opacity:.35;cursor:not-allowed}.tutoring-calendar__date{font-weight:800;display:block;font-size:1.1rem}.tutoring-form{display:flex;flex-direction:column;gap:1rem}.tutoring-form__row{display:flex;flex-direction:column;gap:.35rem}.tutoring-form__row--split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.tutoring-label{color:#cbd5e1;font-weight:700}.tutoring-helper{text-align:right;color:#94a3b8;font-size:.85rem}.tutoring-time-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.tutoring-time-slot{background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.65rem .75rem;color:#e2e8f0;cursor:pointer;text-align:center;transition:transform .15s ease,border-color .15s ease,background .15s ease}.tutoring-time-slot:hover{transform:translateY(-2px);border-color:#7c3aed}.tutoring-time-slot--selected{border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed40,#2563eb33);box-shadow:0 10px 30px #7c3aed26}.tutoring-time-slot--disabled{background:#94a3b814;border-color:#94a3b866;color:#94a3b8;cursor:not-allowed;box-shadow:none}.tutoring-time-slot--disabled:hover{transform:none;border-color:#94a3b866}.tutoring-time-placeholder{padding:.85rem;border-radius:10px;border:1px dashed rgba(255,255,255,.2);color:#94a3b8;background:#ffffff05}.tutoring-form__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.tutoring-status{margin:.5rem 0 0;color:#cbd5e1}.tutoring-admin__content{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.tutoring-admin__calendar{background:#ffffff05;border:1px solid rgba(255,255,255,.08);padding:1.5rem;border-radius:16px;box-shadow:inset 0 1px #ffffff0d}.tutoring-admin__calendar--wide{grid-column:1 / -1}.tutoring-admin__calendar-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.tutoring-admin__month-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.tutoring-icon-button{width:40px;height:40px;border-radius:10px;background:#ffffff0f;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);font-size:1.1rem;font-weight:800;cursor:pointer;transition:background .12s ease,transform .12s ease}.tutoring-icon-button:hover{background:#3b82f624;transform:translateY(-1px)}.tutoring-admin__header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tutoring-admin__eyebrow{color:#93c5fd;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin:0 0 .25rem;font-size:.8rem}.tutoring-admin__legend{display:flex;align-items:center;gap:.75rem;background:#ffffff0a;padding:.65rem .9rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);color:#cbd5e1;font-weight:600}.tutoring-admin__legend-dot{width:12px;height:12px;background:#22c55e;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #22c55e2e}.tutoring-admin__legend-dot--free{background:transparent;box-shadow:inset 0 0 0 1px #94a3b899}.tutoring-admin__legend-dot--blocked{background:#94a3b873;box-shadow:inset 0 0 0 1px #94a3b866}.tutoring-admin__dot{width:14px;height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.tutoring-admin__dot--free{border:2px dashed rgba(148,163,184,.55);background:transparent}.tutoring-admin__dot--blocked{background:#94a3b859}.tutoring-admin__main{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}.tutoring-admin__month{margin-top:1.25rem}.tutoring-admin__month-grid{display:grid;grid-template-columns:140px repeat(7,minmax(0,1fr));gap:1px;background:#94a3b840;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0d}.tutoring-admin__time-header,.tutoring-admin__day-header{background:#0f172aa6;padding:.9rem .8rem;font-weight:700;text-transform:uppercase;font-size:.8rem;border-bottom:1px solid rgba(148,163,184,.3)}.tutoring-admin__day-header{display:flex;flex-direction:column;gap:.2rem}.tutoring-admin__day-title{display:flex;align-items:baseline;gap:.35rem}.tutoring-admin__day-header--muted{opacity:.25;filter:grayscale(1)}.tutoring-admin__day-number{font-size:1.1rem;font-weight:800}.tutoring-admin__day-weekday{font-size:.9rem;color:#cbd5e1;text-transform:uppercase;letter-spacing:.02em}.tutoring-admin__day-text{color:#cbd5e1;font-size:.75rem;text-transform:none}.tutoring-admin__time-slot{background:#0f172ab3;padding:.8rem;font-weight:700;color:#cbd5e1;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.tutoring-admin__cell{background:#0a101ed9;padding:.6rem;min-height:70px;display:flex;align-items:center;justify-content:center}.tutoring-admin__cell--muted{background:#0a101e66;color:#6b7280;pointer-events:none}.tutoring-admin__booking{display:inline-flex;align-items:center;justify-content:center;width:100%;text-align:center;padding:.65rem .75rem;border-radius:12px;background:linear-gradient(135deg,#10b98138,#3b82f63d);color:#e2fbe8;border:1px solid rgba(74,222,128,.45);cursor:pointer;font-weight:700;transition:transform .12s ease,box-shadow .12s ease}.tutoring-admin__booking--active{box-shadow:0 0 0 2px #2563eb73,0 15px 30px #2563eb2e;transform:translateY(-2px)}.tutoring-admin__empty{color:#94a3b8;font-size:.95rem;font-style:italic}.tutoring-admin__details{background:#ffffff05;border:1px solid rgba(255,255,255,.08);padding:1.25rem;border-radius:16px}.tutoring-admin__details--floating{align-self:flex-start;position:sticky;top:1.5rem}.tutoring-admin__list{margin:0;display:grid;grid-template-columns:1fr;gap:.75rem}.tutoring-admin__list--compact{gap:.5rem}.tutoring-admin__list dt{color:#cbd5e1;font-weight:700}.tutoring-admin__list dd{margin:.1rem 0 0;color:#e2e8f0}.tutoring-admin__hint{color:#94a3b8;margin:0}.tutoring-admin__lock{max-width:520px;margin:0 auto;text-align:center}.tutoring-admin__form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}@media (max-width: 900px){.tutoring-booking__layout,.tutoring-admin__content,.tutoring-admin__main,.tutoring-form__row--split{grid-template-columns:1fr}.app-surface--wide{padding:1.5rem}}.tutoring-status--inline{margin-top:.5rem;color:#cbd5e1}.tutoring-admin__student-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.tutoring-pill{display:inline-flex;align-items:center;gap:.35rem;background:#ffffff0f;color:#e2e8f0;border-radius:999px;padding:.25rem .85rem;font-weight:700;font-size:.95rem;border:1px solid rgba(255,255,255,.08)}.tutoring-pill--soft{background:#3b82f626;color:#bfdbfe}.tutoring-admin__students{width:100%}.tutoring-students{margin-top:1.5rem;padding:1.5rem;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 10px 24px #0000001f;display:flex;flex-direction:column;gap:1.5rem}.tutoring-students--split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:1.5rem}.tutoring-students__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tutoring-students__actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.tutoring-students__main{display:flex;flex-direction:column;gap:1.25rem}.tutoring-students__grid{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start}@media (max-width: 1100px){.tutoring-students--split{grid-template-columns:1fr}}.tutoring-students__column{display:flex;flex-direction:column;gap:1rem}.tutoring-students__section{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;box-shadow:0 6px 20px #0000001f}.tutoring-students__section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.tutoring-students__list{display:flex;flex-direction:column;gap:.5rem}.tutoring-students__list--compact{gap:.35rem}.tutoring-chip{width:100%;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.75rem;background:#ffffff05;display:flex;flex-direction:column;gap:.15rem;position:relative;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.tutoring-chip--tight{padding:.65rem .75rem}.tutoring-chip--ghost{background:#ffffff0a}.tutoring-chip--active{border-color:#3b82f699;box-shadow:0 6px 18px #3b82f633;background:#3b82f61f}.tutoring-chip__title{font-weight:700;color:#e2e8f0;display:block}.tutoring-chip__subtitle{color:#cbd5e1;font-size:.9rem;display:block}.tutoring-chip__meta{color:#aeb8c8;font-size:.85rem}.tutoring-chip__remove{background:none;border:none;color:#f5a524;font-size:1rem;font-weight:700;cursor:pointer;padding:.25rem;line-height:1;align-self:flex-start}.tutoring-chip__remove:hover{color:#fbbf24}.tutoring-chip__star{position:absolute;right:12px;top:12px;color:#f5a524;cursor:pointer;font-size:1.1rem}.tutoring-chip.tutoring-chip--ghost{align-items:center;flex-direction:row;justify-content:space-between}.tutoring-button--small{padding:.4rem .7rem;font-size:.9rem}.tutoring-students__column--detail{position:relative}.tutoring-students__detail-panel{align-self:stretch;position:sticky;top:92px}@media (max-width: 1100px){.tutoring-students__detail-panel{position:static}}.tutoring-students__detail{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem;box-shadow:0 10px 30px #0000001f;display:flex;flex-direction:column;gap:1rem}.tutoring-students__detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tutoring-students__chips{display:flex;flex-wrap:wrap;gap:.5rem}.tutoring-parent-picker{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.tutoring-students__posts{border-top:1px solid rgba(255,255,255,.1);padding-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.tutoring-post-form{display:flex;flex-direction:column;gap:.5rem}.tutoring-post-form__actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tutoring-textarea{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:.75rem;resize:vertical;min-height:120px;font-size:1rem;font-family:inherit;transition:border .2s ease;background:#ffffff0a;color:#e2e8f0}.tutoring-textarea:focus{outline:none;border-color:#3b82f699;box-shadow:0 0 0 3px #3b82f633}.tutoring-posts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.tutoring-posts--public{margin-top:1rem}.tutoring-post{border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem;background:#ffffff05;box-shadow:0 4px 12px #00000014}.tutoring-post__meta{font-size:.9rem;color:#cbd5e1;margin-bottom:.25rem}.tutoring-post__author{font-weight:700;color:#e2e8f0}.tutoring-post__content{color:#e2e8f0;white-space:pre-wrap}.tutoring-students__empty{border:1px dashed rgba(255,255,255,.2);border-radius:12px;padding:1.25rem;text-align:center;background:#ffffff05;display:flex;flex-direction:column;gap:.75rem;align-items:center}.tutoring-hidden-google-button{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
