@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300&family=Jost:wght@300;400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-bg-start: #fdf4f7;--clr-bg-end: #f0eeff;--clr-strap-start: #f9e9f0;--clr-strap-end: #eee8ff;--clr-surface: rgba(255, 255, 255, .55);--clr-surface-hov: rgba(255, 255, 255, .8);--clr-border: rgba(200, 185, 215, .3);--clr-text-dark: #2a2335;--clr-text-mid: #6b5f7a;--clr-text-light: #9e93ac;--clr-accent: #c9a8d4;--clr-accent-soft: #edd8f7;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Jost", system-ui, sans-serif;--space-xs: .375rem;--space-sm: .75rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3rem;--radius-sm: .75rem;--radius-md: 1.25rem;--radius-lg: 1.75rem;--shadow-sm: 0 2px 12px rgba(80, 60, 110, .07);--shadow-md: 0 6px 24px rgba(80, 60, 110, .1);--shadow-lg: 0 12px 40px rgba(80, 60, 110, .13);--transition: .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:var(--font-body);font-weight:300;min-height:100vh;color:var(--clr-text-dark);background:linear-gradient(145deg,var(--clr-bg-start) 0%,var(--clr-bg-end) 100%);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh;width:100%}.welcome-strap{width:100%;background:linear-gradient(110deg,var(--clr-strap-start) 0%,var(--clr-strap-end) 100%);border-bottom:1px solid var(--clr-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:strapFadeIn .8s ease both}.welcome-strap-inner{max-width:1100px;margin:0 auto;padding:1.75rem var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.welcome-text-wrapper{display:flex;flex-direction:column;gap:.2rem}.welcome-label{font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--clr-text-light)}.welcome-name{font-family:var(--font-display);font-size:2.6rem;font-weight:300;line-height:1.1;color:var(--clr-text-dark);letter-spacing:.01em}.welcome-counter .relationship-counter{font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--clr-text-mid);letter-spacing:.05em;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:2rem;padding:.55rem 1.2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.home-main{flex:1;padding:var(--space-xl) var(--space-lg)}.home-container{max-width:1100px;margin:0 auto}.home-subtitle{font-family:var(--font-body);font-size:.85rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--clr-text-light);margin-bottom:var(--space-lg)}.nav-cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md)}@media(max-width:900px){.nav-cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.nav-cards-grid{grid-template-columns:repeat(2,1fr)}}.nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:2rem 1rem 1.75rem;border:1px solid var(--clr-border);border-radius:var(--radius-lg);background:var(--clr-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);cursor:pointer;text-decoration:none;color:var(--clr-text-dark);transition:transform var(--transition),box-shadow var(--transition),background var(--transition);box-shadow:var(--shadow-sm);animation:cardSlideUp .5s ease both}.nav-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);background:var(--clr-surface-hov)}.nav-card-icon{font-size:1.8rem;color:var(--clr-accent);line-height:1}.nav-card-img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid var(--clr-border);box-shadow:0 4px 12px #00000026;transition:transform .2s,box-shadow .2s}.nav-card:hover .nav-card-img{transform:scale(1.06);box-shadow:0 6px 20px #00000040}.nav-card-label{font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:.02em}.nav-card-desc{font-family:var(--font-body);font-size:.72rem;font-weight:400;color:var(--clr-text-light);letter-spacing:.06em;text-align:center}.section-main{flex:1;display:flex;flex-direction:column}.section-container{max-width:1100px;margin:0 auto;width:100%;padding:var(--space-xl) var(--space-lg)}.page-header{position:relative;width:100%;height:220px;overflow:hidden;flex-shrink:0}.page-header-bg{position:absolute;inset:0;background-size:cover;background-position:center top;background-color:#e8ddf0;transform:scale(1.04);transition:transform 8s ease}.page-header:hover .page-header-bg{transform:scale(1)}.page-header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#28143c38,#28143c6b)}.page-header-content{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:var(--space-md) var(--space-lg);height:100%;display:flex;flex-direction:column;justify-content:space-between}.page-header-title{font-family:var(--font-display);font-size:2.8rem;font-weight:300;color:#fff;letter-spacing:.05em;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.18);padding-bottom:var(--space-md)}.page-header-fade{position:absolute;bottom:0;left:0;right:0;height:72px;background:linear-gradient(to bottom,transparent,var(--clr-bg-start));z-index:1;pointer-events:none}.back-button{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border:1px solid rgba(255,255,255,.35);border-radius:2rem;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:.08em;cursor:pointer;transition:background var(--transition),border-color var(--transition);align-self:flex-start}.back-button:hover{background:#ffffff47;border-color:#fff9}.back-arrow{font-size:1rem;line-height:1}.glass-card{background:var(--clr-surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-md);transition:transform var(--transition),box-shadow var(--transition);margin-bottom:var(--space-md)}.glass-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.input-field,.text-area{width:100%;padding:.8rem 1rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm);background:#ffffffa6;margin-bottom:var(--space-sm);font-family:var(--font-body);font-size:.95rem;font-weight:300;color:var(--clr-text-dark);transition:border-color var(--transition),background var(--transition);outline:none}.input-field:focus,.text-area:focus{border-color:var(--clr-accent);background:#ffffffe6}.input-field::placeholder,.text-area::placeholder{color:var(--clr-text-light);font-weight:300}.text-area{resize:vertical;min-height:120px}.primary-button{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:var(--clr-text-dark);background:linear-gradient(110deg,#f0dff8,#dde8ff);transition:opacity var(--transition),transform var(--transition),box-shadow var(--transition);box-shadow:var(--shadow-sm)}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.primary-button:disabled{opacity:.4;cursor:not-allowed}.secondary-button{padding:.6rem 1.2rem;border:1px solid var(--clr-border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:var(--clr-text-mid);background:var(--clr-surface);transition:background var(--transition),box-shadow var(--transition)}.secondary-button:hover:not(:disabled){background:var(--clr-surface-hov);box-shadow:var(--shadow-sm)}.secondary-button:disabled{opacity:.4;cursor:not-allowed}.section h3{font-family:var(--font-display);font-size:1.8rem;font-weight:400;color:var(--clr-text-dark);margin-bottom:var(--space-md);letter-spacing:.02em}.journal-entry{margin-bottom:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);background:var(--clr-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.journal-entry:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.journal-entry .entry-header{display:flex;justify-content:space-between;margin-bottom:var(--space-xs);font-size:.8rem;font-weight:500;color:var(--clr-text-mid);letter-spacing:.04em}.memories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.memory-card{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--clr-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--clr-border);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.memory-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.memory-card img{width:100%;height:150px;object-fit:cover;border-radius:calc(var(--radius-md) - 4px);margin-bottom:var(--space-xs)}.memory-card-body{display:flex;flex-direction:column;gap:.3rem}.memory-date-chip{display:inline-flex;align-items:center;align-self:flex-start;font-family:var(--font-body);font-size:.68rem;font-weight:500;letter-spacing:.06em;color:var(--clr-text-light);background:var(--clr-surface-hov);border:1px solid var(--clr-border);border-radius:999px;padding:.18rem .6rem}.memory-title{font-family:var(--font-display);font-size:1.05rem;font-weight:400;color:var(--clr-text-dark);margin:.1rem 0 0}.memory-desc{font-family:var(--font-body);font-size:.82rem;color:var(--clr-text-mid);line-height:1.5;margin:0}.memory-delete-btn{align-self:flex-start;margin-top:.4rem;padding:.22rem .7rem;border-radius:999px;border:1px solid rgba(200,60,60,.28);background:#c83c3c12;color:#c83c3c;font-size:.72rem;font-weight:600;cursor:pointer;opacity:0;transition:opacity .2s ease,background .2s ease;letter-spacing:.03em}.memory-card:hover .memory-delete-btn{opacity:1}.memory-delete-btn:hover{background:#c83c3c2e;border-color:#c83c3c8c}.memory-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.1rem}.memory-author-chip{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.05em;color:var(--clr-accent);background:#a082d21a;border:1px solid rgba(160,130,210,.22);border-radius:999px;padding:.18rem .6rem}.memory-file-label{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border:1.5px dashed var(--clr-border);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-body);font-size:.82rem;color:var(--clr-text-mid);transition:border-color .2s,background .2s;margin-bottom:var(--space-sm);-webkit-user-select:none;user-select:none}.memory-file-label:hover{border-color:var(--clr-accent);background:var(--clr-surface-hov);color:var(--clr-text-dark)}.memory-preview-wrap{position:relative;display:inline-block;margin-bottom:var(--space-sm);border-radius:var(--radius-sm);overflow:hidden;max-width:180px;box-shadow:var(--shadow-sm)}.memory-preview-img{display:block;width:100%;height:auto;border-radius:var(--radius-sm)}.memory-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1}.memory-preview-remove:hover{background:#000c}.modal-overlay{position:fixed;inset:0;background:#140f23a6;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:90%;max-height:90%;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content img{width:100%;height:auto;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.game-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.leaderboard{display:flex;justify-content:space-around;width:100%;margin-top:var(--space-md)}.leaderboard-item{background:var(--clr-surface);border:1px solid var(--clr-border);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:.9rem}.task-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--clr-surface);border:1px solid var(--clr-border);margin-bottom:var(--space-xs);cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition)}.task-item.completed{text-decoration:line-through;opacity:.55}.task-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.goals-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start}@media(max-width:700px){.goals-columns{grid-template-columns:1fr}}.goal-col{display:flex;flex-direction:column;gap:var(--space-sm)}.goal-col-header{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:var(--radius-md);border-left:4px solid transparent;background:var(--clr-surface);border:1px solid var(--clr-border);margin-bottom:.25rem}.goal-col-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}.goal-col-name{font-weight:600;font-size:.95rem;flex:1}.goal-col-you{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--clr-accent);background:var(--clr-accent-soft);padding:.15rem .55rem;border-radius:999px}.goal-add-card{display:flex;flex-direction:column;gap:.5rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm)}.goal-date-label{display:flex;flex-direction:column;font-size:.78rem;color:var(--clr-text-mid);font-weight:500;letter-spacing:.04em}.goal-empty{font-size:.85rem;color:var(--clr-text-light);text-align:center;padding:1rem 0}.goal-list{display:flex;flex-direction:column;gap:var(--space-sm)}.goal-card{background:var(--clr-surface);border:1px solid var(--clr-border);padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-xs);transition:transform var(--transition),box-shadow var(--transition)}.goal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.goal-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--clr-text-dark);flex:1;margin:0}.goal-card-desc{font-size:.82rem;color:var(--clr-text-mid);line-height:1.5;margin:0}.goal-delete-btn{background:none;border:none;cursor:pointer;color:var(--clr-text-light);font-size:1.2rem;line-height:1;padding:0 .2rem;flex-shrink:0;transition:color var(--transition)}.goal-delete-btn:hover{color:#b45050}.goal-countdown{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.goal-countdown-date{font-size:.72rem;color:var(--clr-text-light);background:var(--clr-surface-hov);border:1px solid var(--clr-border);border-radius:999px;padding:.15rem .6rem}.goal-countdown-remaining{font-size:.72rem;font-weight:600;letter-spacing:.03em;color:#56ab91;background:#56ab911f;border:1px solid rgba(86,171,145,.28);border-radius:999px;padding:.15rem .6rem}.goal-countdown--overdue .goal-countdown-remaining{color:#b45050;background:#b450501a;border-color:#b4505040}.progress-container{width:100%;height:.5rem;background:#b4a5d233;border-radius:2rem;overflow:hidden;margin-top:var(--space-xs)}.progress-bar{height:100%;background:linear-gradient(90deg,#c9a8d4,#a8c9d4);transition:width .5s ease;border-radius:2rem}.goal-progress-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.goal-progress-slider{flex:1;accent-color:var(--clr-accent)}.goal-progress-pct{font-size:.75rem;color:var(--clr-text-light);flex-shrink:0}.pod-pick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:2rem 1rem;border:2px dashed var(--clr-border);border-radius:var(--radius-md);background:none;cursor:pointer;color:var(--clr-text-mid);font-family:var(--font-body);font-size:.88rem;text-align:center;transition:border-color .2s,background .2s;margin-bottom:var(--space-sm)}.relationship-counter{font-size:.9rem}.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--space-lg)}.game-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.secondary-button.active-tab{background:var(--clr-accent-soft);border-color:var(--clr-accent);color:var(--clr-text-dark);font-weight:500}.game-area{min-height:200px;display:flex;flex-direction:column;align-items:center}.memory-game-wrapper{width:100%}.memory-stats{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);font-size:.9rem;flex-wrap:wrap}.memory-win-banner{background:linear-gradient(110deg,#f0dff8,#dde8ff);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;font-size:1rem;font-weight:500;margin-bottom:var(--space-md);animation:pageEnter .4s ease both}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;width:100%}@media(max-width:500px){.memory-grid{grid-template-columns:repeat(3,1fr)}}.memory-card-tile{aspect-ratio:1;perspective:800px;cursor:pointer;border-radius:var(--radius-sm)}.tile-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-sm)}.memory-card-tile.flipped .tile-inner{transform:rotateY(180deg)}.tile-back,.tile-front{position:absolute;inset:0;backface-visibility:hidden;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--clr-border);box-shadow:var(--shadow-sm)}.tile-back{background:var(--clr-surface);font-size:1.8rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background var(--transition)}.memory-card-tile:hover:not(.flipped) .tile-back{background:var(--clr-surface-hov)}.tile-front{background:#fff;transform:rotateY(180deg)}.tile-front img{width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none}.memory-card-tile.matched .tile-inner{transform:rotateY(180deg)}.memory-card-tile.matched .tile-front{box-shadow:0 0 0 2px var(--clr-accent);opacity:.85}.planner-row{display:flex;align-items:flex-end;gap:var(--space-sm);flex-wrap:wrap}.date-label{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:160px;font-size:.78rem;font-weight:400;color:var(--clr-text-mid);letter-spacing:.05em;text-transform:uppercase}.date-input{margin-bottom:0;padding:.6rem .75rem;font-size:.88rem}.planner-filters{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap}.task-group{margin-bottom:var(--space-md)}.task-group-label{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-mid);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--clr-border)}.overdue-label{color:#b45050}.task-check{font-size:.9rem;color:var(--clr-accent);flex-shrink:0}.task-title{flex:1}.task-delete{background:none;border:none;cursor:pointer;color:var(--clr-text-light);font-size:1.1rem;line-height:1;padding:0 .2rem;transition:color var(--transition);flex-shrink:0}.task-delete:hover{color:#b45050}.entry-body{line-height:1.65;white-space:pre-wrap;word-break:break-word}.entry-delete-btn{background:none;border:none;cursor:pointer;font-size:.9rem;opacity:.45;padding:.15rem .3rem;border-radius:4px;transition:opacity var(--transition),background var(--transition);line-height:1;flex-shrink:0}.entry-delete-btn:hover{opacity:1;background:#b43c3c14}.journal-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md)}.journal-tab{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.25rem;border:2px solid var(--clr-border);border-radius:2rem;background:var(--clr-surface);font-family:var(--font-body);font-size:.88rem;font-weight:500;letter-spacing:.04em;color:var(--clr-text-mid);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition)}.journal-tab:hover{background:var(--clr-surface-hov);transform:translateY(-1px)}.journal-tab--active{background:var(--clr-surface-hov);font-weight:600}.journal-tab-avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0}.danger-button{padding:.7rem 1.4rem;background:linear-gradient(135deg,#e05555,#c03030);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:opacity var(--transition),transform var(--transition);letter-spacing:.04em}.danger-button:hover{opacity:.88;transform:translateY(-1px)}.confirm-overlay{position:fixed;inset:0;z-index:9999;background:#140a238c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:confirmFadeIn .18s ease both}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--clr-surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-xl) var(--space-lg);max-width:380px;width:90%;text-align:center;box-shadow:0 24px 60px #140a3240;animation:confirmSlide .22s cubic-bezier(.4,0,.2,1) both}@keyframes confirmSlide{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-icon{font-size:2.4rem;margin-bottom:.6rem;line-height:1}.confirm-title{font-family:var(--font-display);font-size:1.35rem;font-weight:500;margin:0 0 .5rem;color:var(--clr-text-dark)}.confirm-body{font-size:.88rem;color:var(--clr-text-light);line-height:1.6;margin-bottom:var(--space-lg)}.confirm-actions{display:flex;gap:var(--space-sm);justify-content:center}@keyframes strapFadeIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:pageEnter .35s cubic-bezier(.4,0,.2,1) both}.section{animation:pageEnter .3s ease both}.welcome-right{display:flex;align-items:center;gap:var(--space-md)}.theme-toggle{--tog-w: 64px;--tog-h: 30px;--tog-r: 999px;--tog-speed: .36s;position:relative;display:inline-flex;align-items:center;width:var(--tog-w);height:var(--tog-h);padding:0;border:none;border-radius:var(--tog-r);cursor:pointer;background:none;outline:none;flex-shrink:0;filter:drop-shadow(0 4px 8px rgba(100,70,160,.28)) drop-shadow(0 1px 2px rgba(0,0,0,.15));transition:filter var(--transition)}.theme-toggle:hover{filter:drop-shadow(0 6px 14px rgba(100,70,160,.4)) drop-shadow(0 2px 4px rgba(0,0,0,.18))}.toggle-track{position:relative;width:100%;height:100%;border-radius:var(--tog-r);background:linear-gradient(120deg,#fde8a1,#fbc56a);box-shadow:inset 0 2px 4px #ffffff8c,inset 0 -2px 4px #0000001f;transition:background var(--tog-speed) ease;overflow:hidden}.theme-toggle--dark .toggle-track{background:linear-gradient(120deg,#1b1340,#2e1f6e)}.toggle-star{position:absolute;border-radius:50%;background:#ffffffbf;opacity:0;transition:opacity var(--tog-speed) ease}.theme-toggle--dark .toggle-star{opacity:1}.toggle-star.s1{width:3px;height:3px;top:5px;left:8px}.toggle-star.s2{width:2px;height:2px;top:16px;left:16px}.toggle-star.s3{width:3px;height:3px;top:9px;left:14px}.toggle-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:linear-gradient(145deg,#fff8ec,#fff3d6);box-shadow:0 2px 8px #00000038,inset 0 1px 2px #ffffffe6,inset 0 -1px 2px #0000000f;display:flex;align-items:center;justify-content:center;transition:left var(--tog-speed) cubic-bezier(.4,0,.2,1),background var(--tog-speed) ease,box-shadow var(--tog-speed) ease}.theme-toggle--dark .toggle-thumb{left:calc(var(--tog-w) - 27px);background:linear-gradient(145deg,#d6d0ff,#b8aef0);box-shadow:0 2px 8px #00000073,inset 0 1px 2px #ffffff59,inset 0 -1px 2px #0003}.toggle-icon{font-size:13px;line-height:1;-webkit-user-select:none;user-select:none;transition:all var(--tog-speed) ease}[data-theme=dark]{--clr-bg-start: #12101e;--clr-bg-end: #1c1530;--clr-strap-start: #1a1628;--clr-strap-end: #221a38;--clr-surface: rgba(38, 30, 62, .75);--clr-surface-hov: rgba(52, 42, 82, .88);--clr-border: rgba(160, 140, 200, .14);--clr-text-dark: #ebe4f7;--clr-text-mid: #a899c0;--clr-text-light: #6d6385;--clr-accent: #c9a8d4;--clr-accent-soft: #3a2d52;--shadow-sm: 0 2px 14px rgba(0, 0, 0, .35);--shadow-md: 0 6px 28px rgba(0, 0, 0, .45);--shadow-lg: 0 14px 48px rgba(0, 0, 0, .55)}[data-theme=dark] body{background:linear-gradient(145deg,var(--clr-bg-start) 0%,var(--clr-bg-end) 100%);color:var(--clr-text-dark)}[data-theme=dark] .welcome-strap{background:linear-gradient(110deg,var(--clr-strap-start) 0%,var(--clr-strap-end) 100%);border-bottom-color:var(--clr-border)}[data-theme=dark] .welcome-counter .relationship-counter{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .nav-card{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-dark);box-shadow:var(--shadow-sm)}[data-theme=dark] .nav-card:hover{background:var(--clr-surface-hov);box-shadow:var(--shadow-lg)}[data-theme=dark] .glass-card{background:var(--clr-surface);border-color:var(--clr-border);box-shadow:var(--shadow-md)}[data-theme=dark] .input-field,[data-theme=dark] .text-area{background:#1c1632bf;border-color:var(--clr-border);color:var(--clr-text-dark)}[data-theme=dark] .input-field:focus,[data-theme=dark] .text-area:focus{border-color:var(--clr-accent);background:#261e44e6}[data-theme=dark] .input-field::placeholder,[data-theme=dark] .text-area::placeholder{color:var(--clr-text-light)}[data-theme=dark] .primary-button{background:linear-gradient(110deg,#3d2a5c,#2a2356);color:var(--clr-text-dark);box-shadow:var(--shadow-sm)}[data-theme=dark] .primary-button:hover:not(:disabled){box-shadow:0 4px 20px #b48cdc4d}[data-theme=dark] .secondary-button{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .secondary-button:hover:not(:disabled){background:var(--clr-surface-hov)}[data-theme=dark] .section h3{color:var(--clr-text-dark)}[data-theme=dark] .journal-entry{background:var(--clr-surface);border-color:var(--clr-border)}[data-theme=dark] .journal-entry .entry-header{color:var(--clr-text-mid)}[data-theme=dark] .journal-entry .entry-body{color:var(--clr-text-dark)}[data-theme=dark] .memory-card,[data-theme=dark] .memory-card-inner,[data-theme=dark] .memory-card-back{background:var(--clr-surface);border-color:var(--clr-border)}[data-theme=dark] .planner-task,[data-theme=dark] .task-group-label{color:var(--clr-text-dark)}[data-theme=dark] .planner-task{background:var(--clr-surface);border-color:var(--clr-border)}[data-theme=dark] .planner-task label,[data-theme=dark] .planner-task span{color:var(--clr-text-dark)}[data-theme=dark] .filter-tab{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .filter-tab.active,[data-theme=dark] .filter-tab:hover{background:var(--clr-accent-soft);color:var(--clr-text-dark);border-color:var(--clr-accent)}[data-theme=dark] .goal-card,[data-theme=dark] .goal-item{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-dark)}[data-theme=dark] .game-tab,[data-theme=dark] .game-tab.active{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .game-tab.active{background:var(--clr-accent-soft);color:var(--clr-text-dark);border-color:var(--clr-accent)}[data-theme=dark] .game-container{color:var(--clr-text-dark)}[data-theme=dark] .score-display,[data-theme=dark] .high-score-display{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .memory-game-wrapper{color:var(--clr-text-dark)}[data-theme=dark] .memory-stats{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}[data-theme=dark] .memory-card-front{background:var(--clr-surface);border-color:#b496dc33}[data-theme=dark] .memory-win-banner{background:var(--clr-accent-soft);border-color:var(--clr-accent);color:var(--clr-text-dark)}[data-theme=dark] .confirm-overlay{background:#000000b3}[data-theme=dark] .confirm-modal{background:linear-gradient(145deg,#1e1538,#261d45);border-color:#b496dc2e;box-shadow:0 32px 80px #0000008c}[data-theme=dark] .confirm-title{color:var(--clr-text-dark)}[data-theme=dark] .confirm-body{color:var(--clr-text-mid)}[data-theme=dark] .danger-button{background:linear-gradient(135deg,#c84040,#a02020)}[data-theme=dark] .page-header-overlay{background:linear-gradient(to bottom,#0a051959,#0a051999)}[data-theme=dark] .page-header-fade{background:linear-gradient(to bottom,transparent,var(--clr-bg-start))}[data-theme=dark] ::-webkit-scrollbar{width:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:#12101e}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#3a2e5c;border-radius:999px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#5a4a88}.draw-game{display:flex;flex-direction:column;gap:.6rem;width:100%}.draw-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.draw-group{display:flex;flex-direction:column;gap:.35rem}.draw-group-label{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-light);padding-left:2px}.draw-row{display:flex;align-items:center;gap:.35rem}.draw-row--wrap{flex-wrap:wrap}.draw-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid var(--clr-border);border-radius:10px;background:var(--clr-surface);font-size:1rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;color:var(--clr-text-dark);position:relative;overflow:hidden;flex-shrink:0}.draw-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #9664c838;border-color:var(--clr-accent);background:var(--clr-surface-hov)}.draw-btn:disabled{opacity:.3;cursor:not-allowed}.draw-btn--active{background:var(--clr-accent-soft);border-color:var(--clr-accent);box-shadow:0 0 0 2px var(--clr-accent)}.draw-btn--size{font-size:.72rem;font-weight:600;letter-spacing:.04em}.draw-btn--danger:hover:not(:disabled){border-color:#e05555;box-shadow:0 4px 12px #dc505040}.draw-btn--save:hover:not(:disabled){border-color:#56ab91;box-shadow:0 4px 12px #56ab9147}.draw-slider{-webkit-appearance:none;appearance:none;width:90px;height:4px;border-radius:999px;background:var(--clr-border);outline:none;cursor:pointer}.draw-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--clr-accent);box-shadow:0 2px 6px #0003;cursor:grab;transition:transform .15s}.draw-slider::-webkit-slider-thumb:active{transform:scale(1.3);cursor:grabbing}.draw-swatch{width:24px;height:24px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0;position:relative}.draw-swatch:hover{transform:scale(1.18);box-shadow:0 2px 8px #00000038}.draw-swatch--active{border-color:var(--clr-accent)!important;box-shadow:0 0 0 2px var(--clr-accent);transform:scale(1.18)}.draw-swatch--picker{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;border-radius:6px;border:2px solid var(--clr-border)}.draw-status{display:flex;align-items:center;gap:.75rem;padding:.35rem .8rem;border-radius:var(--radius-sm);background:var(--clr-surface);border:1px solid var(--clr-border);font-size:.78rem;color:var(--clr-text-mid);letter-spacing:.04em}.draw-status-color{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--clr-border);flex-shrink:0}.draw-canvas{display:block;width:100%;border-radius:var(--radius-md);border:1px solid var(--clr-border);box-shadow:var(--shadow-md);touch-action:none;user-select:none;-webkit-user-select:none}[data-theme=dark] .draw-toolbar,[data-theme=dark] .draw-status{background:var(--clr-surface);border-color:var(--clr-border)}[data-theme=dark] .draw-btn{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-dark)}[data-theme=dark] .draw-btn:hover:not(:disabled){background:var(--clr-surface-hov)}[data-theme=dark] .draw-btn--active{background:var(--clr-accent-soft);border-color:var(--clr-accent)}[data-theme=dark] .draw-slider{background:var(--clr-border)}[data-theme=dark] .draw-canvas{border-color:var(--clr-border)}.draw-gallery{margin-top:.5rem}.draw-gallery-label{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--clr-text-light);margin-bottom:.5rem}.draw-gallery-grid{display:flex;flex-wrap:wrap;gap:.6rem}.draw-thumb{position:relative;width:96px;height:72px;border-radius:var(--radius-sm);border:1.5px solid var(--clr-border);overflow:hidden;cursor:pointer;padding:0;background:var(--clr-surface);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;flex-shrink:0}.draw-thumb:hover{transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-lg);border-color:var(--clr-accent)}.draw-thumb img{width:100%;height:100%;object-fit:cover;display:block}.draw-thumb-name{position:absolute;bottom:0;left:0;right:0;padding:.15rem .35rem;font-size:.62rem;font-weight:600;background:#0000006b;color:#fff;letter-spacing:.04em;text-align:left}.draw-lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#0a0514bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:confirmFadeIn .2s ease both}.draw-lightbox{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:1.25rem;max-width:min(90vw,700px);width:100%;box-shadow:0 32px 80px #00000073;animation:confirmSlide .22s cubic-bezier(.4,0,.2,1) both;display:flex;flex-direction:column;gap:.75rem}.draw-lightbox-img{width:100%;border-radius:var(--radius-md);display:block;object-fit:contain;max-height:60vh;border:1px solid var(--clr-border)}.draw-lightbox-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--clr-text-mid);letter-spacing:.04em}.draw-lightbox-actions{display:flex;flex-wrap:wrap;gap:.5rem}.draw-lb-btn{padding:.55rem 1.1rem;border-radius:var(--radius-sm);border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-dark);font-family:var(--font-body);font-size:.8rem;font-weight:500;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;letter-spacing:.04em}.draw-lb-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);background:var(--clr-surface-hov)}.draw-lb-btn--edit{border-color:var(--clr-accent);color:var(--clr-accent)}.draw-lb-btn--download{border-color:#56ab91;color:#56ab91}.draw-lb-btn--delete{border-color:#c83c3c66;color:#c83c3c}.draw-lb-btn--delete:hover{background:#c83c3c14}.draw-btn--saved{background:#56ab912e!important;border-color:#56ab91!important;color:#56ab91!important}[data-theme=dark] .draw-thumb{border-color:var(--clr-border);background:var(--clr-surface)}[data-theme=dark] .draw-lightbox{background:linear-gradient(145deg,#1e1538,#261d45);border-color:#b496dc2e}[data-theme=dark] .draw-lb-btn{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-dark)}[data-theme=dark] .draw-lb-btn:hover{background:var(--clr-surface-hov)}.planner-section h3{margin-bottom:var(--space-md)}.planner-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:start}@media(max-width:700px){.planner-columns{grid-template-columns:1fr}}.planner-col{display:flex;flex-direction:column;gap:var(--space-sm);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-md);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow-sm)}.planner-col-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.planner-col-name{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--clr-text-dark)}.planner-col-you{font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;background:#a082d224;color:var(--clr-accent);border:1px solid rgba(160,130,210,.25);border-radius:999px;padding:.15rem .55rem}.planner-add-card{display:flex;flex-direction:column;gap:.45rem;padding:var(--space-sm);border:1px solid var(--clr-border);border-radius:var(--radius-md);background:#ffffff0a}.planner-date-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.planner-shortcut{padding:.3rem .7rem;border-radius:999px;border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-mid);font-family:var(--font-body);font-size:.74rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.planner-shortcut:hover{background:var(--clr-surface-hov);border-color:var(--clr-accent);color:var(--clr-text-dark)}.planner-shortcut--active{background:#a082d224;border-color:var(--clr-accent);color:var(--clr-accent);font-weight:600}.planner-filters{display:flex;flex-wrap:wrap;gap:.3rem}.planner-filter-pill{padding:.25rem .65rem;border-radius:999px;border:1px solid var(--clr-border);background:transparent;color:var(--clr-text-light);font-family:var(--font-body);font-size:.72rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.planner-filter-pill:hover{background:var(--clr-surface-hov);color:var(--clr-text-mid)}.planner-filter-pill--active{background:#a082d224;border-color:var(--clr-accent);color:var(--clr-accent);font-weight:600}.planner-task-list{display:flex;flex-direction:column;gap:.25rem}.task-group{margin-bottom:.5rem}.task-group-label{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-text-light);padding:.2rem 0;border-bottom:1px solid var(--clr-border);margin-bottom:.35rem}.overdue-label{color:#c84040}.task-item{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--clr-border);background:var(--clr-surface);cursor:pointer;transition:background .15s,opacity .15s;-webkit-user-select:none;user-select:none}.task-item:hover{background:var(--clr-surface-hov)}.task-item.completed{opacity:.45}.task-check{font-size:.85rem;color:var(--clr-accent);flex-shrink:0}.task-title{flex:1;font-family:var(--font-body);font-size:.88rem;color:var(--clr-text-dark)}.task-item.completed .task-title{text-decoration:line-through;color:var(--clr-text-light)}.task-delete{padding:0 .35rem;border:none;background:none;color:var(--clr-text-light);font-size:1.1rem;cursor:pointer;line-height:1;border-radius:4px;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.task-item:hover .task-delete{opacity:1}.task-delete:hover{color:#c84040}.planner-empty{font-family:var(--font-body);font-size:.82rem;color:var(--clr-text-light);text-align:center;padding:var(--space-md) 0}.planner-date-row .date-input{margin-bottom:0;font-size:.8rem;padding:.4rem .6rem}[data-theme=dark] .planner-col{background:var(--clr-surface);border-color:var(--clr-border)}[data-theme=dark] .planner-add-card{background:#ffffff05;border-color:var(--clr-border)}[data-theme=dark] .task-item{background:#261e3e8c;border-color:var(--clr-border)}[data-theme=dark] .task-item:hover{background:var(--clr-surface-hov)}[data-theme=dark] .planner-shortcut{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-text-mid)}.draw-bg-swatch{width:30px;height:30px;border-radius:50%;border:3px solid transparent;cursor:pointer;flex-shrink:0;box-shadow:0 2px 6px #0000002e;transition:transform .15s,border-color .15s,box-shadow .15s;outline:none}.draw-bg-swatch:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000047}.draw-bg-swatch--active{border-color:var(--clr-accent);transform:scale(1.2);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--clr-accent)}.qg-ask-label{font-size:.88rem;color:var(--clr-text-mid);margin-bottom:.5rem}.qg-empty{color:var(--clr-text-light);text-align:center;padding:2rem 0}.qg-list{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.qg-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;animation:pageEnter .3s ease both}.qg-card--answered{border-left:4px solid #a18cd1}.qg-card--rated{border-left:4px solid #56ab91}.qg-card--pending{border-left:4px solid var(--clr-border)}.qg-card-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.qg-participants{font-size:.8rem;font-weight:500;color:var(--clr-text-mid);letter-spacing:.04em}.qg-badge{font-size:.72rem;font-weight:600;padding:.18rem .65rem;border-radius:999px;letter-spacing:.04em}.qg-badge--pending{background:#b4963c1f;color:#b8943e;border:1px solid rgba(180,150,60,.25)}.qg-badge--answered{background:#a18cd126;color:#7c5cbf;border:1px solid rgba(161,140,209,.3)}.qg-badge--rated{background:#56ab9126;color:#358a72;border:1px solid rgba(86,171,145,.3)}.qg-question-text,.qg-answer-text{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;line-height:1.55}.qg-q-icon,.qg-a-icon{font-size:1.1rem;flex-shrink:0;margin-top:.1rem}.qg-answer-text{background:#a18cd114;border-radius:var(--radius-sm);padding:.6rem .75rem}.qg-answer-form{display:flex;flex-direction:column;gap:.5rem}.qg-rating{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.qg-rating-label{font-size:.82rem;color:var(--clr-text-mid)}.qg-stars{display:flex;gap:.25rem}.qg-star-btn{background:none;border:none;font-size:1.4rem;cursor:pointer;transition:transform .15s;line-height:1}.qg-star-btn:hover{transform:scale(1.25)}.qg-rated{display:flex;align-items:center;gap:.5rem;font-size:1.1rem}.qg-rated-label{font-size:.8rem;color:var(--clr-text-mid)}.pod-date-label{color:var(--clr-text-light);font-size:.85rem;margin-bottom:var(--space-md)}.pod-upload-title{font-size:.95rem;font-weight:500;color:var(--clr-text-mid);margin-bottom:.75rem}.pod-hint-msg{color:var(--clr-text-light);text-align:center;padding:1.5rem 0}.pod-error{color:#c83c3c;font-size:.82rem;margin:.25rem 0}.pod-file-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:2rem;border:2px dashed var(--clr-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;color:var(--clr-text-mid);font-size:.88rem;transition:border-color .2s,background .2s;margin-bottom:var(--space-sm)}.pod-file-label:hover{border-color:var(--clr-accent);background:var(--clr-surface-hov)}.pod-preview-wrap{position:relative;display:inline-block;border-radius:var(--radius-sm);overflow:hidden;max-width:200px}.pod-preview-wrap img{display:block;width:100%;height:auto}.pod-preview-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.pod-upload-card{display:flex;flex-direction:column;gap:.75rem}.pod-waiting-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.pod-waiting-icon{font-size:3rem}.pod-blurred-wrap{position:relative;width:100%;max-width:320px;border-radius:var(--radius-md);overflow:hidden}.pod-blurred-img{width:100%;display:block;filter:blur(12px);opacity:.6}.pod-blur-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:500;color:var(--clr-text-dark);background:#ffffff40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;padding:1rem}.pod-reveal-banner{text-align:center;font-size:1.1rem;font-weight:600;color:var(--clr-text-dark);background:linear-gradient(110deg,#f0dff8,#dde8ff);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid var(--clr-border)}.pod-photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:600px){.pod-photos-grid{grid-template-columns:1fr}}.pod-photo-card{border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--clr-border);box-shadow:var(--shadow-sm);background:var(--clr-surface)}.pod-photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.pod-photo-footer{padding:var(--space-sm) var(--space-md)}.pod-photo-caption{font-size:.82rem;color:var(--clr-text-mid);margin-top:.25rem}.ttt-wrapper{width:100%;max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.ttt-loading{color:var(--clr-text-light);padding:2rem}.ttt-header{display:flex;align-items:center;gap:1rem;width:100%;justify-content:center;flex-wrap:wrap}.ttt-player-pill{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:2rem;font-size:.88rem;font-weight:500;border:2px solid var(--clr-border);background:var(--clr-surface)}.ttt-symbol{font-size:1.2rem;font-weight:700}.ttt-player-pill--x .ttt-symbol{color:#a18cd1}.ttt-player-pill--o .ttt-symbol{color:#ff9a9e}.ttt-vs{font-size:.8rem;font-weight:600;color:var(--clr-text-light);letter-spacing:.1em}.ttt-ready-area{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.ttt-ready-chips{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.ttt-ready-chip{padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:500;border:1.5px solid var(--clr-border);color:var(--clr-text-mid);background:var(--clr-surface);transition:all .2s}.ttt-ready-chip--on{border-color:#56ab91;color:#2e7a62;background:#56ab911f}.ttt-ready-btn{min-width:140px;margin-top:.5rem}.ttt-wait-msg{font-size:.88rem;color:var(--clr-text-light)}.ttt-turn{font-size:.95rem;font-weight:600;padding:.5rem 1.25rem;border-radius:999px;letter-spacing:.04em}.ttt-turn--mine{background:#a18cd126;color:#7c5cbf}.ttt-turn--theirs{background:var(--clr-surface);color:var(--clr-text-light)}.ttt-result{font-size:1.4rem;font-weight:700;color:var(--clr-text-dark);background:linear-gradient(110deg,#f0dff8,#dde8ff);padding:.75rem 2rem;border-radius:var(--radius-md);border:1px solid var(--clr-border);text-align:center}.ttt-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;max-width:300px}.ttt-cell{aspect-ratio:1;font-size:2.2rem;font-weight:800;border:2px solid var(--clr-border);border-radius:var(--radius-sm);background:var(--clr-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .15s}.ttt-cell--x{color:#a18cd1}.ttt-cell--o{color:#ff9a9e}.ttt-cell--hover:hover{background:var(--clr-surface-hov);transform:scale(.96)}.ttt-cell:disabled{cursor:default}.tr-wrapper{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.tr-players{display:flex;flex-direction:column;gap:.6rem}.tr-player-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.tr-player-name{font-size:.82rem;font-weight:600;min-width:90px;color:var(--clr-text-mid)}.tr-bar-track{flex:1;height:10px;background:#b4a5d22e;border-radius:999px;overflow:hidden;min-width:80px}.tr-bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.tr-bar-fill--mine{background:linear-gradient(90deg,#a18cd1,#c9a8d4)}.tr-bar-fill--other{background:linear-gradient(90deg,#ff9a9e,#f6d49a)}.tr-player-stats{font-size:.75rem;color:var(--clr-text-light);min-width:110px;text-align:right}.tr-ready-area{display:flex;flex-direction:column;align-items:center;gap:.75rem}.tr-ready-chips{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.tr-ready-btn{min-width:140px}.tr-wait-msg{font-size:.88rem;color:var(--clr-text-light)}.tr-countdown{text-align:center;padding:1rem}.tr-countdown-num{font-size:5rem;font-weight:800;line-height:1;background:linear-gradient(135deg,#a18cd1,#ff9a9e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:pulse 1s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.tr-countdown-sub{font-size:.88rem;color:var(--clr-text-light);margin:.5rem 0}.tr-sentence-preview{font-size:.85rem;color:var(--clr-text-mid);background:var(--clr-surface);padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--clr-border);line-height:1.6;margin-top:.5rem;text-align:left}.tr-typing-area{display:flex;flex-direction:column;gap:.75rem}.tr-sentence{font-size:1rem;line-height:1.8;letter-spacing:.01em;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.75rem 1rem;word-break:break-word}.tr-char{transition:none}.tr-char--ok{color:#56ab91}.tr-char--err{color:#e05555;background:#e055551f;border-radius:2px}.tr-char--cursor{border-bottom:2px solid var(--clr-accent)}.tr-input{width:100%;padding:.8rem 1rem;border:2px solid var(--clr-accent);border-radius:var(--radius-sm);background:#ffffffbf;font-family:var(--font-body);font-size:1rem;color:var(--clr-text-dark);outline:none;transition:box-shadow .2s}.tr-input:focus{box-shadow:0 0 0 3px #c9a8d44d}.tr-result{display:flex;flex-direction:column;align-items:center;gap:.75rem}.tr-result-banner{font-size:1.5rem;font-weight:700;text-align:center;background:linear-gradient(110deg,#f0dff8,#dde8ff);padding:.75rem 2rem;border-radius:var(--radius-md);border:1px solid var(--clr-border);width:100%}.tr-result-stats{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;font-size:.9rem;color:var(--clr-text-mid)}.rtg-subtitle{font-size:.85rem;color:var(--clr-text-light);margin-bottom:var(--space-md)}.rtg-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md)}.rtg-game-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:1.2rem .75rem;cursor:pointer;text-align:center;font-family:var(--font-body);transition:transform .15s,box-shadow .15s,background .15s;box-shadow:var(--shadow-sm)}.rtg-game-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);background:var(--clr-surface-hov)}.rtg-game-card-icon{font-size:2rem}.rtg-game-card-name{font-size:.82rem;font-weight:600;color:var(--clr-text-dark)}.rtg-game-card-desc{font-size:.72rem;color:var(--clr-text-light)}.rtg-game-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--space-md)}.rtg-back-btn{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.4rem .9rem;font-family:var(--font-body);font-size:.82rem;cursor:pointer;color:var(--clr-text-mid);transition:background .15s}.rtg-back-btn:hover{background:var(--clr-surface-hov)}.rtg-game-title{font-weight:600;font-size:1rem;color:var(--clr-text-dark)}.rtg-game-wrap{width:100%}.rtg-ready-screen{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg) 0}.rtg-ready-title{font-size:.9rem;color:var(--clr-text-mid);text-align:center;max-width:360px}.rtg-ready-chips{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.rtg-chip{padding:.35rem .9rem;border-radius:999px;font-size:.8rem;font-weight:500;border:1.5px solid var(--clr-border);color:var(--clr-text-mid);background:var(--clr-surface)}.rtg-chip--on{border-color:#56ab91;color:#2e7a62;background:#56ab911f}.rtg-ready-btn{min-width:140px}.rtg-wait-msg{font-size:.88rem;color:var(--clr-text-light)}.rtg-scoreboard{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:var(--space-md);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.6rem 1rem}.rtg-score-pill{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.8rem}.rtg-score-pill strong{color:var(--clr-text-dark)}.rtg-score-pill span{font-size:1.1rem;font-weight:700;color:var(--clr-accent)}.rtg-round-badge{font-size:.72rem;font-weight:600;color:var(--clr-text-light);background:var(--clr-surface-hov);border:1px solid var(--clr-border);border-radius:999px;padding:.2rem .7rem}.rtg-vs-text{font-size:1.2rem}.rtg-result{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:var(--space-md) 0}.rtg-winner-banner{font-size:1.5rem;font-weight:700;text-align:center;background:linear-gradient(110deg,#f0dff8,#dde8ff);padding:.75rem 2rem;border-radius:var(--radius-md);border:1px solid var(--clr-border);width:100%}.rtg-final-scores{display:flex;gap:1.5rem;font-size:.9rem;color:var(--clr-text-mid)}.rtg-round-result{font-size:.88rem;font-weight:600;text-align:center;color:var(--clr-text-mid)}.rtg-answer-row{display:flex;gap:.5rem;align-items:center;width:100%}.rtg-answer-input{flex:1;padding:.7rem 1rem;border:2px solid var(--clr-accent);border-radius:var(--radius-sm);background:#ffffffbf;font-family:var(--font-body);font-size:1rem;color:var(--clr-text-dark);outline:none;transition:box-shadow .2s}.rtg-answer-input:focus{box-shadow:0 0 0 3px #c9a8d44d}.rtg-reaction-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.rtg-reaction-scores{display:flex;align-items:center;gap:1rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.75rem 1.5rem}.rtg-tap-btn{width:200px;height:200px;border-radius:50%;border:none;cursor:pointer;font-size:2rem;font-weight:800;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:transform .15s,box-shadow .2s;background:linear-gradient(135deg,#a18cd1,#c9a8d4);box-shadow:0 8px 30px #a18cd166}.rtg-tap-btn--go{background:linear-gradient(135deg,#43b89c,#56ab91);box-shadow:0 8px 30px #56ab9180;animation:pulse .6s ease infinite}.rtg-tap-btn--tapped{background:var(--clr-surface);color:var(--clr-text-mid);box-shadow:none;cursor:default}.rtg-tap-sub{font-size:.75rem;font-weight:400;opacity:.75}.rtg-false-banner{font-size:1.1rem;font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-md);background:#b450501a;border:1px solid rgba(180,80,80,.25);color:#b45050;text-align:center}.rtg-math-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.rtg-equation{font-size:3rem;font-weight:800;text-align:center;color:var(--clr-text-dark);padding:var(--space-lg) 0;letter-spacing:.05em}.rtg-answer-row--correct .rtg-answer-input{border-color:#56ab91}.rtg-answer-row--wrong .rtg-answer-input{border-color:#e05555;animation:shake .3s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.rtg-quiz-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.rtg-quiz-question{font-size:1.2rem;font-weight:600;text-align:center;color:var(--clr-text-dark);padding:var(--space-md);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md)}.rtg-quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.rtg-quiz-opt{padding:.75rem 1rem;border-radius:var(--radius-sm);border:1.5px solid var(--clr-border);background:var(--clr-surface);font-family:var(--font-body);font-size:.9rem;cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.rtg-quiz-opt:hover:not(:disabled){background:var(--clr-surface-hov);border-color:var(--clr-accent)}.rtg-quiz-opt--correct{border-color:#56ab91;background:#56ab911f;color:#2e7a62;font-weight:600}.rtg-quiz-opt--wrong{border-color:#e05555;background:#e055551a;color:#b04040}.rtg-trivia-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.rtg-trivia-statement{font-size:1.15rem;font-weight:500;text-align:center;line-height:1.55;padding:var(--space-md);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text-dark)}.rtg-trivia-btns{display:flex;gap:var(--space-sm);justify-content:center}.rtg-trivia-btn{flex:1;max-width:180px;padding:.9rem 1rem;border-radius:var(--radius-md);border:2px solid var(--clr-border);background:var(--clr-surface);font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:background .15s,border-color .15s}.rtg-trivia-btn:hover:not(:disabled){background:var(--clr-surface-hov)}.rtg-trivia-btn--correct{border-color:#56ab91;background:#56ab911f}.rtg-trivia-btn--wrong{border-color:#e05555;background:#e055551a}.rtg-assoc-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.rtg-round-header{font-size:.78rem;font-weight:600;color:var(--clr-text-light);letter-spacing:.08em;text-transform:uppercase}.rtg-prompt-word{font-size:2.5rem;font-weight:800;color:var(--clr-text-dark);background:linear-gradient(135deg,#a18cd1,#ff9a9e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.rtg-assoc-reveal{width:100%}.rtg-assoc-pair{display:flex;align-items:center;gap:.75rem;justify-content:center;flex-wrap:wrap}.rtg-assoc-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.75rem 1.5rem}.rtg-assoc-card span{font-size:1.4rem;font-weight:700;color:var(--clr-text-dark)}.rtg-match-badge{font-size:.78rem;font-weight:600;padding:.2rem .7rem;border-radius:999px;background:#56ab9126;color:#2e7a62;border:1px solid rgba(86,171,145,.3)}.rtg-match-badge--miss{background:#b48c3c1f;color:#8a6820;border-color:#b48c3c40}.rtg-compliment-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.rtg-compliment-prompt{font-size:1.1rem;text-align:center;color:var(--clr-text-dark);background:linear-gradient(110deg,#f0dff8,#dde8ff);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--clr-border)}.rtg-compliment-input-row,.rtg-compliment-reveal{display:flex;flex-direction:column;gap:.5rem}.rtg-compliment-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.rtg-compliment-card p{font-style:italic;color:var(--clr-text-mid);margin:.25rem 0 0}.rtg-draw-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.rtg-role-tag{font-size:.9rem;font-weight:600;text-align:center;color:var(--clr-text-mid)}.rtg-canvas-wrap{position:relative;width:100%}.rtg-draw-canvas{width:100%;max-width:400px;height:280px;display:block;margin:0 auto;border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);background:#fff}.rtg-clear-btn{background:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.3rem .8rem;font-size:.78rem;cursor:pointer;font-family:var(--font-body);color:var(--clr-text-mid);margin-top:.4rem;display:block;margin-left:auto}.rtg-c4-wrap{width:100%;display:flex;flex-direction:column;gap:var(--space-md);align-items:center}.rtg-turn-tag{font-size:.9rem;font-weight:600;color:var(--clr-text-mid);text-align:center;padding:.4rem 1rem;border-radius:999px;background:var(--clr-surface);border:1px solid var(--clr-border)}.rtg-turn-tag--mine{background:#a18cd11f;border-color:#a18cd1;color:#7c5cbf}.rtg-c4-board{display:flex;flex-direction:column;gap:.25rem;width:100%;max-width:380px}.rtg-c4-col-btns{display:flex;gap:.25rem}.rtg-c4-col-btn{flex:1;background:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.2rem;font-size:.75rem;cursor:pointer;color:var(--clr-accent);transition:background .15s}.rtg-c4-col-btn--sel{background:var(--clr-accent-soft);border-color:var(--clr-accent)}.rtg-c4-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;background:linear-gradient(135deg,#a18cd1,#ff9a9e);padding:.4rem;border-radius:var(--radius-md)}.rtg-c4-cell{aspect-ratio:1;border-radius:50%;background:var(--clr-surface);position:relative;transition:background .2s}.rtg-c4-preview{position:absolute;inset:15%;border-radius:50%;opacity:.5}.rtg-c4-input-row{display:flex;gap:.5rem;align-items:center;width:100%;max-width:380px}.rtg-word-error{font-size:.82rem;color:#b45050;text-align:center}.rtg-last-word{font-size:.8rem;color:var(--clr-text-light);text-align:center}.pod-date-label{font-size:.82rem;color:var(--clr-text-light);margin-bottom:var(--space-md)}.pod-upload-card{display:flex;flex-direction:column;gap:.75rem;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-md)}.pod-upload-title{font-weight:600;font-size:.92rem;color:var(--clr-text-dark);margin:0}.pod-pick-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:2rem 1rem;border:2px dashed var(--clr-border);border-radius:var(--radius-md);background:transparent;cursor:pointer;color:var(--clr-text-mid);font-family:var(--font-body);font-size:.88rem;text-align:center;transition:border-color .2s,background .2s}.pod-pick-btn:hover{border-color:var(--clr-accent);background:var(--clr-surface-hov)}.pod-change-btn{background:none;border:1px solid var(--clr-border);border-radius:var(--radius-sm);padding:.35rem .9rem;font-size:.8rem;color:var(--clr-text-mid);cursor:pointer;font-family:var(--font-body);align-self:flex-start;transition:background .2s}.pod-change-btn:hover{background:var(--clr-surface-hov)}.pod-preview-wrap{position:relative;display:inline-block;align-self:center;max-width:100%}.pod-preview-wrap img{max-width:100%;max-height:240px;border-radius:var(--radius-sm);display:block}.pod-preview-remove{position:absolute;top:4px;right:4px;background:#0000008c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center}.pod-error{color:#c83c3c;font-size:.82rem;margin:0}.pod-my-photo,.pod-their-photo{margin-bottom:var(--space-md)}.pod-my-label,.pod-their-label{font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--clr-text-light);margin-bottom:.5rem}.pod-photo-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.pod-photo-card img{width:100%;max-height:340px;object-fit:cover;display:block}.pod-photo-footer{padding:.6rem .9rem}.pod-photo-footer strong{font-size:.88rem;font-weight:600;color:var(--clr-text-dark)}.pod-photo-caption{font-size:.8rem;color:var(--clr-text-mid);margin:.2rem 0 0;font-style:italic}.pod-waiting-inline{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--clr-text-light);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:var(--space-md)}.pod-waiting-inline span{font-size:1.3rem}.pod-hint-msg{font-size:.88rem;color:var(--clr-text-light)}.rtg-chat-root{position:fixed;bottom:2rem;right:2rem;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.rtg-chat-bubble{position:relative;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#c9a8d4,#a18cd1);color:#fff;font-size:1.35rem;cursor:pointer;box-shadow:0 6px 24px #825abe59;display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;flex-shrink:0}.rtg-chat-bubble:hover{transform:scale(1.1);box-shadow:0 8px 32px #825abe80}.rtg-chat-bubble--open{background:linear-gradient(135deg,#a18cd1,#c9a8d4);font-size:1.05rem}.rtg-chat-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e85d75;color:#fff;font-size:.68rem;font-weight:700;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #e85d7573;animation:rtgBadgePop .3s cubic-bezier(.34,1.56,.64,1) both}.rtg-chat-panel{width:300px;max-height:420px;display:flex;flex-direction:column;background:#ffffffb8;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #503c6e2e;overflow:hidden;animation:rtgChatSlideUp .28s cubic-bezier(.34,1.36,.64,1) both}@keyframes rtgChatSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.rtg-chat-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(110deg,#f0dff8,#dde8ff);border-bottom:1px solid var(--clr-border);flex-shrink:0}.rtg-chat-header-title{font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--clr-text-dark);letter-spacing:.03em}.rtg-chat-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.45rem;scroll-behavior:smooth}.rtg-chat-messages::-webkit-scrollbar{width:4px}.rtg-chat-empty{text-align:center;color:var(--clr-text-light);font-size:.82rem;font-family:var(--font-body);margin-top:1.5rem}.rtg-chat-msg{display:flex;flex-direction:column;gap:.18rem;max-width:82%;animation:rtgMsgFade .2s ease both}@keyframes rtgMsgFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rtg-chat-msg-text{display:inline-block;padding:.5rem .8rem;border-radius:1.1rem;font-family:var(--font-body);font-size:.88rem;font-weight:400;line-height:1.45;word-break:break-word}.rtg-chat-msg--theirs .rtg-chat-msg-text{background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-dark);border-bottom-left-radius:.3rem}.rtg-chat-msg-time{font-size:.62rem;color:var(--clr-text-light);font-family:var(--font-body);padding:0 .3rem}.rtg-chat-input-row{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--clr-border);background:#ffffff8c;flex-shrink:0}.rtg-chat-input{flex:1;border:1px solid var(--clr-border);border-radius:999px;padding:.45rem .9rem;font-family:var(--font-body);font-size:.85rem;font-weight:300;color:var(--clr-text-dark);background:#fffc;outline:none;transition:border-color .2s}.rtg-chat-input:focus{border-color:var(--clr-accent);background:#fffffff2}.rtg-chat-send-btn{width:34px;height:34px;border-radius:50%;border:none;background:linear-gradient(135deg,#c9a8d4,#a18cd1);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .18s ease,opacity .18s ease}.rtg-chat-send-btn:disabled{opacity:.35;cursor:not-allowed}@keyframes rtgBadgePop{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes rtgChatSlideUp{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.rtg-chat-msg{display:flex;flex-direction:column;gap:.15rem;max-width:82%;animation:rtgMsgFade .18s ease both}@keyframes rtgMsgFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.rtg-chat-send-btn{width:38px;height:38px;border-radius:50%;border:none;background:linear-gradient(135deg,#c9a8d4,#a18cd1);color:#fff;font-size:.92rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .18s ease,opacity .18s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rtg-ai-ratings{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem;animation:rtgMsgFade .4s ease both}.rtg-chat-backdrop{position:fixed;inset:0;background:#0000002e;z-index:890;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.rtg-chat-root{position:fixed;bottom:1.5rem;right:1.5rem;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}@media(max-width:480px){.rtg-chat-root{bottom:1rem;right:1rem}}.rtg-chat-bubble{position:relative;width:54px;height:54px;border-radius:50%;border:none;background:linear-gradient(135deg,#c9a8d4,#a18cd1);color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 6px 24px #825abe66;display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.rtg-chat-bubble:hover{transform:scale(1.1);box-shadow:0 8px 32px #825abe8c}.rtg-chat-bubble--open{background:linear-gradient(135deg,#8e76c1,#c9a8d4);font-size:1rem}.rtg-chat-badge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#e85d75;color:#fff;font-size:.68rem;font-weight:700;font-family:var(--font-body);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #e85d7580;animation:rtgBadgePop .3s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}.rtg-chat-panel{width:310px;max-height:430px;display:flex;flex-direction:column;background:#ffffffd1;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:0 20px 60px #503c6e38;overflow:hidden;animation:rtgChatSlideUp .28s cubic-bezier(.34,1.36,.64,1) both}@media(max-width:480px){.rtg-chat-panel{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:70vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom,0)}}.rtg-chat-header{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:linear-gradient(110deg,#f0dff8,#dde8ff);border-bottom:1px solid var(--clr-border);flex-shrink:0}.rtg-chat-header-icon{font-size:1rem}.rtg-chat-header-title{font-family:var(--font-display);font-size:1.05rem;font-weight:500;color:var(--clr-text-dark);letter-spacing:.03em;flex:1}.rtg-chat-close-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--clr-border);background:#fff9;color:var(--clr-text-mid);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-shrink:0}.rtg-chat-close-btn:hover{background:#fffffff2;color:var(--clr-text-dark)}.rtg-chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.75rem;display:flex;flex-direction:column;gap:.45rem;scroll-behavior:smooth}.rtg-chat-messages::-webkit-scrollbar{width:3px}.rtg-chat-messages::-webkit-scrollbar-track{background:transparent}.rtg-chat-messages::-webkit-scrollbar-thumb{background:var(--clr-accent);border-radius:999px}.rtg-chat-empty{text-align:center;color:var(--clr-text-light);font-size:.82rem;font-family:var(--font-body);margin-top:2rem}.rtg-chat-msg{display:flex;flex-direction:column;gap:.15rem;max-width:82%}.rtg-chat-msg--mine{align-self:flex-end;align-items:flex-end}.rtg-chat-msg--theirs{align-self:flex-start;align-items:flex-start}.rtg-chat-msg-text{display:inline-block;padding:.5rem .85rem;border-radius:1.1rem;font-family:var(--font-body);font-size:.88rem;font-weight:400;line-height:1.45;word-break:break-word}.rtg-chat-msg--mine .rtg-chat-msg-text{background:linear-gradient(110deg,#c9a8d4,#a18cd1);color:#fff;border-bottom-right-radius:.3rem}.rtg-chat-msg--theirs .rtg-chat-msg-text{background:#ffffffd9;border:1px solid var(--clr-border);color:var(--clr-text-dark);border-bottom-left-radius:.3rem}.rtg-chat-msg-time{font-size:.6rem;color:var(--clr-text-light);font-family:var(--font-body);padding:0 .25rem}.rtg-chat-input-row{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-top:1px solid var(--clr-border);background:#fff9;flex-shrink:0}.rtg-chat-input{flex:1;border:1px solid var(--clr-border);border-radius:999px;padding:.5rem .95rem;font-family:var(--font-body);font-size:.88rem;font-weight:300;color:var(--clr-text-dark);background:#ffffffd9;outline:none;transition:border-color .2s,background .2s;min-height:40px}.rtg-chat-input:focus{border-color:var(--clr-accent);background:#fff}.rtg-chat-input::placeholder{color:var(--clr-text-light)}.rtg-chat-send-btn{width:38px;height:38px;border-radius:50%;border:none;background:linear-gradient(135deg,#c9a8d4,#a18cd1);color:#fff;font-size:.92rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .18s ease,opacity .18s ease;-webkit-tap-highlight-color:transparent}.rtg-chat-send-btn:hover:not(:disabled){transform:scale(1.1)}.rtg-chat-send-btn:disabled{opacity:.32;cursor:not-allowed}.rtg-ai-ratings{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}.rtg-ai-verdict{text-align:center;font-style:italic;font-size:.92rem;color:var(--clr-text-mid);background:linear-gradient(110deg,#f0dff8,#dde8ff);border-radius:.75rem;padding:.55rem .9rem;border:1px solid var(--clr-border);margin-bottom:.25rem}.rtg-ai-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:1.25rem;padding:.75rem 1.25rem;display:flex;flex-direction:column;gap:.4rem}.rtg-ai-name{font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--clr-text-mid);text-transform:uppercase;margin-bottom:.1rem}.rtg-rating-row{display:flex;align-items:center;gap:.6rem}.rtg-rating-label{font-size:.82rem;font-family:var(--font-body);color:var(--clr-text-dark);min-width:90px}.rtg-rating-track{flex:1;height:7px;background:var(--clr-border);border-radius:999px;overflow:hidden}.rtg-rating-fill{height:100%;background:linear-gradient(90deg,#c9a8d4,#a18cd1);border-radius:999px;transition:width .8s cubic-bezier(.4,0,.2,1)}.rtg-rating-num{font-size:.75rem;font-weight:600;color:var(--clr-accent);min-width:30px;text-align:right;font-family:var(--font-body)}.rtg-ready-waiting-row{display:flex;flex-direction:column;align-items:center;gap:.5rem}.rtg-unready-btn{padding:.4rem 1rem;border-radius:999px;border:1.5px solid rgba(180,80,80,.35);background:#b4505014;color:#b45050;font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;letter-spacing:.03em;-webkit-tap-highlight-color:transparent}.rtg-unready-btn:hover{background:#b450502e;border-color:#b4505099}.rtg-reset-room-btn{margin-top:.75rem;padding:.3rem .8rem;border-radius:999px;border:1px solid var(--clr-border);background:transparent;color:var(--clr-text-light);font-family:var(--font-body);font-size:.72rem;font-weight:500;cursor:pointer;letter-spacing:.04em;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.rtg-reset-room-btn:hover{background:var(--clr-surface-hov);color:var(--clr-text-mid)}.welcome-name--skeleton{display:inline-block;width:6rem;height:1em;border-radius:.4rem;background:linear-gradient(90deg,var(--clr-accent-soft) 25%,var(--clr-accent-soft-2, #eee) 50%,var(--clr-accent-soft) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s infinite;vertical-align:middle}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-mid);font-size:1.2rem;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform var(--transition);flex-shrink:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-trigger:hover{background:var(--clr-surface-hov);border-color:var(--clr-accent);color:var(--clr-text-dark);transform:scale(1.08)}.menu-backdrop{position:fixed;inset:0;z-index:1000;background:#0a051973;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:menuFadeIn .2s ease both}.menu-popup{position:fixed;top:5rem;right:1.5rem;width:340px;max-height:520px;z-index:1001;border-radius:var(--radius-lg);background:var(--clr-surface);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--clr-border);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:menuSlideDown .28s cubic-bezier(.34,1.36,.64,1) both}@media(max-width:500px){.menu-popup{inset:auto 0 0;width:100%;max-height:80vh;border-radius:24px 24px 0 0;animation:menuSlideUp .28s cubic-bezier(.34,1.36,.64,1) both}}.menu-popup-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem 0;flex-shrink:0}.menu-popup-tabs{display:flex;gap:.25rem;background:var(--clr-accent-soft);border-radius:999px;padding:.2rem}.menu-tab{padding:.35rem 1rem;border-radius:999px;border:none;background:transparent;font-family:var(--font-body);font-size:.82rem;font-weight:500;color:var(--clr-text-mid);cursor:pointer;transition:all .2s ease;letter-spacing:.03em}.menu-tab--active{background:var(--clr-surface-hov);color:var(--clr-text-dark);box-shadow:var(--shadow-sm)}.menu-popup-close{width:28px;height:28px;border-radius:50%;border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-light);font-size:.72rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.menu-popup-close:hover{background:var(--clr-surface-hov);color:var(--clr-text-dark);transform:scale(1.1)}.menu-popup-body{flex:1;overflow-y:auto;padding:1.25rem}.menu-popup-body::-webkit-scrollbar{width:3px}.menu-popup-body::-webkit-scrollbar-thumb{background:var(--clr-accent);border-radius:999px}.menu-content{display:flex;flex-direction:column;gap:.75rem;animation:menuFadeIn .2s ease both}.menu-about-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--clr-accent),#a18cd1);color:#fff;font-size:1.1rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #c9a8d466}.menu-support-icon{font-size:2rem;line-height:1}.menu-about-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--clr-text-dark);margin:0;letter-spacing:.02em}.menu-about-text{font-family:var(--font-body);font-size:.88rem;font-weight:300;color:var(--clr-text-mid);line-height:1.7;margin:0}.menu-link{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:500;color:#4a90d9;text-decoration:underline;transition:color .2s ease}.menu-link:hover{color:#2a6fba}.menu-support-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius-sm);background:linear-gradient(110deg,#f0dff8,#dde8ff);border:1px solid var(--clr-border);color:var(--clr-text-dark);font-family:var(--font-body);font-size:.85rem;font-weight:500;text-decoration:none;transition:all var(--transition);box-shadow:var(--shadow-sm);align-self:flex-start}.menu-support-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.menu-about-footer{padding-top:.5rem;border-top:1px solid var(--clr-border);margin-top:.25rem}.menu-version{font-family:var(--font-body);font-size:.72rem;color:var(--clr-text-light);letter-spacing:.06em}[data-theme=dark] .menu-popup{background:linear-gradient(145deg,#1e1538,#261d45);border-color:#b496dc26}[data-theme=dark] .menu-tab--active{background:var(--clr-accent-soft)}[data-theme=dark] .menu-support-btn{background:linear-gradient(110deg,#3d2a5c,#2a2356);color:var(--clr-text-dark)}.welcome-name--skeleton{display:inline-block;width:140px;height:2.6rem;border-radius:.5rem;background:linear-gradient(90deg,var(--clr-border) 25%,var(--clr-surface-hov) 50%,var(--clr-border) 75%);background-size:200% 100%;animation:skeletonShimmer 1.4s ease infinite;vertical-align:middle}@keyframes menuFadeIn{0%{opacity:0}to{opacity:1}}@keyframes menuSlideDown{0%{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
