:root{--brand-logo-mark-url: url(/brand/Logo_Rec_reward_2026.png);--primary: #96a2ea;--primary-light: #ccd3f8;--primary-dark: #7178c6;--primary-rgb: 150, 162, 234;--primary-tint: color-mix(in srgb, var(--primary) 14%, var(--bg));--primary-tint-strong: color-mix(in srgb, var(--primary) 22%, var(--card));--accent: #d85c5c;--success: #3d8b55;--warning: #d9a23c;--bg: #faf8fc;--card: #ffffff;--text: #2d2e3e;--text-secondary: #65677e;--text-rgb: 45, 46, 62;--border: #e8e5f2;--chrome-gold: color-mix(in srgb, var(--primary) 48%, var(--card));--chrome-gold-hover: color-mix(in srgb, var(--primary) 62%, var(--card));--header-surface: color-mix(in srgb, var(--primary) 38%, var(--card));--header-chrome: rgba(var(--text-rgb), .06);--header-chrome-hover: rgba(var(--text-rgb), .1);--surface: var(--card);--bg-secondary: var(--bg);--text-primary: var(--text);--border-color: var(--border);--shadow: 0 2px 14px rgba(42, 47, 66, .07);--shadow-card-hover: 0 6px 22px rgba(42, 47, 66, .09);--radius: 14px;--font-sans: "DM Sans", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-display: "DM Sans", "Noto Sans TC", var(--font-sans);--ease-out-soft: cubic-bezier(.22, 1, .36, 1);--fs-body: 16px;--fs-ui: 15px;--fs-sm: 14px;--fs-caption: 13px;--fs-label: 12px;--fs-micro: 11px;--fs-badge-tiny: 10px;--fs-hero-title: 1.25rem;--lh-tight: 1.35;--lh-body: 1.55;--lh-relaxed: 1.65}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{overscroll-behavior:none}body{font-family:var(--font-sans);font-size:var(--fs-body);background:var(--bg);color:var(--text);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-user-select:none;user-select:none;overflow-x:hidden}body input,body textarea,body select{-webkit-user-select:text;user-select:text}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}@media all and (display-mode:standalone){body{padding-top:max(env(safe-area-inset-top),12px)}}.card{background:var(--card);border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:12px;transition:box-shadow .25s var(--ease-out-soft),transform .2s var(--ease-out-soft)}@media(hover:hover)and (pointer:fine){.card:is(:hover,:focus-within){box-shadow:var(--shadow-card-hover)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;border:none;border-radius:var(--radius);font-size:var(--fs-ui);font-weight:600;cursor:pointer;box-sizing:border-box;transition:background .2s var(--ease-out-soft),color .2s var(--ease-out-soft),border-color .2s var(--ease-out-soft),transform .15s var(--ease-out-soft),box-shadow .2s var(--ease-out-soft)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px}.nav-item:focus-visible,.notif-center-tab:focus-visible,.tab-item:focus-visible,.claim-tab:focus-visible,.feedback-type-btn:focus-visible,.notif-bell-btn:focus-visible,.header-back:focus-visible,.header-avatar-btn:focus-visible,.header-login-btn:focus-visible,.calendar-day:focus-visible,.modal-close:focus-visible,.calendar-nav button:focus-visible,.count-selector button:focus-visible,.category-option:focus-visible,.stress-chip:focus-visible,.mood-emoji-btn:focus-visible,.feedback-close:focus-visible,.book-detail-toggle:focus-visible,.book-mgmt-btn:focus-visible,.notif-bell-toggle:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px}.btn-primary{background:var(--chrome-gold);color:var(--text);border:1.5px solid var(--primary-dark)}.btn-primary:hover{background:var(--chrome-gold-hover);color:var(--text);border-color:var(--primary)}.btn-danger{background:var(--accent);color:#fff}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-sm{min-height:40px;padding:8px 14px;font-size:var(--fs-sm)}.btn-block{width:100%}.btn-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;align-items:stretch;width:100%}.btn-row .btn{flex:1 1 0;min-width:0}.form-actions{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:16px;margin-bottom:8px}.form-actions .btn-outline{order:1}.form-actions .btn-primary{order:2}@media(min-width:400px){.form-actions--inline{flex-direction:row;align-items:stretch}.form-actions--inline .btn-outline{order:1;flex:0 1 auto;min-width:96px}.form-actions--inline .btn-primary{order:2;flex:1}}.app-header{background:var(--header-surface);color:var(--text);border-bottom:1px solid var(--border);padding:16px;text-align:center;position:sticky;top:0;z-index:100}.app-header h1{font-size:22px;font-weight:700;color:var(--text)}.app-header .subtitle{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.header-share-code{cursor:pointer;display:inline-flex;align-items:center;gap:3px}.header-left{display:flex;align-items:center;gap:12px;text-align:left}.header-user-info{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);color:var(--text-secondary);flex-shrink:0}.header-login-btn{background:var(--header-chrome)!important;color:var(--text)!important;border:1px solid var(--border)!important;flex-shrink:0}.error-banner{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ffebee;border-radius:8px;font-size:var(--fs-label);color:#c62828;margin-bottom:8px}.loading-hint{text-align:center;padding:6px 0;font-size:var(--fs-label);color:var(--text-secondary);margin-bottom:4px}.feedback-fab{position:fixed;bottom:80px;right:16px;width:48px;height:48px;border-radius:50%;background:var(--chrome-gold);color:var(--text);border:1.5px solid var(--primary-dark);box-shadow:0 2px 8px #0000002e;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;transition:transform .15s}.feedback-fab:hover{background:var(--chrome-gold-hover);border-color:var(--primary)}.feedback-fab:active{transform:scale(.92)}.feedback-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:max(12px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.feedback-modal{background:#fff;border-radius:16px;width:calc(100% - 32px);max-width:420px;max-height:min(85dvh,640px);padding:20px;box-shadow:0 8px 32px #0000002e;animation:feedback-slide-up .2s ease-out;overflow-y:auto;margin:auto;flex-shrink:0}@keyframes feedback-slide-up{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.feedback-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.feedback-header h3{font-size:16px;font-weight:600;margin:0}.feedback-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px}.feedback-close:hover{background:var(--bg-secondary)}.feedback-type-row{display:flex;gap:6px;margin-bottom:12px}.feedback-type-btn{flex:1;padding:6px 0;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:var(--fs-label);cursor:pointer;transition:all .15s;color:var(--text-secondary)}.feedback-type-btn.active{border-color:var(--primary);background:var(--primary-tint);color:var(--primary-dark);font-weight:600}.feedback-textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:var(--fs-caption);resize:vertical;min-height:80px;margin-bottom:8px;font-family:inherit;box-sizing:border-box}.feedback-textarea:focus{outline:none;border-color:var(--primary)}.feedback-photos-block{margin-bottom:10px}.feedback-photos-label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:8px}.feedback-photos-add{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-label);font-weight:600;color:var(--primary-dark);cursor:pointer;padding:4px 8px;border-radius:8px;border:1px dashed var(--border);background:var(--bg-secondary, #f8f8f8);overflow:hidden}.feedback-photos-add:hover{border-color:var(--primary);background:var(--primary-tint)}.feedback-photos-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.feedback-photos-input:disabled{cursor:not-allowed}.feedback-photos-grid{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.feedback-photo-item{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--border);flex-shrink:0}.feedback-photo-thumb{width:100%;height:100%;object-fit:cover;display:block}.feedback-photo-remove{position:absolute;top:2px;right:2px;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:#0000008c;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.feedback-photo-remove:hover{background:#000000bf}.feedback-contact{width:100%;border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:var(--fs-caption);margin-bottom:12px;box-sizing:border-box}.feedback-contact:focus{outline:none;border-color:var(--primary)}.feedback-upload-status{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:var(--bg-secondary, #f5f5f5);border:1px solid var(--border);font-size:var(--fs-caption)}.feedback-upload-status-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.feedback-upload-status-sub{color:var(--text-secondary);font-size:var(--fs-label);line-height:1.4;margin-bottom:8px}.feedback-upload-bar-wrap{height:8px;border-radius:999px;background:color-mix(in srgb,var(--text-secondary) 12%,transparent);overflow:hidden}.feedback-upload-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-dark, var(--primary)));transition:width .12s ease-out;min-width:0}.feedback-submit{width:100%;padding:10px;font-size:var(--fs-sm)}.feedback-success{text-align:center;padding:32px 0}.feedback-success-icon{width:48px;height:48px;border-radius:50%;background:#e8f5e9;color:#2e7d32;font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.feedback-notion-hint{margin-top:10px;font-size:var(--fs-label);line-height:1.45;color:var(--text-secondary, #666);max-width:280px;margin-left:auto;margin-right:auto}.feedback-success p{font-size:var(--fs-ui);font-weight:500;color:var(--text-primary);margin:0}.app-content{flex:1;padding:16px 14px 88px;scroll-behavior:smooth}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:color-mix(in srgb,var(--card) 92%,var(--bg));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);box-shadow:0 -8px 28px rgba(var(--text-rgb),.07);display:flex;justify-content:space-around;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px;border:none;background:none;color:var(--text-secondary);font-size:var(--fs-label);cursor:pointer;transition:color .2s;font-family:inherit}.nav-item.active{color:var(--primary)}.nav-item svg{width:22px;height:22px}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.calendar-header h2{font-size:18px;font-weight:700}.calendar-nav{display:flex;gap:8px}.calendar-nav button{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;width:100%;box-sizing:border-box}.calendar-weekday{text-align:center;font-size:var(--fs-caption);color:var(--text-secondary);padding:6px 0;font-weight:600;min-width:0}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:4px;border-radius:8px;cursor:pointer;transition:all .2s;position:relative;font-size:var(--fs-caption);border:none;background:none;overflow:visible;min-width:0;box-sizing:border-box}.calendar-day:hover{background:var(--primary-tint)}.calendar-day.today{border:2px solid var(--primary)}.calendar-day.selected{background:var(--chrome-gold);color:var(--text);border:2px solid var(--primary-dark)}.calendar-day.other-month{opacity:.3}.badge-count-indicator{font-size:var(--fs-badge-tiny);font-weight:700;color:var(--primary);display:flex;flex-wrap:wrap;justify-content:center;line-height:1;max-width:100%;margin-top:1px;max-height:none;overflow:visible;position:relative;z-index:1}.calendar-day.selected .badge-count-indicator{color:var(--primary-dark)}.day-detail{margin-top:8px}.day-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.day-detail-header h3{font-size:17px}.reward-summary{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.reward-chip{display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:20px;font-size:var(--fs-sm);font-weight:600}.reward-chip.allowance{background:#e8f5e9;color:#2e7d32}.reward-chip.gifts{background:#fff3e0;color:#e65100}.reward-chip.badges{background:var(--primary-tint-strong);color:var(--primary-dark)}.badge-entry{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.badge-entry:last-child{border-bottom:none}.badge-entry-icon{font-size:24px;width:36px;text-align:center}.badge-entry-info{flex:1}.badge-entry-info .category{font-size:var(--fs-ui);font-weight:600}.badge-entry-info .reason{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.badge-entry-count{display:flex;align-items:center;gap:2px;font-size:var(--fs-sm);font-weight:700;color:var(--primary)}.badge-entry-delete{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:4px}.badge-form{padding:4px 0}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-sm);font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.category-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px}.category-option{display:flex;align-items:center;gap:8px;padding:10px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;background:var(--card)}.category-option.selected{border-color:var(--primary);background:var(--primary-tint)}.category-option .cat-icon{font-size:20px}.category-option .cat-label{font-size:var(--fs-label);font-weight:600}.count-selector{display:flex;align-items:center;gap:12px}.count-selector button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.count-selector button:hover{border-color:var(--primary)}.count-selector .count-value{font-size:24px;font-weight:700;color:var(--primary);min-width:30px;text-align:center}.stats-card{text-align:center;padding:20px}.stats-card .stat-value{font-size:32px;font-weight:800;color:var(--primary)}.stats-card .stat-label{font-size:var(--fs-label);color:var(--text-secondary);margin-top:4px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats-grid .card{text-align:center}.stats-grid .stat-value{font-size:22px;font-weight:700}.stats-grid .stat-label{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.stat-value.money{color:var(--success)}.stat-value.gift{color:var(--warning)}.stat-value.unpaid{color:var(--accent)}.payout-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.payout-item:last-child{border-bottom:none}.payout-info .payout-date{font-size:var(--fs-caption);font-weight:600}.payout-info .payout-detail{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.payout-amount{font-size:16px;font-weight:700;color:var(--success)}.modal-overlay{position:fixed;inset:0;background:#0006;z-index:200;display:flex;align-items:flex-end;justify-content:center}.modal-content{background:var(--card);border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;padding:20px;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:17px;font-weight:700}.modal-close{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;border:none;background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.section-title{font-size:18px;font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:6px}.rule-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.rule-item:last-child{border-bottom:none}.rule-badge-count{width:40px;height:40px;border-radius:50%;background:var(--primary-tint-strong);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.rule-detail{flex:1}.rule-detail .rule-label{font-size:var(--fs-caption);font-weight:600}.rule-detail .rule-desc{font-size:var(--fs-caption);color:var(--text-secondary)}.empty-state{text-align:center;padding:30px 20px;color:var(--text-secondary)}.empty-state .empty-icon{font-size:40px;margin-bottom:10px}.empty-icon.empty-icon--lucide{font-size:unset;display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;color:var(--primary)}.empty-state p{font-size:var(--fs-caption)}.month-summary{display:flex;justify-content:space-around;padding:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 52%,var(--card)),color-mix(in srgb,var(--primary-light) 48%,var(--card)));border:1px solid var(--border);border-radius:var(--radius);color:var(--text);margin-bottom:12px}.month-summary-item{text-align:center}.month-summary-item .value{font-size:18px;font-weight:700}.month-summary-item .label{font-size:var(--fs-label);opacity:.85}.payout-form-summary{background:var(--primary-tint);padding:14px;border-radius:10px;margin-bottom:14px}.payout-form-row{display:flex;justify-content:space-between;padding:4px 0;font-size:var(--fs-caption)}.payout-form-row.total{font-weight:700;font-size:var(--fs-ui);border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.tab-bar{display:flex;gap:4px;background:var(--bg);padding:3px;border-radius:10px;margin-bottom:12px}.tab-item{flex:1;padding:8px;text-align:center;border:none;background:none;border-radius:8px;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.tab-item.active{background:var(--card);color:var(--primary);box-shadow:var(--shadow)}.year-selector{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.year-selector button{border:none;background:none;font-size:18px;cursor:pointer;color:var(--text-secondary);padding:4px}.year-selector .year{font-size:18px;font-weight:700}.month-bar-chart{display:flex;align-items:flex-end;gap:2px;height:120px;padding:10px 0 4px;width:100%;box-sizing:border-box}.month-bar{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.month-bar .bar{width:100%;max-width:100%;background:var(--primary);border-radius:4px 4px 0 0;min-height:2px;transition:height .3s}.month-bar .month-label{font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1.1;white-space:nowrap}.month-chart-labels{display:flex;justify-content:space-between;align-items:flex-start;gap:2px;padding:0 0 2px;width:100%;box-sizing:border-box}.month-chart-labels-num{flex:1 1 0;min-width:0;text-align:center;font-size:11px;font-weight:600;color:var(--text-secondary);line-height:1.2}.month-chart-unit{text-align:center;font-size:var(--fs-caption);color:var(--text-secondary);margin:0;padding-bottom:4px;font-weight:600}.month-bar .bar-value{font-size:var(--fs-label);color:var(--text-secondary)}.payout-delete{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:4px;margin-left:8px}.login-page{padding:40px 20px;display:flex;flex-direction:column;align-items:center;min-height:100vh}.login-header{text-align:center;margin-bottom:30px}.login-header--wordmark-only{margin-bottom:24px;margin-top:0}.login-icon{font-size:64px;margin-bottom:12px}.brand-logo{flex-shrink:0}.login-header .brand-logo{margin:0 auto 12px}.loading-screen .brand-logo{margin-bottom:4px}.header-center-logo .brand-logo{margin-right:8px}.guest-fallback-brand .brand-logo{margin:0 auto 12px}.login-header h1{font-size:24px;font-weight:800;color:var(--text);font-family:var(--font-display);letter-spacing:-.03em}.login-header--wordmark-only h1.brand-wordmark,.login-header--wordmark-only h1{font-size:clamp(30px,9vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.15}.login-header p{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:4px}.login-form{width:100%;max-width:360px}.error-msg{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;background:#fff0f0;color:var(--accent);padding:10px 12px 10px 14px;border-radius:8px;font-size:var(--fs-caption);line-height:1.45;margin-bottom:12px}.error-msg-dismiss{flex-shrink:0;min-width:40px;min-height:40px;margin:-4px -6px -4px 0;border:none;border-radius:8px;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;opacity:.75}.error-msg-dismiss:hover{opacity:1}.error-msg-dismiss:focus-visible{outline:3px solid var(--primary-dark);outline-offset:2px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:12px;color:var(--text-secondary)}.loading-screen-brand{font-size:22px;color:var(--text)}.loading-screen-sub{margin:0;font-size:var(--fs-caption);color:var(--text-secondary);text-align:center;max-width:280px;line-height:var(--lh-body)}.loading-screen-version{margin-top:-4px;margin-bottom:4px;letter-spacing:.12em}.loading-screen--dashboard{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.loading-screen--guest-demo .loading-screen-guest-demo-title{margin:0;font-size:var(--fs-body);font-weight:500;color:var(--text-secondary);animation:loading-screen-guest-pulse 2s ease-in-out infinite}.loading-screen--guest-demo .loading-screen-sub--guest-demo{max-width:min(320px,88vw)}.loading-screen-guest-skeleton{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(220px,70vw);margin-top:4px}.loading-screen-skel-bar{display:block;height:7px;border-radius:999px;background:var(--border);opacity:.45;animation:loading-screen-skel-pulse 1.6s ease-in-out infinite}.loading-screen-skel-bar--wide{width:100%}.loading-screen-skel-bar--mid{width:78%;align-self:center;animation-delay:.12s}.loading-screen-skel-bar--narrow{width:52%;align-self:center;animation-delay:.24s}@keyframes loading-screen-guest-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes loading-screen-skel-pulse{0%,to{opacity:.35}50%{opacity:.58}}@media(prefers-reduced-motion:reduce){.loading-screen--guest-demo .loading-screen-guest-demo-title,.loading-screen--guest-demo .loading-screen-skel-bar{animation:none}.loading-screen--guest-demo .loading-screen-skel-bar{opacity:.42}}.header-row{display:flex;align-items:center;gap:12px;text-align:left}.header-row-three{justify-content:space-between}.header-left-slot{flex:0 0 auto;display:flex;align-items:center}.header-center-logo{flex:1;text-align:center;font-size:22px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.15;min-width:0;margin:0;font-family:var(--font-display)}.brand-wordmark{font-weight:800;letter-spacing:-.04em;color:var(--text);font-size:clamp(20px,5.2vw,26px)}.header-center-logo .brand-wordmark{font-size:clamp(26px,7.5vw,36px)}.brand-version-line{display:block;margin:0;padding:0;font-size:var(--fs-micro);font-weight:600;letter-spacing:.12em;color:var(--text-secondary);line-height:1.3}.header-center-logo .brand-version-line{font-size:10px;font-weight:600;letter-spacing:.14em;opacity:.88;text-transform:lowercase}.login-header .brand-version-line{margin-top:2px;margin-bottom:0;font-size:var(--fs-label);letter-spacing:.1em;color:var(--text-secondary)}.brand-tagline{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary);letter-spacing:.28em;text-transform:uppercase}.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.brand-lockup .brand-wordmark{font-size:clamp(17px,4vw,20px)}.brand-lockup .brand-sub{font-size:var(--fs-label);font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.header-right-slot{flex:0 0 auto;display:flex;align-items:center}.header-back{border:1px solid var(--border);background:var(--header-chrome);color:var(--text);border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.header-back:hover{background:var(--header-chrome-hover)}.home-user-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:var(--fs-ui);font-weight:600}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.section-header .section-title{margin-bottom:0;flex:1;min-width:0}.section-header .btn{flex-shrink:0;align-self:center}.identity-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.identity-item:last-child{border-bottom:none}.identity-icon{font-size:20px}.identity-name{flex:1;font-size:var(--fs-sm);font-weight:600}.inline-form{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 0}.inline-form input,.inline-form select{width:100%;flex:none;min-width:0;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-caption);font-family:inherit}.book-item{padding:12px 0;border-bottom:1px solid var(--border)}.book-item:last-child{border-bottom:none}.book-info{display:flex;align-items:center;gap:10px;cursor:pointer}.book-icon{color:var(--primary);flex-shrink:0}.book-name{font-size:18px;font-weight:600}.book-role{font-size:var(--fs-label);color:var(--text-secondary)}.book-enter-card{display:flex;align-items:center;gap:12px;padding:14px 12px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--bg)) 0%,var(--primary-tint) 100%);border:1.5px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:12px;cursor:pointer;transition:all .15s}.book-enter-card:hover{background:linear-gradient(135deg,var(--primary-tint) 0%,color-mix(in srgb,var(--primary) 18%,var(--card)) 100%);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.12)}.book-enter-card:active{transform:translateY(0)}.book-enter-icon{font-size:28px;flex-shrink:0}.book-enter-icon.book-enter-icon--lucide{font-size:unset;display:flex;align-items:center;color:var(--primary-dark)}.book-enter-body{flex:1;min-width:0}.book-enter-arrow{color:var(--primary);flex-shrink:0}.book-mgmt-row{display:flex;align-items:center;gap:6px;margin-top:6px;padding-left:4px}.book-mgmt-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:none;color:var(--text-secondary);font-size:var(--fs-caption);font-family:inherit;cursor:pointer;transition:all .15s}.book-mgmt-btn:hover{border-color:var(--primary);color:var(--primary)}.book-mgmt-btn.danger:hover{border-color:var(--accent);color:var(--accent)}.pending-badge-sm{background:var(--accent);color:#fff;font-size:var(--fs-label);padding:1px 4px;border-radius:8px;margin-left:2px}.book-actions{display:flex;align-items:center;gap:8px;margin-top:8px;padding-left:28px}.book-codes{margin-top:8px;padding-left:28px;display:flex;flex-direction:column;gap:6px}.code-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-label)}.code-label{color:var(--text-secondary);flex-shrink:0;min-width:64px}.code-value{background:var(--bg);padding:3px 8px;border-radius:6px;font-size:var(--fs-caption);font-weight:600;letter-spacing:.5px;color:var(--primary-dark)}.code-copy-btn{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center}.code-copy-btn:hover{color:var(--primary)}.inline-edit{display:flex;align-items:center;gap:4px}.inline-edit input{flex:1;padding:3px 8px;border-radius:6px;border:1.5px solid var(--primary);font-size:var(--fs-caption);font-weight:600;font-family:inherit}.inline-edit-btn{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:0 2px;opacity:.5;transition:opacity .2s}.inline-edit-btn:hover{opacity:1;color:var(--primary)}.login-back-btn{display:flex;align-items:center;gap:6px;border:none;background:none;color:var(--primary);font-size:var(--fs-sm);font-weight:600;cursor:pointer;padding:8px 0;align-self:flex-start;margin-bottom:8px}.landing-hero{text-align:center;padding:24px 16px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--card)),color-mix(in srgb,var(--primary-light) 12%,var(--bg)))}.landing-hero-kicker{font-size:var(--fs-caption);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--primary-dark);margin-bottom:8px}.landing-hero h2{font-size:var(--fs-hero-title);font-weight:700;color:var(--text);margin-bottom:8px;line-height:var(--lh-relaxed)}.landing-hero h2.landing-hero-title{white-space:nowrap;font-size:clamp(15px,4.25vw,var(--fs-hero-title));line-height:1.3;margin-left:auto;margin-right:auto;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.landing-hero h2.landing-hero-title::-webkit-scrollbar{display:none}.landing-hero p{font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-body)}.landing-calendar-hint{font-size:var(--fs-caption);color:var(--text-secondary);line-height:var(--lh-body);margin-top:6px}.landing-demo-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in srgb,var(--primary) 10%,var(--card));border:1px solid var(--border);border-radius:8px;font-size:var(--fs-label);color:var(--primary-dark);margin-bottom:12px}.landing-demo-tag{background:var(--primary-tint-strong);color:var(--primary-dark);padding:2px 8px;border-radius:10px;font-size:var(--fs-label);font-weight:700;flex-shrink:0}.landing-features{display:flex;flex-direction:column;gap:14px}.landing-feature{display:flex;align-items:flex-start;gap:12px}.landing-feature-icon{font-size:28px;flex-shrink:0;width:40px;text-align:center}.landing-feature-icon--lucide{font-size:unset;display:flex;align-items:center;justify-content:center;color:var(--primary-dark)}.landing-feature-title{font-size:var(--fs-sm);font-weight:700;margin-bottom:2px}.landing-feature-desc{font-size:var(--fs-label);color:var(--text-secondary);line-height:1.4}.book-detail-toggle{display:flex;align-items:center;gap:6px;margin:8px 0 4px 28px;padding:6px 12px;font-size:var(--fs-label);font-weight:600;font-family:inherit;color:var(--primary);background:var(--primary-tint);border:1.5px solid var(--primary-light);border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.book-detail-toggle:hover{background:var(--chrome-gold-hover);color:var(--text)}.toggle-member-count{color:var(--text-secondary);font-weight:400;margin-left:2px}.book-detail-toggle:hover .toggle-member-count{color:var(--text-secondary)}.pending-badge{background:#fff3e0;color:#e65100;padding:1px 8px;border-radius:10px;font-size:var(--fs-label);font-weight:600;margin-left:4px}.book-details-panel{padding:8px 0 4px 28px;border-top:1px dashed var(--border);margin-top:4px}.detail-section{margin-bottom:10px}.detail-section-title{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;padding-top:4px}.member-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:var(--fs-label)}.member-icon{font-size:var(--fs-sm)}.member-name{font-weight:600}.member-user{color:var(--text-secondary);font-size:var(--fs-caption)}.detail-empty{font-size:var(--fs-caption);color:var(--text-secondary);font-style:italic;padding:2px 0}.invite-row{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:var(--fs-label)}.invite-role{font-weight:600;min-width:60px}.invite-status{font-size:var(--fs-caption);color:var(--text-secondary)}.invite-status.accepted{color:var(--success)}.book-header-row{display:flex;align-items:center;gap:8px}.book-delete-btn{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;flex-shrink:0;transition:all .2s}.book-delete-btn:hover{color:var(--accent);background:#fff0f0}.book-share-code-row{display:flex;align-items:center;gap:8px;margin:4px 0 0 28px;font-size:var(--fs-label)}.member-remove-btn{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:2px;margin-left:auto;flex-shrink:0;transition:color .2s}.member-remove-btn:hover{color:var(--accent)}.recent-code-row{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid var(--border)}.recent-code-row:last-child{border-bottom:none}.recent-code-link{display:flex;align-items:center;gap:4px;border:none;background:none;color:var(--primary);cursor:pointer;font-size:var(--fs-label);font-family:inherit;flex-shrink:0}.recent-code-link code{font-size:var(--fs-label);font-weight:600}.recent-code-alias{font-size:var(--fs-caption);color:var(--text-secondary);cursor:pointer;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-code-alias:hover{color:var(--primary)}.pricing-page{padding:16px;max-width:900px;margin:0 auto}.pricing-header{text-align:center;margin-bottom:24px}.pricing-header h2{font-size:22px;font-weight:700;margin-bottom:6px}.pricing-current-plan{font-size:var(--fs-caption);color:var(--text-secondary)}.pricing-cards{display:flex;flex-direction:column;gap:16px}@media(min-width:640px){.pricing-cards{flex-direction:row;align-items:stretch}}.pricing-card{flex:1;border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--surface);position:relative;display:flex;flex-direction:column;gap:16px}.pricing-card--current{border-color:var(--primary)}.pricing-card--featured{border-color:var(--primary-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 28%,transparent)}.pricing-badge{position:absolute;top:-11px;left:50%;transform:translate(-50%);color:var(--text);background:var(--chrome-gold);border:1px solid var(--primary-dark);font-size:var(--fs-caption);font-weight:700;padding:2px 10px;border-radius:20px}.pricing-card-header{display:flex;flex-direction:column;gap:6px}.pricing-card-header h3{font-size:16px;font-weight:700}.pricing-price{display:flex;align-items:baseline;gap:4px}.pricing-amount{font-size:26px;font-weight:800}.pricing-period{font-size:var(--fs-caption);color:var(--text-secondary)}.pricing-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;flex:1}.pricing-features li{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption)}.pricing-cta{width:100%;padding:10px;border-radius:8px;font-size:var(--fs-sm);font-weight:600;border:none;cursor:pointer;transition:opacity .15s}.pricing-cta.btn-primary{border:1.5px solid var(--primary-dark)}.pricing-cta.btn-primary:hover{border-color:var(--primary)}.pricing-icon,.pricing-check{flex-shrink:0}.pricing-icon--free,.pricing-check--free{color:var(--text-secondary)}.pricing-icon--family,.pricing-check--family{color:var(--primary-dark)}.pricing-icon--pro,.pricing-check--pro{color:var(--primary)}.pricing-cta:disabled{opacity:.6;cursor:default;background:var(--border)!important;color:var(--text-secondary)}.pricing-note{margin-top:20px;font-size:var(--fs-label);color:var(--text-secondary);text-align:center;line-height:1.6}.plan-banner{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;margin-bottom:12px;gap:8px}.plan-banner-info{display:flex;flex-direction:column;gap:2px}.plan-banner-label{font-size:var(--fs-caption)}.plan-banner-limits{font-size:var(--fs-caption);color:var(--text-secondary)}.plan-upgrade-btn{flex-shrink:0}.onboarding-guide{padding:16px;background:linear-gradient(135deg,var(--primary-tint),color-mix(in srgb,var(--primary) 8%,var(--card)));border-radius:10px;margin-top:4px}.onboarding-title{font-size:var(--fs-ui);font-weight:700;color:var(--primary-dark);margin-bottom:14px}.onboarding-desc{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.5}.onboarding-steps{display:flex;flex-direction:column;gap:12px}.onboarding-step{display:flex;gap:10px;align-items:flex-start}.onboarding-step-num{width:24px;height:24px;border-radius:50%;background:var(--chrome-gold);border:1px solid var(--primary-dark);color:var(--text);font-size:var(--fs-caption);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.onboarding-step-title{font-size:var(--fs-caption);font-weight:700;color:var(--text)}.onboarding-step-desc{font-size:var(--fs-label);color:var(--text-secondary);line-height:1.4;margin-top:2px}.role-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:var(--fs-label);font-weight:700;margin-right:4px;vertical-align:middle}.role-badge-manage{background:var(--primary-tint-strong);color:var(--primary-dark)}.role-badge-view{background:#e8f5e9;color:#2e7d32}.book-section-divider{height:1px;background:var(--border);margin:8px 0}.section-hint{font-size:var(--fs-label);color:var(--text-secondary);margin:-6px 0 12px;line-height:1.4}.join-subsection{padding:10px 0;border-bottom:1px solid var(--border)}.join-subsection:last-of-type{border-bottom:none}.join-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);font-weight:600;color:var(--text);margin-bottom:6px}.join-label-hint{font-weight:400;font-size:var(--fs-caption);color:var(--text-secondary)}.join-btn-group{display:flex;flex-direction:column;gap:10px;width:100%}.join-btn-group .btn{width:100%;justify-content:center}.join-btn-icon{font-size:var(--fs-sm)}.join-help-text{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.6;margin-top:8px;padding:8px 10px;background:var(--bg);border-radius:8px}.join-help-text strong{color:var(--text)}.settings-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;border:none;background:none;cursor:pointer;font-family:inherit;color:var(--text)}.settings-toggle-left{display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);font-weight:700}.settings-panel{margin-top:12px;border-top:1px solid var(--border);padding-top:8px}.settings-section{padding:12px 0;border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:none}.settings-section-title{font-size:var(--fs-sm);font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:4px}.settings-count{background:var(--bg);color:var(--text-secondary);font-size:var(--fs-caption);padding:1px 7px;border-radius:10px;font-weight:600}.settings-section-desc{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:8px;line-height:1.4}.settings-empty{font-size:var(--fs-label);color:var(--text-secondary);text-align:center;padding:10px 0}.page-hint{font-size:var(--fs-caption);color:var(--text-secondary);padding:2px 4px 10px;line-height:1.5}.calendar-guest-seed-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin:0 0 10px;border-radius:10px;font-size:var(--fs-caption);line-height:1.45;color:var(--text-secondary);background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 26%,transparent)}.calendar-guest-seed-banner__dot{flex-shrink:0;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent);opacity:.9}.calendar-guest-seed-banner--motion .calendar-guest-seed-banner__dot{animation:calendar-guest-seed-pulse 1.5s ease-in-out infinite}@keyframes calendar-guest-seed-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.calendar-guest-seed-banner--motion .calendar-guest-seed-banner__dot{animation:none;opacity:.85}}.empty-title{font-size:var(--fs-ui);font-weight:600;color:var(--text);margin-bottom:4px}.empty-subtitle{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.5}.modal-subtitle{font-size:var(--fs-caption);color:var(--text-secondary);margin:-8px 0 16px;line-height:1.5}.dashboard-sections{display:flex;flex-direction:column;gap:10px;padding:4px 0;min-height:calc(80dvh - 60px)}.app-content--main-menu{display:flex;flex-direction:column;min-height:calc(100dvh - 72px)}.app-content--main-menu .dashboard-sections{flex:1 1 auto;min-height:0}.dashboard-footer-icons{flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:32px;padding:20px 16px max(20px,env(safe-area-inset-bottom));margin-top:8px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--card) 40%,transparent)}.dashboard-footer-icon-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:14px;background:var(--card);color:var(--text-secondary);box-shadow:var(--shadow);cursor:pointer;text-decoration:none;transition:color .15s,transform .12s,box-shadow .15s}.dashboard-footer-icon-btn:hover{color:var(--primary);box-shadow:0 4px 14px #0000001a}.dashboard-footer-icon-btn:active{transform:scale(.96)}.dashboard-footer-icon-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dashboard-footer-brand-svg{display:block}.dashboard-card{display:flex;align-items:center;gap:14px;padding:20px 16px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;transition:all .15s;border-left:3px solid var(--section-color, var(--primary));flex:1}.dashboard-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-1px)}.dashboard-card:active{transform:translateY(0)}.dashboard-card-left{flex-shrink:0}.dashboard-card-icon{width:48px;height:48px;border-radius:12px;background:color-mix(in srgb,var(--section-color, var(--primary)) 10%,transparent);color:var(--section-color, var(--primary));display:flex;align-items:center;justify-content:center}.dashboard-card-body{flex:1;min-width:0}.dashboard-card-title{font-size:20px;font-weight:700;color:var(--text);margin:0}.dashboard-card-subtitle{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.dashboard-card-meta{display:block;font-size:var(--fs-sm);color:var(--text-secondary);margin-top:4px}.dashboard-card-meta strong{color:var(--section-color, var(--primary));font-weight:700;font-size:18px}.dashboard-card-pending{color:var(--section-color, #FF9800);font-weight:500}.dashboard-card-arrow{color:var(--text-secondary);flex-shrink:0}.dashboard-section-loading{font-size:var(--fs-caption);color:var(--text-secondary);padding:8px 0}.header-avatar-btn{display:flex;align-items:center;gap:5px;background:var(--header-chrome);border:1px solid var(--border);border-radius:20px;color:var(--text);font-size:var(--fs-label);font-family:inherit;padding:4px 10px 4px 6px;cursor:pointer;transition:background .15s}.header-avatar-btn:hover{background:var(--header-chrome-hover)}.profile-page{padding-bottom:24px}.profile-section{padding:16px;margin-bottom:12px}.profile-section-title{font-size:var(--fs-ui);font-weight:700;color:var(--text);margin-bottom:12px}.profile-field{margin-bottom:12px}.profile-field label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);margin-bottom:4px}.profile-hint{font-weight:400;font-size:var(--fs-caption);color:var(--text-secondary)}.profile-input{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-sm);font-family:inherit;color:var(--text);background:var(--card);transition:border-color .15s}.profile-input:focus{border-color:var(--primary);outline:none}.profile-input:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.profile-input-error{border-color:var(--accent)}.profile-input-error:focus{border-color:var(--accent)}.profile-mbti-block{margin-top:4px}.profile-mbti-axis{margin-bottom:16px}.profile-mbti-labels{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:var(--fs-caption)}.profile-mbti-labels>div{display:flex;flex-direction:column;gap:2px;max-width:48%}.profile-mbti-labels-right{text-align:right;align-items:flex-end}.profile-mbti-en{font-weight:600;color:var(--text)}.profile-mbti-zh{color:var(--text-secondary);font-size:11px;line-height:1.3}.profile-mbti-range{width:100%;accent-color:var(--accent)}.profile-field-error{font-size:var(--fs-label);color:var(--accent);margin-top:6px;line-height:1.4}.profile-readonly-value{width:100%;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-sm);font-weight:600;color:var(--text);background:var(--bg);word-break:break-all}.profile-input.disabled{background:var(--bg);color:var(--text-secondary)}.profile-row{display:flex;gap:12px}.profile-row .flex-1{flex:1}.profile-save-btn{margin-bottom:12px}.profile-pw-form{display:flex;flex-direction:column;gap:8px;margin-top:10px}.profile-pw-msg{font-size:var(--fs-label);color:var(--accent)}.profile-logout-btn{color:var(--accent);border-color:var(--accent);margin-top:8px}.profile-optional{font-weight:400;font-size:var(--fs-caption);color:var(--text-secondary)}.profile-privacy-banner{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--bg)),color-mix(in srgb,var(--primary) 6%,var(--card)));border-radius:var(--radius);margin-bottom:16px;font-size:var(--fs-sm);font-weight:500;color:var(--text);line-height:1.5}.profile-privacy-banner svg{flex-shrink:0;color:var(--primary)}.privacy-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}.privacy-toggle-info{flex:1}.privacy-toggle-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:600;color:var(--text)}.privacy-toggle-desc{font-size:var(--fs-label);color:var(--text-secondary);margin-top:2px}.profile-privacy-note{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:8px;line-height:1.5}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:var(--border);border-radius:24px;transition:.3s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.stress-type-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.stress-chip{padding:6px 14px;border:1.5px solid var(--border);border-radius:20px;font-size:var(--fs-caption);font-family:inherit;background:var(--card);color:var(--text);cursor:pointer;transition:all .15s}.stress-chip:hover{border-color:var(--primary-light)}.stress-chip.active{background:var(--chrome-gold);color:var(--text);border-color:var(--primary-dark)}.bind-status{display:flex;align-items:center;gap:8px;font-size:var(--fs-caption);color:var(--success);padding:8px 0}.bind-email-form{display:flex;flex-direction:column;gap:8px}.profile-danger-section{border:1px solid rgba(255,107,107,.2)}.onboarding-privacy-msg{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--fs-sm);font-weight:500;color:var(--primary);margin-bottom:16px}.onboarding-anon-btn{font-size:16px;padding:14px 20px;margin-bottom:10px}.onboarding-anon-hint{font-size:var(--fs-label);color:var(--text-secondary)}.login-alt-btns{display:flex;gap:10px}.login-alt-btns .btn{flex:1;min-height:44px}.home-dashboard{display:flex;flex-direction:column;gap:0}.inline-form-cat-row{display:flex;flex-direction:row;align-items:center;gap:10px;width:100%}.inline-form-cat-row input[type=text]{flex:1;min-width:0;width:auto}.profile-logout-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.growth-page{padding-bottom:20px}.growth-month-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:16px}.growth-month-label{font-size:16px;font-weight:700;color:var(--text);min-width:100px;text-align:center}.growth-month-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.growth-month-arrow:hover{border-color:var(--primary);color:var(--primary)}.growth-overview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.growth-overview-card{background:var(--card);border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow);border-top:3px solid var(--card-color, var(--primary));border:none;font-family:inherit;cursor:pointer;transition:all .2s}.growth-overview-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.growth-tab-active{border-top:3px solid var(--card-color, var(--primary));box-shadow:0 4px 12px #0000001f;background:linear-gradient(to bottom,rgba(var(--primary-rgb),.06),var(--card))}.growth-overview-card svg{color:var(--card-color, var(--primary));margin-bottom:6px}.growth-overview-value{font-size:28px;font-weight:800;color:var(--text);line-height:1.2}.growth-overview-label{font-size:var(--fs-label);color:var(--text-secondary);margin-top:2px}.growth-timeline{margin-top:8px}.growth-timeline-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:4px}.growth-timeline-title-row .growth-timeline-title{margin-bottom:0}.growth-export-pdf-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.growth-timeline-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-ui);font-weight:700;color:var(--text);margin-bottom:12px}.growth-timeline-title svg{color:var(--primary)}.growth-diary-list{display:flex;flex-direction:column;gap:8px}.growth-diary-item{padding:14px 16px}.growth-diary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.growth-diary-date{font-size:var(--fs-label);font-weight:600;color:var(--primary)}.growth-diary-mood{font-size:18px}.growth-diary-title{font-size:var(--fs-ui);font-weight:700;color:var(--text);margin-bottom:4px}.growth-diary-content{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.6}.growth-diary-meta{display:flex;gap:12px;margin-top:8px;font-size:var(--fs-label);color:var(--text-secondary)}.growth-diary-meta span{display:flex;align-items:center;gap:3px}.growth-badges-view{margin-top:12px}.growth-badge-categories{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.growth-badge-cat{padding:12px 16px!important;margin-bottom:0!important}.growth-badge-cat-header{display:flex;align-items:center;gap:8px}.growth-badge-cat-header svg{color:var(--primary)}.growth-badge-cat-name{flex:1;font-weight:600;font-size:var(--fs-sm)}.growth-badge-cat-count{font-size:var(--fs-sm);font-weight:700;color:var(--primary)}.growth-badge-cat-meta{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:6px;padding-left:28px}.growth-badge-detail-book{font-size:var(--fs-caption);color:var(--text-secondary);margin:4px 0 6px}.growth-badge-details{margin-top:8px}.growth-badge-details-title{font-size:var(--fs-sm);font-weight:600;color:var(--text-secondary);margin-bottom:8px}.growth-badge-detail-item{padding:10px 14px!important;margin-bottom:6px!important}.growth-badge-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.growth-badge-detail-cat{font-size:var(--fs-label);font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb),.12);padding:2px 8px;border-radius:10px}.growth-badge-detail-date{font-size:var(--fs-label);color:var(--text-secondary)}.growth-badge-detail-desc{font-size:var(--fs-caption);color:var(--text);line-height:1.5}.growth-stats-toggle-row{display:flex;justify-content:flex-end;align-items:center;margin-bottom:12px}.growth-stats-toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-secondary);-webkit-user-select:none;user-select:none}.growth-stats-toggle-text{font-weight:500;color:var(--text)}.growth-stats-toggle-input{width:18px;height:18px;accent-color:var(--primary)}.growth-badge-by-book-sections{display:flex;flex-direction:column;gap:16px}.growth-badge-book-section-title{font-size:var(--fs-sm);font-weight:700;color:var(--text-secondary);margin:0 0 4px;padding-left:2px}.growth-annotated-feed{margin-top:20px}.growth-annotated-hint{margin-top:0!important;margin-bottom:10px!important;font-size:var(--fs-caption)!important}.growth-annotated-list{display:flex;flex-direction:column;gap:6px}.growth-annotated-item{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:box-shadow .2s var(--ease-out-soft),border-color .2s ease}.growth-annotated-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.growth-annotated-item--speaking{border-color:rgba(var(--primary-rgb),.45);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.12)}.growth-annotated-item-actions{display:flex;align-items:center;gap:8px}.growth-annotated-tts-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(var(--primary-rgb),.1);color:var(--primary-dark);flex-shrink:0;pointer-events:none}.growth-annotated-item:active .growth-annotated-tts-icon{transform:scale(.96)}.growth-annotated-awarder{font-size:var(--fs-caption);font-weight:600;color:var(--text);margin-bottom:2px}.growth-annotated-status,.growth-annotated-end{text-align:center;font-size:var(--fs-caption);color:var(--text-secondary);margin:12px 0 8px}.growth-annotated-end{margin-bottom:4px}.growth-annotated-error,.growth-annotated-more-error{padding:16px!important;text-align:center;margin-top:8px}.growth-annotated-error .btn,.growth-annotated-more-error .btn{margin-top:10px}.growth-annotated-skeleton-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.growth-annotated-skeleton{height:88px;margin-bottom:0!important;background:linear-gradient(90deg,rgba(var(--primary-rgb),.06),rgba(var(--primary-rgb),.12),rgba(var(--primary-rgb),.06));background-size:200% 100%;animation:growth-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes growth-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.growth-annotated-sentinel{height:1px;margin:0;padding:0;visibility:hidden;pointer-events:none}.growth-replies-section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.growth-reply-item{padding:8px 0;border-bottom:1px dashed var(--border)}.growth-reply-item:last-child{border-bottom:none}.growth-reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.growth-reply-author{font-size:var(--fs-label);font-weight:600;color:var(--primary)}.growth-reply-date{font-size:var(--fs-caption);color:var(--text-secondary)}.growth-reply-content{font-size:var(--fs-caption);color:var(--text);line-height:1.5}.growth-reply-loading{font-size:var(--fs-label);color:var(--text-secondary);padding:8px 0;text-align:center}.month-summary-receive{justify-content:center;gap:32px}.mood-wall{padding-bottom:20px}.mood-compose-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--card);border:1.5px solid var(--border);border-radius:24px;color:var(--text-secondary);font-size:var(--fs-sm);font-family:inherit;cursor:pointer;margin-bottom:16px;transition:all .2s;box-shadow:var(--shadow)}.mood-compose-btn svg{color:var(--primary);flex-shrink:0}.mood-compose-btn:hover{border-color:var(--primary-light);box-shadow:0 4px 12px rgba(var(--primary-rgb),.12)}.mood-compose-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.mood-compose-modal{background:var(--card);border-radius:16px 16px 0 0;padding:20px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.mood-compose-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.mood-compose-header h3{font-size:18px;font-weight:700;color:var(--text)}.mood-compose-close{border:none;background:none;color:var(--text-secondary);cursor:pointer;padding:4px}.mood-compose-title{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-ui);font-weight:600;font-family:inherit;margin-bottom:0}.topic-selector{position:relative;margin-bottom:8px}.topic-label{display:block;font-size:var(--fs-caption);font-weight:600;color:var(--text);margin-bottom:4px}.topic-label .required{color:var(--accent)}.topic-input-wrap{position:relative}.topic-input-wrap .mood-compose-title{padding-right:48px}.topic-char-count{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:var(--fs-caption);color:var(--text-secondary)}.topic-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card);border:1.5px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:10;max-height:200px;overflow-y:auto;margin-top:2px}.topic-option{display:block;width:100%;padding:10px 12px;border:none;background:none;text-align:left;font-size:var(--fs-sm);font-family:inherit;color:var(--text);cursor:pointer;transition:background .1s}.topic-option:hover{background:var(--bg)}.topic-option-new{color:var(--primary);font-weight:600;border-top:1px solid var(--border)}.mood-compose-content{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-sm);font-family:inherit;resize:vertical;min-height:80px;margin-bottom:12px}.mood-selector{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.mood-selector-label{font-size:var(--fs-caption);font-weight:600;color:var(--text)}.mood-emoji-list{display:flex;gap:4px;flex-wrap:wrap}.mood-emoji-btn{display:flex;flex-direction:column;align-items:center;gap:2px;width:44px;padding:6px 4px;border:2px solid transparent;border-radius:10px;background:var(--bg);cursor:pointer;transition:all .15s}.mood-emoji-icon{font-size:22px;line-height:1}.mood-emoji-label{font-size:var(--fs-label);color:var(--text-secondary)}.mood-emoji-btn.active{border-color:var(--primary);background:var(--primary-tint)}.mood-emoji-btn.active .mood-emoji-label{color:var(--primary);font-weight:600}.mood-visibility{display:flex;gap:16px;margin-bottom:16px;font-size:var(--fs-caption)}.mood-visibility label{display:flex;align-items:center;gap:4px;cursor:pointer}.mood-submit-btn{width:100%}.mood-event-list{display:flex;flex-direction:column;gap:8px}.mood-event-card{padding:14px 16px;transition:border-left .2s}.mood-event-unread{border-left:3px solid var(--primary);background:var(--primary-tint)}.mood-event-unread .mood-event-name:after{content:"NEW";display:inline-block;margin-left:6px;font-size:var(--fs-label);font-weight:700;color:var(--text);background:var(--chrome-gold);border:1px solid var(--primary-dark);padding:1px 5px;border-radius:8px;vertical-align:middle}.mood-event-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mood-event-author{display:flex;align-items:center;gap:6px}.mood-event-mood{font-size:18px}.mood-event-name{font-size:var(--fs-caption);font-weight:600;color:var(--text)}.mood-event-date{font-size:var(--fs-caption);color:var(--text-secondary)}.mood-event-title{font-size:var(--fs-ui);font-weight:700;margin-bottom:4px}.mood-event-content{font-size:var(--fs-sm);line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word}.mood-event-actions{display:flex;gap:16px;margin-top:10px;padding-top:8px;border-top:1px solid var(--border)}.mood-action-btn{display:flex;align-items:center;gap:4px;border:none;background:none;color:var(--text-secondary);font-size:var(--fs-label);font-family:inherit;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .15s}.mood-action-btn:hover{background:var(--bg);color:var(--primary)}.mood-event-expanded{margin-top:10px;border-top:1px solid var(--border);padding-top:10px}.mood-encourage-bar{display:flex;gap:6px;margin-bottom:10px}.mood-encourage-emoji{width:32px;height:32px;border:1.5px solid var(--border);border-radius:8px;background:var(--bg);font-size:16px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.mood-encourage-emoji:hover{border-color:var(--primary);background:var(--primary-tint);transform:scale(1.1)}.mood-encouragements{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px}.mood-enc-item{font-size:16px;background:var(--bg);border-radius:6px;padding:2px 6px}.mood-replies{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.mood-reply{padding:8px 12px;background:var(--bg);border-radius:8px}.mood-reply-hidden{opacity:.5;border:1px dashed var(--border)}.mood-reply-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mood-reply-author{font-size:var(--fs-label);font-weight:600}.mood-reply-date{font-size:var(--fs-label);color:var(--text-secondary)}.mood-reply-content{font-size:var(--fs-caption);line-height:1.5;white-space:pre-wrap;word-break:break-word}.mood-reply-reactions{display:flex;gap:6px;margin-top:6px}.mood-react-btn{width:28px;height:28px;border:1.5px solid var(--border);border-radius:6px;background:#fff;font-size:var(--fs-sm);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.mood-react-btn:hover{background:var(--bg)}.mood-react-btn.active-like{border-color:var(--success);background:#e8f5e9}.mood-react-btn.active-dislike{border-color:var(--accent);background:#fff0f0}.mood-reply-input{display:flex;gap:8px;align-items:center}.mood-reply-input input{flex:1;padding:8px 12px;border:1.5px solid var(--border);border-radius:8px;font-size:var(--fs-caption);font-family:inherit}.mood-reply-send{border:1.5px solid var(--primary-dark);background:var(--chrome-gold);color:var(--text);width:40px;height:40px;min-width:40px;min-height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,border-color .15s}.mood-reply-send:hover{background:var(--chrome-gold-hover);border-color:var(--primary)}.mood-reply-send:disabled{background:var(--border);cursor:default}.growth-issue-page{padding:20px 0}.header-right-group{display:flex;align-items:center;gap:10px}.guest-banner{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:10px 16px;margin-bottom:12px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ffcc80;border-radius:10px;font-size:var(--fs-caption);color:#e65100;cursor:default;transition:background .2s}.guest-banner:hover{background:linear-gradient(135deg,#ffe0b2,#ffcc80)}.guest-banner-main{flex:1;min-width:0;border:none;background:transparent;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:0;text-align:center}.guest-banner-demo{flex-shrink:0;border:1px solid #e65100;background:#ffffffd9;color:#e65100;border-radius:8px;padding:6px 12px;font-size:var(--fs-label);font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.guest-banner-demo:hover{background:#fff}.guest-banner-demo:active{transform:scale(.98)}.guest-banner strong{white-space:nowrap}.notif-bell-btn{position:relative;border:1px solid var(--border);background:var(--header-chrome);color:var(--text);border-radius:50%;width:40px;height:40px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.notif-bell-btn:hover{background:var(--header-chrome-hover)}.notif-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#fff;font-size:var(--fs-label);font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notif-panel{margin-bottom:12px}.notif-panel-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.notif-panel-header .notif-panel-actions.btn-row{flex:1 1 auto;min-width:min(100%,200px);max-width:100%}.notif-panel-header h3{font-size:var(--fs-ui);font-weight:700}.notif-bell-section-label{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin:8px 0 6px}.notif-bell-section-label--muted{margin-top:12px;opacity:.85}.notif-bell-hint{font-size:var(--fs-label);line-height:1.5;color:var(--text-secondary);padding:10px 4px 4px}.notif-bell-empty-unread{text-align:center;color:var(--text-secondary);font-size:var(--fs-caption);padding:8px 4px 4px}.notif-bell-read-block{margin-top:4px}.notif-bell-toggle{width:100%;margin-top:8px;padding:8px 10px;border:1px dashed var(--border);border-radius:8px;background:var(--bg);color:var(--primary);font-size:var(--fs-label);font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.notif-bell-toggle:hover{background:var(--surface);border-color:var(--primary)}.notif-list{display:flex;flex-direction:column}.notif-item{padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--bg)}.notif-unread{background:var(--primary-tint);margin:0 -16px;padding:10px 16px;border-radius:6px}.notif-item-text{font-size:var(--fs-caption);line-height:1.4}.notif-from{font-weight:600}.notif-item-preview{font-size:var(--fs-label);color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-time{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:2px}.notif-clickable:hover{background:var(--primary-tint)}.notif-action-hint{color:var(--primary);font-weight:500;margin-left:4px}.mood-identity-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 12px;background:var(--card);border-radius:8px;box-shadow:var(--shadow)}.mood-identity-label{font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);flex-shrink:0}.mood-identity-select{flex:1;padding:6px 10px;border:1.5px solid var(--border);border-radius:6px;font-size:var(--fs-caption);font-weight:600;font-family:inherit;color:var(--primary-dark);background:var(--bg)}.mood-compose-identity{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:var(--fs-caption);color:var(--text-secondary)}.mood-compose-identity select{padding:4px 8px;border:1.5px solid var(--primary-light);border-radius:6px;font-size:var(--fs-caption);font-weight:600;font-family:inherit;color:var(--primary-dark);background:var(--primary-tint)}.header-book-select{background-color:var(--header-chrome);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:16px;font-weight:700;font-family:inherit;padding:4px 28px 4px 8px;cursor:pointer;max-width:200px;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%232A2F42' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.header-book-select option{color:var(--text);background:var(--card)}.header-pending-btn{display:flex;align-items:center;gap:5px;background:var(--header-chrome);border:1px solid var(--border);border-radius:20px;color:var(--text);font-size:var(--fs-label);font-weight:600;font-family:inherit;padding:5px 12px 5px 8px;cursor:pointer;flex-shrink:0;transition:background .15s}.header-pending-btn:hover{background:var(--header-chrome-hover)}.header-pending-count{background:var(--accent);color:#fff;font-size:var(--fs-label);font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.receive-badges-page{padding-bottom:20px;position:relative}.claim-tabs{display:flex;gap:0;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:16px}.claim-tab{flex:1;padding:8px 12px;border:none;background:transparent;border-radius:8px;font-size:var(--fs-sm);font-weight:600;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.claim-tab.active{background:var(--card);color:var(--primary);box-shadow:0 1px 4px #00000014}.claim-tab-count{background:var(--accent);color:#fff;font-size:var(--fs-caption);font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px}.claim-pending-list{display:flex;flex-direction:column;gap:10px}.claim-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:all .3s}.claim-card.claiming{pointer-events:none}.claim-card-icon{font-size:28px;flex-shrink:0;width:44px;height:44px;background:var(--primary-tint-strong);border-radius:12px;display:flex;align-items:center;justify-content:center}.claim-card-body{flex:1;min-width:0}.claim-card-title{font-size:var(--fs-ui);font-weight:700;color:var(--text)}.claim-card-meta{font-size:var(--fs-label);color:var(--text-secondary);margin-top:2px}.claim-card-date{font-size:var(--fs-label);color:var(--primary);font-weight:600;margin-top:2px}.claim-card-reason{font-size:var(--fs-label);color:var(--text-secondary);margin-top:4px;line-height:1.4}.claim-btn{display:flex;align-items:center;gap:4px;padding:8px 16px;border:none;background:var(--success);color:#fff;border-radius:20px;font-size:var(--fs-caption);font-weight:600;font-family:inherit;cursor:pointer;flex-shrink:0;transition:all .15s}.claim-btn:hover{background:#43a047;transform:scale(1.05)}.claim-btn:disabled{opacity:.5;cursor:default;transform:none}.claim-animation-fullscreen{position:fixed;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:200}.gift-box-large{position:relative;width:min(55vw,240px);height:min(55vw,240px);animation:giftShake .6s ease-in-out,giftOpen .3s ease-out .6s forwards}.gift-box-lid-large{position:absolute;top:0;left:-5%;right:-5%;height:35%;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:10px;z-index:2;animation:lidFlyLarge .4s ease-out .6s forwards}.gift-box-lid-large:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20%;height:100%;background:#f0f2fc;border-radius:4px}.gift-box-body-large{position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(135deg,#6d8498,#4f6272);border-radius:0 0 12px 12px}.gift-box-body-large:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:18%;height:100%;background:#e2e6fa}@keyframes lidFlyLarge{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-120px) rotate(25deg);opacity:0}}.claim-particles-large{position:absolute;top:50%;left:50%;width:0;height:0;animation:particleBurst .5s ease-out .8s forwards;opacity:0}.particle-large{position:absolute;width:16px;height:16px;border-radius:50%;animation:particleFlyLarge .8s ease-out .8s forwards;opacity:0}.particle-large:nth-child(odd){background:#e0e6fa}.particle-large:nth-child(2n){background:#b8c4e8}.particle-large:nth-child(3n){background:#5a9c6f;width:12px;height:12px}.particle-large:nth-child(4n){background:var(--primary);border-radius:4px}.particle-large:nth-child(1){animation-name:pL1}.particle-large:nth-child(2){animation-name:pL2}.particle-large:nth-child(3){animation-name:pL3}.particle-large:nth-child(4){animation-name:pL4}.particle-large:nth-child(5){animation-name:pL5}.particle-large:nth-child(6){animation-name:pL6}.particle-large:nth-child(7){animation-name:pL7}.particle-large:nth-child(8){animation-name:pL8}.particle-large:nth-child(9){animation-name:pL9}.particle-large:nth-child(10){animation-name:pL10}.particle-large:nth-child(11){animation-name:pL11}.particle-large:nth-child(12){animation-name:pL12}@keyframes particleFlyLarge{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(0) scale(0)}}@keyframes pL1{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(130px) scale(0)}}@keyframes pL2{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(112px,65px) scale(0)}}@keyframes pL3{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(65px,112px) scale(0)}}@keyframes pL4{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(130px) scale(0)}}@keyframes pL5{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-65px,112px) scale(0)}}@keyframes pL6{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-112px,65px) scale(0)}}@keyframes pL7{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-130px) scale(0)}}@keyframes pL8{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-112px,-65px) scale(0)}}@keyframes pL9{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-65px,-112px) scale(0)}}@keyframes pL10{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(-130px) scale(0)}}@keyframes pL11{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(65px,-112px) scale(0)}}@keyframes pL12{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(112px,-65px) scale(0)}}.claim-badge-reveal-large{position:absolute;font-size:72px;opacity:0;animation:badgeReveal .5s ease-out 1.1s forwards}.claim-animation-overlay{position:absolute;inset:0;background:#fffffff2;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius)}.gift-box{position:relative;width:50px;height:50px;animation:giftShake .6s ease-in-out,giftOpen .3s ease-out .6s forwards}.gift-box-lid{position:absolute;top:0;left:-3px;right:-3px;height:18px;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:4px;z-index:2;animation:lidFly .4s ease-out .6s forwards}.gift-box-lid:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:12px;height:100%;background:#f0f2fc;border-radius:2px}.gift-box-body{position:absolute;bottom:0;left:0;right:0;height:36px;background:linear-gradient(135deg,#6d8498,#4f6272);border-radius:0 0 6px 6px}.gift-box-body:after{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:10px;height:100%;background:#e2e6fa}@keyframes giftShake{0%,to{transform:rotate(0)}10%{transform:rotate(-8deg)}20%{transform:rotate(8deg)}30%{transform:rotate(-12deg)}40%{transform:rotate(12deg)}50%{transform:rotate(-8deg)}60%{transform:rotate(8deg)}70%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}}@keyframes giftOpen{to{opacity:0;transform:scale(.5)}}@keyframes lidFly{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-40px) rotate(25deg);opacity:0}}.claim-particles{position:absolute;top:50%;left:50%;width:0;height:0;animation:particleBurst .5s ease-out .8s forwards;opacity:0}.particle{position:absolute;width:8px;height:8px;border-radius:50%;animation:particleFly .8s ease-out .8s forwards;opacity:0}.particle:nth-child(odd){background:#e0e6fa}.particle:nth-child(2n){background:#b8c4e8}.particle:nth-child(3n){background:#5a9c6f;width:6px;height:6px}.particle:nth-child(4n){background:var(--primary);border-radius:2px}@keyframes particleBurst{to{opacity:1}}@keyframes particleFly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(calc(cos(calc(var(--i) * 30deg))*60px),calc(sin(calc(var(--i) * 30deg))*60px)) scale(0)}}.particle:nth-child(1){animation-name:p1}.particle:nth-child(2){animation-name:p2}.particle:nth-child(3){animation-name:p3}.particle:nth-child(4){animation-name:p4}.particle:nth-child(5){animation-name:p5}.particle:nth-child(6){animation-name:p6}.particle:nth-child(7){animation-name:p7}.particle:nth-child(8){animation-name:p8}.particle:nth-child(9){animation-name:p9}.particle:nth-child(10){animation-name:p10}.particle:nth-child(11){animation-name:p11}.particle:nth-child(12){animation-name:p12}@keyframes p1{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(60px) scale(0)}}@keyframes p2{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(52px,30px) scale(0)}}@keyframes p3{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(30px,52px) scale(0)}}@keyframes p4{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(60px) scale(0)}}@keyframes p5{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-30px,52px) scale(0)}}@keyframes p6{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-52px,30px) scale(0)}}@keyframes p7{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-60px) scale(0)}}@keyframes p8{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-52px,-30px) scale(0)}}@keyframes p9{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-30px,-52px) scale(0)}}@keyframes p10{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(0)}}@keyframes p11{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(30px,-52px) scale(0)}}@keyframes p12{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(52px,-30px) scale(0)}}.claim-badge-reveal{position:absolute;font-size:36px;opacity:0;animation:badgeReveal .5s ease-out 1.1s forwards}@keyframes badgeReveal{0%{opacity:0;transform:scale(.3)}60%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.claim-celebration-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.celebration-content{text-align:center;color:#fff;animation:celebrationPop .4s ease-out}.celebration-emoji{font-size:64px;margin-bottom:12px}.celebration-content h2{font-size:24px;font-weight:800;margin-bottom:4px}.celebration-content p{font-size:var(--fs-ui);opacity:.9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes celebrationPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast-item{background:var(--text);color:#fff;padding:10px 20px;border-radius:20px;font-size:var(--fs-caption);font-weight:500;box-shadow:0 4px 12px #0000002e;pointer-events:auto;cursor:pointer;animation:toastSlideUp .3s ease-out;white-space:nowrap}@keyframes toastSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.notif-center{padding:0 0 24px}.notif-center-push-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,var(--primary-tint),color-mix(in srgb,var(--primary) 10%,var(--card)));border-radius:12px;margin-bottom:16px;cursor:pointer;font-size:var(--fs-caption);color:var(--text-primary)}.notif-center-push-banner span{flex:1}.notif-center-push-card{margin-bottom:16px;padding-top:10px;padding-bottom:10px}.notif-center-push-compact{display:flex;align-items:center;gap:8px;min-height:40px}.notif-center-push-expand-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-8px 0 -8px -4px;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer}.notif-center-push-expand-btn:hover{background:var(--bg);color:var(--text-primary)}.notif-center-push-compact-label{flex:1;min-width:0;font-size:var(--fs-ui);font-weight:600;color:var(--text-primary)}.notif-center-push-switch{flex-shrink:0;position:relative;display:inline-flex;align-items:center;gap:8px;padding:4px 4px 4px 28px;border-radius:999px;font-size:var(--fs-caption);font-weight:700;min-height:28px;box-sizing:border-box;cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none;outline:none}.notif-center-push-switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.notif-center-push-switch:disabled{opacity:.55;cursor:not-allowed}.notif-center-push-switch.on{background:color-mix(in srgb,var(--success) 22%,transparent);color:var(--success);border:1px solid transparent}.notif-center-push-switch.off{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.notif-center-push-switch-knob{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000001f}.notif-center-push-switch.on .notif-center-push-switch-knob{background:#fff;box-shadow:0 1px 2px #00000026}.notif-center-push-switch.off .notif-center-push-switch-knob{left:4px;background:color-mix(in srgb,var(--text-secondary) 35%,#fff)}.notif-center-push-switch-text{padding-right:8px}.notif-center-push-details{margin-top:12px;padding-top:4px;border-top:1px solid var(--border);animation:notif-push-details-in .18s ease-out}@keyframes notif-push-details-in{0%{opacity:.85}to{opacity:1}}.notif-center-push-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.notif-center-push-card-icon{color:var(--primary);flex-shrink:0;margin-top:2px}.notif-center-push-card-title{font-size:16px;font-weight:600;margin:0 0 6px;color:var(--text-primary)}.notif-center-push-card-sub{font-size:var(--fs-label);color:var(--text-secondary);line-height:1.45;margin:0}.notif-center-push-help-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg);font-size:var(--fs-caption);font-weight:500;color:var(--text-primary);cursor:pointer}.notif-center-push-help-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.notif-center-push-help-toggle span{flex:1;text-align:left}.notif-center-push-steps{margin:0 0 14px;padding-left:20px;font-size:var(--fs-label);color:var(--text-secondary);line-height:1.55}.notif-center-push-steps li{margin-bottom:8px}.notif-center-push-steps code{font-size:var(--fs-caption);background:var(--bg);padding:1px 4px;border-radius:4px}.notif-center-push-status{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;background:var(--bg);border-radius:10px;font-size:var(--fs-label)}.notif-center-push-status>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.notif-center-push-status-label{color:var(--text-secondary)}.notif-center-push-status-pill{font-weight:600;color:var(--text-secondary)}.notif-center-push-status-pill.ok{color:var(--success)}.notif-center-push-status-pill.bad{color:#dc2626}.notif-center-push-warning{font-size:var(--fs-label);color:#b45309;background:#fffbeb;border-radius:8px;padding:10px 12px;margin-bottom:12px;line-height:1.45}.notif-center-push-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.notif-center-push-actions .btn-outline{order:1}.notif-center-push-actions .btn-primary{order:2}.notif-center-push-actions .btn{width:100%;flex:none;min-width:0;justify-content:center}.notif-center-push-hint{font-size:var(--fs-caption);color:var(--text-secondary);line-height:1.45;margin:0}.notif-center-tabs{display:flex;gap:4px;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:16px}.notif-center-tab{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;padding:8px 6px;border:none;background:transparent;border-radius:8px;font-size:var(--fs-caption);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.notif-center-tab.active{background:#fff;color:var(--primary);box-shadow:0 1px 3px #00000014}.notif-center-tab-badge{background:#ef4444;color:#fff;font-size:var(--fs-label);font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.notif-center-tab-label{white-space:nowrap}.notif-center-tab-stat{font-size:var(--fs-label);font-weight:700;color:var(--text-secondary);white-space:nowrap}.notif-center-tab.active .notif-center-tab-stat{color:color-mix(in srgb,var(--primary) 85%,var(--text-secondary))}.notif-center-hint{font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:16px;font-style:italic}.notif-role-group{background:#fff;border-radius:12px;border:1px solid var(--border);margin-bottom:10px;overflow:hidden}.notif-role-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.notif-role-header:hover{background:var(--bg)}.notif-role-title{display:flex;align-items:center;gap:8px}.notif-role-icon{font-size:18px}.notif-role-name{font-weight:600;font-size:var(--fs-sm)}.notif-role-count{background:var(--bg);color:var(--text-secondary);font-size:var(--fs-caption);font-weight:600;padding:1px 7px;border-radius:10px}.notif-role-actions{display:flex;align-items:center;gap:6px;color:var(--text-secondary)}.notif-role-delete{border:none;background:none;cursor:pointer;padding:4px;color:var(--text-secondary);opacity:.5}.notif-role-delete:hover{opacity:1;color:#ef4444}.notif-role-body{border-top:1px solid var(--border);padding:8px 14px 12px}.notif-empty{text-align:center;font-size:var(--fs-caption);color:var(--text-secondary);padding:12px 0}.notif-scheduled-item-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%}.notif-scheduled-edit{border:none;background:none;cursor:pointer;padding:4px;color:var(--text-secondary);opacity:.65}.notif-scheduled-edit:hover{opacity:1;color:var(--primary)}.notif-scheduled-edit-panel{margin-top:10px;padding:10px 12px;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border-color)}.notif-scheduled-edit-fields{display:flex;gap:10px;flex-wrap:wrap}.notif-scheduled-edit-actions{display:flex;flex-direction:row;gap:10px;margin-top:12px;width:100%}.notif-scheduled-edit-actions .btn{flex:1;min-width:0}.notif-scheduled-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.notif-scheduled-item:last-child{border-bottom:none}.notif-scheduled-item.notif-disabled{opacity:.45}.notif-scheduled-main{flex:1;min-width:0}.notif-scheduled-msg{font-size:var(--fs-caption);line-height:1.5;margin:0;color:var(--text-primary)}.notif-scheduled-meta{display:flex;gap:8px;margin-top:4px;font-size:var(--fs-label);color:var(--text-secondary)}.notif-scheduled-time{font-weight:600;color:var(--primary)}.notif-scheduled-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.notif-scheduled-delete{border:none;background:none;cursor:pointer;padding:4px;color:var(--text-secondary);opacity:.4}.notif-scheduled-delete:hover{opacity:1;color:#ef4444}.notif-toggle{position:relative;display:inline-block;width:40px;height:22px}.notif-toggle input{opacity:0;width:0;height:0}.notif-toggle-slider{position:absolute;inset:0;background:#ccc;border-radius:22px;transition:.2s;cursor:pointer}.notif-toggle-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.notif-toggle input:checked+.notif-toggle-slider{background:var(--primary)}.notif-toggle input:checked+.notif-toggle-slider:before{transform:translate(18px)}.notif-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;border:2px dashed var(--border);border-radius:12px;background:transparent;font-size:var(--fs-caption);font-weight:500;color:var(--primary);cursor:pointer;margin-top:4px;transition:all .2s}.notif-add-btn:hover{background:var(--bg);border-color:var(--primary)}.notif-role-icon-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.notif-role-icon-option{width:44px;height:44px;padding:0;border:2px solid var(--border);border-radius:12px;background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,box-shadow .15s,background .15s}.notif-role-icon-option:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:var(--bg)}.notif-role-icon-option.selected{border-color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 8%,var(--card))}.notif-role-icon-option:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.notif-role-icon-option-inner{font-size:22px;line-height:1}.notif-add-role-btn{display:flex;align-items:center;gap:4px;border:none;background:none;font-size:var(--fs-label);color:var(--text-secondary);cursor:pointer;padding:6px 0;margin-bottom:4px}.notif-add-role-btn:hover{color:var(--primary)}.notif-add-form,.notif-add-role-form{padding:14px;margin-top:8px;margin-bottom:8px}.notif-ai-placeholder{display:flex;gap:12px;padding:14px 16px;margin-top:20px;background:linear-gradient(135deg,var(--primary-tint),color-mix(in srgb,var(--primary) 8%,var(--card)));border-radius:12px;border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));color:var(--primary-dark);opacity:.85}.notif-ai-title{font-size:var(--fs-caption);font-weight:600;margin:0 0 2px}.notif-ai-desc{font-size:var(--fs-label);margin:0;opacity:.8}.notif-activity-list{display:flex;flex-direction:column}.notif-activity-item{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}.notif-activity-item:last-child{border-bottom:none}.notif-activity-item:hover{background:var(--bg);margin:0 -16px;padding:12px 16px;border-radius:8px}.notif-activity-unread .notif-activity-dot{width:8px;height:8px;min-width:8px;background:var(--primary);border-radius:50%;margin-top:6px}.notif-activity-dot{width:8px;min-width:8px}.notif-activity-content{flex:1;min-width:0}.notif-activity-text{font-size:var(--fs-caption);line-height:1.4}.notif-activity-from{font-weight:600}.notif-activity-preview{font-size:var(--fs-label);color:var(--text-secondary);margin-top:2px}.notif-activity-time{font-size:var(--fs-caption);color:var(--text-secondary);margin-top:4px}.rec-section{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid var(--border)}.rec-section-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;margin:0 0 14px;color:var(--text)}.rec-sparkle{color:#f5a623}.rec-loading{text-align:center;padding:20px;color:var(--text-secondary);font-size:var(--fs-caption)}.rec-empty{text-align:center;padding:24px 16px;background:var(--surface);border-radius:12px}.rec-empty p{margin:0;font-size:var(--fs-sm);color:var(--text-secondary)}.rec-empty-sub{font-size:var(--fs-label)!important;margin-top:4px!important;opacity:.85}.rec-role-group{margin-bottom:14px}.rec-role-label{display:flex;align-items:center;gap:6px;font-size:var(--fs-caption);font-weight:600;color:var(--text-secondary);margin-bottom:8px}.rec-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px}.rec-card-content{margin-bottom:10px}.rec-line1{font-size:var(--fs-sm);margin:0 0 2px;color:var(--text)}.rec-line2{font-size:var(--fs-sm);margin:0;color:var(--primary);font-weight:500}.rec-card-actions{display:flex;gap:8px}.rec-btn{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:var(--fs-caption);cursor:pointer;transition:all .15s}.rec-btn-save{color:#f5a623;border-color:#f5a623}.rec-btn-save:hover{background:#fef7e8}.rec-btn-skip{color:var(--text-secondary)}.rec-btn-skip:hover{background:var(--surface)}.my-reminders-section{margin-top:4px}.my-reminders-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text)}.notif-source-badge{font-size:var(--fs-label);padding:1px 6px;border-radius:6px;background:#fef7e8;color:#f5a623;font-weight:600}.template-admin{padding:0 4px}.template-admin-stats{display:flex;gap:16px;padding:10px 12px;background:var(--surface);border-radius:10px;font-size:var(--fs-caption);color:var(--text-secondary);margin-bottom:12px}.template-admin-filters{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--text-secondary)}.template-admin-filters select{padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font-size:var(--fs-caption);flex:1}.template-admin-group{margin-bottom:20px}.template-admin-group-title{display:flex;align-items:center;gap:6px;font-size:var(--fs-ui);font-weight:600;margin:0 0 10px}.template-admin-group-count{background:var(--chrome-gold);color:var(--text);border:1px solid var(--primary-dark);font-size:var(--fs-caption);font-weight:600;padding:1px 7px;border-radius:10px;margin-left:4px}.template-admin-phase{margin-bottom:12px}.template-admin-phase-label{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary);padding:4px 10px;background:var(--surface);border-radius:6px;display:inline-block;margin-bottom:8px}.template-admin-empty{font-size:var(--fs-label);color:var(--text-secondary);padding:8px 10px;margin:0}.template-admin-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--surface);border-radius:10px;margin-bottom:6px;border:1px solid var(--border)}.template-admin-item.template-inactive{opacity:.5}.template-admin-content{flex:1;min-width:0}.template-line1{font-size:var(--fs-sm);margin:0 0 2px;color:var(--text)}.template-line2{font-size:var(--fs-sm);margin:0;color:var(--primary);font-weight:500}.template-trigger{font-size:var(--fs-caption);color:var(--text-secondary);margin:4px 0 0}.template-admin-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.template-admin-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary);border-radius:6px}.template-admin-btn:hover{background:var(--border)}.template-admin-btn-danger:hover{color:var(--accent)}.template-admin-edit{width:100%}.template-admin-edit input,.template-admin-edit select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:8px;font-size:var(--fs-caption);margin-bottom:6px}.template-admin-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;border:2px dashed var(--border);border-radius:12px;background:none;color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;margin-top:8px}.template-admin-add-btn:hover{border-color:var(--primary);color:var(--primary)}.template-admin-add-form{padding:16px;margin-top:8px}.template-admin-link{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-secondary);font-size:var(--fs-caption);cursor:pointer;margin-top:8px}.template-admin-link:hover{color:var(--primary);border-color:var(--primary)}
