@import"https://fonts.googleapis.com/css2?family=Bangers&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,sans-serif;line-height:1.5;font-weight:400;color:#1d2330;background-color:#f5f6fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0}body{min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(158,215,255,.35),transparent 45%),radial-gradient(circle at 80% 10%,rgba(255,185,214,.35),transparent 45%),radial-gradient(circle at 70% 80%,rgba(255,216,171,.25),transparent 45%),linear-gradient(180deg,#f6f7fc,#eef1f8 55%,#f3f5fb)}#root{width:100%}button,input{font-family:inherit}:root{--bg-deep: #f5f6fb;--bg-mid: #eef1f9;--bg-bright: #e2e8f6;--accent: #ffc7a1;--accent-2: #9ed7ff;--accent-3: #ffb9d6;--text: #1d2330;--text-soft: #5f6b85;--panel: rgba(255, 255, 255, .9);--panel-bright: rgba(245, 248, 255, .95);--shadow: 0 14px 30px rgba(120, 138, 170, .18)}*{box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column;color:var(--text);padding:20px 24px 16px}.topbar{position:relative;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:18px;background:linear-gradient(120deg,#ffffffe6,#eff4ffd9);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.info-button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(150,190,250,.7);background:#ffffffe6;color:#2f4c86;font-weight:700;cursor:pointer;display:grid;place-items:center}.info-button:hover{box-shadow:0 8px 16px #3c5a8c26}.topbar-right{margin-left:auto}.brand{display:flex;align-items:center;gap:12px;font-family:Bangers,sans-serif;font-size:22px;letter-spacing:1px}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent-3),var(--accent));color:#2c2f3a;font-size:2rem}.status{display:flex;align-items:center;gap:8px;color:var(--text-soft);font-weight:600}.status .dot{width:10px;height:10px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 12px #9ed7ff99}.cta{border:none;border-radius:999px;padding:10px 20px;font-weight:700;background:linear-gradient(120deg,var(--accent),#ffd9b5);color:#2a2f3b;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.cta:hover{transform:translateY(-2px);box-shadow:0 10px 18px #ffc7a166}.user-nav{position:relative;display:flex;align-items:center;z-index:70}.avatar-button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(130,170,230,.6);background:linear-gradient(140deg,#fff,#e5f0ff);color:#30518c;font-weight:700;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 18px #8aaae659}.avatar-button:disabled{opacity:.6;cursor:not-allowed}.user-menu{position:absolute;top:44px;right:0;display:grid;gap:8px;padding:12px;min-width:160px;background:#fffffff5;border-radius:14px;border:1px solid rgba(170,195,235,.8);box-shadow:0 18px 30px #8296c840;z-index:80}.ghost.small{padding:6px 14px;font-size:12px}.auth-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#fffc;color:var(--text-soft);font-size:13px}.user-status{font-weight:600}.world{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;margin-top:20px;align-items:start}.utility{position:relative;border-radius:28px;padding:24px;background:linear-gradient(160deg,#ffffffeb,#ebf2ffeb);overflow:hidden;box-shadow:var(--shadow)}.utility-header{display:flex;justify-content:space-between;gap:24px}.label{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#6c9bd8}.meta{color:var(--text-soft);font-size:14px}.utility h2{margin:8px 0 6px;font-size:24px}.utility-stats{display:flex;gap:14px;align-items:flex-start}.mini-card{background:var(--panel-bright);border-radius:16px;padding:14px 16px;min-width:150px;box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}.mini-card:nth-child(2){animation-delay:1.2s}.mini-card p{margin:0;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text-soft)}.mini-card h3{margin:8px 0 0;font-size:22px}.unit{display:inline-block;margin-top:6px;color:var(--accent);font-weight:600}.sidebar{display:flex;flex-direction:column;gap:16px}.panel{background:var(--panel);padding:16px;border-radius:18px;box-shadow:var(--shadow)}.panel h3{margin:0 0 12px;font-size:18px}.auth-panel{display:grid;gap:12px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mode-toggle{display:flex;gap:6px}.mode-toggle button{border:none;border-radius:999px;padding:6px 12px;background:#ffffffb3;color:var(--text-soft);cursor:pointer}.mode-toggle .active{background:linear-gradient(120deg,var(--accent-2),var(--accent));color:#2c2f3a;font-weight:700}.auth-form{display:grid;gap:10px}.auth-form label{display:grid;gap:6px;font-size:13px;color:var(--text-soft)}.auth-form input{padding:10px 12px;border-radius:12px;border:1px solid rgba(168,184,214,.5);background:#ffffffd9;color:var(--text)}.auth-form .cta{width:100%;border:none;border-radius:12px;padding:10px 16px;background:linear-gradient(130deg,var(--accent-2),var(--accent));color:#2c2f3a;font-weight:700;cursor:pointer}.auth-error{color:#ff7b7b;font-size:13px}.auth-success .soft,.auth-form .soft{color:var(--text-soft);font-size:12px}.room-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.room-pill{border:1px solid rgba(168,184,214,.45);background:#ffffffb3;color:var(--text-soft);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:6px}.room-pill.active{background:linear-gradient(120deg,var(--accent-2),var(--accent));color:#2c2f3a;font-weight:700}.room-pill small{font-size:10px;color:inherit;opacity:.8}.room-dropdown{position:relative}.room-pill.dropdown-trigger{justify-content:space-between;align-items:center}.room-pill.dropdown-trigger.open{border-color:#80aae699;box-shadow:0 0 0 2px #80aae633}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;padding:8px;border-radius:14px;background:#fffffff2;border:1px solid rgba(200,215,245,.7);box-shadow:0 12px 24px #1928461f;display:grid;gap:8px;min-width:220px;z-index:5}.room-pill.option{background:#f8fbfff2}.room-form{display:flex;gap:8px}.room-form input{flex:1;padding:8px 10px;border-radius:10px;border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text)}.toast-stack{position:fixed;top:20px;right:20px;display:grid;gap:10px;z-index:120}.toast{background:linear-gradient(130deg,#ffd7cf,#fff5f2);color:#7a1f1f;padding:10px 14px;border-radius:14px;box-shadow:0 16px 30px #f2747447;border:1px solid rgba(255,138,138,.9);font-size:13px}.intent-modal{position:fixed;inset:0;display:grid;place-items:center;background:#bed2f5b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30}.intro-modal{position:fixed;inset:0;display:grid;place-items:center;background:#151c2a73;z-index:30}.intro-card{width:min(520px,90vw);background:linear-gradient(135deg,#fffffffa,#f1f6fff2);border-radius:24px;padding:28px;box-shadow:0 24px 60px #1e284640;position:relative;display:grid;gap:14px}.intro-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(150,190,250,.7);background:#ffffffe6;color:#2f4c86;font-size:18px;cursor:pointer}.intro-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--text)}.intro-list strong{color:#2f4c86}.intro-cta{border:none;border-radius:999px;padding:10px 18px;background:linear-gradient(130deg,var(--accent-2),var(--accent));color:#2c2f3a;font-weight:700;cursor:pointer;justify-self:start}.intent-card{width:min(520px,90vw);background:linear-gradient(140deg,#fff7fb,#edf4ff);border-radius:20px;padding:20px;box-shadow:0 24px 50px #7896d252;border:1px solid rgba(150,190,250,.95);display:grid;gap:14px;position:relative}.intent-card h2{margin:0;font-size:22px;color:#314066}.intent-grid{display:grid;gap:10px}.intent-grid button{display:grid;gap:4px;text-align:left;border:1px solid rgba(198,210,236,.6);background:#ffffffd9;color:var(--text);padding:10px 12px;border-radius:14px;cursor:pointer}.intent-grid button:disabled{opacity:.6;cursor:not-allowed}.intent-grid button small{color:var(--text-soft);font-size:12px}.intent-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid rgba(150,190,250,.7);background:#ffffffe6;color:#2f4c86;font-size:18px;line-height:1;cursor:pointer}.panel ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.panel li{display:flex;justify-content:space-between;font-size:14px;color:var(--text-soft)}.pilot-list li{justify-content:flex-start;gap:8px}.study-panel{margin-top:20px;padding:18px;border-radius:22px;background:linear-gradient(160deg,#fffffff5,#f4f8ffeb);box-shadow:var(--shadow);display:grid;gap:16px}.study-export{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.study-cue{padding:10px 14px;border-radius:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:#ffffffd9;border:1px solid rgba(168,184,214,.5);animation:cuePulse 2.5s ease forwards}.study-cue.start{color:#3da76e}.study-cue.break{color:#c89a3a}.study-cue.complete{color:#4c8ec7}.study-snippets{margin-top:8px;display:grid;gap:6px}.study-snippet{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--text-soft);background:#ffffffb3;padding:6px 8px;border-radius:10px}@keyframes cuePulse{0%{opacity:0;transform:translateY(-6px)}15%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.study-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.study-timer{display:flex;align-items:center;gap:10px}.study-controls{display:flex;flex-wrap:wrap;gap:10px}.study-loading{min-height:18px;font-size:12px;color:var(--text-soft);opacity:0;transition:opacity .2s ease}.study-loading.active{opacity:1}.study-goal{display:flex;gap:10px}.study-goal input{flex:1;padding:10px 12px;border-radius:12px;border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text)}.study-goal button{border:none;border-radius:12px;padding:10px 16px;background:linear-gradient(130deg,var(--accent),#ffd66f);color:#111420;font-weight:700;cursor:pointer}.study-goal button:disabled,.study-goal input:disabled{opacity:.5;cursor:not-allowed}.study-goals{display:grid;gap:10px}.study-goal-item{text-align:left;padding:10px 12px;border-radius:12px;background:#fffc;color:var(--text);display:flex;gap:12px;align-items:center;justify-content:space-between}.study-goal-item.done{border:1px solid rgba(92,193,153,.9);background:linear-gradient(135deg,#d6ffe8f2,#f0fff9e6);color:#1f7d5c;box-shadow:0 10px 18px #5cc1992e}.study-goal-info{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.study-goal-actions{display:inline-flex;gap:6px;align-items:center}.study-goal-actions .ghost.tiny{min-width:56px;text-align:center}.study-goal-actions .ghost.tiny:first-of-type{border:1px solid rgba(117,209,172,.6);background:#e2fff0e6;color:#237c5c}.study-goal-actions .ghost.tiny:last-of-type{border:1px solid rgba(255,184,184,.8);background:#ffebebe6;color:#9b3d3d}.utility[data-room-type=study]{background:linear-gradient(160deg,#ecfff7fa,#d2ecfff0)}.utility[data-room-type=showcase]{background:linear-gradient(160deg,#fff0fcfa,#dde4fff0)}.utility[data-room-type=social]{background:linear-gradient(160deg,#fffffff0,#dfecfff0)}.study-summary ul{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.showcase-panel{margin-top:20px;padding:18px;border-radius:22px;background:linear-gradient(160deg,#fffffff5,#f2f6ffe6);box-shadow:var(--shadow);display:grid;gap:16px}.showcase-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.showcase-current{padding:12px 14px;border-radius:14px;background:#fffc;display:grid;gap:8px}.showcase-links{display:flex;flex-wrap:wrap;gap:10px}.showcase-links a{color:var(--accent-2);font-weight:600;text-decoration:none}.showcase-form{display:grid;gap:10px}.showcase-form input{padding:10px 12px;border-radius:12px;border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text)}.showcase-form button{border:none;border-radius:12px;padding:10px 16px;background:linear-gradient(130deg,var(--accent-2),#cbeaff);color:#2c2f3a;font-weight:700;cursor:pointer}.showcase-queue ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}.showcase-queue li{display:flex;align-items:center;gap:10px}.reaction-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reaction-feed{display:flex;flex-wrap:wrap;gap:6px}.ghost.tiny{padding:4px 10px;font-size:12px}.chat{margin-top:18px;background:linear-gradient(120deg,#ffffffe6,#f0f5ffe6);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.chat-log{display:grid;gap:6px;color:var(--text-soft);font-size:14px;max-height:160px;overflow-y:auto}.chat-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.chat-line.pending{opacity:.6}.chat-line.failed{opacity:.8;color:#ff9a9a}.chat-failed{font-size:12px;color:#ff7f7f}.chat-actions{display:inline-flex;gap:6px}.report-panel{display:grid;gap:10px;padding:12px;border-radius:14px;background:#fffc;border:1px solid rgba(198,210,236,.6)}.report-panel textarea{min-height:70px;resize:vertical;padding:8px 10px;border-radius:12px;border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text)}.report-actions{display:flex;gap:8px}.tag{color:#4c7db5;font-weight:600;margin-right:6px}.chat-input{display:flex;gap:10px}.chat-input input{flex:1;padding:10px 12px;border-radius:12px;border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text)}.chat-input button{border:none;border-radius:12px;padding:10px 18px;background:linear-gradient(130deg,var(--accent-2),#cbeaff);color:#2c2f3a;font-weight:700;cursor:pointer}.chat-input button:disabled,.chat-input input:disabled{opacity:.5;cursor:not-allowed}.chat-hint{font-size:12px;color:var(--text-soft)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.world{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap}.panel{flex:1 1 220px}}@media(max-width:720px){.app{padding:16px}.topbar{flex-direction:column;align-items:flex-start}.utility-header,.chat-input{flex-direction:column}.chat-input button{width:100%}}.ghost{border:1px solid rgba(168,184,214,.45);background:#ffffffd9;color:var(--text);border-radius:14px;cursor:pointer}
