.calendar-shell{--calendar-bg:#eeece4;--calendar-panel:#e3e0d6;--calendar-panel-strong:#d7d4ca;--calendar-ink:#171714;--calendar-muted:#6f6c63;--calendar-line:#17171438;--calendar-accent:#e84b31;background:var(--calendar-bg);color:var(--calendar-ink)}.calendar-shell *{box-sizing:border-box}.calendar-preview{border:1px solid var(--calendar-line);background:var(--calendar-panel);max-width:680px;margin-top:42px}.calendar-preview>header{border-bottom:1px solid var(--calendar-line);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:0 16px;display:flex}.calendar-preview>header b{font-size:.85rem}.calendar-preview>header span{color:var(--calendar-muted);font-size:.7rem}.calendar-preview article{border-bottom:1px solid var(--calendar-line);grid-template-columns:82px 1fr;align-items:center;gap:16px;min-height:72px;padding:12px 16px;display:grid}.calendar-preview article:last-child{border-bottom:0}.calendar-preview time{color:var(--calendar-muted);font-size:.7rem;line-height:1.5}.calendar-preview time b{color:var(--calendar-ink);font-size:1rem}.calendar-preview p{gap:5px;margin:0;display:grid}.calendar-preview p b{font-size:.86rem}.calendar-preview p span{color:var(--calendar-muted);font-size:.72rem}:root[data-theme=dark] .calendar-shell{--calendar-bg:#191917;--calendar-panel:#242421;--calendar-panel-strong:#30302b;--calendar-ink:#efede4;--calendar-muted:#aaa79c;--calendar-line:#efede438;--calendar-accent:#ff684f}.calendar-account a,.calendar-gate-actions a{color:inherit;text-decoration:none}.calendar-account{color:var(--calendar-muted);align-items:center;gap:1rem;font-size:.78rem;display:flex}.calendar-account a{color:var(--calendar-ink);border-bottom:1px solid;padding-bottom:2px}.calendar-page{width:min(1440px,100%);margin:0 auto;padding:clamp(34px,5vw,76px) 3.2vw 100px}.calendar-intro{grid-template-columns:minmax(0,1.1fr) minmax(280px,.65fr);align-items:end;gap:8vw;padding-bottom:clamp(32px,5vw,64px);display:grid}.calendar-eyebrow,.calendar-entry-main>p,.calendar-day-heading p,.calendar-result-copy>p{color:var(--calendar-accent);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .65rem;font-size:.68rem;font-weight:800}.calendar-intro h1,.calendar-gate h1{font-family:var(--sans);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(42px,4.2vw,60px);font-weight:800;line-height:1.06}.calendar-intro-side>p{max-width:34rem;color:var(--calendar-muted);margin:0 0 .4rem;font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.8}.calendar-intro-side{gap:18px;display:grid}.calendar-intro-side .calendar-account{justify-content:flex-start}.calendar-notice,.calendar-error{border:1px solid var(--calendar-line);background:var(--calendar-panel);color:var(--calendar-muted);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:18px;padding:12px 14px;font-size:.78rem;display:flex}.calendar-error{border-color:color-mix(in srgb, var(--calendar-accent) 55%, var(--calendar-line));color:var(--calendar-ink)}.calendar-notice button,.calendar-error button{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex:0 0 44px;font-size:1.15rem}.calendar-planner{border:1px solid var(--calendar-line);background:var(--calendar-panel);grid-template-columns:minmax(460px,.9fr) minmax(440px,1.1fr);display:grid}.calendar-month-panel,.calendar-day-panel{padding:clamp(20px,3vw,42px)}.calendar-month-panel{border-right:1px solid var(--calendar-line)}.calendar-month-nav,.calendar-day-heading,.calendar-finder-heading{justify-content:space-between;align-items:center;gap:1.2rem;display:flex}.calendar-month-nav{margin-bottom:28px}.calendar-month-nav h2,.calendar-day-heading h2,.calendar-finder h2{font-family:var(--sans);letter-spacing:-.025em;margin:0;font-weight:800}.calendar-month-nav h2{font-size:clamp(1.25rem,2vw,1.8rem)}.calendar-month-nav button{border:1px solid var(--calendar-line);width:42px;height:42px;color:inherit;cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1rem;display:grid}.calendar-weekdays,.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-month-scroll{width:100%}.calendar-weekdays{border-top:1px solid var(--calendar-line);border-left:1px solid var(--calendar-line)}.calendar-weekdays span{border-right:1px solid var(--calendar-line);color:var(--calendar-muted);text-align:center;padding:9px 2px;font-size:.65rem}.calendar-month-grid{border-top:1px solid var(--calendar-line);border-left:1px solid var(--calendar-line)}.calendar-month-grid button,.calendar-empty-cell{border:0;border-right:1px solid var(--calendar-line);border-bottom:1px solid var(--calendar-line);background:0 0;min-height:72px;padding:9px;position:relative}.calendar-month-grid button{color:inherit;cursor:pointer;text-align:left;flex-direction:column;justify-content:space-between;align-items:flex-start;display:flex}.calendar-month-grid button b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;font-weight:500}.calendar-month-grid button span{color:var(--calendar-muted);font-size:.62rem}.calendar-month-grid button.has-entry:after{background:var(--calendar-accent);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:9px;right:9px}.calendar-month-grid button.today b{color:var(--calendar-accent)}.calendar-month-grid button.selected{background:var(--calendar-ink);color:var(--calendar-bg)}.calendar-month-grid button.selected span{color:color-mix(in srgb, var(--calendar-bg) 72%, transparent)}.calendar-month-grid button:hover:not(.selected),.calendar-month-nav button:hover{background:var(--calendar-panel-strong)}.calendar-day-panel{background:color-mix(in srgb, var(--calendar-bg) 50%, transparent);min-width:0}.calendar-day-heading{border-bottom:1px solid var(--calendar-line);align-items:flex-end;padding-bottom:22px}.calendar-day-heading p{margin-bottom:.4rem}.calendar-day-heading h2{font-size:clamp(1.35rem,2.5vw,2.2rem)}.calendar-day-heading>span{color:var(--calendar-muted);white-space:nowrap;font-size:.72rem}.calendar-entry-list{display:grid}.calendar-entry-card{border-bottom:1px solid var(--calendar-line);grid-template-columns:72px minmax(0,1fr) auto;gap:18px;padding:22px 0;display:grid}.calendar-entry-time{flex-direction:column;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex}.calendar-entry-time b{font-size:1rem}.calendar-entry-time span,.calendar-entry-main>span{color:var(--calendar-muted);font-size:.68rem}.calendar-entry-main{min-width:0}.calendar-entry-main>p,.calendar-result-copy>p{margin-bottom:.4rem;font-size:.58rem}.calendar-entry-main h3,.calendar-result-copy h3{margin:0 0 .35rem;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:1.2rem;line-height:1.15}.calendar-entry-main>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-language-meta{color:var(--calendar-muted);flex-wrap:wrap;gap:3px 12px;margin-top:7px;font-size:.64rem;line-height:1.45;display:flex}.calendar-entry-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.calendar-entry-actions a,.calendar-entry-actions button,.calendar-note button{color:var(--calendar-ink);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px solid;font-size:.68rem;text-decoration:none}.calendar-entry-actions a,.calendar-entry-actions button{align-items:center;min-height:44px;padding:0 8px;display:inline-flex}.calendar-entry-actions button:disabled,.calendar-note button:disabled{cursor:default;opacity:.42}.calendar-entry-actions .calendar-remove{color:var(--calendar-accent)}.calendar-note{color:var(--calendar-muted);margin-top:13px;font-size:.68rem}.calendar-note summary{cursor:pointer}.calendar-note textarea{resize:vertical;border:1px solid var(--calendar-line);background:var(--calendar-bg);width:100%;min-height:68px;color:var(--calendar-ink);font:inherit;border-radius:0;outline:0;margin:9px 0 7px;padding:9px 10px;display:block}.calendar-empty-state,.calendar-search-empty{min-height:210px;color:var(--calendar-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;margin:0;font-size:.78rem;display:flex}.calendar-finder{margin-top:clamp(56px,8vw,110px)}.calendar-finder-heading{border-bottom:1px solid var(--calendar-line);align-items:end;margin-bottom:28px;padding-bottom:18px}.calendar-finder h2{font-size:clamp(2rem,4.6vw,4.5rem)}.calendar-finder-heading label{width:min(390px,42vw);position:relative}.calendar-finder-heading input{border:1px solid var(--calendar-line);background:var(--calendar-panel);width:100%;height:48px;color:var(--calendar-ink);font:inherit;border-radius:0;outline:0;padding:0 42px 0 14px}.calendar-finder-heading label>span:last-child{font-size:1.3rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.calendar-search-results{border-top:1px solid var(--calendar-line);border-left:1px solid var(--calendar-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calendar-search-results article{border-right:1px solid var(--calendar-line);border-bottom:1px solid var(--calendar-line);background:color-mix(in srgb, var(--calendar-panel) 58%, transparent);grid-template-columns:90px minmax(0,1fr) auto;gap:16px;min-height:136px;padding:20px;display:grid}.calendar-search-results article.pending{box-shadow:inset 4px 0 0 var(--calendar-accent)}.calendar-result-date{flex-direction:column;gap:5px;display:flex}.calendar-result-date b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.calendar-result-date span,.calendar-result-copy>span{color:var(--calendar-muted);font-size:.66rem}.calendar-result-copy{min-width:0}.calendar-result-copy h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.calendar-result-actions{flex-direction:column;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.calendar-result-actions a{width:44px;height:44px;color:inherit;place-items:center;text-decoration:none;display:grid}.calendar-result-actions button,.calendar-primary-action{border:1px solid var(--calendar-ink);background:var(--calendar-ink);color:var(--calendar-bg);cursor:pointer;font:inherit;border-radius:999px;font-size:.72rem;font-weight:700}.calendar-result-actions button{min-width:68px;padding:9px 14px}.calendar-result-actions button:disabled{border-color:var(--calendar-line);color:var(--calendar-muted);cursor:default;background:0 0}.calendar-search-empty{border-top:1px solid var(--calendar-line);border-bottom:1px solid var(--calendar-line);min-height:160px}.calendar-gate{flex-direction:column;flex:1;justify-content:center;width:min(1040px,100% - 8vw);min-height:640px;margin:0 auto;padding:70px 0 90px;display:flex}.calendar-gate h1{max-width:980px;font-size:clamp(42px,4.2vw,60px)}.calendar-gate-copy{max-width:650px;color:var(--calendar-muted);margin:clamp(30px,5vw,58px) 0 0 auto;font-size:clamp(.95rem,1.5vw,1.16rem);line-height:1.8}.calendar-gate-actions{align-items:center;gap:28px;max-width:650px;margin:26px 0 0 auto;display:flex}.calendar-primary-action{align-items:center;gap:24px;min-height:52px;padding:0 24px;display:flex}.calendar-gate-actions .calendar-primary-action{color:var(--calendar-bg)}.calendar-gate-actions>a:last-child{border-bottom:1px solid;align-items:center;min-height:44px;font-size:.78rem;display:inline-flex}.calendar-auth-note{width:650px;max-width:100%;color:var(--calendar-muted);margin:18px 0 0 auto;font-size:.75rem}:is(.calendar-shell button:focus-visible,.calendar-shell a:focus-visible,.calendar-shell input:focus-visible,.calendar-shell textarea:focus-visible){outline:2px solid var(--calendar-accent);outline-offset:3px}.calendar-shell .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .calendar-shell{--calendar-bg:#191917;--calendar-panel:#242421;--calendar-panel-strong:#30302b;--calendar-ink:#efede4;--calendar-muted:#aaa79c;--calendar-line:#efede438;--calendar-accent:#ff684f}}@media (max-width:980px){.calendar-planner{grid-template-columns:1fr}.calendar-month-panel{border-right:0;border-bottom:1px solid var(--calendar-line)}.calendar-search-results{grid-template-columns:1fr}}@media (max-width:680px){.calendar-account>span{display:none}.calendar-page{padding:30px 14px 70px}.calendar-intro{grid-template-columns:1fr;gap:24px}.calendar-intro h1{letter-spacing:-.025em;font-size:clamp(32px,8.8vw,38px);line-height:1.1}.calendar-month-panel,.calendar-day-panel{padding:16px}.calendar-month-scroll{overscroll-behavior-inline:contain;scrollbar-width:thin;overflow-x:auto}.calendar-month-scroll .calendar-weekdays,.calendar-month-scroll .calendar-month-grid{min-width:308px}.calendar-month-grid button,.calendar-empty-cell{min-height:54px;padding:7px}.calendar-month-grid button span{font-size:0}.calendar-month-grid button span:after{content:"已排";font-size:.57rem}.calendar-entry-card{grid-template-columns:58px minmax(0,1fr);gap:12px}.calendar-entry-actions{flex-flow:wrap;grid-column:2;align-items:flex-start}.calendar-day-heading{align-items:start;gap:10px;display:grid}.calendar-day-heading>span{white-space:normal}.calendar-finder-heading{flex-direction:column;align-items:stretch}.calendar-finder-heading label{width:100%}.calendar-search-results article{grid-template-columns:72px minmax(0,1fr) auto;gap:10px;min-height:118px;padding:14px 12px}.calendar-result-copy h3{font-size:1rem}.calendar-result-actions button{min-width:58px;padding:8px 10px}.calendar-gate{width:calc(100% - 32px);min-height:0;padding:42px 0 58px}.calendar-gate h1{letter-spacing:-.025em;font-size:clamp(32px,8.8vw,38px);line-height:1.1}.calendar-gate h1 br{display:none}.calendar-gate-copy{margin-top:24px;font-size:.9rem;line-height:1.7}.calendar-gate-actions{flex-direction:column;align-items:flex-start;gap:18px;width:100%;margin-left:0}.calendar-gate-actions .calendar-primary-action{justify-content:space-between;width:100%}}@media (max-width:390px){.calendar-search-results article{grid-template-columns:72px minmax(0,1fr)}.calendar-result-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-end;align-items:center}.calendar-result-actions button{min-height:44px}}
