.calemoji{--ios-red:#ff3b30;--ios-gray-text:#8e8e93;--ios-bg:#000;--ios-card-bg:#1c1c1e;--ios-separator:#38383a;--ios-blue:#0a84ff;--ios-text:#fff;--accent:#ff9500;--bg-elevated:#0000008c;--bg-input:#2c2c2e;--overlay-bg:#00000073;--toast-bg:#28282af2;--cal-day-size:17px;--cal-day-font:11px;--cal-day-dot:16px;--cal-emoji-bubble:#ffffff29;touch-action:pan-x pan-y;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif}.calemoji,.calemoji *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.calemoji .screen[data-theme=light]{--ios-gray-text:#6e6e73;--ios-bg:#fff;--ios-card-bg:#fff;--ios-separator:#d1d1d6;--ios-text:#1c1c1e;--bg-elevated:#ffffffb3;--bg-input:#e5e5ea;--overlay-bg:#00000040;--toast-bg:#fffffff2;--cal-emoji-bubble:#0000001a}.calemoji .screen[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.calemoji img.twemoji-icon{vertical-align:-.15em;width:1em;height:1em;margin:0 .02em}.calemoji .screen{background:var(--ios-bg);flex-direction:column;width:100%;height:100%;transition:background .25s;display:flex;position:relative;overflow:hidden}.calemoji .back-link{padding:max(8px, env(safe-area-inset-top)) 20px 0;letter-spacing:-.4px;text-transform:none;color:var(--ios-blue);z-index:6;flex:none;font-size:17px;font-weight:400;text-decoration:none;position:relative}.calemoji .back-link:hover{color:var(--ios-text)}.calemoji .pages-container{flex:1;min-height:0;position:relative}.calemoji .page{min-height:0;color:var(--ios-text);opacity:0;pointer-events:none;z-index:1;flex-direction:column;transition:opacity .25s cubic-bezier(.34,1.1,.64,1),transform .25s cubic-bezier(.34,1.1,.64,1);display:flex;position:absolute;inset:0;transform:scale(.98)}.calemoji .page.active{opacity:1;pointer-events:auto;z-index:2;transform:scale(1)}.calemoji button,.calemoji .day-cell{transition:transform .15s cubic-bezier(.34,1.3,.64,1),background-color .12s}.calemoji button:active{transform:scale(.94)}.calemoji .day-cell.tappable{cursor:pointer;width:100%;font:inherit;background:0 0;border:none;padding:0}.calemoji .day-cell.tappable:active{transform:none}.calemoji .day-cell.tappable:active .num{background:#80808059}.calemoji .day-cell.emoji-run.tappable:active .num{background:0 0}.calemoji .toast{background:var(--toast-bg);color:var(--ios-text);z-index:200;opacity:0;pointer-events:none;white-space:nowrap;border-radius:20px;padding:9px 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;top:60px;left:50%;transform:translate(-50%,-10px);box-shadow:0 4px 14px #00000059}.calemoji .toast.show{opacity:1;transform:translate(-50%)}.calemoji .nav-bar{z-index:3;background:0 0;flex-direction:column;padding:2px 20px 0;display:flex;position:relative}.calemoji .nav-bar-row{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.calemoji .challenge-pills{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;gap:8px;margin:0 -20px;padding:0 20px 10px;display:flex;overflow:auto hidden}.calemoji .challenge-pills::-webkit-scrollbar{display:none}.calemoji .challenge-pill{background:var(--bg-input);max-width:200px;color:var(--ios-text);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.2;display:inline-flex}.calemoji .challenge-pill.selected{background:var(--ios-blue);color:#fff}.calemoji .challenge-pill-emoji{flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.calemoji .challenge-pill-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.calemoji .challenge-pill-add{width:32px;min-width:32px;max-width:32px;height:32px;color:var(--ios-blue);justify-content:center;padding:0}.calemoji .challenge-pill-add svg{display:block}.calemoji .day-cell.outside-challenge{opacity:.28}.calemoji .nav-title{letter-spacing:.37px;color:var(--ios-text);font-size:34px;font-weight:700}.calemoji .year-nav{align-items:center;gap:8px;display:flex}.calemoji .year-arrow-btn{color:var(--ios-blue);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.calemoji .year-arrow-btn:disabled{opacity:.25;pointer-events:none}.calemoji .accent-divider{background:var(--accent);border-radius:1.5px;width:100%;height:3px}.calemoji .nav-actions{align-items:center;gap:8px;display:flex}.calemoji .theme-toggle-btn{background:var(--bg-input);color:var(--ios-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex}.calemoji .theme-toggle-btn svg{display:block}.calemoji .auth-wrap{position:relative}.calemoji .auth-avatar-btn{overflow:hidden}.calemoji .auth-avatar-img{object-fit:cover;width:34px;height:34px;display:block}.calemoji .auth-initial{color:var(--ios-text);font-size:13px;font-weight:600}.calemoji .profile-card{text-align:center;flex-direction:column;align-items:center;padding:8px 18px 16px;display:flex}.calemoji .profile-avatar{object-fit:cover;border-radius:50%;width:72px;height:72px;margin-bottom:12px}.calemoji .profile-avatar-fallback{background:var(--bg-input);color:var(--ios-text);justify-content:center;align-items:center;font-size:28px;font-weight:600;display:flex}.calemoji .profile-name{color:var(--ios-text);font-size:20px;font-weight:700}.calemoji .profile-email{color:var(--ios-gray-text);margin-top:4px;font-size:14px}.calemoji .profile-hint{color:var(--ios-gray-text);margin-top:8px;font-size:12px}.calemoji .profile-nav{margin-top:0}.calemoji .profile-nav-row{border:none;border-bottom:1px solid var(--ios-separator);width:100%;color:var(--ios-text);font:inherit;cursor:pointer;text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-size:16px;display:flex}.calemoji .profile-nav-row:last-child{border-bottom:none}.calemoji .profile-nav-row svg{color:var(--ios-gray-text);flex:none}.calemoji .profile-nav-row:active{transform:none}.calemoji .profile-sign-out-btn{color:var(--ios-blue);background:#0a84ff24}.calemoji .import-copy{color:var(--ios-text);margin:0 18px 8px;font-size:15px;line-height:1.4}.calemoji .year-scroll{flex-direction:column;flex:1;min-height:0;padding:4px 20px 12px;display:flex;overflow:hidden}.calemoji .month-grid{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;grid-template-rows:repeat(4,auto);grid-template-columns:repeat(3,1fr);align-content:space-between;gap:0 16px;width:100%;height:100%;min-height:0;display:grid}.calemoji .month-card{min-width:0;padding:0}.calemoji .month-name{text-align:left;letter-spacing:-.43px;color:var(--ios-text);margin-bottom:3px;font-size:17px;font-weight:600;line-height:22px}.calemoji .day-row{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--cal-day-size);grid-auto-flow:row;display:grid}.calemoji .day-cell{text-align:center;font-size:var(--cal-day-font);font-variant-numeric:tabular-nums;color:var(--ios-text);font-weight:400;line-height:var(--cal-day-size);height:var(--cal-day-size);justify-content:center;align-items:center;display:flex;position:relative}.calemoji .day-cell.empty{color:#0000}.calemoji .day-cell .num{width:var(--cal-day-dot);height:var(--cal-day-dot);font-size:var(--cal-day-font);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;display:inline-flex}.calemoji .day-cell.today .num{background:var(--ios-red);color:#fff;font-weight:600}.calemoji .day-cell.emoji .num{font-size:calc(var(--cal-day-font) + 1px);background:var(--cal-emoji-bubble)}.calemoji .day-cell.emoji-run .num{z-index:1;background:0 0;position:relative}.calemoji .day-cell.emoji-run:before{content:"";height:var(--cal-day-dot);background:var(--cal-emoji-bubble);pointer-events:none;z-index:0;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.calemoji .day-cell.emoji-run-cap-left:before{left:calc(50% - var(--cal-day-dot) / 2);border-top-left-radius:999px;border-bottom-left-radius:999px}.calemoji .day-cell.emoji-run-cap-right:before{right:calc(50% - var(--cal-day-dot) / 2);border-top-right-radius:999px;border-bottom-right-radius:999px}.calemoji .day-cell.in-range .num{color:var(--ios-blue);background:#0a84ff47;font-weight:600}.calemoji .day-cell.in-range.today .num{background:var(--ios-blue);color:#fff}.calemoji .day-cell.in-range.emoji .num{box-shadow:none;background:#0a84ff47}.calemoji .day-cell.in-range-run .num{z-index:1;box-shadow:none;background:0 0;position:relative}.calemoji .day-cell.in-range-run.today .num{color:var(--ios-blue);background:0 0}.calemoji .day-cell.in-range-run:before{content:"";height:var(--cal-day-dot);pointer-events:none;z-index:0;background:#0a84ff47;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.calemoji .day-cell.in-range-cap-left:before{left:calc(50% - var(--cal-day-dot) / 2);border-top-left-radius:999px;border-bottom-left-radius:999px}.calemoji .day-cell.in-range-cap-right:before{right:calc(50% - var(--cal-day-dot) / 2);border-top-right-radius:999px;border-bottom-right-radius:999px}.calemoji .month-grid.selecting .day-cell.tappable:active .num{background:0 0}.calemoji .month-grid.selecting .day-cell.in-range:not(.in-range-run).tappable:active .num{background:#0a84ff47}@media (min-width:700px){.calemoji{--cal-day-size:20px;--cal-day-font:12px;--cal-day-dot:18px}}@media (max-height:720px){.calemoji{--cal-day-size:16px;--cal-day-dot:15px}.calemoji .month-name{font-size:16px;line-height:20px}.calemoji .nav-title{font-size:32px}}.calemoji .manage-header{background:var(--bg-elevated);-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);z-index:3;flex-direction:column;padding:10px 16px 0;display:flex;position:relative}.calemoji .manage-header-row{justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.calemoji .manage-header .title{letter-spacing:-.2px;color:var(--ios-text);font-size:18px;font-weight:700}.calemoji .form-card{background:var(--ios-card-bg);border:.5px solid #ffffff0f;border-radius:14px;width:calc(100% - 24px);max-width:560px;margin:10px auto;padding:2px 12px}.calemoji .form-row{border-bottom:1px solid var(--ios-separator);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.calemoji .form-row:last-of-type{border-bottom:none}.calemoji .form-row label{color:var(--ios-text);flex:none;font-size:13px}.calemoji .emoji-pick-btn{background:var(--bg-input);color:var(--ios-text);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:30px;font-size:16px;display:flex}.calemoji .emoji-pick-btn.empty{color:var(--ios-blue);width:auto;padding:0 10px;font-size:11px}.calemoji .form-row input[type=date]{color:var(--ios-blue);text-align:right;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;flex:1;font-size:16px}.calemoji .form-row input[type=text],.calemoji .form-row input[type=number],.calemoji .form-row select{color:var(--ios-blue);text-align:right;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:16px}.calemoji .form-row input[type=text]::placeholder{color:var(--ios-gray-text)}.calemoji .form-row input[type=number]{flex:none;width:72px}.calemoji .form-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--ios-blue);flex:none}.calemoji .screen[data-theme=light] .form-row input[type=text],.calemoji .screen[data-theme=light] .form-row input[type=number],.calemoji .screen[data-theme=light] .form-row select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.calemoji .emoji-pick-btn:disabled{opacity:.85;cursor:default;pointer-events:none}.calemoji button:disabled:active{transform:none}.calemoji .add-btn{background:var(--ios-blue);color:#fff;cursor:pointer;border:none;border-radius:16px;width:calc(100% - 24px);max-width:560px;margin:10px auto 4px;padding:10px;font-size:14px;font-weight:700;display:block;box-shadow:0 4px 14px #0a84ff59}.calemoji .hint{text-align:center;color:var(--ios-gray-text);max-width:560px;margin:2px auto 6px;padding:0 16px;font-size:11px;line-height:1.3}.calemoji .entry-list{flex:1;width:100%;max-width:560px;margin:0 auto;padding:2px 12px 24px;overflow-y:auto}.calemoji .entry-card{background:var(--ios-card-bg);border:.5px solid #ffffff0f;border-radius:14px;overflow:hidden}.calemoji .entry-row{border-bottom:1px solid var(--ios-separator);align-items:center;gap:8px;padding:8px 12px;display:flex}.calemoji .entry-row:last-child{border-bottom:none}.calemoji .entry-emoji{text-align:center;width:24px;font-size:18px}.calemoji .entry-info{flex:1;min-width:0}.calemoji .entry-dates{color:var(--ios-text);font-size:14px;font-weight:500}.calemoji .icon-action-btn{cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.calemoji .icon-action-btn svg{display:block}.calemoji .del-btn{color:var(--ios-red);background:#ff3b301f}.calemoji .edit-btn-row{color:var(--ios-blue);background:#0a84ff1f}.calemoji .empty-state{text-align:center;color:var(--ios-gray-text);margin-top:24px;padding:0 24px;font-size:13px;line-height:1.4}.calemoji .empty-state .add-btn{margin-top:16px}.calemoji .challenge-row{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.calemoji .challenge-row:last-child{border-bottom:none}.calemoji .challenge-row .entry-emoji{color:var(--ios-gray-text)}.calemoji .challenge-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;display:flex}.calemoji .challenge-range{color:var(--ios-gray-text);margin-top:2px;font-size:12px}.calemoji .challenge-tagline{color:var(--ios-gray-text);margin-top:2px;font-size:12px;line-height:1.35}.calemoji .challenge-progress{color:var(--ios-text);margin-top:3px;font-size:12px;font-weight:600}.calemoji .challenge-card{background:var(--ios-card-bg);border:.5px solid #ffffff0f;border-radius:14px;margin-bottom:10px;overflow:hidden}.calemoji .progress-ring{background:conic-gradient(var(--ios-blue) var(--pct,0%), var(--bg-input) 0);border-radius:50%;flex:none;width:28px;height:28px}.calemoji .progress-ring.met{background:conic-gradient(#30d158 var(--pct,0%), var(--bg-input) 0)}.calemoji .challenge-detail{padding:0 12px 12px}.calemoji .period-heatmap{align-items:flex-end;gap:4px;height:40px;margin-bottom:8px;display:flex}.calemoji .period-bar{background:var(--bg-input);border-radius:3px 3px 1px 1px;flex:1;min-width:6px}.calemoji .period-bar.met{background:#30d158}.calemoji .period-bar.miss{background:#ff3b3080}.calemoji .period-bar.current{box-shadow:0 0 0 1px var(--ios-text)}.calemoji .challenge-detail-note{color:var(--ios-gray-text);font-size:11px}.calemoji .member-avatars{margin-top:6px;display:flex}.calemoji .member-avatar{object-fit:cover;border:1.5px solid var(--ios-card-bg);border-radius:50%;width:22px;height:22px;margin-left:-6px}.calemoji .member-avatars .member-avatar:first-child{margin-left:0}.calemoji .member-avatar-fallback{background:var(--bg-input);color:var(--ios-text);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.calemoji .leaderboard{margin-top:12px}.calemoji .leaderboard-title{letter-spacing:.5px;text-transform:uppercase;color:var(--ios-gray-text);margin-bottom:6px;font-size:11px;font-weight:700}.calemoji .leaderboard-row{align-items:center;gap:8px;padding:6px 0;display:flex}.calemoji .leaderboard-row.me{background:#0a84ff1f;border-radius:10px;margin:0 -8px;padding:6px 8px}.calemoji .leaderboard-row .entry-info{flex:1;min-width:0}.calemoji .leaderboard-rank{width:18px;color:var(--ios-gray-text);text-align:center;font-size:12px;font-weight:700}.calemoji .invite-form{align-items:center;gap:8px;margin-top:12px;display:flex}.calemoji .invite-form input{background:var(--bg-input);min-width:0;color:var(--ios-text);border:none;border-radius:12px;outline:none;flex:1;padding:8px 12px;font-size:16px}.calemoji .challenge-skip-hint{color:var(--ios-gray-text);text-align:right;margin:-2px 0 4px;font-size:11px}.calemoji .challenge-modal{max-height:90%;padding-bottom:max(20px, env(safe-area-inset-bottom,0px));overflow-y:auto}.calemoji .preset-picker{margin:4px 12px 8px}.calemoji .preset-picker-label{color:var(--ios-gray-text);text-transform:uppercase;letter-spacing:.5px;margin:0 4px 8px;font-size:11px;font-weight:700}.calemoji .preset-picker-list{flex-direction:column;gap:8px;display:flex}.calemoji .preset-chip{text-align:left;background:var(--ios-card-bg);width:100%;color:inherit;font:inherit;cursor:pointer;border:.5px solid #ffffff0f;border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.calemoji .preset-chip.selected{border-color:var(--ios-blue);box-shadow:inset 0 0 0 1px var(--ios-blue)}.calemoji .preset-chip-emoji{flex:none;margin-top:1px;font-size:20px;line-height:1}.calemoji .preset-chip-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.calemoji .preset-chip-title{color:var(--ios-text);font-size:14px;font-weight:700}.calemoji .preset-chip-tagline{color:var(--ios-gray-text);font-size:12px;line-height:1.35}.calemoji .preset-photo-hint{color:var(--ios-gray-text);margin:0 18px 12px;font-size:12px;line-height:1.4}.calemoji .challenge-invite-block{margin:4px 12px 12px}.calemoji .challenge-invite-copy{color:var(--ios-gray-text);margin:0 4px 8px;font-size:12px;line-height:1.4}.calemoji .challenge-invite-block .invite-form{margin-top:0}.calemoji .invite-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.calemoji .invite-chip{background:var(--bg-input);max-width:100%;color:var(--ios-text);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:12px;display:inline-flex;overflow:hidden}.calemoji .invite-chip button{color:var(--ios-gray-text);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.calemoji .month-card.current-month .month-name{color:var(--ios-red)}.calemoji .entry-month-header{color:var(--ios-gray-text);text-transform:uppercase;letter-spacing:.5px;margin:14px 4px 4px;font-size:11px;font-weight:700}.calemoji .entry-month-header:first-child{margin-top:0}.calemoji .edit-modal-overlay,.calemoji .emoji-picker-overlay,.calemoji .summary-modal-overlay,.calemoji .challenge-modal-overlay{z-index:105;background:var(--overlay-bg);opacity:0;pointer-events:none;flex-direction:column;justify-content:flex-end;transition:opacity .2s;display:flex;position:absolute;inset:0}.calemoji .emoji-picker-overlay{z-index:120}.calemoji .edit-modal-overlay.show,.calemoji .emoji-picker-overlay.show,.calemoji .summary-modal-overlay.show,.calemoji .challenge-modal-overlay.show{opacity:1;pointer-events:auto}.calemoji .edit-modal,.calemoji .emoji-picker-modal,.calemoji .summary-modal,.calemoji .challenge-modal{background:var(--ios-card-bg);border:.5px solid #ffffff1a;border-bottom:none;border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-width:480px;margin:0 auto;padding-bottom:20px;transition:transform .4s cubic-bezier(.34,1.3,.64,1);display:flex;transform:translateY(100%);box-shadow:0 -8px 30px #0006}.calemoji .edit-modal{max-height:90%;overflow-y:auto}.calemoji .emoji-picker-modal{height:52%;padding-bottom:max(12px, env(safe-area-inset-bottom,0px));overflow:hidden}.calemoji .edit-modal-overlay.show .edit-modal,.calemoji .emoji-picker-overlay.show .emoji-picker-modal,.calemoji .summary-modal-overlay.show .summary-modal,.calemoji .challenge-modal-overlay.show .challenge-modal{transform:translateY(0)}.calemoji .summary-modal{max-height:70%;padding-bottom:max(20px, env(safe-area-inset-bottom,0px));overflow:hidden}.calemoji .summary-total{color:var(--ios-gray-text);margin:0 18px 10px;font-size:14px;font-weight:600}.calemoji .summary-list{flex:1;width:100%;min-height:0;padding:0 12px 8px;overflow-y:auto}.calemoji .summary-modal .empty-state{margin-top:8px;margin-bottom:16px}.calemoji .edit-modal-header{justify-content:space-between;align-items:center;padding:10px 18px 14px;display:flex}.calemoji .edit-modal-header .edit-modal-title{color:var(--ios-text);font-size:17px;font-weight:700}.calemoji .edit-modal-header button{background:var(--bg-input);color:var(--ios-blue);cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-size:15px;font-weight:600}.calemoji .edit-modal-header button.save-btn{background:var(--ios-blue);color:#fff;font-weight:700}.calemoji .edit-modal-header-spacer{flex:none;width:72px}.calemoji .edit-delete-entry-btn{width:calc(100% - 36px);color:var(--ios-red);cursor:pointer;background:#ff3b3026;border:none;border-radius:20px;margin:10px auto 0;padding:14px;font-size:16px;font-weight:600;display:block}.calemoji .emoji-picker-handle{background:var(--ios-separator);border-radius:3px;flex:none;width:36px;height:5px;margin:10px auto 6px}.calemoji .emoji-picker-header{flex:none;align-items:center;gap:10px;padding:4px 18px 12px;display:flex}.calemoji .emoji-picker-header input{background:var(--bg-input);color:var(--ios-text);border:none;border-radius:14px;outline:none;flex:1;padding:10px 14px;font-size:16px}.calemoji .emoji-picker-header button{color:var(--ios-blue);cursor:pointer;background:0 0;border:none;font-size:15px;font-weight:600}.calemoji .emoji-tabs{flex:none;gap:6px;padding:0 12px 8px;display:flex;overflow-x:auto}.calemoji .emoji-tabs button{background:var(--bg-input);color:var(--ios-gray-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex:none;padding:6px 12px;font-size:11px;font-weight:600}.calemoji .emoji-tabs button.active{background:var(--ios-blue);color:#fff}.calemoji .emoji-grid{flex:1;grid-template-columns:repeat(7,1fr);align-content:start;gap:8px;min-height:0;padding:4px 12px 12px;display:grid;overflow-y:auto}.calemoji .emoji-grid button{background:var(--bg-input);aspect-ratio:1;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;padding:8px;display:flex}.calemoji .emoji-grid button .twemoji-icon{width:22px;height:22px;margin:0}.calemoji .emoji-grid button:active{filter:brightness(1.15)}.calemoji .emoji-grid .no-results{text-align:center;color:var(--ios-gray-text);grid-column:1/-1;margin-top:20px;font-size:13px}.calemoji .day-cell .photo-dot{background:var(--ios-blue);pointer-events:none;z-index:2;border-radius:50%;width:5px;height:5px;position:absolute;bottom:1px;right:1px}.calemoji .entry-photo-thumb,.calemoji .photo-thumb{object-fit:cover;background:var(--bg-input);border-radius:8px;flex:none;width:36px;height:36px}.calemoji .photo-field{align-items:center;gap:8px;min-width:0;display:flex}.calemoji .photo-input{display:none}.calemoji .photo-action-btn{color:var(--ios-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:15px}.calemoji .photo-action-btn.remove{color:var(--ios-red)}.calemoji .photo-error{color:var(--ios-red);padding:0 0 8px;font-size:12px}.calemoji .photo-lightbox-overlay{z-index:130;background:#000000d1;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.calemoji .photo-lightbox{flex-direction:column;gap:12px;width:min(480px,100%);display:flex}.calemoji .photo-lightbox-header{color:#fff;align-items:center;gap:8px;display:flex}.calemoji .photo-lightbox-header button,.calemoji .photo-lightbox-nav button{color:var(--ios-blue);cursor:pointer;background:0 0;border:none;font-size:16px}.calemoji .photo-lightbox-nav button:disabled{opacity:.4}.calemoji .photo-lightbox-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.calemoji .photo-lightbox-count{color:#8e8e93;font-size:13px}.calemoji .photo-lightbox-img{object-fit:contain;background:#1c1c1e;border-radius:14px;width:100%;max-height:70dvh}.calemoji .photo-lightbox-nav{justify-content:space-between;display:flex}
