/* 白底、轻盈留白与微浮起的白色玻璃按钮。 */
.cal-screen {background:#fff !important;color:#373b3e;}
.cal-screen .app-header {background:#fff !important;box-shadow:none;border-bottom:1px solid #f4f4f4;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;padding-top:calc(12px + var(--uwu-top-inset,env(safe-area-inset-top,0px)));}
.cal-body {flex:1;overflow:auto;padding:22px 20px 32px;background:#fff;overscroll-behavior:contain;}
.cal-eyebrow {font-size:10px;letter-spacing:3px;color:#a5a6a8;margin-bottom:7px;}
.cal-month-head,.cal-month-controls,.cal-actions,.cal-footer,.cal-dialog-head {display:flex;align-items:center;gap:8px;}
.cal-month-head {justify-content:space-between;margin-bottom:20px;}.cal-month-head h2 {font-size:23px;font-weight:500;letter-spacing:.5px;margin:0;}
.cal-button,.cal-icon {border:1px solid #eeeeed;background:#fafaf9;color:#4b5052;cursor:pointer;transition:transform .14s,box-shadow .2s,background .2s;font-family:inherit;box-sizing:border-box;}
.cal-button {min-height:38px;border-radius:12px;padding:8px 13px;font-size:13px;}.cal-icon {width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:0;flex-shrink:0;}
.cal-glass {background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(249,250,250,.85));border:1px solid rgba(233,235,235,.9);box-shadow:0 4px 12px rgba(34,43,48,.055),inset 0 1px 0 #fff;backdrop-filter:blur(12px);}
.cal-button:active,.cal-icon:active,.cal-day:active {transform:translateY(1px) scale(.97);box-shadow:inset 0 2px 5px rgba(40,50,55,.06);}
.cal-button:focus-visible,.cal-icon:focus-visible,.cal-day:focus-visible {outline:2px solid #b9cdd5;outline-offset:2px;}.cal-button:disabled {opacity:.45;cursor:default;}
.cal-overview {padding:16px 17px;background:#fbf7f7;border-radius:18px;margin-bottom:22px;display:flex;flex-direction:column;gap:5px;}.cal-overview-title {font-size:15px;color:#7a5e65;}.cal-overview small {font-size:11px;line-height:1.7;color:#a28c91;}
.cal-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 3px;}.cal-weekday {font-size:11px;text-align:center;color:#aaa;padding:5px 0 10px;}
.cal-day {position:relative;border:1px solid transparent;min-width:0;height:47px;border-radius:13px;background:#fff;color:#4a4d50;font-family:inherit;font-size:14px;cursor:pointer;transition:all .17s;}.cal-day-number {font-size:14px;}.cal-period {background:#faedef;color:#a76b7c;}.cal-predicted {background:#fffafb;border:1px dashed #edd9df;color:#ae8390;}.cal-day.selected {background:linear-gradient(145deg,#fff,#fafafa);border-color:#e9d6dc;box-shadow:0 4px 12px rgba(90,63,73,.12),inset 0 1px 0 #fff;transform:translateY(-2px);color:#8e6170;}.cal-period.selected {background:linear-gradient(145deg,#fff,#faedef);}.cal-today .cal-day-number {text-decoration:underline;text-underline-offset:4px;}
.cal-day-badge {position:absolute;right:3px;top:2px;font-size:8px;color:#a8907a;}.cal-day-badge.work {color:#8298a4;}.cal-note-dot {position:absolute;bottom:6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#cda7b3;}
.cal-legend {display:flex;gap:12px;justify-content:center;flex-wrap:wrap;font-size:10px;color:#a4a4a4;margin:15px 0 23px;}.cal-legend-actual {color:#b97f90;}.cal-legend-predicted {color:#c6a6b0;}
.cal-card {background:#fff;border:1px solid #efefed;border-radius:20px;padding:18px 16px;margin-top:15px;box-shadow:0 3px 12px rgba(30,40,45,.02);}.cal-card h3,.cal-dialog h3 {font-size:15px;font-weight:500;margin:0 0 12px;}.cal-muted {font-size:11px;color:#999;line-height:1.7;}.cal-actions {flex-wrap:wrap;margin:12px 0 18px;}.cal-field-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.cal-field {display:flex;flex-direction:column;gap:7px;font-size:12px;color:#7f8385;margin-bottom:13px;min-width:0;}.cal-field input,.cal-field select,.cal-field textarea {width:100%;min-width:0;border:1px solid #eeeeeb;border-radius:10px;background:#fcfcfb;padding:9px 10px;font-family:inherit;font-size:13px;line-height:1.5;color:#4d5254;box-sizing:border-box;min-height:38px;}.cal-field textarea {min-height:78px;resize:vertical;}.cal-field input[type="checkbox"] {width:19px;min-height:19px;height:19px;accent-color:#cdb0bb;}.cal-save {margin-top:2px;}.cal-subtle {border:0;background:transparent;color:#aaa;font-size:11px;}
.cal-history-row {width:100%;background:#fff;border:0;border-bottom:1px solid #f3f3f1;padding:13px 0;text-align:left;display:flex;flex-direction:column;gap:5px;color:#666;font-family:inherit;font-size:12px;cursor:pointer;}.cal-history-row small {color:#aaa;font-size:10px;}.cal-history-row:last-child {border:0;}.cal-footer {justify-content:center;flex-wrap:wrap;margin-top:24px;}
.cal-overlay {position:fixed;inset:0;z-index:22000;display:flex;align-items:center;justify-content:center;background:rgba(35,40,43,.22);}.cal-dialog {background:#fff;border-radius:22px;width:86%;max-width:400px;max-height:80vh;overflow:auto;padding:20px;box-sizing:border-box;box-shadow:0 14px 50px rgba(30,40,45,.12);}.cal-dialog-head {justify-content:space-between;margin-bottom:16px;}.cal-dialog-head h3 {margin:0;}.cal-dialog > .cal-button {margin-right:6px;margin-bottom:5px;}
.calendar-feature .calendar-pref-row {display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:12px;font-size:12px;color:#6a7072;}.calendar-feature .kkt-switch {flex-shrink:0;transform:scale(.82);transform-origin:right center;}.calendar-feature .calendar-region-btn {background:transparent;border:0;padding:7px 0 0;font-family:inherit;font-size:11px;color:#94a4aa;text-align:left;}.calendar-feature .feature-card-title {font-size:15px;}.calendar-feature .feature-card-icon svg {width:24px;height:24px;}
@media(max-width:360px){.cal-body{padding:18px 12px 26px;}.cal-month-head h2{font-size:20px;}.cal-day{height:43px;}.cal-button{padding:8px 10px;}.cal-field-grid{gap:8px;}}
@media(prefers-reduced-motion:reduce){.cal-button,.cal-icon,.cal-day{transition:none;}}
