/* Clock 4.3 (JWR66Y DeskClockGoogle): jb-deskclock.js draws the clock pages; its Alarms button opens the older AlarmClock
   list and SetAlarm screen that the image still ships (alarm_clock.xml, alarm_time.xml, set_alarm.xml), drawn by
   desk-clock.js with these rules, as are the alarm dialogs. */
@font-face{font-family:AndroidClock;src:url('assets/AndroidClock.ttf') format('truetype');font-display:swap}
.desk-app{display:flex;flex-direction:column;overflow:hidden;color:#eee;background:#080a0b url('assets/background_holo_dark.png') center/100% 100%;color-scheme:dark}
.desk-header{display:flex;align-items:center;flex:none;min-height:48px;background:#000b;border-bottom:2px solid #33b5e5}.desk-header h2{margin:0;font-size:20px;font-weight:400}.desk-header button{height:46px;width:45px;border:0;background:none;padding:7px}.desk-header img{width:32px;height:32px;object-fit:contain}
.desk-scroll{flex:1;overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y}.desk-add{display:flex;align-items:center;flex:none;min-height:64px;border:0;border-bottom:1px solid #ffffff30;background:none;text-align:left;font-size:20px}.desk-add img{width:36px;height:36px;object-fit:contain;margin:0 16px}.desk-alarm-row{display:flex;min-height:74px;border-bottom:1px solid #ffffff25}.desk-alarm-row button{border:0;background:none}.desk-alarm-toggle{width:68px;flex:none;border-right:1px solid #ffffff25!important}.desk-alarm-toggle .holo-checkbox{width:32px;height:32px}.desk-alarm-edit{flex:1;min-width:0;text-align:left;padding:12px 16px}.desk-alarm-edit>span{display:flex;align-items:baseline;gap:8px}.desk-alarm-edit strong{font-size:26px;font-weight:400}.desk-alarm-edit em{font-size:13px;font-style:normal;color:#aaa;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:right}.desk-alarm-edit small{display:block;color:#aaa;font-size:12px;margin-top:4px;line-height:1.4}.desk-preferences{padding:0 16px}.desk-preference{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:68px;width:100%;border:0;border-bottom:1px solid #ffffff25;background:none;text-align:left;font-size:18px;padding:12px 8px}.desk-preference small{display:block;font-size:14px;color:#aaa;margin-top:4px;overflow-wrap:anywhere}.desk-preference .holo-checkbox{width:32px;height:32px;flex:none}.desk-buttonbar{display:flex;flex:none;border-top:1px solid #ffffff35;min-height:48px}.desk-buttonbar button{flex:1;border:0;border-right:1px solid #ffffff25;background:#ffffff08;font-size:14px;padding:12px 4px}.desk-app button:active{background-color:#33b5e544}.desk-app .empty-note{color:#aaa}
.desk-face{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;background:#0006;transition:background .4s;color:#ffffffe6;padding:0 40px 0 10px;overflow:hidden}.desk-time-group{text-align:right;width:100%;margin-bottom:20px;transition:opacity .4s}.desk-time{font-family:AndroidClock,Roboto,sans-serif;font-size:82px;line-height:1.15;letter-spacing:-2px;background:none;border:0;padding:0;max-width:100%;font-weight:400}.desk-date{font-size:15px;margin:14px 0 8px}.desk-next{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;max-width:100%;padding:7px 0;background:none;border:0;color:#fff9!important;font-size:14px;text-align:right}.desk-next img{width:20px;height:20px;object-fit:contain}.desk-dim{background:#000d}.desk-dim .desk-time-group{opacity:.3}.desk-dialog{max-height:calc(100% - 32px);display:flex;flex-direction:column}.desk-dialog-scroll{overflow:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y}.desk-day{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;margin:0!important;border-bottom:1px solid #ffffff25;font-size:16px}.desk-day input{width:24px!important;height:24px;flex:none;accent-color:#33b5e5}.desk-day input[type=checkbox]{appearance:none;border:0!important;padding:0!important;background:transparent url('assets/btn_check_off_holo_dark.png') center/contain no-repeat!important}.desk-day input[type=checkbox]:checked{background-image:url('assets/btn_check_on_holo_dark.png')!important}.desk-time-picker{display:flex;justify-content:center;align-items:center;gap:12px;padding:14px 0}.desk-time-picker>div{width:70px;text-align:center}.desk-time-picker button{display:block;width:100%;border:0;background:none;color:#aaa;font-size:24px;height:38px}.desk-time-picker input{font-size:28px;text-align:center;padding:8px 2px!important;border:0!important;border-top:2px solid #33b5e5!important;border-bottom:2px solid #33b5e5!important;border-radius:0!important;background:none!important;appearance:textfield}.desk-time-picker input::-webkit-inner-spin-button{appearance:none}.desk-ringing-time{font-family:AndroidClock,Roboto,sans-serif;font-size:64px;text-align:center;padding:20px 0}
/* AlarmAlert / AlarmAlertFullScreen (alarm_alert.xml, dp x 0.9; DigitalClock: bold "h", thin ":mm"): black; the 24 sp bold label 32 sp from the top over the clock; the
   DeskClock GlowPadView at the bottom (378 dp: the 135 dp placement radius plus the 108 dp targets), its 270 dp ring of
   2 dp #1AFFFFFF and the snooze / dismiss targets showing only while the alarm handle is held. The theme is
   Theme.Holo.Wallpaper.NoTitleBar, so the status and navigation bars stay. */
.dcal-glow{position:absolute;inset:var(--sb) 0 var(--nb);z-index:41;background:#000;color:#fff;display:flex;flex-direction:column;align-items:center;overflow:hidden;font-family:RobotoICS,Roboto,sans-serif}
.dcal-head{margin-top:28.8px;display:flex;flex-direction:column;align-items:flex-start}
.dcal-label{max-width:100%;margin:0;padding:0 3.6px 1.8px;font:700 21.6px/1.2 RobotoICS,Roboto,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dcal-time{display:flex;align-items:baseline;line-height:1;padding-bottom:21.6px;white-space:nowrap}
.dcal-time b{font:700 108px/1 RobotoICS,Roboto,sans-serif;letter-spacing:-2px}
.dcal-time span{font:108px/1 RobotoThin,RobotoICS,sans-serif;letter-spacing:-2px}
.dcal-time small{margin-left:3.6px;font:700 12.6px RobotoICS,sans-serif;text-transform:uppercase}
.dcal-pad{position:absolute;left:50%;bottom:0;width:340.2px;height:340.2px;margin-left:-170.1px;touch-action:none}
.dcal-ring{position:absolute;left:50%;top:50%;width:243px;height:243px;margin:-121.5px 0 0 -121.5px;box-sizing:border-box;border:1.8px solid #ffffff1a;border-radius:50%;opacity:0;transition:opacity .2s}
.dcal-target{position:absolute;top:50%;width:97.2px;height:97.2px;margin-top:-48.6px;padding:0;border:0;background:none;opacity:0;transition:opacity .2s}
.dcal-glow .dcal-snooze{left:calc(50% - 121.5px - 48.6px)}
.dcal-glow .dcal-dismiss{left:calc(50% + 121.5px - 48.6px)}
.dcal-target img,.dcal-handle img{position:absolute;inset:0;width:100%;height:100%}
.dcal-target img+img,.dcal-handle img+img{opacity:0}
.dcal-grabbed .dcal-ring,.dcal-grabbed .dcal-target{opacity:1}
.dcal-pad[data-snapped="snooze"] .dcal-snooze img+img,.dcal-pad[data-snapped="dismiss"] .dcal-dismiss img+img{opacity:1}
.dcal-handle{position:absolute;left:50%;top:50%;width:97.2px;height:97.2px;margin:-48.6px 0 0 -48.6px;cursor:grab}
.dcal-grabbed .dcal-handle img{opacity:0}
.dcal-grabbed .dcal-handle img+img{opacity:1}
.dcal-pad[data-snapped="snooze"] .dcal-handle,.dcal-pad[data-snapped="dismiss"] .dcal-handle{opacity:0}
