
.moyo-desk-clock { --moyo-desk-text-muted: #8291a9; --moyo-desk-face-size: 220px; --moyo-tool-size: 78px; --moyo-tool-row: 100px; --moyo-tool-action-height: 44px; --moyo-tool-action-width: 110px; --moyo-tool-action-font: 14px; --moyo-tool-gap: 18px; --moyo-desk-clock-offset: -60px; box-sizing: border-box; width: min(760px,calc(100vw - 40px)); height: min(720px,calc(100dvh - 40px)); max-height: calc(100dvh - 40px); overflow: hidden; margin: auto; padding: 30px; border: 1px solid #dce8f6; border-radius: 28px; color: #354764; background: radial-gradient(circle at 5% 5%,#ddfaf2,transparent 45%),radial-gradient(circle at 95% 90%,#ede8ff,transparent 48%),#f7fbff; font-family: var(--moyo-font-family); }
html:has(#moyoDeskClock[open]),
body:has(#moyoDeskClock[open]) { overflow: hidden; }
.moyo-desk-clock::backdrop { background: rgba(30,45,67,.35); backdrop-filter: blur(5px); }
.moyo-desk-heading { position: relative; z-index: 2; display: flex; align-items: center; gap: 14px; }
.moyo-desk-brand { display: flex; align-items: center; gap: 14px; }
.moyo-desk-brand>img { display: block; width: 144px; height: auto; aspect-ratio:1307/319; }

body .moyo-desk-close { display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:0;width:32px;height:32px;padding:0;border:0;border-radius:10px;color:var(--moyo-action-color,#607695);background:var(--moyo-action-background,transparent); }
body .moyo-desk-fullscreen {display:inline-flex;align-items:center;justify-content:center;margin-left:auto;width:32px;height:32px;padding:0;border:0;border-radius:10px;color:var(--moyo-action-color,#607695);background:var(--moyo-action-background,transparent);}
.moyo-desk-fullscreen svg,.moyo-desk-close svg {display:block;width:20px;height:20px;}
.moyo-desk-brand {margin-right:auto;}
.moyo-desk-clock .moyo-desk-inbox { position:relative; top:auto; right:auto; z-index:auto; flex-shrink:0; width:32px; height:32px; margin-left:auto; border:0; border-radius:10px; box-shadow:none; background:var(--moyo-action-background,transparent); color:var(--moyo-action-color,#607695); font-size:18px; }
.moyo-desk-inbox + .moyo-desk-fullscreen { margin-left:0; }
.moyo-desk-workspace { position: absolute; inset: 0; box-sizing: border-box; pointer-events: none; }
.moyo-desk-content { pointer-events: auto; }
.moyo-desk-face { position: absolute; top: calc(50% + var(--moyo-desk-clock-offset)); left: 50%; transform: translate(-50%,-50%); width: var(--moyo-desk-face-size); height: var(--moyo-desk-face-size); }
.moyo-desk-face>img { width: 100%; height: 100%; display: block; }
.moyo-desk-face .moyo-clock-hour { height: 20%; width: 3%; }
.moyo-desk-face .moyo-clock-minute { height: 27%; width: 2%; }
.moyo-desk-face .moyo-clock-pivot { width: 6%; height: 6%; }
.moyo-desk-face .moyo-desk-second { height: 30%; width: .8%; background: #8d83e9; }
.moyo-desk-reading { position: absolute; top: calc(50% + var(--moyo-desk-clock-offset) + var(--moyo-desk-face-size)/2 + 20px); left: 50%; transform: translateX(-50%); text-align: center; width: max-content; max-width: calc(100% - 32px); }
#moyoDeskDate { margin: 16px 0 0; font-size: 17px; color: #60748f; }
.moyo-desk-digits { display: flex; align-items: baseline; justify-content: center; gap: 4px; font-variant-numeric: tabular-nums; }
#moyoDeskTime { font-size: 78px; font-weight: 700; line-height: 1.1; letter-spacing: -3px; }
#moyoDeskSeconds { font-size: 24px; color: #8a9bba; }
.moyo-desk-controls { position: absolute; bottom: 20px; left: 20px; right: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; }
body .moyo-desk-controls button { border: 1px solid #d6e2f0; border-radius: 12px; padding: 10px 16px; color: var(--moyo-action-color,#607695); background: var(--moyo-action-background,rgba(255,255,255,.7)); }
#moyoDeskStatus { flex: 0 0 100%; text-align: center; font-size: 12px; color: #7c8da6; margin: 4px 0 0; min-height: 18px; }
.moyo-desk-clock[data-fullscreen="true"] { width: 100vw; max-width: none; max-height: none; height: 100dvh; margin: 0; border: 0; border-radius: 0; display: flex; flex-direction: column; }
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-workspace { flex: 1; }
@media(max-width:600px), (max-height:500px) and (max-width:1000px) {
    .moyo-desk-clock { width:100vw;height:calc(100dvh - var(--moyo-desk-page-header,54px));max-width:100vw;max-height:calc(100dvh - var(--moyo-desk-page-header,54px));margin:var(--moyo-desk-page-header,54px) 0 0;border:0;border-radius:0;padding:16px;overflow-x:hidden; }
    .moyo-desk-clock[open] { display: flex; flex-direction: column; }
    .moyo-desk-clock:not([data-fullscreen="true"])::backdrop {clip-path:inset(var(--moyo-desk-page-header,54px) 0 0);}
    .moyo-desk-clock:not([data-fullscreen="true"]) .moyo-desk-brand {visibility:hidden;}
    .moyo-desk-heading { gap: 10px; }
    .moyo-desk-brand>img { width: 124px; }
    .moyo-desk-heading { align-items: flex-start; }
    .moyo-desk-clock #moyoDeskFullscreen {display:inline-flex;}
    .moyo-desk-clock[data-fullscreen="true"] {width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;}
    .moyo-desk-brand {min-width:0;flex:1;gap:8px;}
    .moyo-desk-brand>img {width:96px;flex-shrink:0;}
    .moyo-desk-slogan {min-width:0;white-space:normal;}
    .moyo-desk-heading {gap:6px;}
    .moyo-desk-workspace { flex: 1; min-height: 0; }

    .moyo-desk-clock { --moyo-desk-face-size: min(240px,55vw,26dvh); }
    .moyo-desk-reading { text-align: center; }
    .moyo-desk-digits { justify-content: center; }
    #moyoDeskTime { font-size: clamp(48px,17vw,70px); }
    #moyoDeskDate { font-size: 17px; }
}

#moyoDeskChat[hidden], #moyoDeskNotifications[hidden] { display: none; }

.moyo-desk-modes { position: absolute; top: 90px; left: 50%; transform: translateX(-50%); pointer-events: auto; box-sizing: border-box; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; margin: 0; padding: 4px; width: min(400px,calc(100% - 40px)); border-radius:14px; background:rgba(255,255,255,.65); }
body .moyo-desk-modes button { --moyo-action-hover-background:linear-gradient(135deg,#55d5ce19,#4288ef14 52%,#6b5cf619); display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border:0; border-radius:10px; padding:9px 10px; background:var(--moyo-action-background,transparent); color:var(--moyo-action-color,#7486a0); font:inherit; font-size:12px; }
body .moyo-desk-modes button[aria-pressed="true"] { --moyo-action-background: var(--moyo-action-hover-background); --moyo-action-color: var(--moyo-interaction-color,#3478f6); font-weight: 600; }
.moyo-desk-modes svg { width: 28px; height: 28px; flex: 0 0 28px; }
.moyo-desk-tool { position: absolute; top: calc(50% - var(--moyo-tool-row)/2); left: 0; right: 0; pointer-events: auto; box-sizing: border-box; display: grid; grid-template-rows: var(--moyo-tool-row) var(--moyo-tool-action-height) 24px; align-content: start; justify-items: center; align-items: center; gap: var(--moyo-tool-gap); padding: 0; }
.moyo-tool-label { margin:0; color:var(--moyo-desk-text-muted); font-size:13px; }
.moyo-tool-value { font-size:64px; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:0; line-height:1; }
.moyo-tool-actions { display:flex; gap:16px; align-items:center; }
body .moyo-tool-actions button {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--moyo-tool-action-width);height:var(--moyo-tool-action-height);padding:0 16px;border:1px solid #dbe2ec;border-radius:999px;font:inherit;font-size:var(--moyo-tool-action-font);font-weight:600;background:var(--moyo-action-background,#f0f3f8);color:var(--moyo-action-color,#74829a);}
#moyoTimerMessage, .moyo-tool-message { min-height:18px; margin:0; color:#7183ae; font-size:13px; }
.moyo-desk-clock [data-desk-panel][hidden] { display:none; }
@media(max-width:600px), (max-height:500px) and (max-width:1000px) { 
 .moyo-tool-value { font-size:clamp(36px,12vw,56px); } }

.moyo-desk-modes, .moyo-desk-close, #moyoDeskFullscreen { transition: opacity .2s ease; }
.moyo-desk-clock[data-controls="hidden"] .moyo-desk-modes,
.moyo-desk-clock[data-controls="hidden"] .moyo-desk-close,
.moyo-desk-clock[data-controls="hidden"] #moyoDeskFullscreen { opacity: 0; pointer-events: none; }
@media(prefers-reduced-motion:reduce) { .moyo-desk-modes, .moyo-desk-close, #moyoDeskFullscreen { transition:none; } }

#moyoTimerValue { height: var(--moyo-tool-row); font-size: var(--moyo-tool-size); }
#moyoStopwatchValue { height: var(--moyo-tool-row); font-size: var(--moyo-tool-size); display: inline-flex; align-items: center; white-space: nowrap; letter-spacing: 0; }
#moyoStopwatchMain, #moyoStopwatchFraction { display: inline-flex; }
#moyoStopwatchValue span>span, #moyoStopwatchFraction>span { display: block; flex: 0 0 .58em; width: .58em; text-align: center; font: inherit; color: inherit; }
#moyoStopwatchFraction { transform: translateY(.5em); font-size: .45em; font-weight: 500; letter-spacing: 0; color: var(--moyo-desk-text-muted); }

#moyoStopwatchValue .moyo-digit-separator { flex-basis: .25em; width: var(--moyo-timer-separator-width,.25em); }
body #moyoStopwatchStart, body #moyoTimerStart { --moyo-action-background: #e8f2ff; --moyo-action-color: #3478f6; border-color: #bfd6f5; font-weight: 600; min-width: 110px; }
body #moyoStopwatchReset, body #moyoTimerReset {--moyo-action-background:#f0f3f8;--moyo-action-color:#74829a;}
@media(max-width:600px), (max-height:500px) and (max-width:1000px) { #moyoTimerValue { --moyo-timer-unit-width:calc(2ch + .16em); --moyo-timer-separator-width:.34em; font-size: clamp(40px,15vw,64px); } #moyoStopwatchValue { font-size: clamp(48px,18vw,70px); } #moyoStopwatchValue[data-hours="true"] { font-size: clamp(38px,14vw,56px); } }

#moyoTimerValue.moyo-timer-digits { display: grid; grid-template-columns: var(--moyo-timer-unit-width,calc(2ch + .16em)) var(--moyo-timer-separator-width,.25em) var(--moyo-timer-unit-width,calc(2ch + .16em)) var(--moyo-timer-separator-width,.25em) var(--moyo-timer-unit-width,calc(2ch + .16em)); align-items: center; justify-content: center; gap: 0; font-variant-numeric: tabular-nums; }
body .moyo-desk-clock #moyoTimerValue input { box-sizing:content-box; appearance:none; -webkit-appearance:none; height: 1.3em; line-height: 1.3; width:var(--moyo-timer-unit-width,calc(2ch + .16em)); min-width:0; padding:0; border:0; border-radius:6px; background:transparent; color:inherit; font:inherit; letter-spacing:inherit; text-align:center; }
.moyo-timer-digits>span { width:var(--moyo-timer-separator-width,.25em); text-align:center; }
.moyo-timer-digits input:focus-visible { outline:2px solid var(--moyo-interaction-focus,#bed5ff); outline-offset:4px; }
.moyo-timer-digits input[readonly] { cursor:default; }

.moyo-timer-unit { display: grid; grid-template-rows: auto; justify-items: center; align-items: center; gap: 0; min-width: 0; }
body .moyo-desk-clock [data-desk-panel="timer"][data-running="true"] .moyo-timer-digits input { width:var(--moyo-timer-unit-width,calc(2ch + .16em)); margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; outline:none; color:inherit; }
[data-desk-panel="timer"][data-running="true"] .moyo-timer-digits>span { width:var(--moyo-timer-separator-width,.25em); }

#moyoTimerValue.moyo-timer-digits:has(input[readonly]) { grid-template-columns: var(--moyo-timer-unit-width,calc(2ch + .16em)) var(--moyo-timer-separator-width,.25em) var(--moyo-timer-unit-width,calc(2ch + .16em)) var(--moyo-timer-separator-width,.25em) var(--moyo-timer-unit-width,calc(2ch + .16em)); }
body #moyoStopwatchStart[data-running="true"], body #moyoTimerStart[data-running="true"] { --moyo-action-background: #fff0f1; --moyo-action-color: #d65362; border-color: #f2c3ca; }

.moyo-desk-weather { display: flex; justify-content: center; align-items: center; gap: 6px; margin-top: 12px; font-size: 16px; font-weight: 500; color: #60748f; }
.moyo-desk-weather[hidden], #moyoDeskWeatherSeparator[hidden] { display: none; }
#moyoDeskWeatherIcon { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; }
#moyoDeskWeatherIcon img { display: block; width: 26px; height: 26px; }

@media (orientation: landscape) and (max-height: 500px) and (max-width: 1000px) {
    .moyo-desk-clock { --moyo-desk-face-size: min(274px,68dvh); --moyo-desk-clock-offset: 0px; }
    .moyo-desk-face { left: 28%; }
    .moyo-desk-reading { top: 50%; left: 70%; transform: translate(-50%,-50%); width: 46%; }
    #moyoDeskTime { font-size: clamp(56px,10vw,80px); }
    #moyoDeskDate { margin-top: 10px; font-size: 12px; }
    .moyo-desk-weather { margin-top: 6px; }
    .moyo-desk-modes { top: 16px; left: 50%; width: 270px; z-index: 3; }
    body .moyo-desk-modes button { padding: 5px 10px; gap: 3px; font-size: 11px; }
    .moyo-desk-modes svg { width: 22px; height: 22px; flex-basis: 22px; }
    .moyo-desk-brand>img { width: 105px; }
    .moyo-desk-controls { bottom: 6px; }
    #moyoDeskStatus:empty { display: none; }
    .moyo-desk-clock { --moyo-tool-gap: 8px; }
}


.moyo-desk-slogan {font-size:13px;font-weight:600;color:#7c8799;word-break:keep-all;}
.moyo-desk-brand>img {flex-shrink:0;transform:translateY(-2px);}
.moyo-desk-calendar {--moyo-calendar-date-size:clamp(28px,2vw,38px);--moyo-calendar-title-color:#354764;display:none;min-width:0;}
.moyo-desk-calendar h2 {display:flex;align-items:baseline;gap:8px;margin:0 0 22px;padding-left:calc(var(--moyo-calendar-date-size) * .3);font-size:clamp(48px,4.4vw,84px);letter-spacing:-.035em;line-height:1.15;}
.moyo-desk-calendar #moyoDeskMonth {color:var(--moyo-calendar-title-color);}
.moyo-desk-calendar h2 small {font-size:clamp(22px,1.5vw,28px);font-weight:500;color:#6e7f99;letter-spacing:0;}
.moyo-desk-calendar-week,.moyo-desk-calendar-days {display:grid;grid-template-columns:repeat(7,calc(var(--moyo-calendar-date-size) * 1.65));justify-content:space-between;text-align:center;}
.moyo-desk-calendar-week {margin-bottom:12px;font-size:clamp(18px,1.4vw,24px);color:#6e7f99;}
.moyo-desk-calendar-week span:first-child,.moyo-desk-calendar-days .sunday {color:#d85e73;}
.moyo-desk-calendar-week span:last-child,.moyo-desk-calendar-days .saturday {color:#557dce;}
.moyo-desk-calendar-days .holiday {color:#d85e73;}
.moyo-desk-calendar h2 .moyo-desk-month-english {font-size:.32em;letter-spacing:.12em;font-weight:700;}
.moyo-desk-calendar-days {grid-auto-rows:min(100px,8.5dvh);align-items:start;font-size:var(--moyo-calendar-date-size);font-weight:500;font-variant-numeric:tabular-nums;}
.moyo-desk-calendar-days time {display:flex;flex-direction:column;align-items:center;justify-self:stretch;min-width:0;gap:3px;}
.moyo-desk-calendar-days time>span {display:grid;place-items:center;width:1.65em;height:1.65em;}
.moyo-desk-calendar-days small {font-size:clamp(11px,1vw,16px);line-height:1.2;white-space:nowrap;max-width:none;}
.moyo-desk-calendar-days .outside {color:#aebbd0;font-weight:400;}
.moyo-desk-calendar-days .today>span {color:white;border-radius:50%;background:linear-gradient(135deg,#58d9c7 0%,#4d9af6 48%,#9473f4 100%);font-weight:700;}
/* Native full screen and mobile edge-to-edge clock views share the calendar layout. */
@media(min-width:601px) and (min-height:501px) {
    .moyo-desk-clock[data-fullscreen="true"] {--moyo-tool-size:clamp(96px,11vw,220px);--moyo-tool-row:calc(var(--moyo-tool-size) * 1.25);--moyo-tool-action-height:64px;--moyo-tool-action-width:180px;--moyo-tool-action-font:20px;--moyo-tool-gap:32px;}
    .moyo-desk-clock[data-fullscreen="true"] #moyoStopwatchValue[data-hours="true"] {font-size:calc(var(--moyo-tool-size) * .8);}
}
@media(min-width:1001px) {
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-brand {align-items:center;gap:18px;}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-brand>img {width:clamp(165px,10.5vw,200px);}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-slogan {font-size:clamp(16px,1.05vw,20px);line-height:1.2;}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-calendar {margin-top:0;width:min(820px,100%);justify-self:center;--moyo-calendar-date-size:clamp(30px,2.1vw,40px);color:#405777;}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-calendar h2 {font-size:clamp(64px,7vw,110px);font-weight:700;margin-bottom:28px;}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-calendar-days {grid-auto-rows:min(116px,9.4dvh);}
    .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-calendar-week {margin-bottom:18px;}
}
@media (orientation:landscape) {
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-content[data-desk-panel="clock"]:not([hidden]) {position:absolute;inset:180px 4vw 180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:center;gap:5vw;}
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-clock-summary {display:flex;flex-direction:column;align-items:center;gap:22px;min-width:0;}
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-face {position:relative;top:auto;left:auto;transform:none;width:min(400px,36dvh);height:auto;aspect-ratio:1;}
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-reading {position:static;transform:none;width:100%;max-width:none;}
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-calendar {display:block;}
.moyo-desk-clock[data-fullscreen="true"] #moyoDeskTime {font-size:clamp(70px,8vw,126px);}
.moyo-desk-clock[data-fullscreen="true"] #moyoDeskSeconds {font-size:clamp(24px,1.8vw,32px);}
.moyo-desk-clock[data-fullscreen="true"] #moyoDeskDate {font-size:clamp(22px,1.5vw,28px);color:#60748f;}
.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-weather {font-size:clamp(18px,1.3vw,24px);color:#6e7f99;gap:9px;}
.moyo-desk-clock[data-fullscreen="true"] #moyoDeskWeatherIcon,.moyo-desk-clock[data-fullscreen="true"] #moyoDeskWeatherIcon img {width:34px;height:34px;}
}
@media(max-width:600px), (max-height:500px) and (max-width:1000px) {
.moyo-desk-slogan {font-size:10px;max-width:150px;}
.moyo-desk-content[data-desk-panel="clock"]:not([hidden]) {position:absolute;inset:185px 20px 30px;display:grid;grid-template-columns:1fr;align-content:center;gap:20px;}
.moyo-desk-clock-summary {display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;}
.moyo-desk-clock-summary .moyo-desk-face {position:relative;top:auto;left:auto;transform:none;width:min(165px,19dvh);height:auto;aspect-ratio:1;}
.moyo-desk-clock-summary .moyo-desk-reading {position:static;transform:none;width:100%;max-width:none;}
.moyo-desk-calendar {--moyo-calendar-date-size:20px;--moyo-calendar-title-color:#6e7f99;display:block;width:min(300px,100%);justify-self:center;color:#6e7f99;}
.moyo-desk-calendar h2 {font-size:32px;margin-bottom:10px;gap:6px;font-weight:600;color:#6e7f99;}
.moyo-desk-calendar h2 small {font-size:16px;}
.moyo-desk-calendar-week {font-size:14px;margin-bottom:6px;}
.moyo-desk-calendar-days {grid-auto-rows:50px;font-size:20px;font-weight:400;}
.moyo-desk-calendar-week span:first-child,.moyo-desk-calendar-days .sunday,.moyo-desk-calendar-days .holiday {color:#cc7786;}
.moyo-desk-calendar-week span:last-child,.moyo-desk-calendar-days .saturday:not(.holiday) {color:#7892c5;}
.moyo-desk-calendar-days small {font-size:0;white-space:nowrap;}
.moyo-desk-calendar-days small::after {content:attr(data-short);font-size:11px;}
#moyoDeskDate {color:#60748f;font-size:17px;}
.moyo-desk-weather {color:#60748f;font-size:16px;}
}
@media(max-width:600px) and (orientation:portrait) {
    .moyo-desk-modes {top:82px;}
    .moyo-desk-calendar {display:none;}
    .moyo-desk-content[data-desk-panel="clock"]:not([hidden]), .moyo-desk-clock[data-fullscreen="true"] .moyo-desk-content[data-desk-panel="clock"]:not([hidden]) {inset:185px 20px 128px;}
    .moyo-desk-clock-summary {gap:20px;}
    .moyo-desk-clock-summary .moyo-desk-face {width:min(240px,55vw,26dvh);}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px) {
.moyo-desk-content[data-desk-panel="clock"]:not([hidden]),.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-content[data-desk-panel="clock"]:not([hidden]) {inset:72px 40px 46px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-content:normal;align-items:center;gap:30px;}
.moyo-desk-clock-summary,.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-clock-summary {gap:4px;margin-bottom:32px;}
.moyo-desk-clock-summary .moyo-desk-face,.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-face {width:min(170px,39dvh);}
.moyo-desk-clock-summary #moyoDeskTime {font-size:56px;}
#moyoDeskSeconds,.moyo-desk-clock[data-fullscreen="true"] #moyoDeskSeconds {font-size:22px;}
.moyo-desk-clock-summary #moyoDeskDate {margin-top:4px;font-size:16px;}
.moyo-desk-clock-summary .moyo-desk-weather {font-size:16px;}
.moyo-desk-calendar {width:min(340px,100%);--moyo-calendar-title-color:#354764;color:#53749b;margin-bottom:32px;}
.moyo-desk-calendar h2 {font-size:56px;margin-bottom:8px;gap:6px;font-weight:700;letter-spacing:-.035em;}
.moyo-desk-calendar-week {font-size:13px;margin-bottom:4px;}
.moyo-desk-calendar-days {grid-auto-rows:42px;font-size:20px;font-weight:500;}
.moyo-desk-calendar-days .sunday,.moyo-desk-calendar-days .holiday {color:#d56b7f;}
.moyo-desk-calendar-days .saturday:not(.holiday) {color:#6688cd;}
.moyo-desk-modes {top:14px;width:300px;}
}

.moyo-desk-mode-symbol {position:absolute;right:24px;bottom:24px;width:clamp(130px,12vw,230px);height:auto;opacity:.28;transform:rotate(12deg);pointer-events:none;user-select:none;}
.moyo-desk-clock:has([data-desk-panel="clock"][hidden]) [data-desk-symbol="clock"],
.moyo-desk-clock:has([data-desk-panel="stopwatch"][hidden]) [data-desk-symbol="stopwatch"],
.moyo-desk-clock:has([data-desk-panel="timer"][hidden]) [data-desk-symbol="timer"],
.moyo-desk-clock:has([data-desk-panel="alarm"][hidden]) [data-desk-symbol="alarm"] {display:none;}
@media(min-width:601px) and (min-height:501px) {
    .moyo-desk-clock:not([data-fullscreen="true"]) [data-desk-symbol="clock"] {display:none;}
    .moyo-desk-clock:not([data-fullscreen="true"]) .moyo-desk-mode-symbol {width:100px;right:20px;bottom:20px;opacity:.25;}
}
@media(max-width:600px),(max-height:500px) and (max-width:1000px) {.moyo-desk-mode-symbol {display:none;}}
@media(max-width:600px) and (orientation:portrait) {
    .moyo-desk-clock [data-desk-symbol="stopwatch"], .moyo-desk-clock [data-desk-symbol="timer"], .moyo-desk-clock [data-desk-symbol="alarm"] {display:block;right:18px;bottom:max(20px,env(safe-area-inset-bottom));width:88px;opacity:.25;}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px) {
    .moyo-desk-clock .moyo-desk-mode-symbol {display:block;right:12px;bottom:10px;width:58px;opacity:.25;}
}

.moyo-timer-notice {position:fixed;inset:auto 24px 24px auto;box-sizing:border-box;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);margin:0;padding:20px;border:var(--moyo-border,1px solid #dce8f6);border-radius:var(--moyo-radius-lg,18px);color:var(--moyo-color-text,#354764);background:var(--moyo-color-surface,#fff);box-shadow:var(--moyo-shadow-lg);font-family:var(--moyo-font-family);z-index:9999;}
.moyo-timer-notice[hidden] {display:none;}
.moyo-timer-notice>img {width:44px;height:44px;}
.moyo-timer-notice strong {font-size:17px;}
.moyo-timer-notice p {margin:6px 0 0;font-size:14px;color:var(--moyo-color-text-soft);}
body .moyo-timer-notice button {padding:10px 14px;border:0;border-radius:10px;font:inherit;font-size:14px;color:var(--moyo-action-color,#3478f6);background:var(--moyo-action-background,#edf4ff);}
body #moyoTimerNoticeDismiss {display:grid;place-items:center;padding:0;width:32px;height:32px;flex-shrink:0;background:var(--moyo-action-background,transparent);color:var(--moyo-action-color,#74829a);}
#moyoTimerNoticeDismiss svg {width:20px;height:20px;}
@media(max-width:600px) {.moyo-timer-notice {inset:auto 16px max(16px,env(safe-area-inset-bottom)) 16px;flex-wrap:wrap;padding:16px;gap:10px;}.moyo-timer-notice>div {flex:1;}.moyo-timer-notice #moyoTimerNoticeOpen {order:3;margin-left:54px;}}


.moyo-alarm-list-heading {display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
body .moyo-alarm-list-heading button {border:0;border-radius:10px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;color:var(--moyo-action-color,#60748f);background:var(--moyo-action-background,transparent);}

body #moyoAlarmAdd {display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;margin:16px 0 0 auto;padding:0;border:1px solid #cddff7;border-radius:50%;color:var(--moyo-action-color,#7487a2);background:var(--moyo-action-background,rgba(255,255,255,.65));}
#moyoAlarmAdd span {display:none;}
#moyoAlarmAdd svg {width:24px;height:24px;color:currentColor;}
#moyoAlarmEmpty {text-align:center;color:#8291a9;font-size:20px;margin:50px 0;}
#moyoAlarmListView {display:flex;flex-direction:column;min-height:0;max-height:100%;}
#moyoAlarmListView[hidden] {display:none;}
#moyoAlarmList {overflow:auto;min-height:0;}
.moyo-alarm-row {display:flex;align-items:center;gap:20px;padding:13px 0;border-bottom:1px solid rgba(125,151,188,.16);min-height:80px;box-sizing:border-box;}
#moyoAlarmList {display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#b9c9df transparent;padding-right:8px;}
body .moyo-alarm-row-time {--moyo-action-hover-background:linear-gradient(135deg,#55d5ce19,#4288ef14 52%,#6b5cf619);display:grid;gap:5px;flex:1;min-width:0;text-align:left;border:0;border-radius:10px;padding:4px 0;font-family:inherit;color:var(--moyo-action-color,#354764);background:var(--moyo-action-background,transparent);}
.moyo-alarm-row-time span {font-size:44px;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums;}
.moyo-alarm-row-time small {font-size:13px;color:#7487a2;}
.moyo-alarm-row[data-enabled="false"] .moyo-alarm-row-time {color:#8291a9;}
body #moyoQuickAlarmForm .moyo-alarm-list-heading #moyoAlarmDelete {position:absolute;left:calc(50% + 138px);top:50%;transform:translateY(-50%);min-width:36px;width:36px;height:36px;margin:0;border:0;border-radius:10px;padding:0;}
body #moyoAlarmDelete {display:grid;place-items:center;width:36px;height:36px;border:0;padding:0;border-radius:10px;color:var(--moyo-action-color,#7487a2);background:var(--moyo-action-background,transparent);}
#moyoAlarmDelete svg {width:20px;height:20px;}
@media(hover:hover) and (pointer:fine) {body #moyoAlarmDelete:not(:disabled):hover {--moyo-action-color:#d65362;--moyo-action-background:#fff0f1;}}
#moyoAlarmDelete[hidden],#moyoAlarmCancelEdit[hidden] {display:none;}
.moyo-desk-alarm-panel {position:absolute;inset:154px 32px 90px;pointer-events:auto;display:grid;align-items:start;justify-items:center;overflow:hidden;}
.moyo-desk-alarm-panel:has(#moyoQuickAlarmForm:not([hidden])) {align-items:center;overflow:auto;}
.moyo-desk-alarm-fields {width:min(480px,100%);padding:4px;box-sizing:border-box;max-height:100%;min-height:0;display:flex;flex-direction:column;}
#moyoQuickAlarmForm {display:grid;gap:28px;}
#moyoQuickAlarmForm .moyo-alarm-list-heading {position:relative;justify-content:center;gap:16px;margin:0;}
body #moyoQuickAlarmForm .moyo-alarm-list-heading button {box-sizing:border-box;width:110px;min-width:110px;height:42px;border:1px solid #dce5f2;border-radius:999px;}
body #moyoQuickAlarmForm button[type="submit"] {--moyo-action-hover-background:linear-gradient(135deg,#55d5ce26,#4288ef22 52%,#6b5cf626);background:var(--moyo-action-background,linear-gradient(135deg,#55d5ce19,#4288ef14 52%,#6b5cf619));color:var(--moyo-action-color,#3478f6);border-color:#cbdcf6;}
#moyoQuickAlarmForm[hidden] {display:none;}
#moyoQuickAlarmAt {box-sizing:border-box;width:100%;min-width:0;border:0;border-radius:12px;padding:8px 0;background:transparent;color:#354764;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums;font-family:inherit;font-size:72px;font-weight:700;outline-offset:4px;}
.moyo-alarm-weekdays {display:flex;justify-content:space-between;gap:6px;}
body .moyo-alarm-weekdays button {--moyo-action-hover-background:linear-gradient(135deg,#55d5ce19,#4288ef14 52%,#6b5cf619);width:42px;height:42px;flex-shrink:0;border:1px solid #dce5f2;border-radius:50%;font-weight:500;font-family:inherit;font-size:16px;color:var(--moyo-action-color,#7487a2);background:var(--moyo-action-background,transparent);}
body .moyo-alarm-weekdays button[aria-pressed="true"] {color:#3478f6;border-color:#9cbeff;background:var(--moyo-action-background,linear-gradient(135deg,#55d5ce19,#4288ef14 52%,#6b5cf619));}
.moyo-alarm-enable-row {display:flex;align-items:center;justify-content:center;color:#7487a2;font-size:16px;padding:0 4px;}
body .moyo-alarm-toggle {flex:0 0 52px;width:52px;height:44px;border:0;border-radius:12px;padding:0;position:relative;isolation:isolate;background:var(--moyo-action-background,transparent);}
.moyo-alarm-toggle::before {content:"";position:absolute;width:46px;height:27px;left:3px;top:8px;border-radius:999px;background:#dce3ec;z-index:-1;}
.moyo-alarm-toggle[aria-checked="true"]::before {background:var(--moyo-primary-gradient);}
.moyo-alarm-toggle span {position:absolute;left:6px;top:11px;width:21px;height:21px;border-radius:50%;background:white;transition:transform .16s ease;}
.moyo-alarm-toggle[aria-checked="true"] span {transform:translateX(19px);}
#moyoQuickAlarmError {font-size:14px;color:#d65362;margin:0;}
.moyo-alarm-ringing {text-align:center;margin-top:24px;font-size:16px;color:#354764;}
body .moyo-alarm-ringing button {display:block;margin:12px auto 0;padding:10px 32px;border:1px solid #bfdaff;border-radius:24px;color:#3478f6;background:var(--moyo-action-background,#e8f2ff);font:inherit;}
@media(min-width:1001px) and (min-height:501px) {.moyo-desk-clock[data-fullscreen="true"] .moyo-desk-alarm-fields {width:min(680px,100%);}.moyo-desk-clock[data-fullscreen="true"] #moyoQuickAlarmAt {font-size:110px;}}
@media(max-width:600px) {body #moyoQuickAlarmForm .moyo-alarm-list-heading button:not(#moyoAlarmDelete) {width:90px;min-width:90px;}body #moyoQuickAlarmForm .moyo-alarm-list-heading #moyoAlarmDelete {left:calc(50% + 110px);width:32px;min-width:32px;margin:0;}#moyoQuickAlarmForm .moyo-alarm-list-heading {gap:12px;}.moyo-desk-alarm-panel {inset:154px 28px 110px;}.moyo-alarm-row-time span {font-size:42px;}.moyo-alarm-row-time small {font-size:14px;}.moyo-alarm-weekdays {gap:4px;}body .moyo-alarm-weekdays button {width:36px;height:36px;}}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px) {
.moyo-desk-alarm-panel {inset:85px 30px 35px;}
.moyo-desk-alarm-fields {width:min(540px,100%);}
#moyoQuickAlarmForm {grid-template-columns:1fr 1fr;align-items:center;gap:12px 30px;}
#moyoQuickAlarmForm .moyo-alarm-list-heading {grid-column:1/-1;margin:0;}
#moyoAlarmList {max-height:none;}
.moyo-alarm-row {padding:8px 0;min-height:68px;}
.moyo-alarm-row-time span {font-size:38px;}
#moyoQuickAlarmAt {grid-row:1/3;font-size:64px;}
.moyo-alarm-weekdays {gap:4px;}body .moyo-alarm-weekdays button {width:30px;height:30px;font-size:14px;}
#moyoQuickAlarmError {grid-column:1/-1;}
}

#moyoQuickAlarmAt,.moyo-timer-unit input {touch-action:pan-x;}


.moyo-desk-clock #moyoChatPanel, .moyo-desk-clock #alarmDropdown { position:fixed; z-index:12003; top:var(--moyo-modal-inbox-panel-top,68px); right:var(--moyo-modal-inbox-right,18px); left:auto; max-width:calc(100vw - 24px); max-height:calc(100dvh - 84px); }
.moyo-desk-clock .moyo-mobile-inbox-tabs { display:flex; gap:6px; padding:10px 12px; border-bottom:1px solid #edf1f6; }
.moyo-desk-clock .moyo-mobile-inbox-tabs button { flex:1; border:0; border-radius:9px; min-height:36px; background:transparent; color:#7b8ba2; font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.moyo-desk-clock .moyo-mobile-inbox-tabs button.is-active { background:#eef5ff; color:#397be8; }

.moyo-desk-clock[data-fullscreen="true"] .moyo-modal-inbox-button[data-has-unread="false"] { display:none; }
@media (max-width:720px) {
    .moyo-desk-clock #moyoChatPanel, .moyo-desk-clock #alarmDropdown { right:12px; width:calc(100vw - 24px); max-width:calc(100vw - 24px); max-height:calc(100dvh - var(--moyo-modal-inbox-panel-top,68px) - 16px); }
}

.moyo-desk-inbox-badge { position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px; box-sizing:border-box; display:grid; place-items:center; border:2px solid #fff; border-radius:999px; background:#ed6478; color:#fff; font:600 10px/1 var(--moyo-font-family,sans-serif); }
.moyo-desk-inbox-badge[hidden] { display:none; }
