@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap";:root{--bg:#0e1420;--surface:#181f2e;--surface-raised:#1f2740;--border:#273044;--text-primary:#f0ebe5;--text-secondary:#8e95a6;--text-muted:#7a8294;--accent:#b99abf;--accent-soft:#b99abf22;--accent-glow:#b99abf18;--accent-shadow:#b99abf40;--success:#81b29a;--success-soft:#81b29a18;--wrong:#c4635a;--wrong-soft:#c4635a18;--font-display:"DM Serif Display", serif;--font-body:"DM Sans", sans-serif;--text-micro:10px;--text-caps:11px;--text-secondary-size:13px;--text-small:14px;--text-body:15px;--text-button:16px;--text-subtitle:18px;--text-large:20px;--text-title:28px;--text-statement:40px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:28px;--space-4xl:32px;--space-5xl:48px;--screen-padding:28px;--radius:10px;--radius-pill:100px;--ease-enter:ease-out;--ease-exit:ease-in;--ease-move:ease-in-out;--duration-fast:.15s;--duration-reveal:.2s;--duration-slide:.3s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;line-height:1.3;overflow-x:hidden}a{color:var(--accent);text-decoration:none}button{font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}input,textarea{font-family:var(--font-body);-webkit-appearance:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tab-bar{justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--screen-padding) calc(var(--space-sm) + var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom)));background:var(--surface);border-top:1px solid var(--border);z-index:100;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-item{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-pill);min-height:44px;color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-secondary-size);cursor:pointer;transition:background var(--duration-fast) var(--ease-enter), color var(--duration-fast) var(--ease-enter);background:0 0;border:none;font-weight:500;display:flex}.tab-item.active{background:var(--accent-soft);color:var(--accent)}.tab-icon{font-size:18px;line-height:1}.tab-label{font-family:var(--font-body);letter-spacing:.5px}.layout{flex-direction:column;min-height:100dvh;display:flex}.layout-content{padding:var(--screen-padding);padding-top:calc(var(--screen-padding) + var(--tg-content-safe-area-inset-top,0px) + var(--tg-safe-area-inset-top,env(safe-area-inset-top)));flex:1;width:100%;max-width:375px;margin:0 auto}.hub-layout .layout-content{padding-bottom:calc(72px + var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom)))}.feedback{justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:column;min-height:200px;display:flex}.loading-pulse{background:var(--accent);width:8px;height:8px;animation:feedbackPulse 1.2s var(--ease-move) infinite;border-radius:50%}@keyframes feedbackPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.8;transform:scale(1.8)}}.feedback-message{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);text-align:center;margin:0;line-height:1.5}.feedback-retry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-button);padding:var(--space-md) var(--space-xl);cursor:pointer;min-height:44px;transition:border-color var(--duration-fast) var(--ease-enter);font-weight:500}.feedback-retry:active{border-color:var(--accent)}.page-title{font-family:var(--font-display);font-size:var(--text-title);color:var(--text-primary);margin:0 0 var(--space-2xl);font-weight:400}.page-loading{height:60dvh;color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-body);justify-content:center;align-items:center;display:flex}.contacts-list{gap:var(--space-sm);flex-direction:column;display:flex}.contact-card{align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background var(--duration-fast) var(--ease-enter);text-align:left;width:100%;font-family:var(--font-body);display:flex}.contact-card:active{background:var(--surface-raised)}.contact-avatar{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);font-family:var(--font-display);font-size:var(--text-large);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info{flex-direction:column;flex:1;gap:2px;display:flex}.contact-name{color:var(--text-primary);font-size:var(--text-body);font-weight:500}.contact-status{color:var(--accent);font-size:var(--text-secondary-size)}.contact-arrow{color:var(--text-muted);font-size:var(--text-title)}.back-link{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;margin-bottom:var(--space-lg);transition:opacity var(--duration-fast) var(--ease-enter);background:0 0;border:none;padding:0;display:block}.back-link:active{opacity:.7}.contact-header{text-align:center;margin-bottom:var(--space-4xl);flex-direction:column;align-items:center;display:flex}.contact-avatar-lg{background:var(--accent-soft);width:72px;height:72px;color:var(--accent);font-family:var(--font-display);margin-bottom:var(--space-lg);border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex}.contact-stats{gap:var(--space-lg);display:flex}.stat{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-secondary-size)}.game-cards{gap:var(--space-md);flex-direction:column;display:flex}.game-card{padding:var(--space-xl);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.game-card-active{border-color:var(--accent);padding:var(--space-2xl)}.game-card-soon{opacity:.4;padding:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.game-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.game-card-title{font-family:var(--font-display);font-size:var(--text-button);color:var(--text-primary);margin:0;font-weight:400}.game-card-badge{font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-pill);padding:2px 10px;font-weight:600}.badge-soon{color:var(--text-muted);border:1px solid var(--border);background:0 0}.game-card-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-secondary-size);margin:0 0 var(--space-lg);line-height:1.4}.game-card-actions{gap:var(--space-sm);display:flex}.btn{padding:var(--space-md) var(--space-xl);border-radius:var(--radius);min-height:44px;font-family:var(--font-body);font-size:var(--text-button);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-enter);border:none;flex:1;font-weight:500}.btn:active{opacity:.8}.btn:disabled{background:var(--border);color:var(--text-muted);cursor:default}.btn:disabled:active{opacity:1}.btn-primary{background:var(--accent);color:var(--bg)}.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border)}.history-link{text-align:center;width:100%;margin-top:var(--space-2xl);color:var(--accent);font-family:var(--font-body);font-size:var(--text-body);cursor:pointer;background:0 0;border:none;display:block}.library-empty{text-align:center;margin-top:var(--space-5xl);align-items:center;gap:var(--space-2xl);flex-direction:column;display:flex}.statements-list{gap:var(--space-sm);flex-direction:column;display:flex}.statement-card{padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);transition:background var(--duration-fast) var(--ease-enter);flex-direction:column;display:flex}.statement-card:active{background:var(--surface-raised)}.statement-body{font-family:var(--font-display);font-style:italic;font-size:var(--text-subtitle);color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.4}.statement-meta{align-items:center;gap:var(--space-sm);display:flex}.tf-badge{font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-pill);padding:2px 8px;font-weight:600}.tf-true{color:var(--success);background:var(--success-soft)}.tf-false{color:var(--wrong);background:var(--wrong-soft)}.statement-has-comment{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-caps)}.fab{bottom:calc(72px + var(--space-lg) + var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom)));right:var(--screen-padding);background:var(--accent);width:56px;height:56px;color:var(--bg);font-size:var(--text-title);box-shadow:0 4px 16px var(--accent-shadow);cursor:pointer;z-index:50;transition:transform var(--duration-fast) var(--ease-enter);border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:300;display:flex;position:fixed}.fab:active{transform:scale(.92)}.statement-preview{font-family:var(--font-display);font-style:italic;font-size:var(--text-statement);color:var(--text-primary);margin-bottom:var(--space-2xl);min-height:60px;line-height:1.1;position:relative}.statement-preview:after{content:"";background:radial-gradient(ellipse, var(--accent-glow), transparent 70%);z-index:-1;pointer-events:none;width:200px;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.new-statement-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-group{margin-bottom:0}.form-label{font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm);font-weight:600;display:block}.form-textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);padding:var(--space-lg);resize:none;transition:border-color var(--duration-fast) var(--ease-enter);box-sizing:border-box;outline:none}.form-textarea:focus{border-color:var(--accent)}.form-textarea-sm{font-size:var(--text-secondary-size)}.tf-toggle{gap:var(--space-sm);display:flex}.tf-toggle-btn{padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-button);cursor:pointer;transition:all var(--duration-fast) var(--ease-enter);flex:1;font-weight:500}.tf-toggle-btn.active{color:var(--bg)}.tf-true-bg{background:var(--success);border-color:var(--success)}.tf-false-bg{background:var(--wrong);border-color:var(--wrong)}.new-statement-footer{padding:var(--space-lg) 0;padding-bottom:calc(var(--space-lg) + var(--tg-safe-area-inset-bottom,env(safe-area-inset-bottom)));background:linear-gradient(transparent, var(--bg) 30%);gap:var(--space-lg);flex-direction:column;margin-top:auto;display:flex;position:sticky;bottom:0}.delete-link{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-secondary-size);cursor:pointer;padding:var(--space-sm);text-align:center;background:0 0;border:none}.delete-confirm{text-align:center}.delete-confirm-text{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);margin:0 0 var(--space-md)}.delete-confirm-actions{gap:var(--space-sm);display:flex}.btn-delete{padding:var(--space-md);background:var(--wrong);color:var(--bg);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--text-button);cursor:pointer;border:none;flex:1;font-weight:500}.delete-confirm-actions .btn-secondary{flex:1}.send-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.send-header .page-title{margin:0}.send-availability{align-items:center;gap:var(--space-xs);display:flex}.send-availability-label{font-family:var(--font-body);font-size:var(--text-secondary-size);color:var(--text-muted)}.send-counter{font-family:var(--font-body);font-size:var(--text-secondary-size);color:var(--text-secondary);background:var(--surface);padding:2px var(--space-sm);border-radius:var(--radius-pill);font-weight:600}.send-hint{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-secondary-size);margin:0 0 var(--space-2xl)}.send-not-enough{text-align:center;margin-top:var(--space-5xl);align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.send-list{gap:var(--space-xs);margin-bottom:var(--space-4xl);flex-direction:column;display:flex}.send-item{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);transition:background var(--duration-fast) var(--ease-enter), border-color var(--duration-fast) var(--ease-enter);display:flex}.send-item:active{background:var(--surface-raised)}.send-item.selected{border-color:var(--accent);background:var(--accent-soft)}.send-check{color:var(--text-muted);text-align:center;flex-shrink:0;width:24px;font-size:18px}.send-item.selected .send-check{color:var(--accent)}.send-item-body{color:var(--text-primary);font-size:var(--text-secondary-size);flex:1;line-height:1.3}.send-footer{bottom:var(--space-lg);position:sticky}.waiting{flex-direction:column;min-height:80dvh;display:flex}.waiting-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.waiting-indicator{margin-bottom:var(--space-4xl)}.waiting-ring{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:64px;height:64px;animation:1.2s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.waiting-title{font-family:var(--font-display);font-size:var(--text-title);color:var(--text-primary);margin:0 0 var(--space-md);font-weight:400}.waiting-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);margin:0 0 var(--space-2xl)}.waiting-progress{background:var(--border);border-radius:2px;width:100%;max-width:240px;height:4px;overflow:hidden}.waiting-progress-bar{background:var(--accent);height:100%;transition:width var(--duration-slide) var(--ease-move);border-radius:2px}.play{flex-direction:column;min-height:85dvh;display:flex}.play-progress{gap:var(--space-sm);margin-bottom:var(--space-4xl);justify-content:center;display:flex}.progress-dot{background:var(--border);width:8px;height:8px;transition:all var(--duration-fast) var(--ease-enter);border-radius:50%}.progress-dot.done{background:var(--accent)}.progress-dot.current{background:var(--accent);border-radius:4px;width:24px}.play-card{flex:1;justify-content:center;align-items:center;min-height:200px;display:flex;position:relative}.card-statement{font-family:var(--font-display);font-style:italic;font-size:var(--text-statement);color:var(--text-primary);text-align:center;z-index:1;line-height:1.1;position:relative}.card-glow{background:radial-gradient(ellipse, var(--accent-glow), transparent 70%);pointer-events:none;width:300px;height:300px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.play-answer{gap:var(--space-lg);padding-top:var(--space-2xl);flex-direction:column;display:flex}.answer-label{font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-align:center;margin:0;font-weight:600}.answer-buttons{gap:var(--space-sm);display:flex}.answer-btn{padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-button);cursor:pointer;transition:background var(--duration-fast) var(--ease-enter), border-color var(--duration-fast) var(--ease-enter), color var(--duration-fast) var(--ease-enter);flex:1;font-weight:500}.answer-btn:active{background:var(--surface-raised)}.answer-btn.selected.answer-true{background:var(--success);border-color:var(--success);color:var(--bg)}.answer-btn.selected.answer-false{background:var(--wrong);border-color:var(--wrong);color:var(--bg)}.answer-btn.answer-wish.selected{background:var(--accent);border-color:var(--accent);color:var(--bg)}.answer-btn.answer-dont-care{border-color:var(--border);color:var(--text-muted)}.answer-btn.answer-dont-care.selected{background:var(--surface-raised);border-color:var(--text-muted);color:var(--text-primary)}.reveal{gap:var(--space-2xl);padding-top:var(--space-2xl);flex-direction:column;align-items:center;display:flex}.reveal-truth{font-family:var(--font-body);font-size:var(--text-title);letter-spacing:3px;text-align:center;font-weight:700}.reveal-true{color:var(--success)}.reveal-false{color:var(--wrong)}.reveal-rows{gap:var(--space-md);flex-direction:column;width:100%;display:flex}.reveal-row{width:100%;padding:var(--space-md) var(--space-lg);background:var(--surface);border-radius:var(--radius);justify-content:space-between;align-items:center;display:flex}.reveal-row-wish{background:var(--accent-soft);border:1px solid var(--accent)}.reveal-row-left{flex-direction:column;gap:2px;display:flex}.reveal-sublabel{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:.5px;font-weight:500}.reveal-value{color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-body);font-weight:600}.reveal-correct{color:var(--success);font-family:var(--font-body);font-size:var(--text-small);font-weight:500}.reveal-wrong{color:var(--wrong);font-family:var(--font-body);font-size:var(--text-small);font-weight:500}.reveal-aligned,.reveal-gap{color:var(--accent);font-family:var(--font-body);font-size:var(--text-small);font-weight:500}.reveal-neutral{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-small);font-weight:500}.reveal-comment-card{gap:var(--space-xs);width:100%;padding:var(--space-md) var(--space-lg);background:var(--surface-raised);border-radius:var(--radius);flex-direction:column;display:flex}.reveal-comment-author{color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-caps);font-weight:500}.reveal-comment-text{color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-small);line-height:1.5}.anticipation{padding-top:var(--space-4xl);justify-content:center;align-items:center;display:flex}.anticipation-pulse{background:var(--accent);width:12px;height:12px;animation:pulse .8s var(--ease-move) infinite;border-radius:50%}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.5)}}.fade-in{animation:fadeIn var(--duration-reveal) var(--ease-enter)}.slide-up{animation:slideUp var(--duration-slide) var(--ease-enter)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-stats{gap:var(--space-lg);margin-bottom:var(--space-4xl);display:flex}.results-stat{padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;align-items:center;display:flex}.results-stat-value{font-family:var(--font-display);font-size:var(--text-title);color:var(--text-primary)}.results-stat-label{font-family:var(--font-body);font-size:var(--text-caps);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-top:var(--space-xs);font-weight:600}.results-list{gap:var(--space-md);flex-direction:column;display:flex}.result-card{padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.result-body{font-family:var(--font-display);font-style:italic;font-size:var(--text-subtitle);color:var(--text-primary);margin-bottom:var(--space-md);line-height:1.3}.result-grid{gap:var(--space-sm);display:flex}.result-cell{flex-direction:column;flex:1;align-items:center;gap:2px;display:flex}.result-cell-label{font-family:var(--font-body);font-size:var(--text-micro);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.result-cell span:last-child{font-family:var(--font-body);font-size:var(--text-secondary-size);font-weight:600}.result-comment{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border);font-family:var(--font-display);font-style:italic;font-size:var(--text-small);color:var(--text-secondary)}.history-list{gap:var(--space-sm);flex-direction:column;display:flex}.history-card{padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);transition:background var(--duration-fast) var(--ease-enter);justify-content:space-between;align-items:center;display:flex}.history-card:active{background:var(--surface-raised)}.history-info{flex-direction:column;gap:2px;display:flex}.history-direction{color:var(--text-primary);font-size:var(--text-body);font-weight:500}.history-date{color:var(--text-muted);font-size:var(--text-secondary-size)}.history-accuracy{font-family:var(--font-display);font-size:var(--text-large);color:var(--accent)}.onboarding{flex-direction:column;justify-content:center;min-height:80dvh;display:flex}.onboarding-content{text-align:center;flex-direction:column;flex:1;justify-content:center;display:flex}.onboarding-invite{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);margin:0 0 var(--space-2xl)}.inviter-name{color:var(--accent);font-weight:500}.onboarding-tagline{font-family:var(--font-display);font-style:italic;font-size:var(--text-statement);color:var(--text-primary);margin:0 0 var(--space-lg);line-height:1.1}.onboarding-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);margin:0;line-height:1.5}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-button);width:100%;margin-top:var(--space-4xl)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70dvh;display:flex}.empty-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-body);margin:0 0 var(--space-4xl);line-height:1.5}.empty-actions{gap:var(--space-md);flex-direction:column;width:100%;display:flex}.invite-result{gap:var(--space-sm);flex-direction:column;display:flex}.invite-code{font-family:var(--font-body);font-size:var(--text-secondary-size);color:var(--text-secondary);background:var(--surface);padding:var(--space-md);border-radius:var(--radius);border:1px solid var(--border);word-break:break-all}.profile-section{margin-bottom:var(--space-4xl)}.section-title{font-family:var(--font-display);font-size:var(--text-subtitle);color:var(--text-primary);margin:0 0 var(--space-sm);font-weight:400}.section-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-secondary-size);margin:0 0 var(--space-lg);line-height:1.4}.profile-tagline{font-family:var(--font-display);font-style:italic;font-size:var(--text-large);color:var(--accent);margin:0}
