/* Shared left rail navigation + full-screen clock layout used by every page. */
@font-face{font-family:DSEG7;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/dseg7-classic-700-normal.woff2') format('woff2')}
html body{padding-left:96px}
html body.focus-mode{padding-left:0}
html body .site-header{position:fixed;z-index:50;top:14px;bottom:14px;left:14px;width:68px;min-height:0;max-width:none;height:auto;margin:0;padding:14px 10px;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:6px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--surface) 72%,transparent);box-shadow:0 18px 50px #0000001f,inset 0 1px 0 #ffffff0d;backdrop-filter:blur(18px) saturate(1.4);transition:width .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s}
html body .site-header:hover,html body .site-header:focus-within{width:232px;box-shadow:0 24px 70px #00000038,inset 0 1px 0 #ffffff0d}
html body .site-header::after{display:none}
html body .site-header .brand{flex:0 0 auto;width:42px;height:44px;margin:0 0 14px;padding-left:9px;overflow:hidden;align-items:center;transition:width .32s cubic-bezier(.2,.8,.2,1)}
html body .site-header:is(:hover,:focus-within) .brand{width:100%}
html body .site-header .brand-logo{height:34px;max-width:none}
html body .site-header :is(.desktop-nav,.tool-nav){display:flex;flex:0 1 auto;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:4px;margin:0;padding:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
html body .site-header :is(.desktop-nav a,.tool-nav a,.nav-more summary,.header-actions button){position:relative;display:flex;align-items:center;gap:14px;width:auto;height:46px;min-height:46px;margin:0;padding:0 14px;overflow:hidden;border:0;border-radius:14px;background:transparent;box-shadow:none;color:var(--muted);font-size:13px;font-weight:700;white-space:nowrap;transform:none;transition:background .2s,color .2s}
html body .site-header :is(.desktop-nav a,.tool-nav a,.nav-more summary,.header-actions button):hover{background:var(--surface-2);color:var(--text);transform:none}
html body .site-header :is(.desktop-nav,.tool-nav) a.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 28%,transparent)}
html body .site-header :is(.desktop-nav a,.tool-nav a,.nav-more summary,#settings-toggle)::before{content:"";flex:0 0 20px;width:20px;height:20px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
html body .site-header :is(.desktop-nav,.tool-nav)>a:first-child{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13.5' r='7.5'/%3E%3Cpath d='M12 10v3.5l2.5 2M10 2.5h4M12 2.5V6'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/timer/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12M6 21h12M7 3v3l5 6 5-6V3M7 21v-3l5-6 5 6v3'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/countdown/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12a8.5 8.5 0 1 0 2.6-6.1L3.5 8.5M3.5 3.5v5h5M12 8v4l3 2'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/pomodoro/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='14' r='7'/%3E%3Cpath d='M12 7V3.5M8.5 5 12 7l3.5-2'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/classroom/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2.5 9 9.5-5 9.5 5-9.5 5zM6.5 11.2v5c3.3 2.4 7.7 2.4 11 0v-5'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/alarm/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='7.5'/%3E%3Cpath d='M12 9.5V13l2 2M3.5 5.5l3-2.5M20.5 5.5l-3-2.5'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/lap-timer/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V3.5M5 4h12l-2.5 4.5L17 13H5'/%3E%3C/svg%3E")}
html body .site-header :is(.desktop-nav,.tool-nav) a[href$="/world-clock/"]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.6 2.5 3.9 5.5 3.9 9S14.6 18.5 12 21M12 3C9.4 5.5 8.1 8.5 8.1 12s1.3 6.5 3.9 9'/%3E%3C/svg%3E")}
html body .site-header .nav-more summary{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='2'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='2'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='2'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='2'/%3E%3C/svg%3E")}
html body .site-header .nav-more summary::after{flex:0 0 auto;margin-left:auto}
html body .site-header .nav-more-menu{position:static;display:grid;gap:4px;min-width:0;margin:4px 0 0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;animation:none}
html body .site-header .nav-more-menu::before{display:none}
html body .site-header .header-actions{display:flex;flex-direction:column;gap:4px;margin:auto 0 0;padding:10px 0 0;border-top:1px solid var(--line)}
html body .site-header .header-actions svg{flex:0 0 20px;width:20px;height:20px}
html body .site-header #settings-toggle{font-size:0;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h9M19 7h1M4 17h3M13 17h7'/%3E%3Ccircle cx='16' cy='7' r='2.5'/%3E%3Ccircle cx='10' cy='17' r='2.5'/%3E%3C/svg%3E")}
html body .site-header #settings-toggle svg{display:none}
html body .site-header #settings-toggle::after{content:attr(aria-label);font-size:13px;line-height:normal}
html body .site-header .language-flag{flex:0 0 20px;margin:0}
html body .site-header .language-toggle-name{font-size:13px;font-weight:700}
html body .site-header :is(#menu-toggle,.menu-button),html body .site-header .mobile-menu{display:none}
@media(max-width:760px){
  html body{padding-left:0}
  html body .site-header,html body .site-header:is(:hover,:focus-within){top:12px;bottom:auto;left:12px;width:auto;flex-direction:row;align-items:center;gap:2px;padding:5px;overflow:visible;border-radius:18px}
  html body .site-header .brand,html body .site-header:is(:hover,:focus-within) .brand{width:34px;height:40px;margin:0 0 0 4px;padding-left:4px}
  html body .site-header .brand-logo{height:30px}
  html body .site-header :is(.desktop-nav,.tool-nav){display:none!important}
  html body .site-header .header-actions{flex-direction:row;margin:0;padding:0 0 0 4px;border-top:0;border-left:1px solid var(--line)}
  html body .site-header .header-actions button{height:40px;min-height:40px;padding:0 10px}
  html body .site-header .language-toggle-name,html body .site-header #settings-toggle::after{display:none}
  html body .site-header :is(#menu-toggle,.menu-button){display:flex;font-size:18px}
  html body .site-header .mobile-menu:not([hidden]){display:block;position:absolute;z-index:55;top:calc(100% + 8px);right:auto;left:0;min-width:200px;padding:10px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 16px 42px #0004;backdrop-filter:blur(18px)}
  html body .site-header .mobile-menu a{display:block;padding:11px 12px;border-radius:8px}
}

/* Big full-screen digits on the tool pages, matching the stopwatch. The H1 stays in the DOM for SEO. */
:is(.tool-hero,.pomodoro-hero)>h1{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tool-hero:has(>.tool-card>output.tool-display){max-width:none;padding:0 16px 24px}
html body .tool-hero>.tool-card:has(>output.tool-display){display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);margin:0;padding:24px 0 0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}
.tool-hero>.tool-card:has(>output.tool-display)>:not(output){width:100%;max-width:640px;margin-left:auto;margin-right:auto}
html body .tool-hero>.tool-card>output.tool-display{flex:1;display:flex;align-items:center;justify-content:center;max-height:none;padding:0;font-size:min(15vw,40vh);letter-spacing:-.05em;line-height:1;white-space:nowrap}
html body .pomodoro-hero{display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:100vh;min-height:100dvh;padding-top:24px}
html body .pomodoro-hero .pomodoro-clock-card{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
html body .pomodoro-hero .pomodoro-clock-card .pomodoro-display{margin:2vh 0 4vh;padding:0;font-size:min(15vw,40vh);letter-spacing:-.05em;line-height:1;white-space:nowrap}
html:not(.digital-font) body :is(.tool-display,.pomodoro-display,.clock-ring output,.tool-fullscreen output,.mini output,.wc-card-time,.wc-row-time,.floating-stopwatch output),html:not(.digital-font) body :is(.tool-display,.pomodoro-display,.clock-ring output,.tool-fullscreen output,.mini output,.wc-card-time,.wc-row-time,.floating-stopwatch output) *{font-family:"Times New Roman",Times,serif!important}
html.digital-font body .tool-hero>.tool-card>output.tool-display,html.digital-font body .pomodoro-hero .pomodoro-clock-card .pomodoro-display{font-size:min(11vw,32vh)}
html body .pomodoro-hero .pomodoro-clock-card .pomodoro-status{text-align:center}
html body .tool-hero>.tool-card>output.tool-display+.tool-note{margin-bottom:12px}
@media(max-width:760px){
  html body:not(:has(.stopwatch-only)) main{padding-top:64px}
  html body .tool-hero>.tool-card:has(>output.tool-display){min-height:calc(100dvh - 124px);padding-top:8px}
  html body .tool-hero>.tool-card>output.tool-display,html body .pomodoro-hero .pomodoro-clock-card .pomodoro-display{font-size:min(19vw,40vh)}
  html body .tool-hero:has(.annual-events)>.tool-card>output.tool-display{font-size:min(15vw,36vh)}
  html body .pomodoro-hero{min-height:calc(100dvh - 64px);padding-top:8px}
  html body .tool-hero>.tool-card>.controls{gap:8px}
  html body .tool-hero>.tool-card>.controls .button{flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px}
  html.digital-font body .tool-hero>.tool-card>output.tool-display,html.digital-font body .pomodoro-hero .pomodoro-clock-card .pomodoro-display{font-size:min(14vw,32vh)}
}

/* Boxless work areas: settings on top, huge digits in the middle, status, then actions. No cards, framed inputs or chips. */
html body .tool-hero:has(>.tool-card>.alarm-countdown){max-width:none;padding:0 16px 24px}
html body .tool-hero>.tool-card:has(>.alarm-countdown){display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);margin:0;padding:24px 0 0;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}
html body .tool-hero>.tool-card:has(>.alarm-countdown)>:not(.alarm-countdown){width:100%;max-width:640px;margin-left:auto;margin-right:auto}
html body .tool-hero>.tool-card>:is(.input-row,.session-controls,.preset-row){order:0}
html body .tool-hero>.tool-card>.alarm-settings{order:1}
html body .tool-hero>.tool-card>:is(output.tool-display,.alarm-countdown){order:2}
html body .tool-hero>.tool-card>:is(.tool-note,.alarm-message){order:3}
html body .tool-hero>.tool-card>.controls{order:4;margin-top:8px}
html body .tool-hero>.tool-card>.controls~:is(.tool-note,.alarm-message){order:5}
html body .tool-hero>.tool-card>.input-row{gap:32px;margin:0 auto 8px;align-items:end}
html body :is(.tool-card,.alarm-settings) .field{gap:4px;text-align:center}
html body :is(.tool-card,.alarm-settings) .field label{font-size:10px;letter-spacing:.12em}
html body :is(.tool-card,.alarm-settings) .field :is(input,select),html body :is(.session-controls,.custom-time,.pomodoro-task,.wc-meeting-controls) input{min-height:0;padding:6px 2px;border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:transparent;box-shadow:none;color:var(--text);text-align:center;transition:border-color .18s}
html body :is(.tool-card,.alarm-settings) .field :is(input,select):focus,html body :is(.session-controls,.custom-time,.pomodoro-task,.wc-meeting-controls) input:focus{border-color:var(--accent);box-shadow:none;outline:0}
html body .tool-card .field input{font-size:20px}
html body :is(.tool-card,.alarm-settings) .field select option{background:var(--surface);color:var(--text)}
html body :is(.preset-row,.session-presets,.activity-grid) button,html body .wc-format,html body .wc-format button{border:0;border-radius:0;background:none;box-shadow:none}
html body :is(.preset-row,.session-presets) button{padding:6px 4px;color:var(--muted);border-bottom:2px solid transparent}
html body :is(.preset-row,.session-presets) button:is(:hover,.selected),html body .wc-format button[aria-pressed="true"]{background:none;color:var(--text);border-bottom:2px solid var(--accent)}
html body .tool-hero>.tool-card>.preset-row{gap:4px 18px}
/* Buttons: the primary action stays solid; everything else is a quiet text button. */
html body :is(.controls,.classroom-controls) .button:not(.primary),html body .pomodoro-controls .pomodoro-button:not(.primary){border-color:transparent;background:none;box-shadow:none;color:var(--muted)}
html body :is(.controls,.classroom-controls) .button:not(.primary):hover,html body .pomodoro-controls .pomodoro-button:not(.primary):hover{border-color:transparent;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}
html body :is(.controls,.classroom-controls) .button,html body .pomodoro-controls .pomodoro-button{border-radius:999px;box-shadow:none}
html body :is(.tool-view-actions,.stopwatch-actions){gap:22px}
html body :is(.tool-view-actions,.stopwatch-actions) button{padding:6px 2px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--muted)}
html body :is(.tool-view-actions,.stopwatch-actions) button:hover{border:0;background:none;color:var(--text)}
/* Alarm: the ring becomes plain giant digits with a hairline progress bar under them. */
html body .tool-card>.alarm-countdown{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0}
html body .alarm-countdown .alarm-countdown-ring,html body .alarm-countdown.is-ringing .alarm-countdown-ring{display:flex;flex-direction:column;align-items:center;width:auto;height:auto;border-radius:0;background:none;box-shadow:none}
html body .alarm-countdown .alarm-countdown-ring:before{content:none}
html body .alarm-countdown .alarm-countdown-ring:after{content:"";width:min(60vw,560px);height:2px;margin-top:3vh;background:linear-gradient(90deg,var(--accent) var(--alarm-progress),var(--line) 0)}
html body .alarm-countdown.is-ringing .alarm-countdown-ring:after{background:var(--danger)}
html body .alarm-countdown output{font-size:min(15vw,40vh);font-weight:400;letter-spacing:-.05em;line-height:1;white-space:nowrap;color:var(--timer-color,var(--text))}
html.digital-font body .alarm-countdown output{font-family:DSEG7,'DM Mono',monospace!important;font-size:min(11vw,32vh);letter-spacing:-.02em}
html body .alarm-countdown span{position:absolute;top:-1.4em;bottom:auto;font-size:22px}
html body .alarm-settings{margin:0 auto 4px;border:0;border-radius:0;background:none;text-align:center}
html body .alarm-settings summary{justify-content:center;gap:10px;padding:6px;color:var(--muted)}
html body .alarm-settings-grid{border-top:0;padding:0 0 8px;gap:20px}
html body .alarm-preview{border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:none}
/* Lap timer */
html body .sport-card .session-controls{justify-content:center;gap:28px;padding:0 0 8px;border:0}
html body .lap-workspace{border:0;background:none;box-shadow:none}
html body .training-stats{gap:0}
html body .training-stats div{border:0;border-radius:0;background:none;box-shadow:none;text-align:center}
html body .training-stats div+div{border-left:1px solid var(--line)}
html body .lap-table{border:0;border-radius:0;background:none;box-shadow:none}
html body .lap-table-head{background:none;border-bottom:1px solid var(--line)}
html body .export-session{border:0;background:none;box-shadow:none;color:var(--accent-text,var(--accent))}
/* Fixed layout from the start (nothing moves when the first lap lands): compact clock up top,
   then a lap list with reserved height that scrolls on its own. */
html body:has(.sport-card) .tool-view-actions .tool-mini{display:none}
html body .sport-card .controls #lap:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}
html body .tool-hero>.tool-card.sport-card:has(>output.tool-display){min-height:calc(100vh - 490px);min-height:calc(100dvh - 490px);padding-top:8px}
html body .tool-hero>.tool-card.sport-card>output.tool-display{flex:1;margin:1vh 0;font-size:min(13vw,26vh)}
html.digital-font body .tool-hero>.tool-card.sport-card>output.tool-display{font-size:min(9.5vw,20vh)}
html body .tool-hero>.tool-card.sport-card>.tool-note{display:none}
html body .sport-hero{padding-bottom:0}
html body .sport-hero+.lap-workspace{--lap-body:210px;padding-top:0}
html body .lap-workspace .tool-view-actions{margin:0}
html body .lap-table{display:flex;flex-direction:column;height:calc(var(--lap-body,320px) + 40px)}
html body .lap-table .lap-list{flex:1;min-height:0;margin:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
html body .lap-table .lap-session-empty{flex:1;display:grid;place-items:center}
html body .lap-table:has(.lap-item) .lap-session-empty{display:none}
html body .lap-heading{margin-bottom:6px}
html body .training-stats{margin-bottom:6px}
html body .training-stats div{padding:10px}
html body .lap-list .lap-item{border-bottom:1px solid var(--line)}
html body .lap-list .lap-item:first-child{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:800;animation:lap-in .35s ease-out}
html body .lap-list .lap-item:first-child :is(.lap-total,.lap-split){font-size:16px;font-weight:700}
@keyframes lap-in{from{opacity:0;transform:translateY(-6px)}}
/* Pomodoro */
html body .session-presets>div{gap:4px 16px}
html body .pomodoro-hero .pomodoro-clock-card{flex:1;display:flex;flex-direction:column;justify-content:center}
html body .pomodoro-hero .pomodoro-clock-card .pomodoro-status{margin-top:16px}
html body .pomodoro-note{margin:12px auto 14px}
html body .pomodoro-task{width:100%;margin:0 auto;gap:16px;border:0;background:none}
html body .pomodoro-task input{text-align:left}
html body .pomodoro-task button{border:0;border-radius:999px;background:none;color:var(--accent-text,var(--accent))}
html body .pomodoro-task-list li{border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}
/* Classroom: one centred, full-height visual timer; the intro copy stays in the DOM for SEO. */
html body .classroom-hero{display:flex;flex-direction:column;justify-content:center;max-width:none;min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);padding:16px}
html body .classroom-copy{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html body .visual-timer{width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:center}
html body .visual-timer .clock-ring{width:min(64vh,82vw);margin:2vh auto}
html body .visual-timer .clock-ring:before{background:var(--bg)}
html body .visual-timer .clock-ring output{font-size:min(13vh,15vw);letter-spacing:-.05em}
html.digital-font body .visual-timer .clock-ring output{font-size:min(9vh,11vw)}
html body :is(.classroom-panel,.teacher-content,.faq-grid article){border:0;border-radius:0;background:none;box-shadow:none}
html body .activity-grid{gap:0}
html body .activity-grid button{padding:14px 10px;border-bottom:2px solid transparent}
html body .activity-grid button:is(:hover,.selected){border-bottom-color:var(--accent);background:none}
html body .custom-time button{border:0;border-radius:999px;background:var(--accent);color:var(--accent-ink)}
/* World clock */
html body .wc-search input{height:auto;padding:14px 40px 14px 34px;border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:none;box-shadow:none;font-size:18px}
html body .wc-search input:focus{border-color:var(--accent);box-shadow:none}
html body .wc-search-icon{left:4px}
html body .wc-format{padding:0;gap:10px}
html body .wc-format button{min-width:0;padding:0 4px;border-bottom:2px solid transparent;color:var(--muted)}
html body :is(.wc-card,.wc-card.is-local,.wc-meeting,.wc-explore){border:0;border-radius:0;background:none;box-shadow:none}
html body .wc-card{border-top:1px solid var(--line)}
html body .wc-card.is-local{border-top:2px solid var(--accent)}
html body .wc-card:hover{transform:none;border-color:var(--accent)}
html body .wc-meeting,html body .wc-explore-head{padding-left:0;padding-right:0}
html body .wc-meeting-actions button{border:0;background:none;color:var(--accent-text,var(--accent))}
html body :is(.wc-remove,.wc-handle,.wc-share-button){border:0;background:none;box-shadow:none}
html body .wc-share-button:hover{background:none;color:var(--accent-text,var(--accent))}
@media(max-width:760px){
  html body .tool-hero>.tool-card:has(>.alarm-countdown),html body .classroom-hero{min-height:calc(100dvh - 124px);padding-top:8px}
  html body .tool-hero>.tool-card>.input-row{gap:16px}
  html body .alarm-countdown output{font-size:min(19vw,40vh)}
  html.digital-font body .alarm-countdown output{font-size:min(14vw,32vh)}
  html body .tool-hero>.tool-card.sport-card:has(>output.tool-display){min-height:calc(100dvh - 540px)}
  html body .tool-hero>.tool-card.sport-card>output.tool-display{font-size:min(17vw,22vh)}
  html body .sport-card .session-controls{flex-direction:row;align-items:center;padding-bottom:0}
  html body .sport-card .shortcut-note{display:none}
  html body .training-stats{grid-template-columns:repeat(3,1fr)}
  html body .training-stats strong{font-size:13px}
}

/* Flip clock (inspired by aflipclock.com): flip.js mirrors each clock <output> into .flip-board */
html .flip-board{display:none}
html.flip-on .flip-source{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
html.flip-on .flip-board{--flip-card:#1c1f1d;--flip-card-top:#232624;--flip-edge:#0b0c0b;--flip-r:var(--card-radius,.09em);display:flex;align-items:center;justify-content:center;gap:.07em;margin:0 auto;font-size:96px;font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap;user-select:none;cursor:zoom-in;color:var(--flip-ink,var(--text))}
html.flip-on.light .flip-board{--flip-card:#fbfbf8;--flip-card-top:#ffffff;--flip-edge:#d9dbd2}
html:not(.digital-font) .flip-board,html:not(.digital-font) .flip-board *{font-family:"Times New Roman",Times,serif!important}
html.digital-font .flip-board,html.digital-font .flip-board *{font-family:DSEG7,'DM Mono',monospace!important;font-weight:400}
.flip-card{position:relative;display:inline-block;padding:0 .14em;border-radius:var(--flip-r);background:var(--flip-card);box-shadow:0 .04em 0 var(--flip-edge),0 .12em .3em #0005;perspective:3em;font-variant-numeric:tabular-nums}
html.light .flip-card{box-shadow:0 .03em 0 var(--flip-edge),0 .1em .28em #0000001f}
.flip-sizer{display:block;height:1.3em;line-height:1.3em;visibility:hidden}
.flip-half{position:absolute;left:0;right:0;height:50%;overflow:hidden;background:var(--flip-card)}
.flip-half.top{top:0;border-radius:var(--flip-r) var(--flip-r) 0 0;background:var(--flip-card-top)}
.flip-half.bottom{bottom:0;border-radius:0 0 var(--flip-r) var(--flip-r)}
.flip-half>span{position:absolute;left:0;right:0;height:1.3em;line-height:1.3em;text-align:center}
.flip-half.top>span{top:0}
.flip-half.bottom>span{bottom:0}
.flip-card::after{content:"";position:absolute;z-index:3;left:0;right:0;top:50%;height:max(1px,.018em);background:var(--bg);opacity:.85}
.flip-half.flap{z-index:2;backface-visibility:hidden}
.flip-half.flap.top{transform-origin:50% 100%;animation:flip-down-top .26s ease-in forwards}
.flip-half.flap.bottom{transform-origin:50% 0;transform:rotateX(90deg);animation:flip-down-bottom .26s .26s ease-out forwards}
@keyframes flip-down-top{to{transform:rotateX(-90deg);filter:brightness(.6)}}
@keyframes flip-down-bottom{from{transform:rotateX(90deg);filter:brightness(1.4)}to{transform:rotateX(0)}}
.flip-card.small{align-self:center;font-size:.46em}
.flip-sep{position:relative;width:.2em;height:.62em}
.flip-sep[data-sep=":"]::before,.flip-sep[data-sep=":"]::after{content:"";position:absolute;left:50%;width:.11em;height:.11em;border-radius:50%;background:currentColor;opacity:.75;transform:translateX(-50%)}
.flip-sep[data-sep=":"]::before{top:.08em}
.flip-sep[data-sep=":"]::after{bottom:.08em}
.flip-sep[data-sep="."]{width:.1em}
.flip-sep[data-sep="."]::before{content:"";position:absolute;left:50%;bottom:.04em;width:.07em;height:.07em;border-radius:50%;background:currentColor;opacity:.75;transform:translateX(-50%)}
@media(prefers-reduced-motion:reduce){.flip-half.flap{animation-duration:.01s!important;animation-delay:0s!important}}

/* Top-right quick tools (topbar.js) */
html body .site-header .header-actions:not(:has(button)){display:none}
html body .top-tools{position:fixed;z-index:60;top:14px;right:16px;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 8px 26px #0000001a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html body .top-tools :is(.top-tool,#language-toggle){display:grid;place-items:center;width:40px;height:40px;min-height:0;margin:0;padding:0;border:0;border-radius:12px;background:none;box-shadow:none;color:var(--muted);font-size:18px;cursor:pointer;transition:background .16s,color .16s}
html body .top-tools :is(.top-tool,#language-toggle):hover{background:var(--surface-2);color:var(--text)}
html body .top-tools :is(.top-tool,#language-toggle):focus-visible{outline:2px solid var(--accent);outline-offset:1px}
html body .top-tools .top-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Match the homepage settings gear on every page, including tools without settings.css. */
html body .top-tools #settings-toggle svg{display:none}
html body .top-tools #settings-toggle::after{content:'⚙';font-size:20px;line-height:1}
html body .top-tools .top-tool[hidden]{display:none!important}
html body .top-tools #language-toggle .language-toggle-name{display:none}
html body .top-tools #language-toggle .language-flag{width:22px;height:auto;border-radius:3px}
html body .tool-fullscreen:fullscreen~.top-tools{display:none}
@media(max-width:760px){
  html body .top-tools{top:12px;right:12px;padding:3px}
  html body .top-tools :is(.top-tool,#language-toggle){width:36px;height:36px}
}

/* World clock: big flip clock with the visitor's local time */
html body .wc-local{display:flex;flex-direction:column;align-items:center;gap:10px;margin:18px auto 30px;text-align:center}
html body .wc-local-place{margin:0;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
html body .wc-local-time{font-size:min(12vw,24vh)}
html body .wc-local .flip-board{width:100%}
html body .wc-local-date{margin:4px 0 0;color:var(--muted);font-size:16px;font-weight:700}
html body .wc-local:fullscreen{justify-content:center;margin:0;background:var(--bg)}
html body .wc-local:fullscreen .wc-local-time{font-size:min(19vw,46vh)}
html body .wc-local:fullscreen :is(.wc-local-place,.wc-local-date){font-size:20px}
html:not(.flip-on) body .wc-local-time{color:var(--text);font-weight:700;line-height:1}
@media(min-width:761px){html body .site-header .header-actions{display:none}}

/* "What is / How to use / Why" guide (scripts/add-guides.py) */
html body .tool-guide{display:grid;gap:44px;width:min(820px,100%);margin:56px auto 40px;padding:0 4px;color:var(--text);text-align:start}
html body .tool-guide h2{margin:0 0 14px;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;line-height:1.2}
html body .tool-guide p{margin:0;color:var(--muted);font-size:17px;line-height:1.7}
html body .guide-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}
html body .guide-steps li{position:relative;padding-top:2px;padding-inline-start:46px;color:var(--muted);font-size:16px;line-height:1.6;counter-increment:step}
html body .guide-steps li::before{content:counter(step);position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text);font-size:14px;font-weight:800}
html body .guide-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px;margin:0;padding:0;list-style:none}
html body .guide-points li{display:grid;gap:5px;padding-top:14px;border-top:1.5px solid var(--line)}
html body .guide-points strong{font-size:16px}
html body .guide-points span{color:var(--muted);font-size:15px;line-height:1.55}
@media(max-width:760px){
  html body .tool-guide{gap:34px;margin:36px auto 28px;padding:0 6px}
  html body .tool-guide p{font-size:16px}
  html body .guide-points{grid-template-columns:1fr}
}

/* Top tools: divider between look (theme, language, settings) and window tools (pop-out, full screen) */
html body .top-tools .top-divider{width:1px;height:22px;margin:0 3px;background:var(--line)}
html body .top-tools .top-divider[hidden]{display:none}
/* The old "Full screen / Pop out timer" row under the clock: those actions now live in the top-right tools. */
html body :is(.tool-view-actions,.stopwatch-actions){display:none!important}

/* Midnight and Sand palettes (settings-sheet.js toggles html.palette-alt; .light picks Sand) */
html.palette-alt:root{--bg:#0b1020;--surface:#131a2e;--surface-2:#1c2440;--text:#eef1fb;--muted:#9aa3bf;--line:#283152;--accent:#9db8ff;--accent-ink:#0b1020;--accent-text:#9db8ff;--glow:color-mix(in srgb,var(--accent) 12%,transparent);--card:linear-gradient(145deg,var(--surface),var(--surface-2))}
html.palette-alt.light:root{--bg:#f3ede1;--surface:#fbf7ef;--surface-2:#ebe3d3;--text:#2b2419;--muted:#6f6352;--line:#e0d6c3;--accent:#d9a441;--accent-ink:#2b1d05;--accent-text:#8a5a12;--glow:color-mix(in srgb,var(--accent) 18%,transparent);--card:linear-gradient(145deg,#fffaf2,#f6efe2)}
html.palette-alt:root body{background:var(--bg)}
html.flip-on.palette-alt .flip-board{--flip-card:#161d33;--flip-card-top:#1b2340;--flip-edge:#070a14}
html.flip-on.palette-alt.light .flip-board{--flip-card:#fffaf0;--flip-card-top:#fffdf7;--flip-edge:#d8ccb4}

/* Settings sheet (aflipclock style): floating card on the right, bottom sheet on phones, grouped lists */
@keyframes sheet-in{from{opacity:0;transform:translateX(24px)}}
@keyframes sheet-up{from{transform:translateY(100%)}}
html body .settings-backdrop{z-index:150;background:#00000052}
html body .settings-panel{position:fixed;z-index:160;inset:12px 12px auto auto;display:flex;flex-direction:column;width:380px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);min-height:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 30px 80px #00000047;backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);color:var(--text);animation:sheet-in .28s cubic-bezier(.2,.8,.2,1)}
html body .settings-panel[hidden]{display:none}
html body .settings-panel .settings-heading{flex:none;display:flex;align-items:center;justify-content:space-between;padding:18px 14px 12px 22px;border:0}
html body .settings-panel .settings-heading h2{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em}
html body .settings-panel .settings-heading button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:20px;line-height:1;cursor:pointer}
html body .settings-panel .settings-heading button:hover{color:var(--text)}
html body .settings-panel>.setting-row[hidden]{display:none}
html body .sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:2px 14px 16px}
html body .sheet-group{margin:0 0 20px}
html body .sheet-group h3{margin:0;padding:0 8px 8px;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html body .sheet-list{overflow:hidden;border-radius:14px;background:var(--surface-2)}
html body .sheet-list .sheet-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;margin:0;padding:10px 16px;border:0;font-size:15px;font-weight:600;text-align:start}
html body .sheet-list>.sheet-row:not(:first-child)::before,html body .sheet-sub>.sheet-row::before{content:"";position:absolute;top:0;inset-inline:16px 0;height:1px;background:var(--line)}
html body .sheet-list .sheet-row select{width:auto;min-width:120px;padding:7px 10px;border:0;border-radius:9px;background:var(--surface);color:var(--text);font:500 13px 'DM Mono',monospace}
html body .sheet-row.stacked{flex-direction:column;align-items:stretch;gap:8px;padding-top:14px;padding-bottom:12px}
html body .sheet-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
html body .sheet-value{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}
html body .sheet-row input[type=range]{width:100%;margin:0;accent-color:var(--accent-text)}
html body .sheet-sub{transition:opacity .2s}
html body .sheet-sub[inert]{opacity:.4}
html body .settings-panel .switch input:checked+span{background:var(--accent-text)}
html body .segmented{display:inline-flex;gap:2px;padding:3px;border-radius:11px;background:color-mix(in srgb,var(--text) 8%,transparent)}
html body .segmented button{height:30px;padding:0 14px;border:0;border-radius:8px;background:none;color:var(--muted);font:600 13px inherit;font-family:inherit;cursor:pointer;transition:background .2s,color .2s}
html body .segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 3px 8px #0000001f}
html body .theme-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
html body .theme-option{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:0;border:0;background:none;color:var(--muted);font:600 13px inherit;font-family:inherit;cursor:pointer}
html body .theme-swatch{display:grid;place-items:center;width:100%;height:64px;border-radius:14px;box-shadow:inset 0 0 0 1px #8882;transition:box-shadow .2s,transform .2s}
html body .theme-swatch span{padding:3px 7px;border-radius:6px;font:700 20px/1 Georgia,'Times New Roman',serif;box-shadow:0 2px 5px #0003}
html body .theme-option:hover .theme-swatch{transform:translateY(-2px)}
html body .theme-option[aria-checked=true] .theme-swatch{box-shadow:0 0 0 2px var(--accent-text)}
html body .theme-option[aria-checked=true] .theme-name{color:var(--text)}
html body .swatch-dark{background:#111512}html body .swatch-dark span{background:#1f2420;color:#f5f7ee}
html body .swatch-light{background:#f6f7f1}html body .swatch-light span{background:#fff;color:#172017}
html body .swatch-midnight{background:#0b1020}html body .swatch-midnight span{background:#1b2340;color:#eef1fb}
html body .swatch-sand{background:#f3ede1}html body .swatch-sand span{background:#fffaf0;color:#2b2419}
html body .sheet-list .color-picker{margin:0;padding:14px 16px;border:0}
html body .sheet-list .color-picker legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html body .sheet-list .color-picker div{display:flex;gap:14px}
html body .sheet-list .color-dot{width:28px;height:28px}
html body .sheet-list .color-dot.selected{outline-color:var(--accent-text)}
html body .sheet-reset{width:100%;height:50px;border:0;border-radius:14px;background:var(--surface-2);color:var(--danger);font:600 15px inherit;font-family:inherit;cursor:pointer}
html body .sheet-reset:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface-2))}
@media(max-width:620px){
  html body .settings-panel{inset:auto 0 0 0;width:100%;max-width:none;max-height:88svh;border-width:1px 0 0;border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom);animation-name:sheet-up}
  html body .settings-panel::before{content:"";flex:none;width:36px;height:5px;margin:8px auto 0;border-radius:3px;background:var(--line)}
  html body .settings-panel .settings-heading{padding:8px 12px 8px 20px}
  html body .theme-swatch{height:56px}
}

/* Countdown (aflipclock style): event name, labelled flip cards, "Create a countdown timer" form */
.flip-board.labelled{gap:.1em;padding-bottom:.34em}
.flip-board.labelled .flip-sep{width:0}
.flip-board.labelled .flip-sep::before,.flip-board.labelled .flip-sep::after{display:none}
html body .flip-board .flip-label{position:absolute;left:50%;top:calc(100% + .9em);font:700 max(11px,.1em)/1 Manrope,system-ui,sans-serif!important;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--muted);transform:translateX(-50%)}
html body .tool-hero>.tool-card.cd-stage{justify-content:center;gap:0}
html body .tool-hero>.tool-card.cd-stage>.cd-head{order:1;margin-bottom:clamp(16px,3vh,32px);text-align:center}
.cd-title{margin:0;color:var(--text);font-size:clamp(26px,3.2vw,42px);font-weight:800;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.cd-until{min-height:1.4em;margin:6px 0 0;color:var(--muted);font-size:15px}
html body .tool-hero>.tool-card.cd-stage>output.tool-display{flex:0 0 auto;margin:0}
/* Stage fills the whole first screen so the holiday list below never peeks in on load. */
html body .tool-hero>.tool-card.cd-stage:has(>output.tool-display){min-height:100vh;min-height:100dvh}
@media(max-width:760px){html body .tool-hero>.tool-card.cd-stage:has(>output.tool-display){min-height:calc(100dvh - 64px)}}
html body .tool-hero>.tool-card.cd-stage>.tool-note{order:3}
html body .tool-hero>.tool-card.cd-stage>.cd-create{order:4;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:auto;margin:clamp(22px,4vh,40px) auto 0;padding:12px 22px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);font-size:14px;font-weight:700;transition:border-color .18s,transform .18s}
.cd-create:hover,.cd-create[aria-expanded=true]{border-color:var(--accent);transform:translateY(-1px)}
.cd-create svg{width:16px;height:16px;transition:transform .2s}
.cd-create[aria-expanded=true] svg{transform:rotate(45deg)}
html body .tool-hero>.tool-card.cd-stage>.cd-panel{order:5;margin-top:16px;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow);text-align:start;animation:cd-panel-in .22s ease-out}
.cd-panel[hidden]{display:none!important}
@keyframes cd-panel-in{from{opacity:0;transform:translateY(-6px)}}
html body .cd-panel .input-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0}
html body .cd-panel .field{text-align:start}
html body .cd-panel .field label{color:var(--muted);font-weight:700;text-transform:uppercase}
html body .cd-panel .field input{width:100%;font-size:17px;text-align:start}
.cd-presets{display:grid;gap:14px;margin:22px 0 4px}
.cd-preset-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cd-preset-title{width:100%;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cd-chip{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);font-size:13px;font-weight:600;transition:border-color .18s,background .18s}
.cd-chip:hover{border-color:var(--accent)}
.cd-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}
html body .cd-panel .controls{justify-content:flex-end;gap:10px;margin-top:20px}
html body .cd-panel .controls .button{min-width:0;padding:12px 20px;border-radius:999px}
html body .cd-panel .tool-note{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:end}
.cd-done .flip-board{animation:cd-done 1s ease-in-out 3}
@keyframes cd-done{50%{opacity:.35}}
.event-left{display:block;color:var(--accent-text);font-size:11px;font-style:normal;font-weight:800}
@media(max-width:620px){
  html body .cd-panel .input-row{grid-template-columns:1fr}
  html body .tool-hero>.tool-card.cd-stage>.cd-panel{padding:18px}
  html body .cd-panel .controls .button{flex:1}
}
html body .cd-stage [hidden]{display:none!important}
html body .tool-hero>.tool-card.cd-stage>.cd-panel{min-width:0;max-width:min(640px,100%)}
html body .cd-panel .input-row{grid-template-columns:repeat(2,minmax(0,1fr))}
html body .cd-panel .field,html body .cd-panel .field input{min-width:0;max-width:100%}
@media(max-width:620px){html body .cd-panel .input-row{grid-template-columns:minmax(0,1fr)}}
/* Holiday list heading: one compact row lined up with the cards instead of a centred marketing block. */
html body .annual-events{margin-top:40px}
html body .annual-events-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;max-width:none;margin:0 0 14px;padding:0 2px;text-align:start}
html body .annual-events-heading .eyebrow{display:none}
html body .annual-events-heading h2{margin:0;font-size:clamp(18px,2vw,21px);font-weight:800;letter-spacing:-.4px}
html body .annual-events-heading p:last-child{margin:0;color:var(--muted);font-size:12.5px;line-height:1.4}
@media(max-width:620px){html body .annual-events-heading p:last-child{display:none}}
/* Holiday countdowns table (tools.js holidayTable): above the use cases at the end of the countdown pages, styled like the lap list. */
html body .holiday-table{width:min(920px,100%);margin:0 auto;padding:8px 28px 48px;text-align:start}
html body .holiday-table h2{margin:0 0 16px;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;line-height:1.2}
html body .holiday-table table{width:100%;border:1px solid var(--line);border-radius:16px;border-spacing:0;overflow:hidden;background:var(--surface);font-size:14px}
html body .holiday-table th,html body .holiday-table td{padding:13px 20px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
html body .holiday-table tbody tr:last-child>*{border-bottom:0}
html body .holiday-table thead th{background:var(--surface-2);color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
html body .holiday-table thead th:last-child,html body .holiday-table td:last-child{text-align:end}
html body .holiday-table tbody th{font-weight:700}
html body .holiday-table tbody th a{transition:color .15s}
html body .holiday-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
html body .holiday-table tbody tr:hover th a{color:var(--accent-text)}
html body .holiday-table td{color:var(--muted);white-space:nowrap}
html body .holiday-table td:last-child{color:var(--text);font:500 15px 'DM Mono',monospace;font-variant-numeric:tabular-nums}
html body .holiday-table tr.is-today td:last-child{color:var(--accent-text);font-family:Manrope,Arial,sans-serif;font-weight:800}
@media(max-width:620px){
  html body .holiday-table{padding:4px 18px 36px}
  html body .holiday-table table{font-size:13px}
  html body .holiday-table th,html body .holiday-table td{padding:11px 12px}
  html body .holiday-table td{white-space:normal}
}
/* Default flip clock size before settings-sheet.js applies the saved Size setting. */
:root{--clock-scale:.8}
/* About / Privacy / Terms (topbar.js): a quiet group at the foot of the rail, smaller and dimmer than the tools above. */
html body .site-header .rail-legal{display:flex;flex:0 0 auto;flex-direction:column;gap:2px;margin:auto 0 0;padding:8px 0 0;border-top:1px solid var(--line)}
html body .site-header .rail-legal a{display:flex;align-items:center;gap:16px;height:36px;padding:0 16px;overflow:hidden;border-radius:12px;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap;opacity:.7;transition:background .2s,color .2s,opacity .2s}
html body .site-header .rail-legal a::before{content:"";flex:0 0 16px;width:16px;height:16px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
html body .site-header .rail-legal a:is(:hover,:focus-visible){background:var(--surface-2);color:var(--text);opacity:1}
html body .site-header .rail-legal a[aria-current=page]{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);opacity:1}
html body .site-header .rail-legal span{opacity:0;transition:opacity .2s}
html body .site-header:is(:hover,:focus-within) .rail-legal span{opacity:1}
html body .site-header [data-legal=about]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.6v.1'/%3E%3C/svg%3E")}
html body .site-header [data-legal=privacy]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 5.8v5.7c0 4.3 2.9 8 7 9.5 4.1-1.5 7-5.2 7-9.5V5.8z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
html body .site-header [data-legal=terms]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h4'/%3E%3C/svg%3E")}
@media(min-width:761px){html body .site-header:has(.rail-legal) .header-actions{margin:0;padding:0;border:0}}
@media(max-width:760px){
  html body .site-header .rail-legal{display:none}
  html body .site-header .mobile-menu .menu-legal{display:flex;flex-wrap:wrap;gap:2px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--line)}
  html body .site-header .mobile-menu .menu-legal a{display:flex;align-items:center;gap:7px;padding:8px 10px;color:var(--muted);font-size:12px;font-weight:600}
  html body .site-header .mobile-menu .menu-legal a::before{content:"";flex:0 0 14px;width:14px;height:14px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
  html body .site-header .mobile-menu .menu-legal a[aria-current=page]{color:var(--text)}
}
