:root{--primary: #3d54c7;--primary-soft: #5466c7;--secondary: #4fb38f;--font-sans: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--success: #176b3d;--danger: #b82121;--warning: #ebb34f;--info: #0984e3;--dark: #212121;--text-primary: #212121;--text-secondary: #66666e;--light: #f7f7fa;--gray: #66666e;--background: #f4f6fb;--background-elevated: #fbfcff;--surface: #ffffff;--surface-soft: #f8faff;--surface-muted: #f1f4fb;--border-subtle: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .14);--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--glass-blur: blur(12px);--glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, .15);--modal-animation-duration: .32s;--modal-easing-function: cubic-bezier(.34, 1.56, .64, 1);--slide-in-offset: 20px;--scale-start: .95;--scale-end: 1;--block-surface-radius-sm: 12px;--block-surface-radius-md: 16px;--block-surface-radius-lg: 20px;--page-block-radius: var(--block-surface-radius-md);--primary-border: rgba(61, 84, 199, .22);--primary-glow: rgba(61, 84, 199, .12);--primary-glow-strong: rgba(61, 84, 199, .2);--primary-bg-soft: rgba(61, 84, 199, .08);--primary-bg-active: rgba(61, 84, 199, .14);--primary-bg-hover: rgba(61, 84, 199, .1);--primary-bg-subtle: rgba(61, 84, 199, .05);--focus-ring: 0 0 0 3px var(--primary-glow);--shadow-primary: 0 4px 14px rgba(61, 84, 199, .25);--shadow-primary-hover: 0 6px 20px rgba(61, 84, 199, .35);--shadow-card: 0 16px 38px rgba(15, 23, 42, .08), 0 4px 16px rgba(15, 23, 42, .05);--shadow-card-subtle: 0 10px 24px rgba(15, 23, 42, .05), 0 2px 8px rgba(15, 23, 42, .03);--shadow-card-hover: 0 20px 44px rgba(15, 23, 42, .12), 0 8px 20px rgba(15, 23, 42, .08);--shadow-floating: 0 18px 40px rgba(15, 23, 42, .12), 0 6px 18px rgba(15, 23, 42, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--main-btn-radius: var(--radius-md);--btn-height: 44px;--btn-height-sm: 36px;--btn-bg: #f0f0f0;--btn-bg-hover: #e5e5e5;--btn-color: #212121;--btn-padding-x: 12px;--btn-shadow-hover: 0 2px 8px rgba(61, 84, 199, .2)}*{margin:0;padding:0;box-sizing:border-box}button{font-family:inherit;cursor:pointer}button,input,select,textarea{font-family:var(--font-sans)}button:focus:not(:focus-visible){outline:none;box-shadow:none}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;background:var(--background)}html.body-scroll-locked,body.body-scroll-locked{overscroll-behavior:none}body{font-family:var(--font-sans);font-size:16px;line-height:1.5;background:radial-gradient(circle at top left,#3d54c71a,#3d54c700 28%),radial-gradient(circle at top right,#4fb38f12,#4fb38f00 22%),linear-gradient(180deg,var(--background-elevated) 0%,var(--background) 100%);min-height:100vh;min-height:100dvh;color:var(--text-primary);overflow-x:hidden;letter-spacing:-.012em}body.body-scroll-locked{width:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.15;letter-spacing:-.03em;color:var(--text-primary)}p,li,label,input,select,textarea{line-height:1.45}a{color:var(--primary);text-underline-offset:.16em}a:hover{color:#3246aa}.skip-link{position:fixed;left:16px;top:16px;transform:translateY(-140%);z-index:1000000;display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--text-primary);border:1px solid var(--primary-border);box-shadow:var(--shadow-card-subtle);text-decoration:none;font-weight:700}.skip-link:focus-visible{transform:translateY(0)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;background:#fffffff0;box-shadow:inset 0 1px #ffffffb8;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;accent-color:var(--primary)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):hover{border-color:var(--border-strong)}:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea):focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}:where(input,textarea)::placeholder{color:#9298a6}:where(button,[href],input,select,textarea,summary,[role=button],[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:#3d54c72e;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3d54c740;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#3d54c766}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button:active:not(:disabled){transform:scale(.97)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.auth-modal.active{opacity:1;visibility:visible}.auth-container{background:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--radius-lg);box-shadow:var(--shadow-floating);border:1px solid var(--border-subtle);position:relative;padding:22px;max-width:450px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.auth-modal.active .auth-container{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.auth-header{text-align:center;margin-bottom:26px}.auth-modal__close{position:absolute;top:14px;right:16px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;padding:0;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#ffffffbf;color:#7b8190;font-size:0;line-height:1;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.auth-modal__close:before,.auth-modal__close:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;border-radius:999px;background:currentColor;transform-origin:center}.auth-modal__close:before{transform:translate(-50%,-50%) rotate(45deg)}.auth-modal__close:after{transform:translate(-50%,-50%) rotate(-45deg)}.auth-modal__close:hover{background:#fffffffa;border-color:#ef444499;color:var(--danger)}.auth-modal__close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.auth-header h1,.auth-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:2rem;color:var(--primary);margin-bottom:8px;letter-spacing:0}.auth-brand__logo{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(61,84,199,.18))}.auth-header p{color:#777;font-size:1.1em}.auth-tabs{display:flex;gap:10px;margin-bottom:22px;padding:5px;border:1px solid var(--border-subtle);background:#3d54c70d;border-radius:14px}.auth-tab{flex:1;padding:12px;text-align:center;border:1px solid transparent;background:transparent;border-radius:10px;cursor:pointer;font-weight:600;transition:all .22s;color:var(--text-secondary)}.auth-tab.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);color:#fff;box-shadow:var(--shadow-primary)}.auth-container #loginSubmitBtn,.auth-container #registerSubmitBtn,.auth-container #verifySubmitBtn,.auth-container #forgotPasswordSubmitBtn,.auth-container #resetPasswordSubmitBtn{font-family:inherit;font-size:1em;font-weight:600;padding:12px}.auth-social-separator{position:relative;margin:14px 0 10px;text-align:center}.auth-social-separator:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #e7e7ea;transform:translateY(-50%)}.auth-social-separator span{position:relative;padding:0 10px;background:#fff;color:#8a8a8a;font-size:.8em}.auth-social-buttons-group{display:flex;flex-direction:row;gap:10px;justify-content:center;width:100%}.auth-google-block{display:flex;align-items:center;justify-content:center;flex:1}.auth-google-block.auth-google-block-hidden{display:none!important}.auth-social-separator:has(+.auth-social-buttons-group>.auth-google-block.auth-google-block-hidden+.auth-social-block.auth-social-block-hidden+.auth-social-block.auth-social-block-hidden){display:none!important}.auth-social-block{display:flex;align-items:center;justify-content:center;flex:1}.auth-social-block.auth-social-block-hidden{display:none!important}.auth-social-btn{display:flex;align-items:center;justify-content:center;width:100%;height:44px;border:1px solid #dadce0;border-radius:14px;background:#fff;font-family:inherit;cursor:pointer;transition:background .16s,box-shadow .16s,transform .12s;box-shadow:0 1px 3px #00000014;box-sizing:border-box}.auth-social-btn:hover{box-shadow:0 2px 6px #00000021;transform:translateY(-1px)}.auth-social-btn:active{transform:none;box-shadow:none}.auth-social-btn--apple{background:#000;border-color:#000;color:#fff}.auth-social-btn--apple:hover{background:#1c1c1c;border-color:#1c1c1c}.auth-social-btn--apple:active{background:#333}.auth-social-btn--apple .fa-apple{font-size:1.4em;line-height:1}.auth-social-btn--yandex{background:#fc3f1d;border-color:#fc3f1d;color:#fff}.auth-social-btn--yandex:hover{background:#e43518;border-color:#e43518}.auth-social-btn--yandex:active{background:#c92b12}.auth-yandex-letter{font-size:1.25em;font-weight:900;font-family:Arial,sans-serif;line-height:1}.auth-social-btn--google{background:#fff;border-color:#dadce0}.auth-social-btn--google:hover{background:#f8f9fa;border-color:#c6c6c6}.auth-social-btn--google:active{background:#f1f3f4}.auth-google-sdk-host{position:absolute;top:-9999px;left:-9999px;width:200px;height:50px;pointer-events:none}.social-consent-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffffff7;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;z-index:10;padding:24px}.social-consent-overlay.is-hidden{display:none}.social-consent-box{width:100%;display:flex;flex-direction:column;gap:14px}.social-consent-title{font-size:1.05em;font-weight:700;color:var(--text-primary);margin:0}.social-consent-intro{font-size:.88em;color:#666;margin:0;line-height:1.45}.social-consent-checks{display:flex;flex-direction:column;gap:10px}.social-consent-error{font-size:.82em;color:var(--danger)}.social-consent-error.is-hidden{display:none}.social-consent-actions{display:flex;gap:10px;margin-top:4px}.social-consent-actions .btn-secondary{flex:0 0 auto}.social-consent-actions .submit-btn{flex:1}.auth-social-hint{font-size:.78em;color:#8a8a8a;text-align:center;line-height:1.3}.auth-social-hint.is-error{color:var(--danger)}.form-group{margin-bottom:10px}.form-group label{display:block;margin-bottom:4px;font-weight:500;color:#777;font-size:.8em}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid var(--border-subtle);border-radius:12px;font-size:.9em;transition:all .3s;box-sizing:border-box;background:#fffffff0}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:var(--focus-ring)}.form-group .error{color:var(--danger);font-size:.85em;margin-top:5px;display:none}.form-group.invalid input,.form-group.invalid select{border-color:var(--danger);background:#fff5f5}.form-group.invalid .error{display:block}.consent-group{margin-top:2px}.consent-check{display:flex!important;align-items:flex-start;gap:9px;font-size:.84em;line-height:1.35;color:#586070!important;margin-bottom:0!important}.consent-check input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.consent-check a{color:var(--primary);font-weight:600;text-decoration:none}.consent-check a:hover{text-decoration:underline}.form-group.invalid .consent-check span{color:var(--danger)}.submit-btn{width:100%;padding:12px;min-height:var(--btn-height);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.05em;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:var(--shadow-primary)}.submit-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:var(--shadow-primary-hover)}.submit-btn:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.switch-link,.forgot-password-link{text-align:center;margin-top:20px;color:#777;font-size:.88em}.switch-link a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s;font-size:1em}.switch-link a:hover{color:#5568d3}.forgot-password-link a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s;font-size:1em}.forgot-password-link a:hover{color:#5568d3}.container{max-width:1400px;margin:0 auto;padding:0 20px 20px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom))}@media(min-width:769px){.container{padding-top:0}.page-shell{margin-top:24px}header{min-height:80px;padding:20px 0;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:20px}header h1{font-size:1.45em}.global-month-bar{margin-top:18px}body.is-authenticated header{min-height:80px;padding:20px 0;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:20px}body.is-authenticated header h1{font-size:1.45em}body.is-authenticated .page-shell{margin-top:24px}}.page-shell{width:min(1080px,100%);margin:0 auto 32px}@media(min-width:1100px){.page-shell{width:min(1260px,100%);margin-bottom:40px}}.main-content{opacity:1;transition:opacity .3s ease;background:var(--background);min-height:100vh;min-height:100dvh}.main-content.blur{opacity:.3;filter:blur(5px);pointer-events:none}.main-content.main-content-public{min-height:100vh;min-height:100dvh}.page-transition{opacity:0;transform:translateY(4px);transition:opacity .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.25,.46,.45,.94)}.page-transition-active{opacity:1;transform:translateY(0)}header{text-align:center;color:#fff;position:relative;z-index:9405;background:radial-gradient(circle at top left,#ffffff2e,#fff0 34%),linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);margin-left:calc(-1*max(20px,env(safe-area-inset-left)));margin-right:calc(-1*max(20px,env(safe-area-inset-right)));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));border-radius:0 0 24px 24px;box-shadow:0 16px 34px #3d54c738;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:visible}@media(max-width:768px){header{min-height:0;padding:8px 0 12px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:12px;border-radius:0 0 18px 18px;box-shadow:0 10px 24px #3d54c72e}header h1{font-size:1.18rem;line-height:1.05;margin-bottom:0}.user-info{margin-top:8px}.user-badge{padding:5px 10px;gap:6px;font-size:.86rem;border-radius:999px;box-shadow:0 8px 18px #1118271f}.avatar-emoji{width:32px;height:32px;font-size:1rem}.avatar-emoji:after{top:5px;right:5px;bottom:5px;left:5px}body .user-profile-clickable{padding:4px 6px;gap:5px}body #userName{max-width:108px}}header h1{font-size:1.4em;font-weight:800;letter-spacing:0;margin:0 0 2px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.16)}.site-brand{display:inline-flex;align-items:center;justify-content:center;gap:8px}.site-brand__logo{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 5px 9px rgba(0,0,0,.16))}header p{font-size:.95em;color:#ffffffeb;opacity:.92}.user-info{position:absolute;top:50%;right:max(16px,env(safe-area-inset-right));transform:translateY(-50%);display:flex;align-items:center;gap:12px;z-index:9406}.sections-tabs--initially-hidden,.public-first-screen--initially-hidden{display:none}.user-badge{background:#ffffff2e;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 14px;border-radius:999px;font-weight:600;font-size:.95em;border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;gap:8px;box-shadow:0 10px 22px #11182724;color:#fff;overflow:visible}.logout-btn{background:#fffffff5;color:var(--primary);padding:8px 16px;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s,background-color .2s;font-weight:650;font-size:.92em;border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 22px #1118271f}.logout-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px #11182729}.avatar-emoji{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;font-size:1.35rem;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;line-height:1;transition:transform .2s,box-shadow .2s;padding:0;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 28% 22%,#ffffff5c,#fff0 42%),radial-gradient(circle at 78% 80%,#0f172a2e,#0f172a00 36%),var(--avatar-fill, linear-gradient(135deg, var(--primary, #3d54c7) 0%, #8da4f0 100%));border:1px solid rgba(255,255,255,.32);box-shadow:0 10px 22px #11182729}.avatar-emoji:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1px solid rgba(255,255,255,.18);transform:translate(10%,10%)}.avatar-emoji:hover{transform:scale(1.04);box-shadow:0 14px 26px #11182733}.avatar-emoji.picker-open{transform:scale(1.04);box-shadow:0 14px 26px #11182738}.emoji-picker-popup{position:absolute;top:100%;right:0;margin-top:10px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000040;padding:16px;z-index:1001;width:360px;max-height:480px;display:none;flex-direction:column;overflow-x:hidden}.emoji-picker-popup.active{display:flex;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function) forwards}.emoji-picker-popup h4{color:var(--dark);font-size:.95em;text-align:center;flex-shrink:0;margin:0;flex-grow:1}.emoji-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #eee}.emoji-tabs{display:flex;gap:2px;margin-bottom:10px;flex-shrink:0;overflow-x:hidden;padding-bottom:4px;width:100%;justify-content:flex-start}.emoji-tab{padding:4px 8px;border:none;background:#f5f5f5;border-radius:6px;cursor:pointer;font-size:1.1em;transition:all .2s;flex-shrink:0;white-space:nowrap}.emoji-tab.active{background:var(--primary);filter:none;box-shadow:0 2px 8px #667eea4d}.emoji-tab:hover{background:#e0e0e0}.emoji-tab.active:hover{background:var(--primary)}.emoji-grid-scroll{overflow-y:auto;max-height:260px;flex:1;overflow-x:hidden;-webkit-overflow-scrolling:touch}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:100%;overflow-x:hidden;padding:4px 0}.emoji-option{font-size:1.4em;padding:4px;text-align:center;cursor:pointer;border-radius:6px;transition:all .15s;border:2px solid transparent;background:none;line-height:1;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.emoji-option:hover{background:#f0f0f0;transform:scale(1.15)}.emoji-option:active{transform:scale(.95)}.emoji-option.selected{border-color:var(--primary);background:var(--primary-bg-hover)}.global-month-bar{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:20px;max-width:1200px;margin-left:auto;margin-right:auto;flex-wrap:nowrap;position:sticky;top:10px;z-index:9300}@media(min-width:769px){.global-month-bar{position:static;top:10px;z-index:9300;margin-bottom:26px}.month-band{min-height:56px}.main-area{padding:28px 30px}footer.site-footer{margin-top:36px;padding:24px 28px}}.month-band{display:flex;align-items:center;gap:2px;padding:4px;background:#ffffffc7;border:0;border-radius:999px;box-shadow:none;flex-shrink:0;position:relative;overflow:visible;z-index:9301;transition:box-shadow .2s ease,border-color .2s ease}.month-band:hover{box-shadow:none;border-color:transparent}.period-nav-btn{width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background-color .18s ease,color .18s ease,transform .18s ease}.period-nav-btn:hover{background:var(--primary-bg-subtle);color:var(--primary-soft)}.period-nav-btn:active{transform:scale(.95)}.period-nav-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.period-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}.period-select{position:relative;min-width:165px}.period-select-year{min-width:104px}.period-select+.period-select{border-left:0}.period-select-trigger{width:100%;border:none;background:transparent;color:var(--text-primary);font-weight:650;font-family:inherit;font-size:.95em;padding:10px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:999px;transition:background-color .2s,color .2s}.period-select-trigger:hover{background-color:var(--primary-bg-subtle)}.period-select-trigger:focus-visible{outline:none;background-color:var(--primary-bg-soft)}.period-select-trigger i{font-size:.78em;color:var(--text-secondary)}.tx-calendar-content{max-width:360px;width:min(92vw,360px);padding:16px;border-radius:16px}.tx-cal-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:2px 0 10px;position:relative;z-index:2}.tx-cal-picker,.tx-cal-picker.tx-cal-picker-month,.tx-cal-picker.tx-cal-picker-year{position:relative;background:transparent;box-shadow:none}.tx-cal-picker.tx-cal-picker-month{min-width:100px}.tx-cal-picker.tx-cal-picker-year{min-width:80px}.tx-cal-picker-trigger{width:100%;border:none;background:var(--btn-bg);color:var(--btn-color);border-radius:var(--radius-sm);padding:0 var(--btn-padding-x);height:var(--btn-height);font-size:.65em;font-weight:600;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s,color .2s}.tx-cal-picker-trigger:hover{background:var(--primary);color:#fff}.tx-cal-picker-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tx-cal-picker-list{list-style:none;margin:0;padding:0;max-height:230px;overflow-y:auto}.tx-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;color:#8a8f99;font-size:.8em;font-weight:600;text-align:center}.tx-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}.tx-cal-empty{min-height:34px}.tx-cal-day{min-height:34px;border:1px solid #e5e5e5;border-radius:10px;background:#f8f9fc;color:#555;font-size:.9em;font-weight:600;cursor:pointer;transition:all .15s ease}.tx-cal-day:hover{border-color:var(--primary);background:#eef1ff;color:var(--primary)}.tx-cal-day.today{border-color:#b8bfd1}.tx-cal-day.active{background:var(--primary);border-color:var(--primary);color:#fff}@media(min-width:1100px){.global-month-bar{justify-content:center;gap:18px;margin-bottom:22px}.month-band{min-height:52px}.period-select-trigger{min-height:50px;padding:12px 16px}}.period-select-dropdown,.tx-cal-picker-dropdown{position:absolute;top:calc(100% + 8px);left:50%;background:#fffffff7;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-floating);padding:8px;z-index:9999;opacity:0;transform:translate(-50%,-6px) scale(.98);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.period-select-dropdown{min-width:100%;display:block}.tx-cal-picker-dropdown{min-width:180px}.period-select-dropdown.open,.tx-cal-picker-dropdown.open{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.period-options-list{list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto}.period-option,.tx-cal-picker-option{padding:9px 10px;color:var(--text-primary);border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;min-height:40px;display:flex;align-items:center}.period-option:hover,.tx-cal-picker-option:hover{background:var(--surface-soft)}.period-option.active,.tx-cal-picker-option.active{background:var(--primary-bg-active);color:var(--primary)}.period-year-input-wrap,.tx-cal-year-input-wrap{display:flex;align-items:center;gap:8px;margin-bottom:8px}.period-year-input-wrap input,.tx-cal-year-input-wrap input{flex:1;min-width:0;height:34px;border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-primary);background:#fff;padding:0 10px}.period-year-input-wrap input::placeholder,.tx-cal-year-input-wrap input::placeholder{color:#888}.period-year-input-wrap input:focus,.tx-cal-year-input-wrap input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.period-year-input-wrap button,.tx-cal-year-input-wrap button{border:1px solid var(--border-subtle);border-radius:10px;height:34px;padding:0 10px;color:#333;background:var(--surface-soft);font-weight:650;cursor:pointer}.period-year-input-wrap button:hover,.tx-cal-year-input-wrap button:hover{background:#eef1ff;border-color:#c9d0ff}@media(max-width:500px){.tx-cal-controls{grid-template-columns:1fr}.tx-cal-picker-dropdown{left:50%;min-width:min(88vw,320px)}}@media(max-width:768px){.period-select{min-width:0;flex:1}.period-select-year{flex:0 0 92px}.period-select-trigger{font-size:.9em;padding:9px 10px}.period-select-dropdown{min-width:180px}}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto}@media(min-width:1100px){.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px}}.content{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:30px;margin-bottom:40px}.main-area{background:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--page-block-radius);padding:24px;box-shadow:var(--shadow-card-subtle);transition:box-shadow .2s ease;border:1px solid var(--border-subtle)}.main-area:hover{box-shadow:var(--shadow-card-hover)}footer.site-footer{background:#ffffffd6;border-top:1px solid var(--border-subtle);padding:16px 18px;color:var(--text-secondary);margin-top:32px;border-radius:var(--page-block-radius);box-shadow:0 8px 22px #1118370f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;gap:10px}.site-footer__row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.site-footer__brand{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0}.site-footer__logo{width:18px;height:18px;flex:0 0 18px;border-radius:4px;object-fit:contain}.site-footer__brand strong{color:var(--text-primary);font-size:.96rem;font-weight:800;line-height:1.2}.site-footer__links{display:inline-flex;align-items:center;flex-wrap:wrap;gap:14px}.site-footer__link{border:none;background:none;color:var(--primary);cursor:pointer;display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:700;padding:0;text-decoration:none;opacity:.88;transition:opacity .18s ease,color .18s ease}.site-footer__link:hover{opacity:1;color:#3148bb}.site-footer__bottom{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:4px 12px;padding-top:10px;border-top:1px solid rgba(61,84,199,.1);color:#6b7690;font-size:.84rem}@media(max-width:768px){.container{padding:0 14px 12px}header{display:flex;flex-direction:column;align-items:center;padding:8px 0 12px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:12px;min-height:0}header h1{margin:0;font-size:1.18rem;line-height:1.05}.user-info{position:static;top:auto;right:auto;transform:none;margin-top:8px;justify-content:center;flex-wrap:wrap}.global-month-bar{position:static;margin-bottom:18px;flex-wrap:wrap;justify-content:center;width:100%}.global-month-bar .month-band{flex:0 0 auto;margin-left:auto;margin-right:auto;max-width:100%}.content{grid-template-columns:1fr;gap:20px;margin-bottom:24px}.main-area{padding:16px 18px;min-width:0}.stats-row{gap:10px;margin-bottom:18px}footer.site-footer{padding:14px;margin-top:20px;gap:8px}.site-footer__row{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px}.site-footer__links{width:auto;justify-content:flex-end;flex-wrap:nowrap;gap:10px}.site-footer__brand{gap:6px}.site-footer__bottom{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:8px;padding-top:10px;font-size:.78rem}}@media(max-width:480px){.container{padding:0 12px 10px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.main-area{padding:14px 12px}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}footer.site-footer{padding:12px;margin-top:16px}.site-footer__links{flex-direction:row;align-items:center;gap:8px}.site-footer__brand strong,.site-footer__link{font-size:.84rem}.site-footer__bottom{width:100%;font-size:.74rem;gap:6px}}.tx-mode-switch{display:inline-flex;align-items:center;gap:6px;background:var(--primary-bg-soft);border:1px solid rgba(102,126,234,.16);border-radius:12px;padding:4px;margin-right:8px}.tx-mode-switch[style*="display:none"]{display:none!important}.tx-mode-btn{border:none;background:var(--btn-bg);color:var(--btn-color);border-radius:var(--radius-sm);padding:0 var(--btn-padding-x);height:var(--btn-height);font-weight:600;font-size:.65em;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tx-mode-btn.active{background:var(--primary);color:#fff}@media(max-width:900px){.tx-mode-switch{order:3;width:100%;margin:8px 0 0}.tx-mode-btn{flex:1;justify-content:center}}#toastContainer{position:fixed;bottom:24px;right:24px;z-index:999999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-size:14px;font-weight:500;color:#fff;box-shadow:0 4px 20px #0003;transform:translate(calc(100% + 24px));opacity:0;transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;pointer-events:auto;max-width:320px;word-break:break-word}.toast.toast-visible{transform:translate(0);opacity:1}.toast-success{background:var(--success)}.toast-error{background:var(--danger)}.toast-warning{background:var(--warning);color:#333}.toast-info{background:var(--primary)}@media(max-width:480px){#toastContainer{bottom:16px;right:12px;left:12px}.toast{max-width:100%}}.confirm-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999997;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;pointer-events:none;transition:opacity .2s ease}.confirm-sheet.active{opacity:1;pointer-events:auto}.confirm-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073}.confirm-sheet-panel{position:relative;background:#fff;border-radius:20px 20px 0 0;padding:24px 20px 36px;transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.15,.64,1)}.confirm-sheet.active .confirm-sheet-panel{transform:translateY(0)}.confirm-sheet-message{font-size:16px;color:#333;text-align:center;margin:0 0 22px;line-height:1.5}.confirm-sheet-actions{display:flex;gap:10px}.confirm-sheet-cancel,.confirm-sheet-ok{flex:1;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s}.confirm-sheet-cancel{background:#f0f0f5;color:#555}.confirm-sheet-ok{background:var(--primary);color:#fff}.confirm-sheet-ok.confirm-sheet-danger{background:var(--danger)}.confirm-sheet-cancel:active,.confirm-sheet-ok:active{opacity:.8}#mathAccessoryBar{position:fixed;bottom:0;left:0;right:0;z-index:99998;display:none;align-items:center;gap:6px;padding:6px 10px;background:#d1d5db;border-top:1px solid #b0b5bc;box-shadow:0 -2px 8px #0000001a}#mathAccessoryBar.active{display:flex}#mathAccessoryBar button{background:#fff;border:none;border-radius:7px;min-width:46px;height:38px;padding:0 10px;font-size:20px;font-weight:500;color:#111;box-shadow:0 2px #9ea3ab;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background .08s,transform .08s,box-shadow .08s}#mathAccessoryBar button:active{background:#e2e5ea;box-shadow:0 1px #9ea3ab;transform:translateY(1px)}#mathAccessoryBar .math-bar-back{background:#bfc4cc;color:#333;font-size:17px}#mathAccessoryBar .math-bar-back:active{background:#adb2b9}#mathAccessoryBar .math-bar-spacer{flex:1}.auth-status-banner{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin:14px 0 20px;padding:14px 16px;border-radius:var(--page-block-radius);border:1px solid rgba(70,82,120,.14);background:#f8fafffa;color:var(--text);box-shadow:0 14px 30px #1c264214}.auth-status-banner[hidden]{display:none}.auth-status-banner__icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;background:#6373e71f;color:#4a5dd4}.auth-status-banner__copy{display:flex;flex-direction:column;gap:3px;min-width:0}.auth-status-banner__title{font-size:14px;font-weight:700}.auth-status-banner__message{font-size:14px;line-height:1.45;color:var(--muted)}.auth-status-banner__actions{display:inline-flex;align-items:center;gap:8px}.auth-status-banner__action,.auth-status-banner__close{border:1px solid rgba(70,82,120,.14);background:#fff;color:var(--text);border-radius:12px;min-height:44px;padding:0 14px;font-weight:600;cursor:pointer}.auth-status-banner__close{width:44px;min-width:44px;padding:0}.auth-status-banner--warning{background:#fff9ecfa;border-color:#b0750e2e}.auth-status-banner--warning .auth-status-banner__icon{background:#b0750e1f;color:#a05f00}.auth-status-banner--error{background:#fff4f4fa;border-color:#ba3e3e29}.auth-status-banner--error .auth-status-banner__icon{background:#ba3e3e1f;color:#b03d3d}@media(max-width:768px){.auth-status-banner{grid-template-columns:1fr;gap:12px;padding:14px;border-radius:16px}.auth-status-banner__actions{width:100%;justify-content:space-between}.auth-status-banner__action{flex:1 1 auto}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:none;align-items:center;justify-content:center;z-index:9500;opacity:0;visibility:hidden;transition:opacity 0s,visibility 0s}.modal.active{display:flex;opacity:1;visibility:visible}.modal-content{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:15px;max-width:1050px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(var(--scale-start));opacity:0;transition:transform var(--modal-animation-duration) var(--modal-easing-function),opacity var(--modal-animation-duration) var(--modal-easing-function)}.modal.active .modal-content{transform:scale(var(--scale-end));opacity:1;animation:modalSlideIn var(--modal-animation-duration) var(--modal-easing-function)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid #eee}.modal-title{font-size:1.8em;color:var(--dark);font-weight:600}@keyframes modalSlideIn{0%{opacity:0;transform:scale(var(--scale-start)) translateY(var(--slide-in-offset))}to{opacity:1;transform:scale(var(--scale-end)) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(var(--scale-end)) translateY(0)}to{opacity:0;transform:scale(var(--scale-start)) translateY(var(--slide-in-offset))}}.btn,.btn-secondary,.btn-danger,.submit-btn{min-height:var(--btn-height);border-radius:12px;font-size:.95rem;font-weight:650;letter-spacing:-.01em;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease}.btn{width:auto;padding:10px 16px;background:linear-gradient(180deg,#fffffffa,#f6f8fdfa);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;box-shadow:0 1px 2px #0f172a0a}.btn:hover{background:var(--surface-soft);border-color:var(--primary-border);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.btn-secondary{width:auto;padding:10px 16px;background:linear-gradient(180deg,#fffffff5,#f4f6fcfa);color:var(--btn-color);border:1px solid var(--border-subtle);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 1px 2px #0f172a0a}.btn-secondary:hover{background:var(--surface-soft);border-color:var(--primary-border);box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.btn-secondary.active{background:var(--primary);color:#fff;box-shadow:var(--btn-shadow-hover)}.btn-add{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-soft) 100%);color:#fff;width:56px;height:56px;padding:0;border:none;border-radius:50%;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #3d54c759;position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));z-index:9400;font-size:1.25em}.btn-add:hover{transform:scale(1.05);box-shadow:0 6px 20px #3d54c773}.btn-add:active{transform:scale(.95)}.btn-add i{margin:0}.btn-add span,.btn-add .btn-add-text{display:none}.btn-add-icon-only span,.btn-add-icon-only .btn-add-text{display:none!important}@media(min-width:769px){.btn-add{width:56px;height:56px;padding:0;border-radius:50%}.btn-add span,.btn-add .btn-add-text{display:none}}@media(max-width:599px){.btn-add{right:max(16px,env(safe-area-inset-right));bottom:max(72px,calc(env(safe-area-inset-bottom,0px) + 56px));width:52px;height:52px;min-width:52px;min-height:52px}}.dropdown-menu{position:absolute;background:#fffffff0;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-floating);z-index:9000;min-width:200px;margin-top:8px;--dropdown-transform-closed: translate(-50%, -6px) scale(.98);--dropdown-transform-open: translate(-50%, 0) scale(1);opacity:0;transform:var(--dropdown-transform-closed);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.dropdown-menu.open{opacity:1!important;transform:var(--dropdown-transform-open);pointer-events:auto}.dropdown-item{padding:12px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background-color .2s;color:#333;font-size:14px;min-height:44px;width:100%;border:none;background:transparent;text-align:left;font-family:inherit}.dropdown-item:hover{background-color:#f8f9fa}.dropdown-item:focus-visible{outline:none;background-color:#f2f4ff;box-shadow:inset 0 0 0 2px var(--primary-border)}.dropdown-item-danger{color:var(--danger)}.dropdown-item-danger:hover{background-color:#fff5f5}.dropdown-item i{min-width:16px}#userProfileDropdown{min-width:min(280px,calc(100vw - 24px));padding:6px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:hidden;right:0;left:auto;margin-top:0}#userProfileDropdown .dropdown-item{min-height:40px;padding:9px 12px;line-height:1.25;border-radius:12px}#userProfileDropdown .dropdown-divider{margin:5px 2px;background-color:#d6dceceb}#userProfileDropdown .friends-badge,#userProfileDropdown .plus-menu-badge{flex-shrink:0;align-self:center}#userProfileDropdown .plus-menu-badge{line-height:1.1}.user-profile-clickable{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 8px;border:none;background:transparent;color:inherit;font:inherit;border-radius:20px;transition:background-color .2s}.user-profile-clickable:hover{background-color:#fff3}.user-profile-clickable:focus-visible{outline:2px solid rgba(255,255,255,.92);outline-offset:2px}.user-profile-copy{display:inline-flex;align-items:center;gap:8px;min-width:0}#userName{display:inline-block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-status-indicator{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.78rem;font-weight:800;line-height:1}.profile-status-indicator--plus{width:20px;height:20px;border-radius:50%;color:#fff;background:radial-gradient(circle at 30% 26%,#ffffff52,#fff0 42%),linear-gradient(135deg,#3150d0,#5476eb);box-shadow:0 8px 18px #3150d040}.btn-danger{flex:1;padding:10px 16px;background:linear-gradient(180deg,#d94b4b 0%,var(--danger) 100%);color:#fff;border:1px solid rgba(184,33,33,.25);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #b8212133}.btn-danger:hover{background:linear-gradient(180deg,#e25555,#a91d1d);transform:translateY(-1px);box-shadow:0 14px 26px #b821213d}.btn-danger:disabled{background:#ccc;cursor:not-allowed;transform:none}.dropdown-divider{height:1px;background-color:#eee;margin:5px 0}@media(max-width:768px){#userProfileDropdown .dropdown-item{min-height:40px;padding:8px 12px}#userProfileDropdown .dropdown-divider{margin:4px 2px}#userName{max-width:112px}.user-profile-clickable{padding:6px 8px;gap:6px}}.sections-tabs{display:flex;justify-content:flex-start;align-items:center;background-color:#f1f2f6;padding:4px;border-radius:999px;margin:0 auto 16px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:max-content;max-width:100%}.sections-tabs::-webkit-scrollbar{display:none}.section-tab{background:transparent;border:none;color:var(--text-secondary);padding:6px 12px;border-radius:999px;cursor:pointer;font-size:.9em;font-weight:500;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;white-space:nowrap;box-shadow:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;max-width:min(220px,46vw);display:inline-flex;align-items:center;gap:7px}.section-tab i{flex:0 0 auto;font-size:.92em}.section-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis}.section-tab:hover{color:var(--text-primary)}.section-tab.active{background:#fff;color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.page-card{background:linear-gradient(180deg,#fffffffa,#f8fafffa);border-radius:var(--page-block-radius);border:1px solid var(--border-subtle);box-shadow:var(--shadow-card-subtle);transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s ease-in-out}.page-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.empty-state,.empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:84px;padding:18px 16px;color:var(--text-secondary);font-weight:500;text-align:center;border:1px dashed rgba(61,84,199,.18);border-radius:var(--block-surface-radius-sm);background:#ffffffa8}.empty-state i,.empty i{font-size:1.05rem;color:var(--primary);opacity:.9}.status-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:92px;padding:18px 16px;border-radius:var(--block-surface-radius-md);border:1px solid var(--border-subtle);background:linear-gradient(180deg,#fffffff7,#f7f9fffa);color:var(--text-secondary);font-weight:600;text-align:center}.status-state i{font-size:1.05rem}.status-state--loading i{color:var(--primary)}.status-state--error{border-color:#b821212e;background:linear-gradient(180deg,#fffafafa,#fff3f3fa);color:var(--danger)}.status-state--warning{border-color:#ebb34f3d;background:linear-gradient(180deg,#fffcf5fa,#fff8e6fa);color:#a06a00}.status-state--success{border-color:#176b3d2e;background:linear-gradient(180deg,#f7fffafa,#eefcf4fa);color:var(--success)}.page-card--lg{padding:24px 24px 20px}.skeleton{color:transparent!important;background:linear-gradient(90deg,#0000000a 25%,#00000014,#0000000a 75%);background-size:400% 100%;animation:skeleton-loading 1.2s ease-in-out infinite;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;pointer-events:none}.skeleton *{visibility:hidden}.skeleton-chart{height:300px;width:100%;display:block;border-radius:var(--radius-md)}.skeleton-text{height:1.2em;width:60%;display:inline-block;border-radius:4px}.skeleton-card{min-height:120px;width:100%;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.is-hidden{display:none!important}.user-badge--menu-anchor{position:relative}.profile-action--investments-only{display:none}.investments-page .profile-action--investments-only{display:flex}.auth-status-note{font-size:13px;color:#888;margin:8px 0 0}.auth-status-note--strong{margin-top:0;color:#46516a;font-size:14px}.auth-flow-topbar{display:flex;justify-content:flex-start;margin-bottom:10px}.auth-flow-back-btn{border:0;background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:700;padding:4px 2px}.auth-flow-back-btn:hover{color:var(--primary)}.auth-inline-actions{display:flex;align-items:center;gap:10px}.auth-inline-actions--center{justify-content:center}.auth-panel-footer{margin-top:15px;text-align:center}.auth-panel-footer--stack{display:grid;gap:10px;justify-items:center}.modal-copy-block{padding:10px 0 16px}.modal-copy-block p{margin:0 0 10px}.modal-copy-note{font-size:.88em;color:#888}.modal-copy-note--subtle{color:#aaa;margin-bottom:20px}.modal-copy-note--strong{font-size:1em;color:#333}.modal-cta-full{width:100%}.modal-result-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;min-height:300px}.modal-result-screen__icon{font-size:4em;color:#28a745;margin-bottom:20px}.modal-result-screen__title{margin:0 0 15px;font-size:1.5em}.modal-result-screen__text{margin:0 0 40px;color:#666;max-width:400px}.modal-result-screen__action{margin-top:10px}.input-action-row{display:flex;gap:8px}.input-action-row__field{flex:1}.input-action-row__button{padding:0 12px;font-size:1.2em;flex-shrink:0}.modal-form-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.panel-block{margin-bottom:20px}.panel-block__title{margin-bottom:10px}.panel-block__stack,.feature-gate-hint--spaced{margin-bottom:12px}.feature-gate-hint{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(99,115,231,.25);background:#6373e714;color:#4b5563;font-size:.9rem;line-height:1.35}.feature-gate-hint i{color:#6373e7;margin-top:1px;flex-shrink:0}.feature-gate-hint--compact{margin-bottom:14px;font-size:.86rem}.feature-gate-hint a{color:var(--primary, #3d54c7);font-weight:600;text-decoration:none}.feature-gate-hint a:hover{text-decoration:underline}.plus-gate{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 24px;text-align:center}.plus-gate-icon{font-size:2em;color:var(--primary, #3d54c7);opacity:.9}.plus-gate-title{font-weight:700;font-size:1.05em;color:var(--text-primary, #212121)}.plus-gate-desc{font-size:.88em;color:var(--text-secondary, #66666e);line-height:1.5;max-width:320px}.plus-gate-btn{margin-top:4px}body.dark-theme .feature-gate-hint{border-color:#7b8cff52;background:#7b8cff24;color:#d8dbe7}body.dark-theme .feature-gate-hint i{color:#95a3ff}.category-create-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.action-button--full-height{height:100%;padding:10px 15px}.segmented-actions{display:flex;gap:10px;margin-bottom:10px}.segmented-actions>*{flex:1;padding:8px}.scroll-panel{max-height:300px;overflow-y:auto;border:1px solid #eee;border-radius:8px;padding:10px}.sections-create-row{display:flex;gap:10px;align-items:stretch}.sec-create-icon-modal{flex:0 0 124px;width:124px}.section-icon-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.section-icon-picker{position:relative;flex:0 0 124px;width:124px;z-index:3}.section-icon-picker__trigger{width:124px;height:48px;border:1px solid rgba(15,23,42,.12);border-radius:999px;background:#fffffff5;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.12rem;cursor:pointer;box-shadow:0 10px 24px #0f172a0f;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.section-icon-picker__trigger:hover,.section-icon-picker.is-open .section-icon-picker__trigger{border-color:#667eea80;box-shadow:var(--focus-ring)}.section-icon-picker__trigger:disabled,.section-icon-picker__option:disabled{cursor:not-allowed;opacity:.62}.section-icon-picker__grid{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:292px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fffffffa;box-shadow:0 20px 60px #0f172a38;display:none;grid-template-columns:repeat(5,44px);gap:10px}.section-icon-picker.is-open .section-icon-picker__grid{display:grid}.section-icon-picker__option{width:44px;height:44px;border:0;border-radius:999px;background:#4356d31a;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.section-icon-picker__option:hover{transform:translateY(-1px);background:#4356d329}.section-icon-picker__option.is-selected{background:var(--primary);color:#fff}.section-icon-picker__option:disabled:hover{transform:none;background:#4356d31a}.section-icon-picker__option.is-selected:disabled{background:var(--primary)}.sections-create-row__field{flex:1;min-width:0}.sections-create-row__button{white-space:nowrap;width:auto;padding:0 20px}.sections-list-panel{max-height:400px;overflow-y:auto;padding:4px 0}.friends-tab-panel--scroll-sm{max-height:360px;overflow-y:auto}.friends-tab-panel--scroll-lg{max-height:400px;overflow-y:auto}.friends-invite-button{width:100%;margin-bottom:16px}@media(max-width:960px){.category-create-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.category-create-grid,.modal-form-grid{grid-template-columns:1fr}.sections-create-row,.segmented-actions,.auth-inline-actions{flex-direction:column;align-items:stretch}.sec-create-icon-modal{width:100%;flex-basis:auto}.section-icon-picker,.section-icon-picker__trigger{width:100%}.section-icon-picker{flex-basis:auto}.section-icon-picker__grid{width:min(292px,calc(100vw - 56px));grid-template-columns:repeat(5,minmax(36px,44px));justify-content:center}.sections-create-row__button,.friends-invite-button,.modal-cta-full{width:100%}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-subtle);display:flex;align-items:stretch;z-index:9100;box-shadow:0 -8px 24px #0f172a14;overflow:visible}.bottom-nav-inner{display:flex;width:100%;max-width:1200px;margin:0 auto}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:#8b93a5;font-size:.7em;font-weight:650;padding:6px 4px 10px;cursor:pointer;border:none;background:none;transition:color .18s,background-color .18s,transform .18s;position:relative;-webkit-tap-highlight-color:transparent;letter-spacing:.01em}.nav-item i{font-size:1.3em;transition:transform .18s;line-height:1}.nav-item.active{color:var(--primary, #3d54c7);font-weight:750;background:#3d54c71a;border-radius:14px;margin:4px 2px;box-shadow:inset 0 0 0 1px #3d54c724}.nav-item.active i{transform:scale(1.15);color:var(--primary, #3d54c7)}.nav-item:hover{color:var(--primary);background:#3d54c70d}.nav-item:active i{transform:scale(.9);transition:transform .08s}.nav-item:active{color:var(--primary)}@media(min-width:769px){.bottom-nav{bottom:20px;left:50%;right:auto;transform:translate(-50%);width:auto;min-width:300px;max-width:360px;border-radius:14px;border-top:none;border:1px solid rgba(61,84,199,.12);height:64px;box-shadow:var(--shadow-floating)}.nav-item{padding:8px 20px 9px;font-size:.68em;min-width:84px;gap:4px}.nav-item.active{margin:4px}.nav-item i{font-size:1.25em}}button.nav-item{cursor:pointer;outline:none}.container{padding-bottom:92px}@media(min-width:769px){.container{padding-bottom:132px}}
