
#mode-calendar { position:fixed; inset:0; z-index:22; background:#cfeee0; }
#mode-calendar #cal-frame { position:absolute; left:0; top:0; width:1194px; height:834px; overflow:hidden; background:#cfeee0; font-family:var(--font-read); }
#mode-calendar #cal-scene { position:absolute; inset:0; overflow:hidden; perspective:2200px; }
#mode-calendar button { font-family:var(--font-read); }
body.cal-hb #menu-btn {left:7.2%; top:6.71%; width:60px; height:60px;}
body.cal-hb #menu-btn .mb-cap {border-radius:17px; gap:5.5px;}
body.cal-hb #menu-btn .mb-cap span {width:32px; height:4.5px;}
#mode-calendar #cal-yx {top:26px !important; left:56px !important; width:60px !important; height:60px !important;
  z-index:6 !important; opacity:0; pointer-events:none; transition:opacity .5s cubic-bezier(0.65,0,0.35,1);}
#mode-calendar #cal-frame.cal-year-open #cal-yx {opacity:1; pointer-events:auto;}
body.cal-hb #menu-btn {transition:transform .3s ease, opacity .5s cubic-bezier(0.65,0,0.35,1);}
body.cal-hb.cal-year-on #menu-btn {opacity:0; pointer-events:none;}
body[data-mode="calendar"] #title-banner,
body[data-mode="calendar"]:not(.app-covered) .al-stamps { opacity:0 !important; pointer-events:none !important; transition:opacity .4s; }
#mode-calendar #cal-scene {position:absolute; inset:0; overflow:hidden; perspective:2600px;}
#mode-calendar .cal-page {position:absolute; inset:0; z-index:1; backface-visibility:hidden; -webkit-backface-visibility:hidden;}
#mode-calendar .cal-cube {position:absolute; inset:0; z-index:2; transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d; transform-origin:50% 50% -597px; will-change:transform;}
#mode-calendar .cal-cube .cal-page {position:absolute; inset:0;}
#mode-calendar .cal-cube .cal-face-r {transform-origin:0 50%; transform:translateX(100%) rotateY(90deg);}
#mode-calendar .cal-cube .cal-face-l {transform-origin:100% 50%; transform:translateX(-100%) rotateY(-90deg);}
#mode-calendar .cal-cube.cal-spin-fwd {animation:calCubeFwd .6s cubic-bezier(.65,0,.35,1) forwards;}
#mode-calendar .cal-cube.cal-spin-back {animation:calCubeBack .6s cubic-bezier(.65,0,.35,1) forwards;}
@keyframes calCubeFwd  { from { transform:rotateY(0deg); } to { transform:rotateY(-90deg); } }
@keyframes calCubeBack { from { transform:rotateY(0deg); } to { transform:rotateY(90deg); } }
#mode-calendar .cal-banner {position:absolute; left:60px; right:60px; top:32px; height:146px; border-radius:26px;
    overflow:hidden; box-shadow:0 8px 0 #0002, inset 0 -6px 0 #0001;}
#mode-calendar .cal-banner .cal-deco {position:absolute; inset:0;}
#mode-calendar .cal-banner .cal-deco span {position:absolute; left:50%; top:14px; transform:translateX(-50%);
    font-size:15px; color:#fff9; letter-spacing:.5px; white-space:nowrap;}
#mode-calendar .cal-banner .cal-title {position:absolute; left:292px; right:146px; top:0; bottom:0; display:flex;
    align-items:center; justify-content:center; gap:22px; pointer-events:none;}
#mode-calendar .cal-banner .cal-month {font-size:var(--mfs,74px); font-weight:700; color:#fff; text-shadow:0 4px 0 #0003;}
#mode-calendar .cal-banner .cal-year {font-size:44px; font-weight:700; color:#fff; opacity:.85; text-shadow:0 3px 0 #0003;}
#mode-calendar .cal-arrow {position:absolute; top:50%; width:112px; height:112px; margin-top:-56px; border-radius:50%;
    background:linear-gradient(#ffffffb8,#e9e2d1b8); border:3px solid #7A4A0A; box-sizing:border-box;
    box-shadow:0 8px 0 #7A4A0A55, 0 2px 4px #0004;
    cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0;}
#mode-calendar .cal-arrow svg {width:56px; height:56px;}
#mode-calendar .cal-arrow.cal-l {left:24px;}
#mode-calendar .cal-arrow.cal-r {right:24px;}
#mode-calendar .cal-grid {position:absolute; left:60px; right:60px; top:194px; bottom:32px;
    background:#fffdf6; border-radius:26px; box-shadow:0 8px 0 #0002; padding:14px 16px 16px;
    display:grid; grid-template-columns:repeat(7,1fr); grid-template-rows:64px 52px repeat(var(--rows,6),minmax(0,1fr));
    gap:8px; box-sizing:border-box;}
#mode-calendar .cal-pillslot {grid-column:1 / -1; display:flex; align-items:center; justify-content:center;}
#mode-calendar .cal-pillslot span {height:56px; padding:0 36px; border-radius:28px; background:#e9f4fb;
    border:2px dashed #9cc6e2; color:#6a9cbf; font-size:20px; display:flex; align-items:center;}
#mode-calendar .cal-wd {display:flex; align-items:center; justify-content:center; font-size:var(--wdfs,29px); overflow:hidden; font-weight:700;
    font-family:inherit; border:none; cursor:pointer; padding:0; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
    color:#fff; background:#7A4A0A; border-radius:14px; box-shadow:0 3px 0 #4a2a00;}
#mode-calendar .cal-wd.cal-sun,
#mode-calendar .cal-wd.cal-sat {background:#c0392b; box-shadow:0 3px 0 #7a1f18;}
#mode-calendar .cal-day {position:relative; border-radius:16px; font-family:inherit; border:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation; background:#f3efe4; display:flex;
    align-items:flex-start; justify-content:flex-start; padding:6px 0 0 12px; box-sizing:border-box;
    font-size:38px; font-weight:700; color:#4a3a1a; cursor:pointer;}
#mode-calendar .cal-day.cal-other {background:transparent; color:#0000;}
#mode-calendar .cal-day.cal-sun,
#mode-calendar .cal-day.cal-sat {color:#c0392b;}
#mode-calendar .cal-day.cal-today {background:#ffe27a; box-shadow:inset 0 0 0 5px #f4a300;}
#mode-calendar .cal-day.cal-today::after {content:''; position:absolute; right:12px; top:12px; width:18px; height:18px;
    border-radius:50%; background:#e0353b;}
#mode-calendar .cal-day .cal-lab {position:absolute; left:0; right:0; bottom:6px; text-align:center; font-size:22px;
    font-weight:700; color:#2b6cb0; line-height:1;}
#mode-calendar .cal-day.cal-today .cal-lab {color:#a05a00;}
#mode-calendar #cal-frame .cal-arrow.cal-down,
#mode-calendar #cal-frame .cal-banner .cal-month.cal-down,
#mode-calendar #cal-frame .cal-banner .cal-year.cal-down {transform:translateY(5px) scale(1.02,.96) !important; box-shadow:0 1px 0 #00000026, inset 0 2px 0 #ffffff7a !important;}
#mode-calendar #cal-frame .cal-arrow.cal-up,
#mode-calendar #cal-frame .cal-banner .cal-month.cal-up,
#mode-calendar #cal-frame .cal-banner .cal-year.cal-up {animation:calKeyPop .35s cubic-bezier(.34,1.56,.64,1) !important;}
#mode-calendar [data-look="rainbow"] .cal-wd {color:#4a3a1a; box-shadow:0 3px 0 #0000001a;}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(2) {background:#ffb9b9}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(3) {background:#ffd9a3}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(4) {background:#fff1a6}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(5) {background:#c9f0b4}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(6) {background:#b7e6ff}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(7) {background:#d9c9ff}
#mode-calendar [data-look="rainbow"] .cal-wd:nth-child(8) {background:#ffc6e6}
#mode-calendar [data-look="rainbow"] .cal-day {background:#fff; border:3px solid #f1e9d9; border-radius:22px; color:#5a4a2a;}
#mode-calendar [data-look="rainbow"] .cal-day.cal-sun,
#mode-calendar [data-look="rainbow"] .cal-day.cal-sat {color:#e8735a;}
#mode-calendar [data-look="rainbow"] .cal-day.cal-other {border-color:transparent; background:transparent;}
#mode-calendar [data-look="rainbow"] .cal-day.cal-today {background:#fff2a8; border-color:#ffc21c; box-shadow:0 0 0 6px #ffe98a80;}
#mode-calendar [data-look="rainbow"] .cal-day .cal-lab {color:#3b8bd1;}
#mode-calendar [data-look="rainbow"] .cal-grid {background:#fff;}
#mode-calendar [data-look="sky"] .cal-wd {background:#dff1ff; color:#1f4e79; border-radius:30px; box-shadow:none;}
#mode-calendar [data-look="sky"] .cal-wd.cal-sun,
#mode-calendar [data-look="sky"] .cal-wd.cal-sat {background:#ffe3c2; color:#a0522d;}
#mode-calendar [data-look="sky"] .cal-day {background:#f7fbff; color:#2c5282; border-radius:18px 24px 16px 26px / 24px 16px 26px 18px;
    box-shadow:0 2px 0 #d5e6f5;}
#mode-calendar [data-look="sky"] .cal-day.cal-sun,
#mode-calendar [data-look="sky"] .cal-day.cal-sat {color:#d9711c; background:#fff7ee; box-shadow:0 2px 0 #f5e2cc;}
#mode-calendar [data-look="sky"] .cal-day.cal-other {background:transparent; box-shadow:none;}
#mode-calendar [data-look="sky"] .cal-day.cal-today {background:#fff3b0; box-shadow:0 0 0 5px #ffd54a; color:#7a4a00;}
#mode-calendar [data-look="sky"] .cal-day .cal-lab {color:#2b6cb0;}
#mode-calendar [data-look="sky"] .cal-grid {background:#fff;}
#mode-calendar [data-look="sticker"] .cal-grid {background:#fffdf6;}
#mode-calendar [data-look="sticker"] .cal-wd {color:#fff; text-shadow:0 2px 0 #0003; border-radius:0; box-shadow:none;
    background:linear-gradient(90deg,#ff8a80,#ffb74d,#ffd54f,#aed581,#4fc3f7,#9575cd,#f48fb1); background-size:700% 100%;}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(2) {background-position:0% 0;border-radius:26px 0 0 26px}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(3) {background-position:16.6% 0}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(4) {background-position:33.3% 0}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(5) {background-position:50% 0}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(6) {background-position:66.6% 0}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(7) {background-position:83.3% 0}
#mode-calendar [data-look="sticker"] .cal-wd:nth-child(8) {background-position:100% 0;border-radius:0 26px 26px 0}
#mode-calendar [data-look="sticker"] .cal-day {background:linear-gradient(#fff,#f4eee2); color:#3a3a5a; border-radius:20px;
    box-shadow:0 4px 0 #dcd2bd, 0 7px 10px #0000001a, inset 0 2px 0 #fff;}
#mode-calendar [data-look="sticker"] .cal-day.cal-sun,
#mode-calendar [data-look="sticker"] .cal-day.cal-sat {color:#e07a5f;}
#mode-calendar [data-look="sticker"] .cal-day.cal-other {background:transparent; box-shadow:none;}
#mode-calendar [data-look="sticker"] .cal-day.cal-today {background:linear-gradient(#fff6b0,#ffe27a); box-shadow:0 4px 0 #e0a800, 0 7px 10px #0000001a, inset 0 2px 0 #fff;}
#mode-calendar [data-look="sticker"] .cal-day .cal-lab {color:#3b8bd1;}
#mode-calendar [data-look="keys"] .cal-grid {background:#fff;}
#mode-calendar [data-look="keys"] .cal-wd {color:#4a3a1a; box-shadow:0 3px 0 #0000001a;}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(2) {background:#ffb9b9}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(3) {background:#ffd9a3}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(4) {background:#fff1a6}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(5) {background:#c9f0b4}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(6) {background:#b7e6ff}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(7) {background:#d9c9ff}
#mode-calendar [data-look="keys"] .cal-wd:nth-child(8) {background:#ffc6e6}
#mode-calendar [data-look="keys"] .cal-day {--edge:#d9cfb8; --face:#fffaf0; --edge-h:6px; --drop:0 8px 12px #00000014; --rim:2px; --rimc:#e9dfc8;
    --ol:0px; --olc:#7A4A0A; --num:38px; --rad:20px;
    color:#5a4a2a; border:var(--ol) solid var(--olc); border-radius:var(--rad); font-size:var(--num);
    background:linear-gradient(180deg,#ffffff 0%,#ffffffcc 30%,var(--face) 55%,var(--face) 100%);
    box-shadow:0 var(--edge-h) 0 var(--edge), var(--drop), inset 0 2px 0 #fff, inset 0 0 0 var(--rim) var(--rimc);
    transition:transform .08s ease-out, box-shadow .08s ease-out; margin-bottom:6px;}
#mode-calendar [data-look="keys"] .cal-day.cal-other {background:transparent; box-shadow:none; border-color:transparent; pointer-events:none;}
#mode-calendar [data-look="keys"] .cal-day.cal-today {--face:#ffe98a; --edge:#e0a800; --rimc:#f0c53a; color:#7a4a00;
    background:linear-gradient(180deg,#fffbe0 0%,#fff6c0cc 30%,var(--face) 55%,var(--face) 100%);}
#mode-calendar [data-look="keys"] .cal-day .cal-lab {color:#3b8bd1;}
#mode-calendar .cal-day {display:flex; flex-direction:column; padding:2px 8px 2px; min-height:0; overflow:visible; margin:3px 4px 6px !important;}
#mode-calendar .cal-day.cal-other {margin:3px 4px 6px !important;}
#mode-calendar .cal-day .cal-num {flex:1; display:flex; align-items:center; justify-content:flex-start; line-height:1; padding-left:4px; min-height:0;}
#mode-calendar [data-numpos="center"] .cal-day .cal-num {justify-content:center; padding-left:0;}
#mode-calendar .cal-day .cal-lab {position:static; flex:none; align-self:stretch; height:26px; line-height:26px; font-size:var(--labfs,20px); white-space:nowrap;
    text-align:center; overflow:visible;}
#mode-calendar .cal-grid.cal-rows6 .cal-day {--num:calc(var(--num-base,38px) * .82);}
#mode-calendar .cal-grid.cal-rows6 .cal-day .cal-lab {height:22px; line-height:22px;}
#mode-calendar [data-look="keys"] .cal-day.cal-today .cal-lab {color:#a05a00;}
#mode-calendar [data-look="keys"] .cal-day.cal-down {transform:translateY(var(--edge-h)) scale(1.02,.96); box-shadow:0 1px 0 var(--edge), 0 2px 4px #0000000a, inset 0 2px 0 #fff, inset 0 0 0 var(--rim) var(--rimc);}
#mode-calendar [data-look="keys"] .cal-day.cal-up {animation:calKeyPop .35s cubic-bezier(.34,1.56,.64,1);}
#mode-calendar [data-outline="thin"] .cal-day {--ol:2px; --olc:#c9b892; --rim:0px;}
#mode-calendar [data-outline="medium"] .cal-day {--ol:3px; --olc:#a88a5a; --rim:0px;}
#mode-calendar [data-outline="thick"] .cal-day {--ol:4px; --olc:#7A4A0A; --rim:0px;}
#mode-calendar [data-outline="ink"] .cal-day {--ol:3px; --olc:#3a3a5a; --rim:0px;}
#mode-calendar [data-outline="weekday"] .cal-day {--ol:3px; --olc:var(--cold); --rim:0px;}
#mode-calendar [data-outline="weekday-soft"] .cal-day {--ol:4px; --olc:var(--col); --rim:0px;}
#mode-calendar [data-outline="month"] .cal-day {--ol:3px; --olc:var(--tint); --rim:0px;}
#mode-calendar [data-outline] .cal-day.cal-today {--olc:#e0a800;}
#mode-calendar [data-outline="weekday"] .cal-day.cal-today,
#mode-calendar [data-outline="weekday-soft"] .cal-day.cal-today {--olc:#e0a800;}
#mode-calendar [data-shadow="deeper"] .cal-day {--edge-h:9px;}
#mode-calendar [data-shadow="deeper-dark"] .cal-day {--edge-h:9px; --edge:#b8a889; --drop:0 12px 14px #0000001f;}
#mode-calendar [data-shadow="soft"] .cal-day {--edge-h:4px; --drop:0 14px 24px #00000026;}
#mode-calendar [data-shadow="cartoon"] .cal-day {--edge-h:0px; --drop:5px 6px 0 #3a3a5a; --rim:0px;}
#mode-calendar [data-shadow="cartoon"] .cal-day.cal-down {transform:translate(3px,4px); box-shadow:2px 2px 0 #3a3a5a;}
#mode-calendar [data-shadow="ink-edge"] .cal-day {--edge:#3a3a5a; --edge-h:6px; --drop:none;}
#mode-calendar [data-shadow="weekday-edge"] .cal-day {--edge:var(--cold); --edge-h:7px;}
#mode-calendar [data-shadow="weekday-edge"] .cal-day.cal-today {--edge:#e0a800;}
#mode-calendar [data-shadow="month-edge"] .cal-day {--edge:var(--tint); --edge-h:7px;}
#mode-calendar [data-face="cream"] .cal-day {--face:#fff3d6;}
#mode-calendar [data-face="month"] .cal-day {--face:color-mix(in srgb, var(--tint) 16%, #fff);}
#mode-calendar [data-face="weekday"] .cal-day {--face:var(--col);}
#mode-calendar [data-face="weekday-soft"] .cal-day {--face:color-mix(in srgb, var(--col) 45%, #fff);}
#mode-calendar [data-face] .cal-day.cal-today {--face:#ffe98a;}
#mode-calendar .cal-day.cal-other {background:transparent !important; box-shadow:none !important; border-color:transparent !important;}
#mode-calendar [data-num="big"] .cal-day {--num-base:46px; --num:46px;}
#mode-calendar [data-num="huge"] .cal-day {--num-base:54px; --num:54px;}
#mode-calendar [data-corner="rounder"] .cal-day {--rad:30px;}
#mode-calendar [data-corner="pill"] .cal-day {--rad:40px;}
#mode-calendar [data-corner="soft-square"] .cal-day {--rad:12px;}
  @keyframes calKeyPop { 0%{transform:translateY(5px) scale(1.02,.96)} 60%{transform:translateY(-2px) scale(1.06)} 100%{transform:none} }
#mode-calendar [data-look="keys"] .cal-day {box-shadow:0 6px 0 var(--edge), 0 8px 12px #00000014, inset 0 2px 0 #fff, inset 0 0 0 2px #e9dfc8;}
#mode-calendar [data-look="keys"] .cal-day.cal-today {box-shadow:0 6px 0 var(--edge), 0 8px 12px #00000014, inset 0 2px 0 #fff, inset 0 0 0 2px #f0c53a;}
#mode-calendar [data-look="keys"] .cal-day.cal-down {box-shadow:0 1px 0 var(--edge), 0 2px 4px #0000000a, inset 0 2px 0 #fff, inset 0 0 0 2px #e9dfc8;}
#mode-calendar [data-look="keys"] .cal-day.cal-other {box-shadow:none;}
#mode-calendar [data-paper="tint"] .cal-grid {background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 22%, #fff), color-mix(in srgb, var(--tint) 10%, #fff));}
#mode-calendar [data-paper="notebook"] .cal-grid {background:#fffdf4;
    background-image:linear-gradient(#cfe3f5 1.5px, transparent 1.5px), linear-gradient(90deg, #cfe3f5 1.5px, transparent 1.5px);
    background-size:34px 34px;}
#mode-calendar [data-paper="sky"] .cal-grid {background:
    radial-gradient(circle at 18% 22%, #fff 0 60px, transparent 61px), radial-gradient(circle at 27% 18%, #fff 0 44px, transparent 45px),
    radial-gradient(circle at 75% 30%, #fff 0 52px, transparent 53px), radial-gradient(circle at 84% 34%, #fff 0 40px, transparent 41px),
    radial-gradient(circle at 50% 78%, #fff 0 48px, transparent 49px), radial-gradient(circle at 58% 82%, #fff 0 38px, transparent 39px),
    linear-gradient(180deg, #cfeaff, #eef8ff 60%, #fff);}
#mode-calendar [data-paper="dots"] .cal-grid {background:#fff;
    background-image:radial-gradient(color-mix(in srgb, var(--tint) 45%, #fff) 5px, transparent 5.5px);
    background-size:44px 44px; background-position:22px 22px;}
#mode-calendar .cal-grid > * {position:relative; z-index:1;}
#mode-calendar .cal-grid::before {content:''; position:absolute; inset:0; border-radius:inherit; z-index:0; pointer-events:none;
    opacity:var(--po,1); background:var(--pbg,none); background-size:var(--pbs,auto); background-position:var(--pbp,0 0);}
#mode-calendar [data-paper="dots-diag"] .cal-grid {--po:.55; --pbg:radial-gradient(var(--tint) 5px, transparent 5.5px), radial-gradient(var(--tint) 5px, transparent 5.5px);
    --pbs:56px 56px; --pbp:0 0, 28px 28px;}
#mode-calendar [data-paper="dots-two"] .cal-grid {--po:.45; --pbg:radial-gradient(var(--tint) 6px, transparent 6.5px), radial-gradient(var(--tint) 3px, transparent 3.5px);
    --pbs:64px 64px; --pbp:0 0, 32px 32px;}
#mode-calendar [data-paper="dots-soft"] .cal-grid {--po:.22; --pbg:radial-gradient(var(--tint) 9px, transparent 9.5px), radial-gradient(var(--tint) 9px, transparent 9.5px);
    --pbs:80px 80px; --pbp:0 0, 40px 40px;}
#mode-calendar [data-paper="icons"] .cal-grid {--po:.32; --pbg:var(--icon);}
#mode-calendar [data-paper="icons"] .cal-grid::before {background-repeat:repeat;}
#mode-calendar [data-paper="icons-sparse"] .cal-grid {--po:.22; --pbg:var(--icon-big);}
#mode-calendar [data-paper="icons-sparse"] .cal-grid::before {background-repeat:repeat;}
#mode-calendar [data-paper="icons-dots"] .cal-grid {--po:.35; --pbg:var(--icon), radial-gradient(var(--tint) 4px, transparent 4.5px);}
#mode-calendar [data-paper="icons-dots"] .cal-grid::before {background-size:120px 120px, 60px 60px; background-position:0 0, 30px 30px; background-repeat:repeat;}
#mode-calendar [data-paper="icons-edge"] .cal-grid {--po:.5; --pbg:var(--icon-row), var(--icon-row);}
#mode-calendar [data-paper="icons-edge"] .cal-grid::before {background-repeat:repeat-x; background-position:8px 8px, 8px calc(100% - 48px);}
#mode-calendar [data-paper="confetti"] .cal-grid {--po:.55; --pbg:var(--confetti);}
#mode-calendar [data-paper="confetti"] .cal-grid::before {background-size:180px 180px; background-repeat:repeat;}
#mode-calendar [data-paper="stripes"] .cal-grid {--po:.12; --pbg:repeating-linear-gradient(45deg, var(--tint) 0 16px, transparent 16px 48px);}
#mode-calendar [data-paper="gingham"] .cal-grid {--po:.14; --pbg:linear-gradient(var(--tint) 50%, transparent 50%), linear-gradient(90deg, var(--tint) 50%, transparent 50%);
    --pbs:48px 48px;}
#mode-calendar [data-paper="stars"] .cal-grid {--po:.3; --pbg:var(--stars);}
#mode-calendar [data-paper="stars"] .cal-grid::before {background-repeat:repeat;}
#mode-calendar [data-paper="bubbles"] .cal-grid {--po:.35; --pbg:radial-gradient(circle, transparent 12px, var(--tint) 12.5px, var(--tint) 14px, transparent 14.5px),
    radial-gradient(circle, transparent 7px, var(--tint) 7.5px, var(--tint) 9px, transparent 9.5px); --pbs:90px 90px; --pbp:0 0, 45px 45px;}
#mode-calendar [data-paper="tint-icons"] .cal-grid {--po:.28; --pbg:var(--icon);
    background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 18%, #fff), #fff);}
#mode-calendar [data-paper="tint-icons"] .cal-grid::before {background-repeat:repeat;}
#mode-calendar #cal-frame[data-backdrop="month"] {background:color-mix(in srgb, var(--tint) 55%, #fff);}
#mode-calendar #cal-frame[data-backdrop="month-deep"] {background:color-mix(in srgb, var(--tint) 80%, #333);}
#mode-calendar #cal-frame[data-backdrop="month-grad"] {background:linear-gradient(180deg, var(--tint2), var(--tint));}
#mode-calendar #cal-frame[data-backdrop="cream"] {background:#f6ecd8;}
#mode-calendar #cal-frame[data-backdrop="sky"] {background:linear-gradient(180deg, #bfe4ff, #eaf6ff);}
#mode-calendar #cal-frame[data-backdrop="mint"] {background:#cfeee0;}
#mode-calendar #cal-frame[data-backdrop="lavender"] {background:#e3dcf7;}
#mode-calendar #cal-frame[data-backdrop="wood"] {background:repeating-linear-gradient(90deg, #d9a56b 0 40px, #cf9a5f 40px 80px);}
#mode-calendar #cal-frame[data-backdrop="navy"] {background:#2b3a67;}
#mode-calendar #cal-frame[data-backdrop="chalk"] {background:#3f6b5a;}
#mode-calendar #cal-frame[data-backdrop="white"] {background:#fff;}
#mode-calendar [data-weeks="shade"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(100% - var(--row) * 11%), #6b4a20);}
#mode-calendar [data-weeks="shade"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-weeks="shade-soft"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(100% - var(--row) * 6%), #6b4a20);}
#mode-calendar [data-weeks="shade-soft"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-weeks="shade-strong"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(100% - var(--row) * 15%), #6b4a20);}
#mode-calendar [data-weeks="shade-strong"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-weeks="hue"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(100% - var(--row) * 16%), var(--cold));}
#mode-calendar [data-weeks="hue"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-weeks="hue-strong"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(100% - var(--row) * 20%), var(--cold));}
#mode-calendar [data-weeks="hue-strong"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-weeks="shade-up"] .cal-day:not(.cal-other) {--face:color-mix(in srgb, var(--col) calc(45% + var(--row) * 11%), #6b4a20);}
#mode-calendar [data-weeks="shade-up"] .cal-day:not(.cal-other):not(.cal-today) {background:linear-gradient(180deg,#ffffff 0%,#ffffffb0 26%,var(--face) 52%,var(--face) 100%);}
#mode-calendar [data-look="keys"] .cal-wd {--wedge:4px; --wedgec:#0000002e;
    box-shadow:0 var(--wedge) 0 var(--wedgec), inset 0 2px 0 #ffffffb0;
    transition:transform .08s ease-out, box-shadow .08s ease-out;}
#mode-calendar [data-look="keys"] .cal-wd.cal-down {transform:translateY(var(--wedge)) scale(1.02,.95);
    box-shadow:0 1px 0 var(--wedgec), inset 0 2px 0 #ffffffb0;}
#mode-calendar [data-look="keys"] .cal-wd.cal-up {animation:calKeyPop .35s cubic-bezier(.34,1.56,.64,1);}
#mode-calendar .cal-banner .cal-title {pointer-events:none;}
#mode-calendar .cal-banner .cal-month {position:relative; pointer-events:auto; cursor:pointer; font-family:inherit; border:none;
    display:flex; align-items:center; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
    background:none; color:#fff; padding:0; transition:transform .08s ease-out, box-shadow .08s ease-out;}
#mode-calendar [data-plate="plate"] .cal-banner .cal-month {--medge:5px; padding:2px 30px 8px; border-radius:26px;
    background:linear-gradient(180deg,#ffffff52 0%,#ffffff28 45%,#ffffff1f 100%);
    box-shadow:0 var(--medge) 0 #00000026, inset 0 2px 0 #ffffff7a;}
#mode-calendar [data-plate="underline"] .cal-banner .cal-month {--medge:5px; padding:2px 18px 10px; border-radius:0 0 18px 18px;
    box-shadow:0 var(--medge) 0 #ffffff8c;}
#mode-calendar [data-plate="cream"] .cal-banner .cal-month {--medge:6px; padding:2px 30px 8px; border-radius:26px;
    background:linear-gradient(180deg,#fffdf6,#f3e9d4); color:#5a4a2a; text-shadow:none;
    box-shadow:0 var(--medge) 0 #00000033, inset 0 2px 0 #fff;}
#mode-calendar .cal-banner .cal-month.cal-down {transform:translateY(var(--medge,4px)) scale(1.01,.97); box-shadow:0 1px 0 #00000026, inset 0 2px 0 #ffffff7a;}
#mode-calendar .cal-banner .cal-month.cal-up {animation:calKeyPop .35s cubic-bezier(.34,1.56,.64,1);}
#mode-calendar .cal-arrow.cal-l {left:65px; top:calc(50% - 56px); width:112px; height:112px; margin-top:0; transform:none; border-radius:50%; background:linear-gradient(rgba(255,255,255,0.72),rgba(233,226,209,0.72)); border:3px solid #7A4A0A; box-shadow:0 8px 0 #7A4A0A55, 0 2px 4px #0004;}
#mode-calendar .cal-arrow.cal-l svg {width:56px; height:56px;}
#mode-calendar .cal-arrow.cal-r {right:65px; left:auto; top:calc(50% - 56px); width:112px; height:112px; margin-top:0; transform:none; border-radius:50%; background:linear-gradient(rgba(255,255,255,0.72),rgba(233,226,209,0.72)); border:3px solid #7A4A0A; box-shadow:0 8px 0 #7A4A0A55, 0 2px 4px #0004;}
#mode-calendar .cal-arrow.cal-r svg {width:56px; height:56px;}
#mode-calendar #cal-frame .cal-banner .cal-month {font-size:74px !important; translate:0px 0px; padding:0 20px !important; height:92px !important; line-height:92px !important; box-sizing:border-box; display:inline-flex; align-items:center; overflow:visible; background:linear-gradient(180deg,rgba(255,255,255,0.32),rgba(255,255,255,0.2)) !important; border:1px solid #7A4A0A !important; border-radius:51px !important; box-shadow:0 4px 0 #00000026, inset 0 2px 0 #ffffff7a !important;}
#mode-calendar #cal-frame .cal-banner .cal-title {flex-direction:row;}
#mode-calendar #cal-frame .cal-banner .cal-year {font-size:44px !important; opacity:1 !important; color:rgba(255,255,255,0.72) !important; font-weight:700 !important; position:relative; pointer-events:auto; cursor:pointer; transition:transform .08s; translate:-9px -42px; text-shadow:0 3px 0 #0003 !important; padding:0 16px; height:56px; line-height:56px; box-sizing:border-box; display:inline-flex; align-items:center; overflow:visible; background:linear-gradient(180deg,rgba(255,255,255,0.33),rgba(255,255,255,0.21)); border:1px solid #7A4A0A; border-radius:51px; box-shadow:0 4px 0 #00000026, inset 0 2px 0 #ffffff7a;}
#mode-calendar #cal-yv {position:absolute; left:0; top:0; width:1036px; height:790px; z-index:3; display:grid; grid-template-columns:repeat(4,1fr);
  gap:18px; opacity:0; pointer-events:none; visibility:hidden; transform-origin:0 0;}
#mode-calendar #cal-frame.cal-yearing #cal-yv {visibility:visible;}
#mode-calendar #cal-frame.cal-year-open #cal-yv {pointer-events:auto;}
#mode-calendar #cal-frame.cal-yearing #cal-scene {will-change:transform, opacity;}
#mode-calendar #cal-yv button {font-family:var(--font-read); -webkit-tap-highlight-color:transparent; touch-action:manipulation;}
#mode-calendar .cal-season {display:flex; flex-direction:column; gap:12px; min-width:0;}
#mode-calendar .cal-skey {position:relative; height:128px; flex:none; border:none; padding:0; border-radius:24px; cursor:pointer; overflow:hidden;
  background:linear-gradient(180deg,var(--sea1),var(--sea2)); box-shadow:0 6px 0 var(--sead), 0 10px 18px #0003;}
#mode-calendar .cal-spic {position:absolute; left:0; right:0; top:0; height:70px; background-size:cover; background-position:center;}
#mode-calendar .cal-spic::after {content:''; position:absolute; inset:0; background:linear-gradient(180deg,#0000 55%,var(--sea1));}
#mode-calendar .cal-sword {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; font-weight:700; font-size:40px; color:#fff; line-height:1.05; white-space:nowrap; padding:0 10px; box-sizing:border-box;
  text-shadow:0 3px 0 #0004, 0 0 10px #0006;}
#mode-calendar .cal-sword.cal-two {font-size:36px;}
#mode-calendar .cal-skey.cal-down {transform:translateY(5px); box-shadow:0 1px 0 var(--sead), 0 4px 8px #0003;}
#mode-calendar .cal-skey.cal-up {animation:calKeyPop .35s cubic-bezier(.34,1.56,.64,1);}
#mode-calendar .cal-ymo {flex:1; min-height:0; position:relative; border:none; padding:0; border-radius:18px; background:#fffdf6; cursor:pointer;
  box-shadow:0 5px 0 #0000001f, 0 0 0 4px var(--sea1) inset; overflow:hidden; display:flex; flex-direction:column;}
#mode-calendar .cal-ymo.cal-down {transform:scale(.97);}
#mode-calendar .cal-yband {position:relative; height:52px; flex:none; background-size:cover; background-position:center;}
#mode-calendar .cal-yband > span {position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff;
  font-weight:700; font-size:22px; line-height:1.2; white-space:nowrap; text-shadow:0 2px 0 #0006, 0 0 8px #0005; transform:translateY(-15%);}
#mode-calendar .cal-ygrid {flex:1; display:grid; grid-template-columns:repeat(7,1fr); align-content:center; gap:1px 0;
  padding:4px 10px 8px; font-size:14px; color:#56606b;}
#mode-calendar .cal-ygrid i {font-style:normal; text-align:center; line-height:19px;}
#mode-calendar .cal-ygrid i.cal-we {color:#c0503f;}
#mode-calendar .cal-ygrid i.cal-ytoday {background:var(--sea1); color:#fff; border-radius:9px; font-weight:700;}
#mode-calendar .cal-ymo.cal-ynow {animation:calYGlow 2.4s cubic-bezier(.65,0,.35,1) infinite alternate;}
@keyframes calYGlow {
  from {box-shadow:0 5px 0 #0000001f, 0 0 0 4px var(--sea1) inset, 0 0 0 5px #fff, 0 0 16px 4px #fff8;}
  to   {box-shadow:0 5px 0 #0000001f, 0 0 0 4px var(--sea1) inset, 0 0 0 5px #fff, 0 0 30px 10px #fffc;} }
#mode-calendar #cal-frame .cal-banner .cal-month {background:linear-gradient(180deg, color-mix(in srgb, var(--sea1) 85%, #fff), var(--sea1)) !important;}
#mode-calendar .syl-plain{ transition:color .1s ease; }
#mode-calendar .syl-plain.lit{ color:#FF3060; }
#mode-calendar .cal-day .cal-hol {position:absolute; pointer-events:none; line-height:0;}
#mode-calendar .cal-day .cal-hol img,
#mode-calendar .cal-day .cal-hol svg {width:100%; height:100%; display:block;}
#mode-calendar .cal-day.hol-plain .cal-hol {left:66%; top:50%; transform:translate(-50%,-50%);
    width:calc(var(--num) * 1.30); height:calc(var(--num) * 1.30);}
#mode-calendar .cal-day.hol-word .cal-hol {left:67%; transform:translateX(-50%); bottom:26px;
    width:calc(var(--num) * .92); height:calc(var(--num) * .92);}
#mode-calendar .cal-grid.cal-rows6 .cal-day.hol-word .cal-hol {bottom:21px;
    width:calc(var(--num) * .86); height:calc(var(--num) * .86);}
#mode-calendar .cal-day.cal-today.hol-plain::after,
#mode-calendar .cal-day.cal-today.hol-word::after {display:none;}
