window > stack {
    background-color: mix(@theme_fg_color, @theme_bg_color, 0.95);
    box-shadow: inset 0 5px 2px -6px black;
}

window > stack:backdrop {
    background-color: mix(@theme_unfocused_fg_color, @theme_unfocused_bg_color, 0.95);
    box-shadow: none;
}

/* content view */

.tile {
    padding: 12px;
    background-color: transparent;
}

.tile .tile-label {
    font-size: 32pt;
}

.tile .name-label {
    padding-top: 0.5em;
}

.tile .name-icon {
    padding-top: 0.5em;
    padding-right: 8px;
}

/* world */

.world-tile .stripe,
.world-tile .stripe:backdrop {
    color: black;
    background-color: rgba(255, 255, 255, 0.4);
}

.tile.prelight .world-tile .stripe,
.tile.prelight .world-tile .stripe:backdrop {
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
    background-color: rgba(255, 255, 255, 0.6);
}

.night .world-tile .stripe,
.night .world-tile .stripe:backdrop {
    color: white;
    background-color: rgba(0, 0, 0, 0.4);
}

.tile.prelight .night .world-tile .stripe,
.tile.prelight .night .world-tile .stripe:backdrop {
    text-shadow: 0 0 0.1em rgba(255, 255, 255, 0.6), 0 0 0.2em rgba(255, 255, 255, 0.6);
    background-color: rgba(0, 0, 0, 0.8);
}

/* alarms */

.alarm-tile,
.alarm-tile:backdrop {
    color: shade(@insensitive_fg_color,0.9);
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(shade(@insensitive_bg_color,0.9)), to(shade(@insensitive_bg_color,0.85)));
}

.tile.prelight .alarm-tile,
.tile.prelight .alarm-tile:backdrop {
    color: @insensitive_fg_color;
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(shade(@insensitive_bg_color,0.99)), to(shade(@insensitive_bg_color,0.9)));
}

.active .alarm-tile,
.active .alarm-tile:backdrop {
    color: white;
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(shade(@theme_selected_bg_color,1.2)), to(@theme_selected_bg_color));
}

.tile.prelight .active .alarm-tile,
.tile.prelight .active .alarm-tile:backdrop {
    color: white;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(shade(@theme_selected_bg_color, 1.4)), to(@theme_selected_bg_color));
}

.snoozing .alarm-tile,
.snoozing .alarm-tile:backdrop {
    color: white;
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(@warning_color), to(shade(@warning_color,0.9)));
}

.tile.prelight .snoozing .alarm-tile,
.tile.prelight .snoozing .alarm-tile:backdrop {
    color: white;
    text-shadow: 0 2px 2px rgba(0, 0, 0, 0.5);
    background-color: transparent;
    background-image: -gtk-gradient(radial,
                                    center center, 0,
                                    center bottom, 1.0,
                                    from(shade(@warning_color,1.1)), to(shade(@warning_color,0.99)));
}

.clocks-ampm-toggle-button {
    font-size: 18pt;
}

.clocks-standalone-label,
.clocks-ringing-label {
    font-size: 64pt;
}

.clocks-secondary-standalone-label {
    font-size: 18pt;
}

.clocks-button {
    font-size: 14pt;
}

.clocks-alarm-setup-time {
    font-size: 32pt;
}

.clocks-spinbutton {
    font-size: 48pt;
}

.clocks-stopwatch-label,
.clocks-timer-label {
    font-size: 48pt;
}

.clocks-analog-frame.trough {
    color: mix(@theme_fg_color, @theme_bg_color, 0.85);
}

.clocks-analog-frame.progress {
    color: mix(@theme_fg_color, @theme_bg_color, 0.5);
}

.clocks-analog-frame.progress-fast {
    color: @theme_fg_color;
}

.clocks-laps-panel:dir(ltr) {
    border-image: linear-gradient(to bottom,
                                  mix(@borders,@theme_bg_color,0.5),
                                  mix(@borders,@theme_bg_color,0.5))
                  0 0 0 1 / 20px 0px 20px 1px stretch;
}

.clocks-laps-panel:dir(rtl) {
    border-image: linear-gradient(to bottom,
                                  mix(@borders,@theme_bg_color,0.5),
                                  mix(@borders,@theme_bg_color,0.5))
                  0 1 0 0 / 20px 1px 20px 0px stretch;
}

.clocks-laps-panel list,
.clocks-laps-panel row {
    background-color: transparent;
}

.clocks-laps-panel row {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 14pt;
    border-image: linear-gradient(to bottom,
                                  mix(@borders,@theme_bg_color,0.5),
                                  mix(@borders,@theme_bg_color,0.5))
                  0 0 1 0 / 0 20px 1px 20px stretch;
}

.clocks-laps-panel row:last-child {
    border-image: none;
    border-color: transparent;
}

.clocks-laps-panel .lap-time {
    font-weight: bold;
    padding-right: 20px;
}

/* disguise insensitive spinbuttons as normal labels */
spinbutton.clocks-timer-label,
spinbutton.clocks-timer-label button,
spinbutton.clocks-timer-label entry {
    border-color: transparent;
    background-color: transparent;
    background-image: none;
    box-shadow: none;
}

spinbutton.clocks-timer-label {
    color: @theme_fg_color;
}

spinbutton.clocks-timer-label button {
    color: transparent;
}

@keyframes clocks-blink {
    0% { color: @theme_fg_color; }
    100% { color: @insensitive_fg_color; }
}

.clocks-paused .clocks-timer-label {
    animation-name: clocks-blink;
    animation-iteration-count: infinite;  
    animation-timing-function: cubic-bezier(1.0,0,0,1.0);
    animation-duration: 1s; 
}
