:root{--caste-night:#171023;--caste-panel:#21182d;--caste-accent:#b981ff;--caste-gold:#e1c9ff;--caste-border:#75528b;--caste-ink:#111;--caste-text:#f7f0ff;color-scheme:dark}
.cc-wheel{position:fixed;inset:0;z-index:40000;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;font:17px/1.5 system-ui;color:var(--caste-text);box-sizing:border-box}.cc-wheel-card{width:min(100%,560px);padding:20px;border-radius:26px;border:1px solid var(--caste-border);background:var(--caste-night);max-height:90dvh;overflow:auto}.cc-wheel h2{font-size:24px;color:var(--caste-gold);margin:0 0 16px}.cc-columns{display:flex;gap:8px}.cc-column{flex:1;min-width:0;text-align:center}.cc-column:last-child{flex:1.5}.cc-options{height:220px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;padding:88px 0;box-sizing:border-box;background:var(--caste-panel);border-radius:18px;overscroll-behavior:contain}.cc-option{display:block;width:100%;height:44px;min-height:44px;scroll-snap-align:center;border:0;background:none;color:var(--caste-gold);font:600 24px system-ui;padding:0}.cc-option[aria-selected=true]{background:color-mix(in srgb,var(--caste-accent) 20%,transparent);color:var(--caste-text)}.cc-wheel-tools{display:flex;gap:10px;margin-top:18px}.cc-button{flex:1;border:1px solid var(--caste-gold);border-radius:22px;background:linear-gradient(var(--caste-accent),var(--caste-accent));color:var(--caste-ink);font:650 17px system-ui;padding:14px;min-height:48px;box-shadow:inset 0 2px 3px #fff7,inset 0 -3px 3px #0003}.cc-wheel button{cursor:pointer}.cc-wheel button:focus-visible{outline:3px solid var(--caste-gold);outline-offset:2px}
#caste-notification-permission,#caste-weather-detail{background:color-mix(in srgb,var(--caste-night) 88%,transparent)!important;color:var(--caste-text)!important}#caste-notification-permission>div,#caste-weather-detail>div{background:var(--caste-panel)!important;border-color:var(--caste-gold)!important;color:var(--caste-text)!important}#caste-notification-permission h2,#caste-weather-detail h1{color:var(--caste-gold)!important}#caste-notification-permission button,#caste-weather-detail button{background:linear-gradient(var(--caste-accent),var(--caste-accent))!important;color:var(--caste-ink)!important;box-shadow:inset 0 2px 3px #fff6,inset 0 -3px 3px #0003}
/* Themes cover HTML sheets as well as Flutter windows; the photo is untouched. */
html,body{background:var(--caste-night);color:var(--caste-text)}
#caste-startup{background:radial-gradient(circle at 50% 36%,color-mix(in srgb,var(--caste-accent) 30%,var(--caste-panel)),var(--caste-night) 65%)}
#caste-startup button{background:var(--caste-accent);color:var(--caste-ink)}
#caste-startup-message::before{border-color:var(--caste-border);border-top-color:var(--caste-accent)}
.ca-agenda{--note-accent:var(--caste-accent)}
.ca-tool,.ca-save{border-color:var(--caste-gold)}
:root[data-caste-finish=glitter] :is(.cc-button,.ca-round,.ca-save,.ca-today,.ca-tool,.ca-day-head,.ca-month,.ca-trash,.cc-wheel-card){background-image:radial-gradient(circle at 12% 12%,#fff9 0 1px,transparent 1.6px),radial-gradient(circle at 78% 87%,#fff8 0 1px,transparent 1.6px),radial-gradient(circle at 92% 17%,#fff8 0 .6px,transparent 1.3px),linear-gradient(160deg,color-mix(in srgb,var(--caste-accent) 26%,var(--caste-panel)),var(--caste-panel));background-size:32px 48px,49px 61px,61px 49px,100% 100%}
:root[data-caste-finish=glitter] :is(.cc-button,.ca-save,.ca-today,.ca-round){background-color:var(--caste-accent);background-image:radial-gradient(circle at 12% 12%,#fff9 0 1px,transparent 1.6px),radial-gradient(circle at 78% 87%,#fff8 0 1px,transparent 1.6px),linear-gradient(var(--caste-accent),var(--caste-accent))}
:root[data-caste-finish=metal] :is(.cc-button,.ca-round,.ca-save,.ca-today,.ca-tool,.ca-day-head,.ca-month,.ca-trash){background-image:linear-gradient(180deg,#ffffff35 0%,#fff0 12%,#fff0 88%,#ffffff20 100%),linear-gradient(var(--caste-panel),var(--caste-night));color:var(--caste-gold)!important}
:root[data-caste-finish=pearl] :is(.cc-button,.ca-round,.ca-save,.ca-today,.ca-tool,.ca-day-head,.ca-month,.ca-trash){background-image:linear-gradient(180deg,color-mix(in srgb,var(--caste-gold) 18%,transparent) 0%,transparent 14%,transparent 86%,color-mix(in srgb,var(--caste-accent) 13%,transparent) 100%),linear-gradient(var(--caste-panel),var(--caste-night));color:var(--caste-gold)!important}
.cc-language-options{height:220px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;padding:88px 0;box-sizing:content-box;max-height:44px;outline:none}.cc-language-options .cc-option{display:block;width:100%;height:44px;min-height:44px;border:0;scroll-snap-align:start;white-space:nowrap;text-align:center;font-size:18px}.cc-language-options .cc-option[aria-selected=true]{color:var(--caste-gold,#ffe1a3);font-weight:700;background:rgba(255,255,255,.08)}.cc-language-status{font-size:14px;min-height:20px}.cc-language-panel .cc-wheel-card{max-width:420px}
/* Curved language drum: native names, a fixed central lens, and theme colours. */
.cc-language-panel{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0008}.cc-language-panel .cc-wheel-card{max-width:380px;padding:22px;border-radius:32px;box-shadow:0 24px 70px #0009,inset 0 1px 0 #ffffff40;background-image:linear-gradient(145deg,#ffffff18,#ffffff00 60%);overflow:hidden}.cc-language-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.cc-language-head h2{margin:0;flex:1;font-size:24px}.cc-language-emblem{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid currentColor;font-size:30px;color:var(--caste-gold);box-shadow:inset 0 0 12px #ffffff20}.cc-language-count{font-size:14px;padding:3px 10px;border-radius:20px;border:1px solid var(--caste-border);color:var(--caste-gold)}.cc-language-search{box-sizing:border-box;width:100%;font:400 16px system-ui;min-height:44px;border:1px solid var(--caste-border);border-radius:16px;padding:10px 14px;margin-bottom:12px;background:color-mix(in srgb,var(--caste-panel) 75%,transparent);color:var(--caste-text);outline:none}.cc-language-search::placeholder{color:var(--caste-text);opacity:.62}.cc-language-search:focus{border-color:var(--caste-gold)}.cc-language-drum{height:280px;position:relative;border-radius:26px;border:1px solid var(--caste-border);background:linear-gradient(180deg,#0002,#ffffff09 50%,#0002);overflow:hidden;isolation:isolate}.cc-language-focus{position:absolute;top:112px;inset-inline:10px;height:56px;box-sizing:border-box;border-radius:16px;border:1px solid var(--caste-gold);background:color-mix(in srgb,var(--caste-accent) 18%,transparent);box-shadow:0 4px 20px #0002,inset 0 1px 0 #ffffff40;pointer-events:none;z-index:0}.cc-language-focus::before,.cc-language-focus::after{content:'';position:absolute;top:23px;width:7px;height:7px;border-radius:50%;background:var(--caste-gold)}.cc-language-focus::before{inset-inline-start:10px}.cc-language-focus::after{inset-inline-end:10px}.cc-language-options{position:relative;z-index:1;box-sizing:border-box;height:280px;max-height:none;padding:112px 18px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;scrollbar-width:none;mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}.cc-language-options::-webkit-scrollbar{display:none}.cc-language-options .cc-option{height:56px;min-height:56px;scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;white-space:normal;padding:0 20px;color:var(--caste-text);background:transparent!important;transition:opacity 100ms,transform 100ms;transform-origin:center}.cc-language-options .cc-option[aria-selected=true]{color:var(--caste-gold)}.cc-language-native{font:650 20px/1.2 system-ui;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-language-translated{font:400 12px/1.4 system-ui;opacity:.78}.cc-language-preview{text-align:center;font:650 14px/1.4 system-ui;color:var(--caste-gold);margin-top:12px;min-height:20px}.cc-language-status{font:400 14px/1.4 system-ui;margin:8px 0;min-height:20px;text-align:center}.cc-language-progress{height:3px;visibility:hidden;background:#ffffff20;border-radius:3px;overflow:hidden}.cc-language-progress.cc-loading{visibility:visible}.cc-language-progress::before{content:'';display:block;height:100%;width:var(--cc-progress,4%);background:var(--caste-gold);transition:width 300ms}.cc-language-panel .cc-wheel-tools{margin-top:14px}.cc-language-cancel{background:transparent;color:var(--caste-text);box-shadow:none}.cc-language-apply{box-shadow:0 4px 12px #0003,inset 0 1px 0 #fff6}.cc-language-panel [disabled]{opacity:.55;cursor:wait}.cc-language-options[aria-disabled=true]{pointer-events:none}
@media(max-height:620px){.cc-language-panel .cc-wheel-card{padding:16px}.cc-language-drum,.cc-language-options{height:224px}.cc-language-options{padding-block:84px}.cc-language-focus{top:84px}.cc-language-head{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){.cc-language-options .cc-option,.cc-language-progress::before{transition:none}.cc-language-options{scroll-behavior:auto}}

.cc-language-native{font-size:21px}.cc-language-head h2{font-weight:800}.cc-language-emblem{border-width:2px;box-shadow:0 3px 12px #0003,inset 0 1px 0 #fff6}
/* The date and time controls share the approved raised optical-glass design. */
.cc-glass-picker{--glass-blue:#58dbff;--glass-gold:#ffdda6;color:#f5fbff;background:rgba(1,9,20,.64);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:24px 18px;perspective:1000px}
.cc-glass-picker .cc-wheel-card{position:relative;isolation:isolate;width:min(100%,410px);box-sizing:border-box;padding:25px 20px 23px;overflow:auto;max-height:calc(100dvh - 48px);border-radius:36px;border:1.5px solid #9deaff;background:radial-gradient(ellipse at 5% 95%,#ffd69924,transparent 46%),radial-gradient(ellipse at 95% 5%,#16baff25,transparent 48%),linear-gradient(140deg,#1b3553f5,#051224fa 62%,#10263aef)!important;box-shadow:0 28px 55px #000b,0 7px 0 #072039,0 8px 0 1px #86c1d16b,inset 2px 2px 3px #ffffff9c,inset -3px -4px 7px #4bd7ff6b,0 0 20px #33bce738;transform:translateY(-4px)}
.cc-glass-picker .cc-wheel-card::before,.cc-glass-picker .cc-wheel-card::after{content:'';position:absolute;z-index:-1;pointer-events:none;width:122%;height:87%;border-radius:50%;transform:rotate(-30deg)}
.cc-glass-picker .cc-wheel-card::before{top:-18%;left:-25%;border:1.5px solid #55d9ff;box-shadow:0 0 7px #56dfff,inset 0 0 5px #56dfff;opacity:.72}
.cc-glass-picker .cc-wheel-card::after{bottom:-38%;right:-28%;border:1.5px solid #ffe0b0;box-shadow:0 0 7px #ffba57,inset 0 0 5px #ffdb95;opacity:.7}
.cc-glass-picker h2{color:#f5fbff;margin:0 0 24px;text-align:center;font:700 27px/1.15 system-ui;text-shadow:0 2px 3px #0006;letter-spacing:.02em}
.cc-glass-picker .cc-columns{gap:11px;align-items:stretch;padding:0 2px}
.cc-glass-picker .cc-column,.cc-glass-picker .cc-column:last-child{flex:1;position:relative;padding:12px 0 0;border:1px solid #b3e5ff94;border-radius:25px;background:linear-gradient(90deg,#a1dcff38 0%,#b4e8ff06 12%,#17355340 45%,#ffffff08 85%,#8cdbff50 100%);box-shadow:0 12px 13px #0009,4px 3px 0 #031424,5px 4px 0 #5da9bf5c,inset 2px 1px 3px #ffffffc9,inset -3px -3px 5px #57caff59;transform:translateZ(20px)}
.cc-glass-picker .cc-column label{display:block;min-height:18px;padding:0 2px 8px;color:#d4e8fd;font:600 14px/1.5 system-ui;text-transform:uppercase;letter-spacing:.06em}
.cc-glass-picker .cc-glass-drum{position:relative;margin:0 -3px -1px;overflow:visible;border-radius:23px;isolation:isolate}
.cc-glass-picker .cc-options{position:relative;z-index:2;height:192px;padding:64px 0;box-sizing:border-box;border-radius:23px;background:linear-gradient(180deg,#0c203759,#020d1b36 50%,#0c233c42);scrollbar-width:none;scroll-snap-type:y mandatory;scroll-padding:0;overscroll-behavior:contain;mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);outline:none}
.cc-glass-picker .cc-options::-webkit-scrollbar{display:none}
.cc-glass-picker .cc-option{height:64px;min-height:64px;padding:0 1px;font:600 clamp(25px,7vw,33px)/64px system-ui;color:#aec5e3;background:transparent!important;scroll-snap-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;transform-origin:center;will-change:transform;text-shadow:0 2px 3px #0007;transition:color 120ms}
.cc-glass-date .cc-column:last-child .cc-option{font-size:clamp(22px,6.2vw,29px)}
.cc-glass-picker .cc-option[aria-selected=true]{color:#fff;font-weight:750;text-shadow:0 1px 4px #0008,0 0 8px #59d7ff44}
.cc-glass-picker .cc-option[disabled]{opacity:.1!important}
.cc-glass-picker .cc-glass-lens{position:absolute;z-index:1;top:64px;left:-4px;right:-4px;height:64px;border-radius:21px;border:1.5px solid #b9f4ff;box-sizing:border-box;pointer-events:none;background:radial-gradient(ellipse at 22% 0,#e5fcff7a,transparent 40%),linear-gradient(145deg,#52caff63,#073253b5 28%,#04233ecc 69%,#44cfff56);box-shadow:0 6px 0 #0c44668a,0 7px 0 1px #74e5ff96,0 12px 15px #0008,inset 1px 2px 3px #ffffffc4,inset -2px -3px 6px #35d9ffbd,0 0 12px #23caff7a;transform:translateZ(38px)}
.cc-glass-picker .cc-glass-lens::after{content:'';position:absolute;inset:3px 5px;border-radius:16px;border-top:1px solid #f4fdff7a;border-left:1px solid #e1faff42;pointer-events:none}
.cc-glass-picker .cc-glass-colon{align-self:center;margin-top:35px;color:#c9f5ff;font:700 32px system-ui;text-shadow:0 0 7px #46dfff}
.cc-glass-picker .cc-wheel-tools{margin-top:29px;gap:13px}
.cc-glass-picker .cc-button{min-width:0;color:#fff!important;font:650 17px/1.3 system-ui;padding:14px 8px;min-height:52px;border-radius:30px;border:1px solid #b1e9ff;background:linear-gradient(140deg,#ffffff52 0%,#36597c71 24%,#0d233ded 59%,#6faaca4a)!important;box-shadow:0 4px 0 #15354b,0 5px 0 1px #8bb3c767,0 9px 13px #0009,inset 1px 2px 3px #fff9,inset -2px -3px 5px #8ddaff59;transform:translateY(-2px);text-shadow:0 1px 2px #0008}
.cc-glass-picker .cc-glass-apply{border-color:#b0f5ff;background:linear-gradient(140deg,#b4eeff88,#087db6cf 25%,#06436df2 65%,#20d6ffa3)!important;box-shadow:0 4px 0 #075c80,0 5px 0 1px #6ceaff8f,0 9px 13px #0009,inset 1px 2px 3px #efffffbd,inset -2px -3px 6px #1de3ffb3,0 0 12px #0cceff55}
.cc-glass-picker .cc-button:active{transform:translateY(2px);box-shadow:0 2px 7px #0008,inset 1px 1px 4px #ffffff8c}
.cc-glass-picker .cc-glass-automatic{display:block;width:100%;min-height:44px;margin-top:20px;font-size:14px;background:transparent!important;box-shadow:none;border-color:#c3ddf66b;transform:none}
.cc-glass-picker button:focus-visible,.cc-glass-picker .cc-options:focus-visible{outline:2px solid #ffe1ab;outline-offset:3px}
@media(max-width:350px){.cc-glass-picker{padding-inline:12px}.cc-glass-picker .cc-wheel-card{padding-inline:14px}.cc-glass-picker .cc-columns{gap:8px}.cc-glass-picker .cc-column label{letter-spacing:0}.cc-glass-picker .cc-button{font-size:15px}}
@media(max-height:500px){.cc-glass-picker{align-items:flex-start;padding-block:12px}.cc-glass-picker .cc-wheel-card{max-height:calc(100dvh - 24px);padding-top:16px}.cc-glass-picker h2{margin-bottom:14px}.cc-glass-picker .cc-wheel-tools{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.cc-glass-picker .cc-option{transition:none}}

.cc-glass-picker .cc-glass-apply[disabled]{opacity:.45;cursor:default}
:root .cc-glass-picker .cc-button{color:#fff!important}
