:root{--accent:#ffc600;--accent-soft:#fff0a8;--accent-pale:#fff8d6;--ink:#24221a;color:#202520;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f5ef;font-family:MiSans,Noto Sans SC,PingFang SC,Hiragino Sans,Noto Sans JP,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f7f5ef;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell{grid-template-rows:74px 1fr;grid-template-columns:246px minmax(0,1fr);max-width:1720px;min-height:100svh;margin:auto;padding-bottom:86px;display:grid}.topbar{background:#f7f5eff0;border-bottom:1px solid #dedbd0;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 18px;display:flex}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand img{object-fit:contain;flex-shrink:0;width:auto;height:36px;max-height:38px;display:block}.brand-info{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.brand-tagline{color:#736c60;letter-spacing:.02em;white-space:nowrap;font-size:11px;font-weight:650;line-height:1.15;display:inline-block}.brand-install-btn{color:#8e877a;cursor:pointer;background:#fffef9;border:1px solid #ded8cb;border-radius:999px;align-items:center;gap:2px;height:18px;padding:0 5px 0 6px;font-size:9.5px;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.brand-install-btn:hover{color:#4a4439;background:#f4f0e6;border-color:#c8c0b0;transform:translateY(-.5px)}.brand-install-btn svg{color:#9c9588;flex-shrink:0}.primary-button{color:#fff;background:#24221a;border:1px solid #24221a;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:39px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.primary-button:hover{background:#403d34}.icon-button{color:#5d584c;background:0 0;border:0;border-radius:50%;place-items:center;width:37px;height:37px;padding:0;display:grid}.icon-button:hover{background:var(--accent-pale)}.sidebar{border-right:1px solid #dedbd0;padding:25px 19px}.today-button{min-height:35px;color:var(--ink);background:#fffdf3;border:1px solid #e6cf71;border-radius:7px;padding:0 13px;font-size:13px;font-weight:620}.today-button:hover{background:var(--accent-pale)}.section-label{color:#938d81;letter-spacing:.05em;margin:0 0 12px;font-size:11px;font-weight:650}.switch-row{color:#555044;justify-content:space-between;align-items:center;min-height:38px;font-size:12px;display:flex}.switch-row span{align-items:center;gap:8px;display:flex}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.dot.solar.cn{background:#d4ab58}.dot.solar.jp{background:#749eb1}.switch-row input{width:30px;height:17px;accent-color:var(--accent)}.week-start-options{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.week-start-options button{color:#625b50;background:#fffdf3;border:1px solid #d8d1c3;border-radius:7px;min-height:33px;font-size:12px;font-weight:700}.week-start-options button.active{color:var(--ink);background:var(--accent);border-color:#d7a900}.event-row{border-bottom:1px solid #e7e2d8;grid-template-columns:37px 1fr;gap:7px;padding:9px 0;font-size:12px;display:grid}.event-row span{color:#9a9488}.event-row b{color:#575146;text-overflow:ellipsis;white-space:nowrap;font-weight:590;overflow:hidden}.empty-copy,.local-note{color:#999388;font-size:12px;line-height:1.65}.local-note{color:#b1ab9f;max-width:190px;position:absolute;bottom:18px}.calendar-area{min-width:0;padding:28px 28px 38px}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px;display:flex}.month-nav,.toolbar-actions,.view-switch,.search{align-items:center;display:flex}.month-nav{flex-shrink:0;gap:3px}.calendar-title{min-width:0;color:var(--ink);letter-spacing:-.025em;white-space:nowrap;flex-shrink:0;align-items:center;gap:9px;margin:0;font-size:20px;font-weight:680;display:inline-flex}.week-badge{color:#5c5131;letter-spacing:0;background:#fff6c8;border:1px solid #ecd67b;border-radius:999px;flex-shrink:0;place-items:center;min-width:39px;height:24px;font-size:11px;font-weight:800;display:inline-grid}.toolbar-actions{justify-content:flex-end;gap:11px}.search{color:#8d877b;border-bottom:1px solid #d8d1c3;gap:7px;width:150px;padding:0 9px}.search input{background:0 0;border:0;outline:0;width:100%;height:32px;font-size:12px}.view-switch{background:#eeeae0;border:1px solid #dedbd0;border-radius:7px;padding:3px}.view-switch button{color:#797369;background:0 0;border:0;border-radius:5px;min-width:32px;min-height:27px;padding:0 7px;font-size:12px}.view-switch button.active{color:var(--ink);background:var(--accent);box-shadow:0 1px 2px #2d27131a}.month-grid{border-top:1px solid #ded8cb;border-left:1px solid #ded8cb;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday{color:#938d81;text-align:center;border-bottom:1px solid #ded8cb;border-right:1px solid #ded8cb;padding:8px 4px;font-size:11px;font-weight:650}.day-cell{color:#4d473c;text-align:left;background:#ffffff3d;border:1px solid #ded8cb;border-top:0;border-left:0;flex-direction:column;align-items:flex-start;gap:4px;min-height:clamp(78px,9vw,112px);padding:8px;display:flex;position:relative;overflow:hidden}.day-cell.public-holiday{background:#fff1f0}.day-cell.public-holiday:hover{background:#ffe8e6}.day-cell.selected{box-shadow:inset 0 0 0 2px var(--accent);background:#fffbed}.day-cell.public-holiday.selected{background:#fff1f0;box-shadow:inset 0 0 0 2px #e25345}.day-cell.muted.public-holiday{background:#faecea}.day-cell.muted.selected{background:var(--accent-pale)}.day-cell.muted.public-holiday.selected{background:#faecea}.day-cell.muted .day-number{color:#b3aca1}.day-cell.public-holiday .day-number,.day-cell.muted.public-holiday .day-number{color:#d8332a}.day-number{color:#514a3e;border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;font-weight:700;display:grid}.today .day-number{width:34px;height:34px;color:var(--ink);background:var(--accent);font-size:18px;font-weight:800}.today.public-holiday .day-number{color:#d8332a;background:#ffd8d4}.lunar-date{color:#918b7f;font-size:10px;line-height:1.2}.event-count{max-width:calc(100% - 48px);color:var(--ink);background:var(--accent-soft);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.4;position:absolute;top:10px;right:8px;overflow:hidden}.holiday,.cell-event{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:100%;padding:2px 4px;font-size:11px;line-height:1.3;display:block;overflow:hidden}.holiday{color:#8a5c56;background:#f3e4df}.holiday.solar.cn{color:#80612a;background:#fff0bd}.holiday.solar.jp{color:#506f7e;background:#e2edf0}.cell-event{color:#4d3e16;background:#fff2b8}.day-panel{background:0 0;border-top:1px solid #dedbd0;margin-top:22px;padding:22px 0 0}.day-panel-head{justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.day-panel-head p{color:#8d877b;margin:0 0 5px;font-size:11px}.day-panel-head h2{margin:0;font-size:16px;font-weight:680}.day-modules{grid-template-columns:minmax(0,.82fr) minmax(280px,1fr);align-items:start;gap:22px;display:grid}.day-module{min-width:0}.module-label{color:#918a7f;letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:700}.event-card{cursor:pointer;border-bottom:1px solid #e7e2d8;grid-template-columns:5px minmax(0,1fr);align-items:start;gap:9px;padding:12px 0;display:grid;position:relative}.event-color{background:var(--accent);border-radius:3px;width:5px;height:32px}.event-card b,.event-card small{display:block}.event-card b{color:#3f392f;font-size:12px;font-weight:660;line-height:1.55}.event-card small{color:#969085;margin-top:5px;font-size:11px}.completion-icon{vertical-align:-5px;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:6px;display:inline-grid}.completion-icon.attention{color:#111;background:#ffc600}.completion-icon.cancelled{color:#fff;background:#d94235}.completion-icon.done{color:#fff;background:#77746c}.time-prefix{min-width:20px;height:20px;color:var(--ink);border-radius:50%;place-items:center;margin-right:5px;font-size:11px;font-weight:800;display:inline-grid}.time-prefix.early{background:#fff3b0}.time-prefix.midday{background:#ffe0bd}.time-prefix.afternoon{background:#dceeff}.time-prefix.evening{background:#eadfff}.status-picker{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.status-picker button{color:#514a3e;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:inline-grid;box-shadow:0 2px 8px #302a1c1f}.status-picker button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.status-picker button:hover{transform:translateY(-1px)}.status-action.attention{color:#111;background:#ffc600}.status-action.cancelled{color:#fff;background:#d94235}.status-action.done{color:#fff;background:#77746c}.status-action.delete{color:#fff;background:#6f6255}.day-empty{color:#9c968b;text-align:center;margin-top:18px;font-size:13px;line-height:1.7}.holiday-detail-card{background:#ffffff59;border:1px solid #e1ded4;border-radius:8px;margin-bottom:9px;padding:12px}.holiday-detail-card>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.holiday-detail-card span{color:#969185;font-size:11px}.holiday-detail-card h3{color:#3f392f;margin:0;font-size:14px;font-weight:700}.holiday-detail-card p{color:#655f55;margin:9px 0 0;font-size:12px;line-height:1.65}.holiday-detail-card .holiday-more{color:#4f493f}.holiday-detail-card button{color:#8d6e00;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;font-weight:700}.holiday-detail-card.jp{background:#eef6f78c;border-color:#d6e1e4}.holiday-detail-card.cn{background:#fff8d68c;border-color:#e8dcae}.alternative-view{background:#ffffff47;border:1px solid #ded8cb;min-height:420px;padding:18px}.alternative-view>p{color:#938d81;margin:0;font-size:12px}.alternative-view .event-card{max-width:580px}.view-empty{color:#9b958a;text-align:center;padding-top:100px;font-size:13px}.bottom-add-button{z-index:9;left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:#fff;background:#24221a;border:1px solid #24221a;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:168px;min-height:46px;padding:0 20px;font-size:14px;font-weight:720;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #211f193d}.bottom-add-button:hover{background:#403d34}.modal-backdrop{z-index:10;background:#221d124d;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.event-editor{background:#f8f6ef;border:1px solid #ded6c8;border-radius:10px;width:min(100%,560px);padding:20px;box-shadow:0 14px 42px #2d26182e}.modal-title{justify-content:space-between;align-items:start;margin-bottom:18px;display:flex}.modal-title p{color:#8d877b;margin:0 0 4px;font-size:12px}.modal-title h2{margin:0;font-size:19px}.event-editor label{color:#686156;gap:7px;margin-top:14px;font-size:12px;font-weight:620;display:grid}.date-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.date-pair label{margin-top:0}.event-editor input,.event-editor textarea,.event-editor select{min-height:40px;color:var(--ink);background:#fffef9;border:1px solid #d8d1c3;border-radius:6px;padding:0 10px}.event-editor textarea{resize:vertical;min-height:76px;padding:10px;line-height:1.55}.time-label-group{margin-top:14px}.time-label-group p{color:#686156;margin:0 0 8px;font-size:12px;font-weight:620}.time-label-group div{flex-wrap:wrap;gap:8px;display:flex}.time-label-group button{color:#5d5548;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;min-width:42px;min-height:36px;font-weight:750}.time-label-group button.early.active{background:#fff3b0;border-color:#e5c341}.time-label-group button.midday.active{background:#ffe0bd;border-color:#e7a35a}.time-label-group button.afternoon.active{background:#dceeff;border-color:#8dbbe5}.time-label-group button.evening.active{background:#eadfff;border-color:#b49be7}.reminder-box{background:#fffbed;border:1px solid #e8dfc1;border-radius:9px;margin-top:15px;padding:12px}.reminder-box .switch-row{min-height:28px;font-size:12px;font-weight:700}.reminder-time{color:#686156;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;font-size:12px;font-weight:620;display:flex}.reminder-time select{min-width:68px;height:38px}.form-note{color:#9b958a;margin:14px 0 0;font-size:11px}.form-note.warning{color:#b24b3f;margin-top:9px}.modal-actions{justify-content:end;gap:8px;margin-top:22px;display:flex}.modal-actions>button:first-child:not(.checkin-btn-delete){color:#625b50;background:0 0;border:1px solid #d8d1c3;border-radius:7px;min-height:39px;padding:0 13px;font-size:13px}.mobile-only{display:none}.cal-lang-container,.yama-lang-container{position:relative}.btn-lang-trigger{color:#514a3e;cursor:pointer;background:#fffdf3;border:1px solid #d8d1c3;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .15s;display:inline-flex}.btn-lang-trigger:hover,.btn-lang-trigger[aria-expanded=true]{color:#1f1d16;background:#f5f1e6;border-color:#bcb3a3}.cal-lang-popover,.yama-lang-popover{z-index:600;background:#fffdf8;border:1px solid #ded8cb;border-radius:10px;flex-direction:column;gap:2px;width:140px;padding:5px;animation:.15s ease-out calPopoverIn;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 26px #2a231529}@keyframes calPopoverIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cal-lang-option,.yama-lang-option{color:#514a3e;text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:0;border-radius:6px;align-items:center;width:100%;min-height:30px;padding:0 10px;font-size:13px;font-weight:500;transition:all .12s;display:flex}.cal-lang-option:hover,.yama-lang-option:hover{color:#1f1d16;background:#f2eee3}.cal-lang-option.active,.yama-lang-option.active{color:#1a1914;background:#e8e3d5;font-weight:700}.account-area{align-items:center;gap:8px;display:flex}.account-menu{position:relative}.login-button,.account-trigger{color:#3f392f;background:#fffdf3;border:1px solid #d8d1c3;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 11px;font-size:12px;font-weight:730;display:inline-flex}.login-button{color:#fff;background:#24221a;border-color:#24221a}.login-button:hover{background:#403d34}.settings-menu-button{color:#615b51;background:#fffef9;border:1px solid #d8d1c3;border-radius:50%;place-items:center;width:35px;height:35px;display:grid}.settings-menu-button:hover{color:#24221a;background:#f0ede5}.account-trigger span{color:#fffdf3;background:#574d3d;border-radius:50%;place-items:center;width:21px;height:21px;font-size:11px;font-weight:800;display:inline-grid}.account-popover{z-index:20;background:#fffdf8;border:1px solid #ded8cb;border-radius:9px;width:190px;padding:5px;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 10px 26px #2a231529}.account-popover p{color:#847d70;text-overflow:ellipsis;white-space:nowrap;margin:5px 7px 7px;font-size:11px;overflow:hidden}.account-popover button{color:#514a3e;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 8px;font-size:12px;font-weight:650;display:flex}.account-popover button:hover{background:#f2eee3}.sync-error{color:#b24b3f}.auth-modal{background:#f8f6ef;border:1px solid #ded6c8;border-radius:14px;width:min(100%,370px);padding:23px;position:relative;box-shadow:0 14px 42px #2d26182e}.auth-close{position:absolute;top:14px;right:14px}.auth-kicker{color:#9b8a4a;letter-spacing:.08em;margin:0 0 5px;font-size:11px;font-weight:800}.auth-modal h2{color:#3f392f;margin:0 0 19px;font-size:18px}.auth-tabs{border-bottom:1px solid #ddd5c6;grid-template-columns:1fr 1fr;margin-bottom:16px;display:grid}.auth-tabs button{color:#918a7f;background:0 0;border:0;border-bottom:2px solid #0000;min-height:35px;font-size:13px;font-weight:750}.auth-tabs button.active{color:#3f392f;border-color:var(--accent)}.google-auth-button{color:#3f392f;cursor:pointer;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:42px;font-size:13px;font-weight:750;transition:all .15s;display:flex}.google-auth-button:hover{background:#fff;border-color:#24221a}.auth-divider{color:#a39c91;align-items:center;gap:12px;margin:14px 0 6px;font-size:11px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:#ddd5c6;flex:1;height:1px}.auth-modal label{color:#686156;gap:6px;margin-top:12px;font-size:12px;font-weight:650;display:grid}.auth-modal input{width:100%;min-height:41px;color:var(--ink);box-sizing:border-box;background:#fffef9;border:1px solid #d8d1c3;border-radius:7px;outline:0;padding:0 10px;font-size:13px}.auth-modal input:focus{border-color:#d7a900;box-shadow:0 0 0 2px #fff1b1}.password-field{position:relative}.password-field input{padding-right:42px}.password-field button{color:#837c70;background:0 0;border:0;place-items:center;width:39px;height:39px;display:grid;position:absolute;top:1px;right:1px}.auth-hint,.auth-error{margin:9px 0 0;font-size:11px;line-height:1.55}.auth-hint{color:#989185}.auth-error{color:#b64237}.auth-submit{width:100%;min-height:42px;margin-top:18px}.auth-submit:disabled{opacity:.55}.year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-height:420px;display:grid}.year-month-card{color:#514a3e;text-align:left;background:#ffffff61;border:1px solid #ded8cb;border-radius:14px;align-content:center;gap:7px;min-height:112px;padding:14px;display:grid}.year-month-card:hover{background:#fffbed;border-color:#e5bf25;transform:translateY(-1px)}.year-month-card.current{box-shadow:inset 0 0 0 1px var(--accent);background:#fff6c8;border-color:#d7a900}.year-month-card b{font-size:18px;font-weight:800}.year-month-card span{color:#665f53;font-size:12px;font-weight:720}.year-month-card small{color:#9a9488;font-size:11px}.reminder-box{background:#fffdf3;border-color:#e2d7b4;border-radius:10px;margin-top:12px;padding:9px 10px}.reminder-box.is-on{background:#fff9d8}.reminder-compact{justify-content:space-between;align-items:center;gap:10px;display:flex}.reminder-toggle{color:#726b60;background:#fffef9;border:1px solid #d8d1c3;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 10px;font-size:12px;font-weight:750;display:inline-flex}.reminder-toggle[aria-pressed=true]{color:var(--ink);background:var(--accent);border-color:#d7a900}.toggle-dot{background:#d5cec0;border-radius:999px;width:22px;height:13px;transition:background .16s;position:relative}.toggle-dot:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #2d261838}.reminder-toggle[aria-pressed=true] .toggle-dot:after{transform:translate(9px)}.reminder-toggle b{text-align:right;min-width:33px;font-size:12px}.reminder-time{white-space:nowrap;flex-wrap:nowrap;gap:5px;margin-top:0}.reminder-time span{color:#70695d;font-size:12px}.reminder-time i{color:#786f5f;font-style:normal;font-weight:800}.reminder-time select{border-radius:8px;min-width:58px;height:34px;min-height:34px;padding:0 8px;font-size:12px;font-weight:760}.reminder-box .form-note.warning{margin-top:7px;padding-left:2px;font-size:10px;line-height:1.45}.reminder-box{background:#fffef9c7;border:1px solid #e0d8c7;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:9px 11px;display:grid}.reminder-box.is-on{background:#fffaf0;border-color:#ead16a}.reminder-left{align-items:center;gap:9px;min-width:0;display:flex}.reminder-left b,.reminder-left span{display:block}.reminder-left b{color:#3f392f;font-size:12px;line-height:1.25}.reminder-left span{color:#9a9488;white-space:nowrap;margin-top:2px;font-size:10px;font-weight:620}.reminder-toggle{width:38px;min-width:38px;height:22px;min-height:22px;box-shadow:none;background:0 0;border:0;padding:0}.reminder-toggle[aria-pressed=true]{background:0 0;border:0}.toggle-dot{background:#d7d0c3;width:38px;height:22px}.toggle-dot:after{width:16px;height:16px;top:3px;left:3px}.reminder-toggle[aria-pressed=true] .toggle-dot{background:var(--accent)}.reminder-toggle[aria-pressed=true] .toggle-dot:after{background:#3f392f;transform:translate(16px)}.reminder-right{color:#6d665b;white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:730;display:flex}.reminder-right select{text-align:center;border-radius:8px;width:54px;min-width:54px;height:32px;min-height:32px;padding:0 6px;font-size:12px;font-weight:780}.reminder-right i{color:#8c8579;font-style:normal;font-weight:900}.reminder-off{color:#aaa397}.reminder-box .form-note.warning{color:#b24b3f;grid-column:1/-1;margin:0;font-size:10px;line-height:1.4}.app-shell{grid-template-rows:74px 1fr;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:30;background:#f7f5ef;border-left:1px solid #dedbd0;border-right:0;width:min(310px,90vw);padding:56px 19px 22px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-12px 0 35px #2c251524}.sidebar.is-open{transform:translate(0)}.side-dismiss{z-index:29;background:#24221a2e;border:0;width:100%;height:100%;position:fixed;inset:0}.close-side{color:#5d584c;background:0 0;border:0;border-radius:50%;place-items:center;width:37px;height:37px;display:grid;position:absolute;top:10px;right:13px}.close-side:hover{background:var(--accent-pale)}.account-settings-page{z-index:50;background:#f8f6ef;position:fixed;inset:0;overflow-y:auto}.account-settings-page header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f6eff5;border-bottom:1px solid #dedbd0;align-items:center;gap:9px;height:62px;padding:0 max(22px,50vw - 410px);display:flex;position:sticky;top:0}.account-settings-page h1{color:#302c24;margin:0;font-size:19px}.account-settings-page main{width:min(100% - 32px,640px);margin:0 auto;padding:38px 0 56px}.account-identity{justify-items:center;gap:12px;margin-bottom:32px;display:grid}.account-identity span{color:#fff;background:#24221a;border-radius:50%;place-items:center;width:74px;height:74px;font-size:28px;display:grid}.account-identity p{color:#847c70;margin:0;font-size:15px}.settings-card{background:#fffef9;border:1px solid #e2ddd2;border-radius:14px;margin-top:16px;overflow:hidden;box-shadow:0 3px 12px #2b25180a}.settings-card.muted{opacity:.7}.settings-card.muted>div,.settings-row{color:#504a3f;text-align:left;background:0 0;border:0;border-bottom:1px solid #ece7dd;align-items:center;gap:13px;width:100%;min-height:72px;padding:13px 17px;display:flex}.settings-card.muted>div:last-child{border-bottom:0}.settings-card p{margin:0;font-size:14px;font-weight:650}.settings-card small{color:#a49d91;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.settings-row b{flex:1;font-size:14px}.settings-row span{color:#938c80;font-size:12px}.settings-form{border-top:1px solid #ece7dd;gap:10px;padding:14px 17px 17px;display:grid}.settings-form input,.delete-confirm input{min-height:42px;color:var(--ink);background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;padding:0 11px}.full-width{width:100%}.delete-section{margin-top:28px}.delete-button,.logout-button{color:#fff;background:#d93631;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:14px;font-weight:750;display:flex}.delete-button:disabled,.logout-button:disabled{opacity:.45}.delete-confirm{background:#fff3f1;border:1px solid #f0c3bf;border-radius:12px;gap:12px;margin-top:10px;padding:15px;display:grid}.delete-confirm p{color:#a23e37;margin:0;font-size:12px;line-height:1.6}.logout-button{background:#24221a;margin-top:16px}.account-notice{color:#a23e37;text-align:center;margin:13px 2px 0;font-size:12px}.account-about{text-align:center;background:#f2efe7b8;border-radius:15px;margin-top:24px;padding:17px}.account-about p{color:#a29b90;margin:0;font-size:11px;line-height:1.7}.account-about div{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.account-about button,.account-info-actions a{color:#938c80;background:#fffef9;border:1px solid #d8d1c3;border-radius:6px;min-height:31px;padding:0 13px;font-size:11px;line-height:29px;text-decoration:none}.account-info-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0003;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.account-info-sheet{background:#f8f6ef;border:1px solid #dedbd0;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;width:min(100%,512px);max-height:85vh;padding:16px 20px 32px;display:flex;overflow:auto}.account-info-sheet header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-content:space-between;height:auto;min-height:28px;margin-bottom:16px;padding:0;display:flex;position:static}.account-info-sheet h2{color:#302c24;margin:0;font-size:16px;font-weight:600}.account-info-sheet header button{color:#81796d;background:#eeece7;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.account-info-content{color:#827a70b3;text-align:left;padding:0 8px 16px 0;font-size:10px;line-height:1.625}.account-info-actions{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-bottom:24px;display:flex}.account-info-copy{gap:12px;display:grid}.account-info-content h3{color:#827a70cc;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}.account-info-content p{margin:0}.account-info-content footer{color:#827a70b3;justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.install-guide{color:#504a3fe6;gap:24px;font-size:14px;line-height:1.7;display:grid}.install-guide h3{color:#302c24;align-items:center;gap:8px;margin:0 0 12px;font-size:16px;font-weight:500;display:flex}.install-guide p{color:#827a70e6;margin:0;padding-left:28px}.install-guide-action{margin-top:10px;padding-left:28px}.install-guide-action a{color:#302c24;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;align-items:center;gap:6px;min-height:32px;padding:0 14px;font-size:12px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.install-guide-action a:hover{background:#f0ebe1;border-color:#c4bcb0}.danger-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.clear-data-button{color:#a23e37;background:#fffef9;border:1px solid #e8bbb6;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:14px;font-weight:750;display:flex}.clear-data-button:hover{background:#fff3f1}.account-clear-backdrop{z-index:55;background:#231e166b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.account-clear-dialog>div{grid-template-columns:1fr 1.25fr;gap:8px;display:grid}.account-clear-dialog .secondary-button{color:#625b50;background:#fffef9;border:1px solid #d8d1c3;border-radius:10px;min-height:44px;font-size:13px;font-weight:750}.account-clear-dialog .delete-button{min-height:44px;font-size:13px}.sync-help{color:#9b9488;margin:4px 0 0;font-size:10px;line-height:1.55}.account-popover .manual-sync{position:relative}.account-popover .manual-sync i{background:#df3b34;border-radius:50%;width:6px;height:6px;position:absolute;top:7px;right:7px}.account-popover .manual-sync:disabled{color:#aaa397;cursor:not-allowed}.display-controls-title{color:#3f392f;margin:0;font-size:16px;font-weight:750}.display-sync-status{color:#9b9488;margin:5px 0 -4px;font-size:10px;line-height:1.4}.sidebar section{margin-top:22px}.bottom-actions{width:min(100vw - 28px,430px)}.bottom-actions .bottom-add-button{flex:1;width:auto;min-width:0}.bottom-sync-button{color:#24221a;background:var(--accent);border-color:#d7a900;flex:0 0 46px}.account-popover{border-radius:18px;width:206px;padding:0;overflow:hidden}.account-popover p{border-bottom:1px solid #e7e2d8;margin:0;padding:19px 17px;font-size:14px}.account-popover button{border-radius:0;min-height:48px;padding:0 17px;font-size:14px}.account-popover .logout{color:#e52c28}.bottom-actions{z-index:9;left:50%;bottom:max(18px, env(safe-area-inset-bottom));align-items:center;gap:10px;display:flex;position:fixed;transform:translate(-50%)}.bottom-actions .bottom-add-button{position:static;bottom:auto;left:auto;transform:none}.bottom-sync-button{color:#4f493f;background:#fffef9;border:1px solid #d8d1c3;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:relative;box-shadow:0 8px 22px #302a1c24}.bottom-sync-button:disabled{color:#aaa397;cursor:not-allowed}.bottom-sync-button i{background:#df3b34;border:2px solid #fffef9;border-radius:50%;width:8px;height:8px;position:absolute;top:3px;right:3px}@media (width<=1050px){.local-note{margin-top:30px;position:static}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.app-shell{padding-bottom:92px;display:block}.topbar{height:58px;padding:0 10px}.brand{gap:8px}.brand img{width:auto;height:32px;max-height:34px}.brand-info{gap:3.5px}.brand-tagline{text-overflow:ellipsis;max-width:140px;font-size:11px;overflow:hidden}.brand-install-btn{height:18px;padding:0 6px;font-size:10px}.mobile-only{display:grid}.desktop-only{display:none}.side-dismiss{z-index:7;background:#24221a2e;border:0;width:100%;height:100%;position:fixed;inset:0}.sidebar{z-index:8;background:#f7f5ef;border-left:1px solid #dedbd0;border-right:0;width:min(290px,88vw);padding-top:56px;transition:transform .2s;position:fixed;top:0;bottom:0;right:0;transform:translate(105%);box-shadow:-12px 0 35px #2c251524}.sidebar.is-open{transform:translate(0)}.close-side{position:absolute;top:10px;right:13px}.calendar-area{padding:12px 8px 28px}.toolbar{justify-content:space-between;align-items:center;gap:4px;margin-bottom:12px;display:flex}.toolbar-actions{flex-shrink:0;gap:4px}.search{display:none}.month-nav{flex-shrink:1;gap:0;min-width:0}.month-nav .icon-button{width:28px;min-width:28px;height:28px;padding:0}.calendar-title{flex-shrink:0;gap:5px;min-width:0;font-size:16px;white-space:nowrap!important}.week-badge{min-width:29px;height:20px;padding:0 4px;font-size:9.5px}.view-switch{border-radius:6px;padding:2px}.view-switch button{min-width:24px;min-height:24px;padding:0 4px;font-size:11px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-height:0}.year-month-card{border-radius:11px;min-height:92px;padding:11px}.year-month-card b{font-size:16px}.day-cell{min-height:68px;padding:5px}.day-number{width:25px;height:25px;font-size:14px}.today .day-number{width:31px;height:31px;font-size:17px}.lunar-date{font-size:9px;display:block}.event-count{padding:1px 4px;font-size:9px;top:6px;right:4px}.weekday{padding:7px 2px;font-size:10px}.holiday,.cell-event{max-width:100%;padding:1px 2px;font-size:9px}.cell-event:nth-of-type(n+3){display:none}.day-modules{display:block}.holiday-module{margin-top:22px}.holiday-detail-card>div{display:block}.holiday-detail-card h3{margin-top:2px}.date-pair{grid-template-columns:1fr}.reminder-compact{flex-direction:column;align-items:stretch}.reminder-time{justify-content:space-between}.bottom-add-button{width:calc(100vw - 32px);max-width:360px}}.auth-success{color:#4d693c;background:#edf5e7;border-radius:7px;padding:10px;font-size:11px;line-height:1.55}.auth-text-button{color:#746b5e;background:0 0;border:0;margin:12px auto -4px;padding:3px 5px;font-size:12px;font-weight:700;display:block}.auth-text-button:hover{color:#24221a;text-decoration:underline}.account-popover .email-verify-warning{color:#b64237;background:#fff2f0;border-bottom:1px solid #f0d5d1;padding:11px 13px;font-size:12px;line-height:1.45}.account-popover .email-verify-warning div{align-items:center;gap:6px;margin-bottom:4px;display:flex}.account-popover .email-verify-warning small{color:#a45c54;font-size:11px;line-height:1.45;display:block}.account-popover .email-verify-warning button{color:#b64237;border-radius:0;min-height:auto;margin-top:7px;padding:0;font-size:12px;text-decoration:underline}.account-popover .email-verify-warning button:hover{color:#8f3029;background:0 0}.account-popover .email-verify-warning button:disabled{opacity:.6;cursor:not-allowed}.weekday-style-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.weekday-style-options button{color:#625b50;background:#fffdf3;border:1px solid #d8d1c3;border-radius:7px;min-height:33px;padding:0 5px;font-size:11px;font-weight:700}.weekday-style-options button.active{color:var(--ink);background:var(--accent);border-color:#d7a900}.calendar-note-help{color:#a19a8e;margin:6px 0 0;font-size:10px;line-height:1.45}.calendar-annotation{text-overflow:ellipsis;white-space:nowrap;border-radius:3px;max-width:100%;padding:1px 4px;font-size:10px;font-weight:650;line-height:1.3;display:block;overflow:hidden}.calendar-annotation-card{background:#ffffff59;border:1px solid #e1ded4;border-radius:8px;margin-bottom:9px;padding:12px}.calendar-annotation-card>div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.calendar-annotation-card span{color:#969185;font-size:11px}.calendar-annotation-card h3{color:#3f392f;margin:0;font-size:14px;font-weight:700}.calendar-annotation-card p{color:#655f55;margin:9px 0 0;font-size:12px;line-height:1.65}.calendar-annotation-card small{color:#9b958a;margin-top:8px;font-size:10px;line-height:1.45;display:block}.week-grid .day-cell{min-height:clamp(92px,12vw,144px)}.week-panel{max-width:760px}.week-panel .todo-module{max-width:620px}.week-event-date{margin:0 0 3px;font-weight:700;color:#8d877b!important;font-size:10px!important}.month-panel{max-width:760px}.month-panel .todo-module{max-width:620px}.day-cell.non-interactive{cursor:default}.day-cell.non-interactive:hover{background:inherit}@media (width<=720px){.week-grid .day-cell{min-height:76px}.week-panel{margin-top:16px}.week-panel .event-card{padding:10px 0}}.day-cell{overflow:visible}.event-count{z-index:4;color:#24221a;background:#ffc600;border:1px solid #e2ae00;border-radius:50%;place-items:center;width:21px;max-width:none;height:21px;padding:0;font-size:10px;display:grid;top:-11px;right:6px;box-shadow:0 1px 3px #4635082e}.day-cell.public-holiday-cn{background:#fff0df}.day-cell.public-holiday-cn:hover{background:#ffe7ca}.day-cell.public-holiday-jp{background:#fff1f0}.day-cell.public-holiday-jp:hover{background:#ffe8e6}.day-cell.public-holiday-both{background:linear-gradient(135deg,#ffe2b7 0%,#fff0df 42%,#ffd9d5 100%)}.day-cell.public-holiday-cn.selected{background:#fff0df;box-shadow:inset 0 0 0 2px #e58d27}.day-cell.public-holiday-jp.selected{background:#fff1f0;box-shadow:inset 0 0 0 2px #e25345}.day-cell.public-holiday-both.selected{background:linear-gradient(135deg,#ffe2b7 0%,#ffd9d5 100%);box-shadow:inset 0 0 0 2px #e36b31}.holiday.cn.public{color:#875521;background:#fff0dc}.holiday.jp.public{color:#965750;background:#f8e4e1}.holiday-detail-card.cn.public{background:#fff5e8;border-color:#ecd2a5}.holiday-detail-card.jp.public{background:#fdf1ef;border-color:#e6cac7}.calendar-annotation{color:#6d6b93;background:#f0eff8;font-size:9px;font-weight:620}.holiday-reminder-control{border-top:1px solid #ebe4d7;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;margin-top:9px;padding:9px 0 1px;display:grid}.holiday-reminder-control b,.holiday-reminder-control small{display:block}.holiday-reminder-control b{color:#5a5448;font-size:12px}.holiday-reminder-control small{color:#9a9488;margin-top:2px;font-size:10px;line-height:1.4}.holiday-reminder-time{color:#6d665b;grid-column:1/-1;align-items:center;gap:5px;font-size:11px;font-weight:730;display:flex}.holiday-reminder-time select{width:57px;min-width:57px;height:32px;min-height:32px;color:var(--ink);text-align:center;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;padding:0 6px;font-size:12px;font-weight:780}.holiday-reminder-time i{color:#8c8579;font-style:normal;font-weight:900}.weekday-style-options{grid-template-columns:repeat(3,minmax(0,1fr))}.upcoming-panel{max-width:760px}.upcoming-panel .todo-module{max-width:620px}@media (width<=720px){.event-count{width:19px;height:19px;font-size:9px;top:-10px;right:2px}.calendar-annotation{padding:1px 3px;font-size:8px}.weekday-style-options button{font-size:10px}.holiday-reminder-control{margin-top:7px}}.dot.cn{background:#e49a3d}.dot.jp{background:#d77e71}.dot.world{background:#3d86aa}.dot.solar,.dot.solar.cn,.dot.solar.jp{background:#487c55}.dot.memorial{background:#888277!important}.dot.lunar{background:#928f89}.dot.rokuyo{background:#9788b7}.dot.day-officer{background:#7195b5}.holiday.cn{color:#875521;background:#fff0dc}.holiday.jp{color:#965750;background:#f8e4e1}.holiday.world{color:#276b88;background:#e3f2f7}.holiday.solar,.holiday.solar.cn,.holiday.solar.jp{color:#3f714b;background:#e1f0e2}.holiday.memorial{color:#4e483e!important;background:#e6e2da!important}.holiday-detail-card.cn:not(.solar):not(.memorial){background:#fff5e8;border-color:#ecd2a5}.holiday-detail-card.jp:not(.solar):not(.memorial){background:#fdf1ef;border-color:#e6cac7}.holiday-detail-card.world:not(.solar):not(.memorial){background:#f1f8fb;border-color:#badbeb}.holiday-detail-card.solar,.holiday-detail-card.cn.solar,.holiday-detail-card.jp.solar{background:#f0f8ef;border-color:#b6d4ba}.holiday-detail-card.memorial{background:#f4f2eb!important;border-color:#dcd6cb!important}.holiday-detail-card.memorial>div span{color:#847d70!important}.holiday-detail-card.memorial h3{color:#36322b!important}.holiday-detail-card.memorial p{color:#524c42!important}.holiday-detail-card.memorial button{color:#6a6254!important}.solar-term-names{color:#5a7b62;flex-wrap:wrap;align-items:baseline;gap:6px;margin:6px 0 3px;font-size:11px;display:flex}.solar-term-names b{color:#2c5936;font-weight:700}.solar-term-names small{color:#4e7056;font-size:10px;font-weight:400}.solar-term-names i{color:#a3c4ab;font-style:normal}.calendar-annotation.rokuyo{color:#766f9a;background:#f1eff8}.calendar-annotation.day-officer{color:#617990;background:#edf3f7}.calendar-annotation-card.jp{background:#f7f3fb;border-color:#d8cfe8}.calendar-annotation-card.cn{background:#f1f7fb;border-color:#cddde8}.zodiac-year-badge{color:#76613b;letter-spacing:0;background:#fffaf0;border:1px solid #dfd0a1;border-radius:999px;place-items:center;min-width:36px;height:22px;font-size:10px;font-weight:760;display:inline-grid}.day-cell.muted:not(.public-holiday){background:#ecebe7}.day-cell.muted:not(.public-holiday):hover{background:#e5e3de}.bottom-add-button>span{justify-items:center;line-height:1.15;display:grid}.bottom-add-button>span small{color:#ffc600;white-space:nowrap;margin-top:3px;font-size:8px;font-weight:650}@media (width>=721px){.sidebar{box-sizing:border-box;flex-direction:column;min-height:calc(100svh - 74px);display:flex}.sidebar .local-note{margin-top:auto;padding-top:24px;position:static}}.year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 28px;min-height:0;padding:5px 7px 18px}.year-month-card{color:#514a3e;background:0 0;border:0;border-radius:0;min-height:0;padding:0;display:block}.year-month-card:hover{background:0 0;border:0;transform:none}.year-month-card.current{box-shadow:none;background:0 0;border:0}.year-month-card b{color:#3f392f;margin-bottom:9px;font-size:19px;font-weight:760;display:block}.year-month-card.current b{color:#b48a00}.year-mini-weekdays,.year-mini-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.year-mini-weekdays{color:#9b9489;margin-bottom:5px;font-size:10px;font-weight:650}.year-mini-days{color:#4d473c;row-gap:6px;font-size:11px;font-weight:650}.year-mini-days span{border-radius:50%;justify-self:center;place-items:center;width:20px;height:20px;display:grid;position:relative}.year-mini-days .selected:not(.today){box-shadow:inset 0 0 0 1px #d6a600}.year-mini-days .has-event:after{content:"";background:#d3a300;border-radius:999px;width:4px;height:2px;position:absolute;bottom:-2px}@media (width<=720px){.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 12px;padding:4px 2px 15px}.year-month-card b{margin-bottom:6px;font-size:15px}.year-mini-weekdays{margin-bottom:3px;font-size:8px}.year-mini-days{row-gap:3px;font-size:9px}.year-mini-days span{width:15px;height:15px}.bottom-add-button.guest{min-height:52px}.bottom-add-button>span small{font-size:7px}.zodiac-year-badge{min-width:32px;height:20px;font-size:9px}}.year-mini-days .weekend{color:#a67800}.year-mini-days .has-event:not(.today){color:#ffc600;background:#24221a}.year-mini-days .has-event:after{display:none}.year-mini-days .today{color:#24221a;background:#ffc600}.bottom-add-button{min-height:54px;position:relative}.bottom-add-button.guest{min-height:66px}.bottom-add-button .bottom-add-icon{stroke-width:2.4px;width:27px;height:27px;position:absolute;left:28px}.bottom-add-button>span{min-width:0}.bottom-add-button>span strong{color:#fff;font-size:13px;font-weight:720;display:block}.bottom-add-button>span small{color:#ffc600;letter-spacing:.01em;margin-top:4px;font-size:8px;font-weight:350}.bottom-add-button.guest>span{padding-left:20px}@media (width<=720px){.bottom-add-button.guest{min-height:62px}.bottom-add-button .bottom-add-icon{width:25px;height:25px;left:23px}.bottom-add-button>span strong{font-size:12px}.bottom-add-button>span small{font-size:7px}}.year-month-card.selected{outline-offset:8px;border-radius:10px;outline:2px solid #ffc600}.year-month-card.selected:hover{background:#ffc60009}@media (width<=720px){.year-month-card.selected{outline-offset:5px;border-radius:8px}}.bottom-actions .bottom-add-button{position:relative}.bottom-add-button>span strong{font-size:16px}.sidebar .local-note{margin-top:22px;padding-top:0;position:static}.sidebar-about{margin-bottom:8px;margin-top:18px!important}.sidebar-about.account-about{background:#f2efe7b8;border:1px solid #e7e1d5;border-radius:12px;padding:13px 12px}.sidebar-about.account-about p{font-size:10px;line-height:1.6}.sidebar-about.account-about div{margin-top:9px}.sidebar-about.account-about button{min-height:29px;font-size:10px;line-height:27px}@media (width>=721px){.sidebar .local-note{margin-top:auto;padding-top:22px}}@media (width<=720px){.bottom-add-button>span strong{font-size:15px}.sidebar-about{margin-bottom:16px}.month-grid:not(.is-collapsed),.month-grid.is-collapsed{touch-action:pan-x}.month-grid.month-slide-next{animation:.19s cubic-bezier(.22,.72,.28,1) cal-month-slide-next}.month-grid.month-slide-previous{animation:.19s cubic-bezier(.22,.72,.28,1) cal-month-slide-previous}}@media (width>=721px) and (width<=1050px){.year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes cal-month-slide-next{0%{opacity:.78;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.event-editor input,.event-editor textarea,.event-editor select{font-size:14px}@media (width<=720px){.event-editor input,.event-editor textarea,.event-editor select{-webkit-text-size-adjust:100%;font-size:16px}}@keyframes cal-month-slide-previous{0%{opacity:.78;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.settings-menu-button,.bottom-sync-button{appearance:none;padding:0;line-height:0}.settings-menu-button>svg,.bottom-sync-button>svg{flex:none;margin:0;display:block}.lang-menu{position:relative}.lang-trigger{color:#4e483d;background:#fffef9;border:1px solid #d8d1c3;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.lang-trigger:hover{color:#24221a;background:#f6f2e8;border-color:#c9bfad}.lang-chevron{color:#8e877a;transition:transform .2s}.lang-chevron.is-open{transform:rotate(180deg)}.lang-popover{z-index:55;background:#fffdf8;border:1px solid #ded8cb;border-radius:12px;min-width:126px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #2a231529}.lang-popover button{color:#514a3e;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 11px;font-size:12px;font-weight:600;display:flex}.lang-popover button:hover{color:#24221a;background:#f2eee3}.lang-popover button.active{color:#24221a;background:#faeab0;font-weight:750}@media (width<=720px){.lang-trigger{min-height:28px;padding:0 8px;font-size:11px}.lang-trigger span{display:none}.lang-trigger svg{width:15px;height:15px}.lang-chevron{display:none}.account-area{gap:6px}}.custom-memorial-box{background:#f6f3ebd9;border:1px dashed #dcd6c9;border-radius:10px;margin-top:10px;padding:10px}.custom-memorial-form{flex-direction:column;gap:7px;display:flex}.custom-memorial-input{box-sizing:border-box;color:#3b362d;background:#fffefb;border:1px solid #d4ccbd;border-radius:7px;width:100%;min-height:32px;padding:0 9px;font-size:12px;font-weight:550}.custom-memorial-input:focus{border-color:#9c9484;outline:none;box-shadow:0 0 0 2px #9c94842e}.custom-memorial-date-selects{grid-template-columns:1fr 1fr;gap:6px;display:grid}.custom-memorial-date-selects select{box-sizing:border-box;color:#4b4438;background:#fffefb;border:1px solid #d4ccbd;border-radius:6px;width:100%;min-height:30px;padding:0 6px;font-size:11px;font-weight:600}.custom-memorial-add-btn{color:#38342c;cursor:pointer;background:#ece7da;border:1px solid #c9c0b0;border-radius:7px;justify-content:center;align-items:center;gap:4px;width:100%;min-height:31px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex}.custom-memorial-add-btn:hover{color:#24221a;background:#e2dcce;border-color:#b8ad9b}.custom-memorial-error{color:#c94a38;margin:5px 0 0;font-size:10.5px;line-height:1.3}.custom-memorial-list{border-top:1px solid #e2ddd0;flex-direction:column;gap:5px;margin-top:9px;padding-top:8px;display:flex}.custom-memorial-item{background:#fffdf8;border:1px solid #e7e2d6;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;padding:5px 7px;display:flex}.custom-memorial-info{align-items:center;gap:6px;display:flex;overflow:hidden}.custom-memorial-badge{color:#494338;white-space:nowrap;text-overflow:ellipsis;background:#ece8df;border-radius:4px;max-width:110px;padding:1px 5px;font-size:11px;font-weight:650;display:inline-block;overflow:hidden}.custom-memorial-date{color:#8c8577;white-space:nowrap;font-size:10.5px}.custom-memorial-delete-btn{color:#9e978a;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:grid}.custom-memorial-delete-btn:hover{color:#d14936;background:#faeae8}.checkin-btn-wrapper{flex:0 0 46px;justify-content:center;align-items:center;display:inline-flex;position:relative}.bottom-checkin-button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#181714;border:1.5px solid #423b2c;border-radius:50%;place-items:center;width:46px;height:46px;padding:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s,border-color .18s;display:grid;position:relative;box-shadow:0 8px 24px #18171452,inset 0 1px 1px #ffe60033}.bottom-checkin-button:hover{border-color:#ffd000;transform:translateY(-2px)scale(1.04);box-shadow:0 10px 28px #1817146b,0 0 12px #ffd00040}.bottom-checkin-button:active,.bottom-checkin-button.is-pressing{transform:scale(.92);box-shadow:0 4px 12px #18171447}.bottom-checkin-button.is-menu-open{background:#25221c;border-color:#ffd000;box-shadow:0 0 0 3px #ffd0004d,0 8px 24px #00000059}.checkin-main-icon-svg{pointer-events:none;filter:drop-shadow(0 2px 4px #0000004d);display:block}.checkin-longpress-indicator{pointer-events:none;border:2px solid #0000;border-radius:50%;transition:border-color .3s;position:absolute;inset:-3px}.bottom-checkin-button.is-pressing .checkin-longpress-indicator{border-color:#ffd000;animation:.45s forwards checkin-pulse}@keyframes checkin-pulse{0%{opacity:.4;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.checkin-radial-menu{z-index:100;pointer-events:auto;width:0;height:0;position:absolute;top:50%;left:50%}.checkin-radial-item{cursor:pointer;width:44px;height:44px;transform:translate(calc(-50% + var(--offset-x,0px)), calc(-50% + var(--offset-y,0px)));background:#1e1c18;border:1.5px solid #4a4335;border-radius:50%;place-items:center;padding:0;transition:transform .15s,border-color .15s,background .15s;animation:.22s cubic-bezier(.34,1.56,.64,1) forwards checkin-radial-pop;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 8px 20px #00000059}.checkin-radial-item:hover{transform:translate(calc(-50% + var(--offset-x,0px)), calc(-50% + var(--offset-y,0px))) scale(1.14);background:#2a2620;border-color:#ffd000;box-shadow:0 10px 24px #00000073,0 0 12px #ffd0004d}.checkin-radial-item.active{background:#332d22;border-color:#ffd000;box-shadow:0 0 0 2px #ffd000,0 8px 20px #00000059}.checkin-radial-tooltip{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#181714;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:650;transition:opacity .15s,transform .15s;position:absolute;top:-24px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #0000004d}.checkin-radial-item:hover .checkin-radial-tooltip{opacity:1;transform:translate(-50%)translateY(-2px)}@keyframes checkin-radial-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(calc(-50% + var(--offset-x,0px)), calc(-50% + var(--offset-y,0px))) scale(1)}}.checkin-modal{max-width:530px;padding:22px 24px}.checkin-date-card{background:#f1ede3;border:1px solid #e0d9cb;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 14px;display:flex}.checkin-date-info{align-items:center;gap:8px;display:flex}.checkin-date-icon{color:#7b7466}.checkin-date-text{color:#38332b;font-size:13px;font-weight:650}.checkin-date-badge{color:#635b4d;background:#e4decb;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.checkin-theme-tabs{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.checkin-theme-tab{color:#575043;cursor:pointer;background:#fffdf9;border:1.5px solid #dfd8ca;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:9px 4px;transition:all .15s;display:flex}.checkin-theme-tab span{font-size:12px;font-weight:680}.checkin-theme-tab:hover{color:#24221a;background:#f8f4ea;border-color:#cbbe9f}.checkin-theme-tab.active{color:#ffd000;background:#24221a;border-color:#24221a;box-shadow:0 4px 14px #24221a33}.checkin-theme-tab.active span{color:#fff}.checkin-icons-section{margin-bottom:16px}.checkin-section-label{color:#766e60;margin:0 0 9px;font-size:12px;font-weight:650}.checkin-icon-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:9px;max-height:220px;padding:4px 2px;display:grid;overflow-y:auto}.checkin-icon-card{cursor:pointer;background:#fffdf9;border:1.5px solid #e5dfd2;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:8px 4px 7px;transition:all .15s;display:flex}.checkin-icon-badge{place-items:center;width:44px;height:44px;display:grid;position:relative}.checkin-selected-check{color:#ffd000;background:#24221a;border-radius:50%;place-items:center;width:17px;height:17px;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #0003}.checkin-icon-label{color:#4b4438;white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:72px;margin-top:4px;font-size:11px;font-weight:620;overflow:hidden}.checkin-icon-card:hover{background:#fbf8f0;border-color:#d1c7b3;transform:translateY(-1px)}.checkin-icon-card.selected{background:#fff9e6;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b40}.checkin-icon-card.selected .checkin-icon-label{color:#92400e;font-weight:750}.checkin-icon-card.is-dragging{opacity:.4;transform:scale(.95)}.checkin-icon-card.is-drag-over{background:#fff8e1;border-color:#f59e0b;transform:scale(1.05);box-shadow:0 4px 14px #f59e0b38}.checkin-time-section{margin-bottom:20px}.checkin-time-pills{gap:8px;display:flex}.checkin-time-pill{color:#5d5548;cursor:pointer;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;flex:1;min-height:36px;padding:0;font-size:13px;font-weight:750;transition:all .15s}.checkin-time-pill:hover{border-color:#24221a}.checkin-time-pill.early.active{color:#24221a;background:#fff3b0;border-color:#e5c341;box-shadow:0 1px 4px #e5c34140}.checkin-time-pill.midday.active{color:#24221a;background:#ffe0bd;border-color:#e7a35a;box-shadow:0 1px 4px #e7a35a40}.checkin-time-pill.afternoon.active{color:#24221a;background:#dceeff;border-color:#8dbbe5;box-shadow:0 1px 4px #8dbbe540}.checkin-time-pill.evening.active{color:#24221a;background:#eadfff;border-color:#b49be7;box-shadow:0 1px 4px #b49be740}.checkin-amount-section{background:#fffdf5;border:1px solid #eadbba;border-radius:12px;margin-bottom:18px;padding:12px 14px}.checkin-amount-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.checkin-amount-label{color:#686156;letter-spacing:.02em;font-size:12.5px;font-weight:750}.checkin-stepper{background:#fff8d6;border:1px solid #e6c135;border-radius:999px;align-items:center;gap:6px;padding:2px 4px;display:inline-flex}.checkin-stepper-btn{color:#fff;cursor:pointer;background:#24221a;border:none;border-radius:50%;place-items:center;width:26px;height:26px;font-size:16px;font-weight:700;line-height:1;transition:all .15s;display:grid}.checkin-stepper-btn:hover{background:#403d34;transform:scale(1.05)}.checkin-stepper-btn:active{transform:scale(.95)}.checkin-stepper-value{justify-content:center;align-items:baseline;gap:2px;min-width:48px;padding:0 6px;display:flex}.checkin-stepper-value b{color:#24221a;font-size:16px;font-weight:800}.checkin-stepper-value small{color:#8a6e00;font-size:11px;font-weight:750}.checkin-preset-chips{flex-wrap:wrap;gap:6px;display:flex}.checkin-preset-chip{color:#5d5548;cursor:pointer;background:#fff;border:1px solid #d8d1c3;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:700;transition:all .15s}.checkin-preset-chip:hover{background:#fffdf3;border-color:#24221a}.checkin-preset-chip.active{color:#ffd000;background:#24221a;border-color:#24221a;box-shadow:0 2px 6px #24221a33}.cell-checkin-badges{pointer-events:none;z-index:6;position:absolute;inset:0}.cell-checkin-badge{pointer-events:none;place-items:center;width:22px;height:22px;animation:2.4s ease-in-out infinite alternate cell-badge-float;display:grid;position:absolute}.cell-checkin-badge svg{filter:drop-shadow(0 1px 3px #0000002e);display:block}.cell-checkin-badge.badge-pos-0{animation-delay:0s;top:20px;right:4px}.cell-checkin-badge.badge-pos-1{animation-delay:.4s;top:44px;right:4px}.cell-checkin-badge.badge-pos-2{animation-delay:.8s;top:68px;right:4px}.cell-checkin-badge.badge-pos-3{animation-delay:1.2s;top:92px;right:4px}.cell-checkin-badge.badge-pos-4{animation-delay:1.6s;bottom:4px;right:26px}.cell-checkin-badge.badge-pos-5{animation-delay:2s;bottom:4px;right:48px}@keyframes cell-badge-float{0%{transform:translateY(0)}to{transform:translateY(-2px)}}.checkin-modal-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.checkin-actions-left{align-items:center;display:flex}.checkin-actions-right{flex-shrink:0;align-items:center;gap:7px;margin-left:auto;display:flex}.checkin-btn-generate{color:#1e1c16;cursor:pointer;white-space:nowrap;background:#ffe500;border:1px solid #f0c900;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:5px;min-height:38px;padding:0 14px;font-size:13px;font-weight:750;transition:all .15s;display:inline-flex}.checkin-btn-generate:hover:not(:disabled){background:#ffd000;border-color:#d8b200;transform:translateY(-1px);box-shadow:0 3px 12px #ffd00059}.checkin-btn-generate:disabled{opacity:.6;cursor:not-allowed}.cell-todos-toggle-btn{color:#726b5e;cursor:pointer;background:#eeeae0;border:1px solid #dedbd0;border-radius:7px;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;transition:all .15s;display:inline-flex}.cell-todos-toggle-btn:hover{color:var(--ink);background:#e4dfd3;border-color:#cfc9bc}.cell-todos-toggle-btn.is-hidden{color:#a8a092;background:#f4f1ea;border-color:#e5e1d7}.checkin-btn-delete{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;align-items:center;gap:5px;min-height:38px;margin-right:auto;padding:0 12px;font-size:12.5px;font-weight:650;transition:all .15s;display:inline-flex}.checkin-btn-delete svg{color:#dc2626;stroke:#dc2626}.checkin-btn-delete:hover{color:#b91c1c;background:#fecaca;border-color:#f87171}.checkin-btn-delete:hover svg{color:#b91c1c;stroke:#b91c1c}.checkin-btn-submit{color:#fff;cursor:pointer;white-space:nowrap;background:#24221a;border:1px solid #24221a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 16px;font-size:13.5px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #24221a2e}.checkin-btn-submit:hover{color:#ffd000;background:#3e3a2d;transform:translateY(-1px);box-shadow:0 6px 18px #24221a40}@media (width<=720px){.checkin-modal{padding:16px 12px}.checkin-modal-actions{flex-wrap:nowrap;gap:6px;width:100%;margin-top:10px}.checkin-actions-left{flex-shrink:0}.checkin-actions-right{flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.checkin-btn-delete{white-space:nowrap;border-radius:7px;gap:4px;height:36px;min-height:36px;padding:0 10px;font-size:12px}.checkin-btn-generate{white-space:nowrap;border-radius:7px;flex-shrink:1;gap:4px;height:36px;min-height:36px;padding:0 11px;font-size:12.5px}.checkin-btn-submit{white-space:nowrap;border-radius:7px;flex-shrink:0;gap:4px;height:36px;min-height:36px;padding:0 12px;font-size:12.5px}.checkin-icon-grid{grid-template-columns:repeat(4,1fr);gap:7px}.checkin-icon-card{padding:6px 2px}.checkin-icon-badge{width:38px;height:38px}.cell-checkin-badge{width:18px;height:18px}.cell-checkin-badge.badge-pos-0{top:16px;right:2px}.cell-checkin-badge.badge-pos-1{top:35px;right:2px}.cell-checkin-badge.badge-pos-2{top:54px;right:2px}.cell-checkin-badge.badge-pos-3{bottom:2px;right:2px}.cell-checkin-badge.badge-pos-4{bottom:2px;right:20px}.cell-checkin-badge.badge-pos-5{bottom:2px;right:38px}}.checkin-preview-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#221d1273;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.checkin-preview-card{background:#f8f6ef;border:1px solid #ded6c8;border-radius:20px;flex-direction:column;width:100%;max-width:380px;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #2d261838}.checkin-preview-header{color:#24221a;border-bottom:1px solid #eae5d9;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:700;display:flex}.checkin-preview-segmented{background:#eae5d8;border:1px solid #dcd4c3;border-radius:999px;align-items:center;gap:2px;padding:2.5px;display:inline-flex}.checkin-preview-seg-btn{color:#6b6354;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 13px;font-size:12.5px;font-weight:750;line-height:1.2;transition:all .15s}.checkin-preview-seg-btn:hover{color:#24221a}.checkin-preview-seg-btn.active{color:#ffd000;background:#24221a;box-shadow:0 2px 6px #24221a33}.checkin-preview-img-wrap{background:#ece7dc;flex:1;justify-content:center;padding:16px;display:flex;overflow:auto}.checkin-preview-img{border-radius:12px;max-width:100%;height:auto;box-shadow:0 4px 18px #2d261826}.checkin-preview-actions{background:#f8f6ef;border-top:1px solid #eae5d9;gap:10px;padding:12px 16px;display:flex}.checkin-preview-share-btn,.checkin-preview-download-btn{cursor:pointer;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex}.checkin-preview-share-btn{color:#fff;background:#24221a;border:1px solid #24221a}.checkin-preview-share-btn:hover{color:#ffd000;background:#3e3a2d;transform:translateY(-1px)}.checkin-preview-download-btn{color:#24221a;background:#ffd000;border:1px solid #e6bc00}.checkin-preview-download-btn:hover{background:#ffc600;transform:translateY(-1px);box-shadow:0 4px 14px #ffd00059}.repeat-delete-modal{background:#f8f6ef;border:1px solid #ded6c8;border-radius:16px;width:min(100%,420px);padding:24px;position:relative;box-shadow:0 16px 44px #2d261838}.repeat-delete-header{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.repeat-delete-icon-wrap{color:#b45309;background:#fef3c7;border:1px solid #fde68a;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.repeat-delete-header h3{color:#24221a;margin:0 0 6px;font-size:17px;font-weight:750}.repeat-delete-header p{color:#6d665b;word-break:break-word;margin:0;font-size:13px;line-height:1.5}.repeat-delete-actions{flex-direction:column;gap:10px;display:flex}.repeat-delete-btn{text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;width:100%;padding:12px 15px;transition:all .16s;display:flex}.repeat-delete-btn .btn-main-text{font-size:13.5px;font-weight:700;display:block}.repeat-delete-btn .btn-sub-text{opacity:.82;margin-top:3px;font-size:11px;display:block}.repeat-delete-btn.only-today{color:#634d0b;background:#fff9db;border:1px solid #dfcf92}.repeat-delete-btn.only-today:hover{background:#fff3bd;border-color:#d6be62;transform:translateY(-1px)}.repeat-delete-btn.all-repeats{color:#b91c1c;background:#fff1f2;border:1px solid #fecaca}.repeat-delete-btn.all-repeats:hover{background:#fee2e2;border-color:#fca5a5;transform:translateY(-1px)}.repeat-delete-btn.cancel{color:#625b50;background:0 0;border:1px solid #d8d1c3;justify-content:center;align-items:center;padding:11px 14px;font-size:13px;font-weight:650}.repeat-delete-btn.cancel:hover{background:#f0ede5}.clear-local-data-trigger{color:#b94037!important;border-color:#efc6c1!important}.login-data-choice-modal{background:#f8f6ef;border:1px solid #ded6c8;border-radius:18px;width:min(100% - 32px,440px);padding:24px;box-shadow:0 18px 52px #2d26183d}.login-data-choice-modal h2{color:#24221a;margin:4px 0 8px;font-size:21px}.login-data-choice-modal .auth-hint{margin:0;line-height:1.65}.login-data-choice-actions{gap:10px;margin-top:20px;display:grid}.login-data-choice-actions button{color:#3e392f;text-align:left;cursor:pointer;background:#fffef9;border:1px solid #d8d1c3;border-radius:11px;gap:3px;width:100%;padding:13px 15px;display:grid}.login-data-choice-actions button:hover:not(:disabled){background:#fff9df;border-color:#d5ad14}.login-data-choice-actions button:disabled{opacity:.55;cursor:wait}.login-data-choice-actions button b{font-size:14px}.login-data-choice-actions button small{color:#8b8478;font-size:11px;font-weight:600;line-height:1.45}.login-data-choice-actions .later{color:#756d61;background:#f4f1e9}@media (width<=720px){.login-data-choice-modal{padding:20px}.login-data-choice-modal h2{font-size:19px}}.account-section{margin-top:22px}.account-section h2{color:#847c70;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px 4px;font-size:12px;font-weight:700}.account-row,.expand-button{color:#3f392f;text-align:left;cursor:pointer;box-sizing:border-box;background:#fffef9;border:1px solid #e2ddd2;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;font-size:14px;font-weight:650;transition:border-color .15s,background .15s;display:flex;box-shadow:0 2px 8px #2b251808}.account-row{cursor:default}.expand-button:hover:not(:disabled){background:#fffdf5;border-color:#c9beaa}.account-row span,.expand-button span{flex:1}.account-row em,.expand-button em{color:#938c80;font-size:13px;font-style:normal;font-weight:500}.expand-button.text-destructive,.expand-button.text-destructive em{color:#c0392b}.account-danger-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.danger-action-btn{cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 16px;font-size:14px;font-weight:750;transition:all .15s;display:flex}.danger-action-btn.secondary{color:#c0392b;background:#fffef9;border:1px solid #e2ddd2;box-shadow:0 2px 8px #2b251808}.danger-action-btn.secondary:hover:not(:disabled){background:#fff5f3;border-color:#f0c3bf}.danger-action-btn.primary{color:#fff;background:#c0392b;border:1px solid #c0392b;box-shadow:0 4px 14px #c0392b33}.danger-action-btn.primary:hover:not(:disabled){background:#a93224;border-color:#a93224}.danger-action-btn:disabled{opacity:.5;cursor:not-allowed}.password-form,.delete-form{background:#fffef9;border:1px solid #e2ddd2;border-radius:12px;gap:10px;margin-top:8px;padding:16px;display:grid}.password-form input,.delete-form input{box-sizing:border-box;width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d8d1c3;border-radius:8px;padding:0 12px;font-size:13px}.password-form input:focus,.delete-form input:focus{border-color:#d7a900;outline:0;box-shadow:0 0 0 2px #fff1b1}.delete-form p{color:#a23e37;margin:0 0 6px;font-size:12px;line-height:1.5}.account-clear-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#221d1259;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.account-clear-dialog{background:#f8f6ef;border:1px solid #ded6c8;border-radius:14px;width:min(100%,420px);padding:22px;box-shadow:0 14px 42px #2d261838}.account-clear-dialog h2{color:#c0392b;margin:0 0 10px;font-size:17px}.account-clear-dialog p{color:#686156;margin:0 0 18px;font-size:13px;line-height:1.6}.account-clear-dialog div{justify-content:flex-end;gap:10px;display:flex}.account-clear-dialog .secondary-button{color:#686156;cursor:pointer;background:#fff;border:1px solid #d8d1c3;border-radius:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:650}.account-clear-dialog .delete-button{width:auto;min-height:38px;padding:0 16px;font-size:13px}.account-info-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#221d1259;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.account-info-sheet{background:#f8f6ef;border:1px solid #ded6c8;border-radius:14px;width:min(100%,480px);max-height:85vh;padding:22px;overflow-y:auto;box-shadow:0 14px 42px #2d261838}.account-info-sheet header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.account-info-sheet header h2{color:#302c24;margin:0;font-size:18px}.account-info-sheet header button{color:#847c70;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.account-info-content{gap:16px;display:grid}.install-guide>div{background:#fffef9;border:1px solid #e2ddd2;border-radius:10px;padding:14px}.install-guide h3{color:#3f392f;align-items:center;gap:8px;margin:0 0 6px;font-size:14px;display:flex}.install-guide p{color:#686156;margin:0;font-size:13px;line-height:1.5}.install-guide-action{margin-top:10px}.install-guide-action a{color:#fff;background:#24221a;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.account-loading-row{color:#847d70;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex}.spin-icon{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.account-error-row{color:#a23e37;background:#fff3f1;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;display:flex}.retry-btn{color:#a23e37;background:#fff;border:1px solid #e8bbb6;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700}.account-methods-card{background:#fffef9;border:1px solid #e2ddd2;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #2b251808}.method-row{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.method-row:not(:first-child){border-top:1px solid #f0ebe1}.method-info{gap:3px;display:grid}.method-title-line{color:#3f392f;align-items:center;gap:7px;font-size:13px;display:flex}.method-badge{border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.method-badge.configured{color:#4d693c;background:#edf5e7;border:1px solid #d4e4ca}.method-badge.not-configured{color:#7a651a;background:#fff8d6;border:1px solid #ecd67b}.method-info small{color:#8c8579;font-size:11px}.method-btn{color:#453f34;cursor:pointer;background:#fff;border:1px solid #d8d1c3;border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.method-btn:hover{background:#f7f4ed;border-color:#c4bcb0}.method-btn.text-danger{color:#a23e37}.method-btn.text-danger:hover{background:#fff3f1;border-color:#f0c3bf}.inline-form{background:#faf8f2;border-top:1px dashed #e2ddd2;padding:12px 16px 16px}.sidebar-about.account-about button{cursor:pointer;transition:background .15s,border-color .15s}.sidebar-about.account-about button:hover{color:#555044;background:#f6f3eb;border-color:#c8c0b2}.more-tools-sheet{width:min(100%,540px);padding:22px}.more-tools-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.more-tools-title-group{flex-direction:column;min-width:0;display:flex}.more-tools-title-row-top{align-items:center;gap:8px;display:flex}.more-tools-header h2{color:#302c24;margin:0;font-size:18px;font-weight:600;line-height:1.3}.more-tools-view-all-btn{color:#fff;white-space:nowrap;background:#24221a;border-radius:6px;justify-content:center;align-items:center;padding:4px 8px;font-size:11px;font-weight:500;line-height:1;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.more-tools-view-all-btn:hover{color:#fff;background:#3e3a2d}.more-tools-subtitle{color:#847c70;margin:3px 0 0;font-size:12px;line-height:1.4}.more-tools-header button{color:#847c70;cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;transition:background .15s,color .15s;display:grid}.more-tools-header button:hover{color:#302c24;background:#ece8dc}.more-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.more-tools-card{color:inherit;box-sizing:border-box;background:#fffef9;border:1px solid #e2ddd2;border-radius:12px;align-items:center;gap:11px;padding:12px;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.more-tools-card:hover{background:#fbf9f2;border-color:#d0c8ba;transform:translateY(-1px);box-shadow:0 3px 10px #2d261812}.more-tools-card:active{box-shadow:none;background:#f5f1e6;transform:translateY(0)}.more-tools-icon{object-fit:cover;border-radius:9px;flex-shrink:0;width:42px;height:42px;box-shadow:0 1px 3px #00000014}.more-tools-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.more-tools-title-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.more-tools-name{color:#302c24;font-size:14px;font-weight:600;line-height:1.3}.more-tools-arrow{color:#9c9486;flex-shrink:0;transition:color .15s,transform .15s}.more-tools-card:hover .more-tools-arrow{color:#302c24;transform:translate(1px,-1px)}.more-tools-desc{color:#847c70;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=640px){.more-tools-sheet{width:min(100%,460px);padding:18px 16px 20px}.more-tools-grid{grid-template-columns:1fr;gap:8px}.more-tools-card{gap:10px;padding:10px 12px}.more-tools-icon{border-radius:8px;width:38px;height:38px}}@media (width<=360px){.more-tools-card{gap:8px;padding:8px 10px}.more-tools-icon{width:34px;height:34px}.more-tools-name{font-size:13px}.more-tools-desc{font-size:11.5px}}.day-cell.cn-workday:not(.public-holiday){background:#e9eef6}.day-cell.cn-workday:not(.public-holiday):hover{background:#dfe6f1}.day-cell.cn-workday:not(.public-holiday).selected{background:#e9eef6;box-shadow:inset 0 0 0 2px #4b5f86}.day-cell.muted.cn-workday:not(.public-holiday){background:#eef1f6}.day-cell.muted.cn-workday:not(.public-holiday):hover{background:#e4e9f2}.day-cell.cn-workday:not(.public-holiday):not(.today) .day-number{color:#2e4068}.day-cell.muted.cn-workday:not(.public-holiday):not(.today) .day-number{color:#7d8aa6}.holiday.cn-workday{color:#2e4068;background:#d9e1ee}.cn-workday-badge{color:#f3f5fa;vertical-align:0;background:#3d5178;border-radius:3px;margin-right:3px;padding:0 3px;font-size:.88em;font-weight:700;line-height:1.35;display:inline-block}.holiday-detail-card.cn.cn-workday:not(.solar):not(.memorial){background:#f1f4f9;border-color:#c5d0e2}.holiday-detail-card.cn-workday h3{color:#2e4068}.holiday-detail-card.cn-workday>div span{color:#5b6b8c}.holiday-detail-card.cn-workday button{color:#3d5178}.day-panel-head{align-items:center}.day-panel-head p{margin:0}.day-panel-head h2{font-size:12px}.week-panel,.month-panel,.upcoming-panel{max-width:620px}.week-panel .day-panel-head,.month-panel .day-panel-head,.upcoming-panel .day-panel-head{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:3px;max-width:100%;padding-bottom:12px;display:flex}.week-panel .day-panel-head h2,.month-panel .day-panel-head h2,.upcoming-panel .day-panel-head h2{color:#554e44;font-size:12px;font-weight:700}.week-panel .todo-module,.month-panel .todo-module,.upcoming-panel .todo-module{max-width:100%}.event-card b{font-size:16px}.bottom-sync-button{color:#24221a;background:#ffc600;border-color:#d7a900}.bottom-sync-button:hover{color:#24221a;background:#ffd333}.bottom-sync-button:disabled{color:#81774e;background:#f8e8a3}.bottom-sync-button i{border:2px solid #fffef9;width:11px;height:11px;top:1px;right:1px}.calendar-density-toggle{color:#625b50;background:0 0;border:0;align-items:center;gap:12px;width:100%;height:43px;padding:0;display:flex}.calendar-density-toggle span{border-top:1px dashed #d6d0c4;flex:1;height:0}.calendar-density-toggle svg{background:#fffef9;border:1px solid #d6d0c4;border-radius:50%;width:31px;height:31px;padding:5px;transition:transform .18s,background .18s;transform:rotate(180deg);box-shadow:0 2px 5px #302a1c0f}.calendar-density-toggle:hover svg{background:#fff5c7}.calendar-density-toggle.is-collapsed svg{transform:rotate(0)}.month-grid.is-collapsed{animation:.18s ease-out calendar-collapse}.month-grid.is-collapsed+.calendar-density-toggle{margin-top:2px}.day-panel{border-top:0;margin-top:2px}.month-grid{background:0 0;border:0;gap:6px}.weekday{border:0}.day-cell{background:#fff;border:0;border-radius:10px}.day-cell:hover{background:#fffdf5}.day-cell.muted{background:#ecebe7}.day-cell.muted.public-holiday-cn{background:#fff0df}.day-cell.muted.public-holiday-jp{background:#fff1f0}.day-cell.muted.public-holiday-both{background:linear-gradient(135deg,#ffe2b7 0%,#fff0df 42%,#ffd9d5 100%)}.sidebar{z-index:30}.side-dismiss{z-index:29}.recurrence-section{background:#faf8f2;border:1px solid #e7e2d8;border-radius:9px;margin-top:14px;padding:14px}.recurrence-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.recurrence-label{color:#554e44;font-size:13px;font-weight:680}.recurrence-sublabel{color:#736b5e;margin:12px 0 6px;font-size:11px;font-weight:680}.custom-select-container{min-width:142px;position:relative}.custom-select-trigger{color:#3f392f;cursor:pointer;background:#fffef9;border:1px solid #d8d1c3;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 12px;font-size:12px;font-weight:650;transition:all .15s;display:flex}.custom-select-trigger:hover{border-color:#24221a}.select-chevron{color:#8e877a;transition:transform .18s}.select-chevron.is-open{transform:rotate(180deg)}.custom-select-menu{z-index:50;background:#fffef9;border:1px solid #d8d1c3;border-radius:8px;min-width:150px;padding:5px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 10px 28px #2d26182e}.custom-select-option{color:#514b41;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:6px;width:100%;min-height:32px;padding:0 9px;font-size:12px;font-weight:600;transition:background .12s;display:flex}.custom-select-option:hover{color:#24221a;background:#f3efe6}.custom-select-option.active{color:#24221a;background:#fff0ac;font-weight:750}.weekday-picker{gap:6px;margin-top:4px;display:flex}.weekday-pill{color:#655e52;cursor:pointer;background:#fff;border:1px solid #d8d1c3;border-radius:6px;flex:1;min-height:32px;padding:0;font-size:12px;font-weight:700;transition:all .15s}.weekday-pill:hover{border-color:#24221a}.weekday-pill.active{color:#24221a;background:#fff3b0;border-color:#e5c341;font-weight:850;box-shadow:0 1px 4px #e5c34140}.recurrence-range-group{margin-top:4px}.recurrence-range-pills{flex-wrap:wrap;gap:6px;display:flex}.range-pill{color:#655e52;cursor:pointer;background:#fff;border:1px solid #d8d1c3;border-radius:6px;min-height:30px;padding:0 10px;font-size:11px;font-weight:650;transition:all .15s}.range-pill:hover{border-color:#24221a}.range-pill.active{color:#fff;background:#24221a;border-color:#24221a;font-weight:700}.range-custom-date{margin-top:8px}.range-custom-date input{width:100%}.date-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-left span{white-space:normal;max-width:min(330px,42vw)}.dot.horoscope{background:#ffc600}.dot.daily-quote{background:#24221a}.horoscope-sign-select{color:#686156;gap:7px;margin-top:10px;font-size:12px;font-weight:650;display:grid}.horoscope-help{color:#9a9488;margin:8px 0 0;font-size:11px;line-height:1.5}.day-module-todos-col{flex-direction:column;gap:22px;width:100%;display:flex}.checkin-module,.daily-quote-module{width:100%}.daily-quote-card{color:#3f392f;background:#fff9dc;border:1px solid #e7d27b;border-radius:12px;gap:10px;padding:13px 14px;display:flex}.daily-quote-card svg{color:#24221a;flex:none;margin-top:2px}.daily-quote-card p{margin:0;font-size:13px;font-weight:680;line-height:1.72}.horoscope-module{grid-column:1;max-width:none}.day-modules>.day-module,.day-modules>.day-module-todos-col{width:100%;max-width:none}.horoscope-card{background:#fffdf5;border:1px solid #ead37a;border-radius:12px;padding:14px}.horoscope-head{align-items:center;gap:10px;display:flex}.zodiac-badge{color:#24221a;background:#ffc600;border:1.5px solid #24221a;border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.zodiac-badge svg{width:30px;height:30px;display:block;overflow:visible}.zodiac-badge text{fill:currentColor;font-variant-emoji:text;font-family:"Noto Sans Symbols 2",Segoe UI Symbol,Arial Unicode MS,sans-serif;font-size:23px;font-weight:500}.zodiac-badge.small{border-radius:6px;flex-basis:23px;width:23px;height:23px}.zodiac-badge.small svg{width:21px;height:21px}.zodiac-badge.small text{font-size:17px}.horoscope-head>div{flex:1;min-width:0}.horoscope-head span:not(.zodiac-badge){color:#81796d;font-size:11px;font-weight:650}.horoscope-head h3{color:#24221a;letter-spacing:.06em;margin:2px 0 0;font-size:15px}.horoscope-head button{color:#625b50;background:#fff;border:1px solid #d8d1c3;border-radius:999px;min-height:28px;padding:0 8px;font-size:11px}.horoscope-summary,.horoscope-advice,.horoscope-sky-note{color:#514b41;margin:11px 0 0;font-size:12px;line-height:1.65}.horoscope-score,.horoscope-details{color:#81796d;flex-wrap:wrap;gap:7px 12px;margin-top:11px;font-size:11px;display:flex}.horoscope-score b{color:#24221a;margin-left:2px;font-size:13px}.horoscope-details{border-top:1px solid #eee3bc;padding-top:10px}.horoscope-keywords{color:#67541a;margin:10px 0 0;font-size:12px;font-weight:700}.horoscope-sky-note{color:#8a8170;font-size:11px}.horoscope-login{color:#fff;background:#24221a;border:0;border-radius:7px;align-items:center;gap:6px;min-height:33px;margin-top:12px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.horoscope-empty{color:#b28700;align-items:flex-start;gap:10px;display:flex}.horoscope-empty>div{flex:1;min-width:0}.horoscope-empty h3{color:#3e392f;margin:0;font-size:13px}.horoscope-empty p{color:#81796d;margin:5px 0 10px;font-size:11px}.zodiac-picker{width:min(100%,230px);position:relative}.zodiac-picker-trigger{color:#3f392f;text-align:left;background:#fff;border:1px solid #d8d1c3;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:36px;padding:5px 9px;font-size:12px;font-weight:650;display:flex}.zodiac-picker-trigger>span:not(.zodiac-badge){flex:1}.zodiac-picker-trigger>.zodiac-badge{flex:0 0 23px}.zodiac-picker-trigger>svg{color:#81796d}.zodiac-picker-list{z-index:45;background:#fffef9;border:1px solid #d8d1c3;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(270px,100vw - 42px);padding:6px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 12px 28px #302a1c2e}.zodiac-picker-list button{color:#4a4337;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:4px 6px;font-size:11px;font-weight:650;display:flex}.zodiac-picker-list button:hover,.zodiac-picker-list button.active{color:#24221a;background:#fff0ac}.zodiac-picker-list button svg{margin-left:auto}.event-card{grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px}.event-card.is-sortable{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:opacity .14s,transform .14s,box-shadow .14s,background .14s}.event-card.is-sortable:active{cursor:grabbing}.event-card.is-dragging{z-index:3;pointer-events:none;background:#fff8d8;border-radius:10px;transform:translateY(-2px)scale(1.01);box-shadow:0 10px 26px #4135102e;opacity:.9!important}.event-card.is-drag-target{box-shadow:inset 0 3px #ffc600}.event-card-content{min-width:0}.event-checkbox{color:#fff;cursor:pointer;background:#fff;border:1.5px solid #b8b2a5;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;margin:0 4px 0 6px;padding:0;transition:all .15s;display:inline-grid;position:relative}.event-checkbox:after{content:"";position:absolute;inset:-8px}.event-checkbox:hover{background:#faf8f2;border-color:#24221a}.event-checkbox.checked{color:#fff;background:#24221a;border-color:#24221a}.event-card.status-done{opacity:.7}.event-card.status-done b,.event-card.status-done small,.event-card.status-done .time-prefix{text-decoration:line-through;text-decoration-thickness:1.5px}.event-card.status-cancelled b,.event-card.status-cancelled small,.event-card.status-cancelled .time-prefix{color:#a9a49c}.event-card.status-attention b,.event-card.status-attention small,.event-card.status-attention .time-prefix{color:#bf3f36}.checkin-badge-icon{vertical-align:-2.5px;justify-content:center;align-items:center;margin-right:6px;display:inline-flex}.checkin-badge-icon svg{display:block}.reminder-test-button{color:#665f52;background:#fffef9;border:1px solid #d8d1c3;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:27px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.reminder-test-button:hover{color:#24221a;background:#fff6c8;border-color:#d7a900}@media (width<=720px){.reminder-test-button{grid-column:1/-1;justify-self:start}.reminder-left span{max-width:100%}}@media (width<=480px){.reminder-box{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.reminder-left>div{min-width:0}.reminder-left span{white-space:nowrap}.reminder-right{grid-template-columns:auto 54px 10px 54px max-content;justify-content:start;gap:6px;display:grid}.reminder-test-button{grid-column:auto;justify-self:start}}@media (width<=720px){.day-modules{flex-direction:column;display:flex}.day-module-todos-col{order:1}.horoscope-module{order:2}.holiday-module{order:3}}@keyframes calendar-collapse{0%{opacity:.55;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
