/* Виджеты. Размер шрифта задаётся в долях «маленького» виджета (--u),
   поэтому один и тот же виджет корректно выглядит в любом масштабе. */
.live, .live-o, .live-c, .live-p, .pv, .sd-w, .sw, .pv-grid > figure > div { width: 100%; }
.wg { position: relative; width: 100%; margin: 0 auto; container-type: inline-size; font-family: 'Onest', -apple-system, 'SF Pro Text', system-ui, sans-serif; }
.wg-small { aspect-ratio: 1 / 1; }
.wg-medium { aspect-ratio: 338 / 158; }
.wg-large { aspect-ratio: 338 / 354; }
.wg-circular { aspect-ratio: 1 / 1; }
.wg-rectangular { aspect-ratio: 160 / 72; }
.wg-in {
  --u: calc(1cqw / var(--k));
  position: absolute; inset: 0; overflow: hidden;
  border-radius: calc(var(--u) * 14); padding: calc(var(--u) * 10);
  background: var(--wbg); color: var(--wfg); line-height: 1.15;
  display: flex; flex-direction: column;
  --moon: var(--wfg); --moon-dark: color-mix(in srgb, var(--wfg) 14%, transparent);
}
.wg-circular .wg-in, .wg-rectangular .wg-in { --wfg: #fff; --wac: rgba(255, 255, 255, .78); background: rgba(255, 255, 255, .16); color: #fff; }
.wg-circular .wg-in { border-radius: 50%; padding: 0; }
.wg-rectangular .wg-in { border-radius: calc(var(--u) * 11); padding: calc(var(--u) * 5) calc(var(--u) * 8); }
.wg-inline { width: auto; container-type: normal; }
.wg-inline .wg-in { position: static; padding: 0; background: none; color: #fff; border-radius: 0; display: inline; }
.inl { font-size: 15px; font-weight: 600; white-space: nowrap; }

.wg .col { display: flex; flex-direction: column; min-width: 0; }
.wg .row { display: flex; align-items: center; min-width: 0; }
.wg .fill { flex: 1; min-height: 0; }
.wg .sp { flex: 1; min-height: calc(var(--u) * 2); }
.wg .sp.sm { flex: 0 0 calc(var(--u) * 4); }
.wg .between { justify-content: space-between; }
.wg .gap { gap: calc(var(--u) * 8); }
.wg .center { align-items: center; text-align: center; }
.wg .mt { margin-top: calc(var(--u) * 4); }
.wg .right { justify-content: space-between; align-items: flex-end; padding-left: calc(var(--u) * 6); }
.wg .lbl { font-size: calc(var(--u) * 8.5); font-weight: 600; line-height: 1.15; }
.wg .ac { color: var(--wac); }
.wg .num { font-weight: 700; letter-spacing: -0.03em; line-height: .95; font-variant-numeric: tabular-nums; }
.wg .num small { font-size: .55em; font-weight: 600; letter-spacing: 0; }
.wg .xl { font-size: calc(var(--u) * 36); }
.wg .xxl { font-size: calc(var(--u) * 70); }
.wg .l { font-size: calc(var(--u) * 17); }
.wg .sub { font-size: calc(var(--u) * 7.5); opacity: .82; line-height: 1.25; }
.wg .sub.lg { font-size: calc(var(--u) * 10); }
.wg .mono-ish { font-size: calc(var(--u) * 10); font-weight: 600; font-variant-numeric: tabular-nums; }
.wg .cell { display: flex; flex-direction: column; align-items: flex-end; line-height: 1; }
.wg .cell b { font-size: calc(var(--u) * 14); font-variant-numeric: tabular-nums; }
.wg .cell span { font-size: calc(var(--u) * 6.5); opacity: .75; }
.wg .cell.sm { align-items: flex-start; }
.wg .cell.sm b { font-size: calc(var(--u) * 11); }
.wg .cells { gap: calc(var(--u) * 14); }
.wg .cells .cell { align-items: flex-start; }
.wg .cells .cell b { font-size: calc(var(--u) * 20); }
.wg .bar { height: calc(var(--u) * 6); border-radius: 99px; background: color-mix(in srgb, var(--wfg) 18%, transparent); overflow: hidden; }
.wg .bar i { display: block; height: 100%; background: var(--wac); border-radius: inherit; }
.wg .ring { width: 100%; }
.wg .ring-track { fill: none; stroke: color-mix(in srgb, var(--wfg) 18%, transparent); stroke-width: 10; }
.wg .ring-fill { fill: none; stroke: var(--wac); stroke-width: 10; stroke-linecap: round; }
.wg .ring-text { fill: currentColor; font-size: 22px; font-weight: 700; text-anchor: middle; dominant-baseline: central; }
.wg .ring-big { width: calc(var(--u) * 64); align-self: center; }
.wg .dots { display: flex; justify-content: space-between; gap: calc(var(--u) * 2); }
.wg .dot { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 2); }
.wg .dot b { width: calc(var(--u) * 10); height: calc(var(--u) * 10); border-radius: 50%; background: color-mix(in srgb, var(--wfg) 18%, transparent); }
.wg .dot.on b { background: var(--wac); }
.wg .dot.now b { box-shadow: inset 0 0 0 calc(var(--u) * 2) var(--wac); background: transparent; }
.wg .dot em { font-style: normal; font-size: calc(var(--u) * 5.5); opacity: .75; }
.wg-medium .dot b { width: calc(var(--u) * 16); height: calc(var(--u) * 16); }
.wg-medium .dot em { font-size: calc(var(--u) * 7); }
.wg .moon { flex: none; }
.wg .moon-m { width: calc(var(--u) * 60); }
.wg .moon-l { height: 100%; width: auto; aspect-ratio: 1; }
.wg .moon-xl { width: calc(var(--u) * 80); }
.wg .moon-s { width: calc(var(--u) * 22); }
.wg .moon-r { width: calc(var(--u) * 42); }
.wg .moon-lock { width: 78%; }
.wg .name { font-size: calc(var(--u) * 12); font-weight: 700; margin: calc(var(--u) * 2) 0; }
.wg .name.big { font-size: calc(var(--u) * 18); }
.wg .list { display: flex; flex-direction: column; }
.wg .li { display: flex; justify-content: space-between; align-items: center; gap: calc(var(--u) * 6); font-size: calc(var(--u) * 8); padding: calc(var(--u) * 3.5) 0; border-top: 1px solid color-mix(in srgb, var(--wfg) 16%, transparent); }
.wg .li:first-child { border-top: 0; }
.wg .li b { display: block; font-weight: 600; }
.wg .li em { display: block; font-style: normal; opacity: .72; font-size: calc(var(--u) * 6.5); }
.wg .li > span:last-child { white-space: nowrap; color: var(--wac); font-weight: 600; }
.wg .list.tight .li { font-size: calc(var(--u) * 9); padding: calc(var(--u) * 5) 0; }
.wg .list.tight .li b { font-size: calc(var(--u) * 12); }
.wg .list.big .li { font-size: calc(var(--u) * 10); padding: calc(var(--u) * 7) 0; }
.wg .list.big .li > span:last-child { color: var(--wfg); }
.wg .word { font-size: calc(var(--u) * var(--fs)); font-weight: 700; line-height: 1.05; overflow-wrap: anywhere; letter-spacing: -0.01em; }
.wg .mean { font-size: calc(var(--u) * 9); line-height: 1.3; }
.wg .mean.lg { font-size: calc(var(--u) * 12); }
.wg .quote { font-size: calc(var(--u) * var(--fs)); font-weight: 600; line-height: 1.22; letter-spacing: -0.005em; }
.wg .clamp2, .wg .clamp3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.wg .clamp2 { -webkit-line-clamp: 2; } .wg .clamp3 { -webkit-line-clamp: 3; }
.wg .cells3 { gap: calc(var(--u) * 8); align-items: stretch; }
.wg .clock { flex: 1; padding-left: calc(var(--u) * 6); border-left: 1px solid color-mix(in srgb, var(--wfg) 16%, transparent); }
.wg .clock:first-child { border-left: 0; padding-left: 0; }
.wg .clock.night .num { opacity: .7; }
.wg .arc-wrap { width: 46%; justify-content: center; }
.wg .arc-path { fill: none; stroke: color-mix(in srgb, var(--wfg) 45%, transparent); stroke-width: 1.5; stroke-dasharray: 3 3; }
.wg .arc-hor { stroke: color-mix(in srgb, var(--wfg) 30%, transparent); stroke-width: 1; }
.wg .arc-sun { fill: var(--wac); }
.wg .lock-c { position: relative; width: 100%; height: 100%; display: grid; place-items: center; }
.wg .lock-c > svg { position: absolute; inset: 6%; width: 88%; }
.wg .lock-c > .moon-lock { inset: 11%; width: 78%; }
.wg .lock-c-in { display: flex; flex-direction: column; align-items: center; line-height: 1; position: relative; }
.wg .lock-c-in b { font-size: calc(var(--u) * 20); font-weight: 700; font-variant-numeric: tabular-nums; }
.wg .lock-c-in span { font-size: calc(var(--u) * 8); opacity: .8; }
.wg .lock-c-in.over b { text-shadow: 0 0 calc(var(--u) * 4) rgba(0, 0, 0, .6); }
.wg .lock-r { height: 100%; justify-content: center; gap: calc(var(--u) * 1.5); }
.wg .lock-r .lbl { font-size: calc(var(--u) * 8.5); }
.wg .lock-r .num.l { font-size: calc(var(--u) * 15); }
.wg .lock-r .sub { font-size: calc(var(--u) * 7); }
.wg .lock-r .bar { height: calc(var(--u) * 4.5); margin: calc(var(--u) * 2) 0; }
.wg .lock-r .dot b { width: calc(var(--u) * 8); height: calc(var(--u) * 8); }
.wg .row.lock-r { flex-direction: row; justify-content: flex-start; gap: calc(var(--u) * 6); }
.wg .lock-r .q { font-size: calc(var(--u) * 7.5); opacity: 1; }

/* Конструктор: шрифты, раскладка, фото */
.wg.f-serif .wg-in { font-family: Georgia, 'Times New Roman', serif; }
.wg.f-serif .num, .wg.f-serif .word, .wg.f-serif .quote { letter-spacing: -0.01em; }
.wg.f-mono .wg-in { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace; }
.wg.f-mono .num { letter-spacing: -0.04em; }
.wg.lay-center .col { align-items: center; text-align: center; }
.wg.lay-center .row.between { justify-content: center; gap: calc(var(--u) * 6); }
.wg.lay-center .bar, .wg.lay-center .dots { width: 100%; }
.wg.has-photo .wg-in { background-color: var(--wbg); background-image: linear-gradient(rgba(0,0,0,var(--dim)), rgba(0,0,0,var(--dim))), var(--wimg); background-size: cover; background-position: center; }
.wg .ring-side { height: 100%; aspect-ratio: 1; flex: none; display: grid; place-items: center; }
.wg .ring-side .ring { height: 100%; width: auto; }

/* ===== Набор «Неоновый закат» ===== */
.wg-art { position: absolute; inset: 0; z-index: 0; pointer-events: none; border-radius: inherit; overflow: hidden; }
.wg-art > svg { width: 100%; height: 100%; display: block; }
.wg[class*="art-"] .wg-in > :not(.wg-art) { position: relative; z-index: 1; }
.wg .nn, .wg .ncl, .wg .nsun { font-family: 'Neon Condensed', 'Arial Narrow', 'Onest', sans-serif; font-style: italic; }
/* таймер */
.wg .nn { text-shadow: calc(var(--u) * .6) calc(var(--u) * 1.2) calc(var(--u) * 2.4) rgba(43, 15, 76, .85); }
.wg .nn-k { font-weight: 700; font-size: calc(var(--u) * 7); letter-spacing: .06em; opacity: .9; }
.wg .nn-l { font-weight: 900; font-size: calc(var(--u) * 13); line-height: 1; color: var(--wac); }
.wg .nn-row { display: flex; align-items: baseline; gap: calc(var(--u) * 3); line-height: .82; }
.wg .nn-d { font-weight: 900; font-size: calc(var(--u) * 34); font-variant-numeric: tabular-nums; }
.wg .nn-u { font-weight: 900; font-size: calc(var(--u) * 11); }
.wg .nn-hms { font-weight: 700; font-size: calc(var(--u) * 10); margin-top: calc(var(--u) * 2); font-variant-numeric: tabular-nums; }
.wg .nn-small .nn-l { font-size: calc(var(--u) * 11); }
.wg .nn-small .nn-d { font-size: calc(var(--u) * 40); }
.wg .nn-large .nn-l { font-size: calc(var(--u) * 18); }
.wg .nn-large .nn-d { font-size: calc(var(--u) * 64); }
.wg .nn-large .nn-u { font-size: calc(var(--u) * 16); }
.wg .nn-large .nn-hms { font-size: calc(var(--u) * 16); }
/* неоновые часы */
.wg.art-neon-sign .wg-in { background: radial-gradient(circle at 50% 120%, color-mix(in srgb, var(--wac) 35%, transparent), transparent 60%), linear-gradient(160deg, #241046, var(--wbg)); }
.wg .neon-frame { position: absolute; inset: calc(var(--u) * 7); border: calc(var(--u) * 1.3) solid color-mix(in srgb, var(--wac) 70%, #fff); border-radius: calc(var(--u) * 9);
  box-shadow: 0 0 calc(var(--u) * 4) var(--wac), 0 0 calc(var(--u) * 9) color-mix(in srgb, var(--wac) 70%, transparent), inset 0 0 calc(var(--u) * 5) color-mix(in srgb, var(--wac) 60%, transparent); }
.wg .ncl { justify-content: center; gap: calc(var(--u) * 2); }
.wg .ncl-g { font-family: 'Neon Script', 'Brush Script MT', cursive; font-style: normal; font-size: calc(var(--u) * 12.5); color: color-mix(in srgb, var(--wac) 30%, #fff);
  text-shadow: 0 0 calc(var(--u) * 2.5) var(--wac), 0 0 calc(var(--u) * 6) var(--wac); }
.wg .ncl-t { font-weight: 900; font-size: calc(var(--u) * 36); line-height: 1; color: var(--wfg); font-variant-numeric: tabular-nums;
  text-shadow: 0 0 calc(var(--u) * 2.5) #5cf2e0, 0 0 calc(var(--u) * 7.5) #5cf2e0, 0 0 calc(var(--u) * 16) rgba(92, 242, 224, .7); }
.wg .ncl-d { font-family: 'Onest', sans-serif; font-style: normal; font-weight: 600; font-size: calc(var(--u) * 6.8); letter-spacing: .14em; opacity: .9; color: color-mix(in srgb, var(--wac) 25%, #fff); }
.wg .ncl.m .ncl-g { font-size: calc(var(--u) * 15); }
.wg .ncl.m .ncl-t { font-size: calc(var(--u) * 52); }
.wg .ncl.m .ncl-d { font-size: calc(var(--u) * 8); }
.wg-medium.art-neon-sign .neon-frame { inset: calc(var(--u) * 8); }
/* солнце */
.wg.art-dusk .wg-in { background: linear-gradient(180deg, var(--wbg) 0%, #7a1e6b 52%, #e5306f 76%, #ff8a3d 100%); }
.wg .dusk-sky, .wg .dusk-ground { position: absolute; left: 0; right: 0; display: block; }
.wg .dusk-sky { inset: 0; background: radial-gradient(circle at 15% 85%, rgba(255, 226, 110, .35), transparent 40%); }
.wg .dusk-ground { bottom: 0; height: 19%; background: rgba(26, 9, 48, .6); border-top: 1px solid rgba(255, 255, 255, .6); }
.wg .sun-arc { position: absolute !important; left: 6%; right: 6%; bottom: 19%; height: 62%; width: 88%; z-index: 1; overflow: visible; }
.wg-medium .sun-arc { left: 52%; right: 4%; width: 44%; height: 70%; }
.wg .sa-path { fill: none; stroke: rgba(255, 255, 255, .6); stroke-width: 1.2; stroke-dasharray: 2.5 3; vector-effect: non-scaling-stroke; }
.wg .sa-hor { stroke: none; }
.wg .sa-sun { fill: var(--wac); filter: drop-shadow(0 0 3px var(--wac)); }
.wg .sa-sun.low { opacity: .6; }
.wg .nsun { z-index: 2 !important; text-shadow: 0 1px 3px rgba(43, 15, 76, .7); }
.wg .nsun-k { font-family: 'Onest', sans-serif; font-style: normal; font-weight: 600; font-size: calc(var(--u) * 7); letter-spacing: .14em; opacity: .92; }
.wg .nsun-t { font-weight: 900; font-size: calc(var(--u) * 26); line-height: 1; font-variant-numeric: tabular-nums; }
.wg .nsun-in { font-family: 'Onest', sans-serif; font-style: normal; font-weight: 500; font-size: calc(var(--u) * 7.5); }
.wg .nsun-o { font-family: 'Onest', sans-serif; font-style: normal; font-weight: 600; font-size: calc(var(--u) * 7); align-self: flex-end; }
.wg-medium .nsun-t { font-size: calc(var(--u) * 34); }
/* открытка */
.wg.wk-postcard .wg-in { padding: 0; background: #bfe9f2; }
.wg .pc-svg { width: 100%; height: 100%; display: block; }

/* ===== Новогодние фоны таймера «До Нового года» (theme.art = ny-…) ===== */
.wg .ny { font-variant-numeric: tabular-nums; }
.wg .ny-l { color: var(--wac); font-weight: 600; font-size: calc(var(--u) * 8.5); line-height: 1.1; }
.wg .ny-w { font-size: calc(var(--u) * 7.5); opacity: .85; margin-top: calc(var(--u) * 2); }
.wg .ny-d { font-weight: 700; font-size: calc(var(--u) * 32); line-height: .95; letter-spacing: -.02em; margin-top: calc(var(--u) * 3); }
.wg .ny-u { font-size: calc(var(--u) * 8.5); font-weight: 500; opacity: .92; }
.wg .ny-h { font-size: calc(var(--u) * 7.5); opacity: .85; letter-spacing: .04em; margin-top: calc(var(--u) * 2); }
.wg .ny-medium { width: 58%; }
.wg .ny-medium .ny-d { font-size: calc(var(--u) * 39); }
.wg .ny-large .ny-l { font-size: calc(var(--u) * 11); }
.wg .ny-large .ny-d { font-size: calc(var(--u) * 68); }
.wg .ny-large .ny-u { font-size: calc(var(--u) * 11.5); }
.wg .ny-cells { display: flex; gap: calc(var(--u) * 4); width: 64%; }
.wg .ny-cells div { flex: 1; display: flex; flex-direction: column; border-radius: calc(var(--u) * 7.5); padding: calc(var(--u) * 4.5) calc(var(--u) * 5); background: var(--nycell, rgba(255, 255, 255, .14)); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.wg .ny-cells b { font-size: calc(var(--u) * 14); line-height: 1.05; }
.wg .ny-cells span { font-size: calc(var(--u) * 7); opacity: .85; }
/* шрифты и подложки по фонам */
.wg.art-ny-evergreen .ny-l, .wg.art-ny-evergreen .ny-d, .wg.art-ny-evergreen .ny-cells b { font-family: 'Unbounded', 'Onest', sans-serif; font-weight: 800; }
.wg.art-ny-evergreen .ny-l { font-size: calc(var(--u) * 6.8); }
.wg.art-ny-evergreen .ny-large .ny-l { font-size: calc(var(--u) * 8.8); }
.wg.art-ny-evergreen .ny-d { letter-spacing: -.04em; }
.wg.art-ny-midcentury .ny, .wg.art-ny-gzhel .ny { font-family: 'Neon Condensed', 'Arial Narrow', 'Onest', sans-serif; font-style: italic; }
.wg.art-ny-midcentury .ny-l, .wg.art-ny-gzhel .ny-l, .wg.art-ny-midcentury .ny-d, .wg.art-ny-gzhel .ny-d, .wg.art-ny-midcentury .ny-cells b, .wg.art-ny-gzhel .ny-cells b { font-weight: 900; }
.wg.art-ny-midcentury .ny-l, .wg.art-ny-gzhel .ny-l { font-size: calc(var(--u) * 10.5); }
.wg.art-ny-midcentury .ny-large .ny-l, .wg.art-ny-gzhel .ny-large .ny-l { font-size: calc(var(--u) * 13.5); }
.wg.art-ny-midcentury { --nycell: rgba(31, 42, 68, .08); }
.wg.art-ny-gzhel { --nycell: rgba(29, 79, 163, .08); }
.wg.art-ny-pink .ny-l { font-family: 'Neon Script', cursive; font-weight: 400; font-size: calc(var(--u) * 11.5); }
.wg.art-ny-pink .ny-large .ny-l { font-size: calc(var(--u) * 15); }
.wg.art-ny-pink { --nycell: rgba(255, 255, 255, .45); }
.wg-small.art-ny-midcentury .ny-l, .wg-small.art-ny-gzhel .ny-l { font-size: calc(var(--u) * 9); }
.wg-small.art-ny-pink .ny-l { font-size: calc(var(--u) * 10); }

/* выбор фона на странице виджета и экрана */
.looks { display: grid; gap: 10px; margin: 18px 0 6px; }
.looks > span { font-size: 13px; opacity: .8; }
.looks-row { display: flex; flex-wrap: wrap; gap: 10px; }
.look { display: flex; flex-direction: column; align-items: center; gap: 6px; width: 76px; padding: 6px; border-radius: 14px; border: 2px solid transparent; background: rgba(255, 255, 255, .06); color: inherit; font: 500 12px/1.2 'Onest', sans-serif; cursor: pointer; text-align: center; }
.look[aria-pressed="true"] { border-color: currentColor; }
.look:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.look .look-w { width: 60px; }
.look .look-sw { width: 60px; height: 60px; border-radius: 13px; background-size: cover; background-position: center; }

/* «До пятницы» — неоновый бокал (theme.art = neon-glass) */
.wg .ng { font-family: 'Unbounded', 'Onest', sans-serif; }
.wg .ng-k { font-weight: 800; font-size: calc(var(--u) * 6.5); letter-spacing: .06em; color: #ff6ab5; text-shadow: 0 0 calc(var(--u) * 3) #ff4fa3, 0 0 calc(var(--u) * 7) #ff4fa3; line-height: 1.15; }
.wg .ng-n { font-weight: 800; color: #4ff0ff; text-shadow: 0 0 calc(var(--u) * 5) #22c8e0; line-height: 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wg .ng-s { font-family: 'Onest', sans-serif; font-size: calc(var(--u) * 7); color: #b9aedd; margin-top: calc(var(--u) * 2); }
.wg .ng-f { font-family: 'Onest', sans-serif; font-weight: 600; font-size: calc(var(--u) * 7.5); color: #ffe45c; margin-top: calc(var(--u) * 5); line-height: 1.2; }
.wg .ng-small { justify-content: space-between; }
.wg .ng-small .ng-glass { width: calc(var(--u) * 40); height: calc(var(--u) * 42); }
.wg .ng-small .ng-n { font-size: calc(var(--u) * 14); }
.wg .ng-medium { gap: calc(var(--u) * 10); }
.wg .ng-medium .ng-glass { flex: 0 0 auto; width: calc(var(--u) * 62); height: calc(var(--u) * 66); }
.wg .ng-medium .ng-txt { flex: 1; min-width: 0; gap: calc(var(--u) * 2); }
.wg .ng-medium .ng-n { font-size: calc(var(--u) * 21); }

/* ===== Набор «Золотой час» ===== */
.wg.art-golden .wg-in { background: #fbeef5; color: #3a2a4a; }
.wg .gd { --gmut: #6b5878; }
.wg .g-k { display: flex; align-items: center; gap: calc(var(--u) * 2.5); font-size: calc(var(--u) * 6.8); font-weight: 700; letter-spacing: .1em; color: var(--gmut); }
.wg .g-spk { width: calc(var(--u) * 6.5); height: calc(var(--u) * 6.5); fill: var(--wac); flex: none; }
.wg .g-in { font-size: calc(var(--u) * 8); color: var(--gmut); }
.wg .g-big { font-family: 'Unbounded', 'Onest', sans-serif; font-weight: 800; font-size: calc(var(--u) * var(--fs)); line-height: 1.05; letter-spacing: -0.01em; white-space: nowrap; }
.wg .g-r { font-size: calc(var(--u) * 7.2); color: var(--gmut); }
.wg .g-r b { color: var(--wfg); font-weight: 700; }
.wg .g-arc-w { width: 36%; display: flex; align-items: center; padding-left: calc(var(--u) * 4); }
.wg .g-arc { width: 100%; overflow: visible; }
.wg .g-arc-p { fill: none; stroke: #b69bc4; stroke-width: 1.6; stroke-dasharray: 3 4.5; }
.wg .g-arc-h { stroke: var(--gmut); stroke-width: 2; stroke-linecap: round; }
.wg .g-sun-glow { fill: #ffd9a0; opacity: .6; }
.wg .g-sun { fill: #f59b4c; }
.wg .g-st { align-items: flex-end; gap: calc(var(--u) * 4); }
.wg .g-n { font-family: 'Unbounded', 'Onest', sans-serif; font-weight: 800; font-size: calc(var(--u) * 38); line-height: .9; color: var(--wac); font-variant-numeric: tabular-nums; }
.wg-medium .g-n { font-size: calc(var(--u) * 44); }
.wg .g-u { font-size: calc(var(--u) * 8); line-height: 1.2; color: var(--gmut); padding-bottom: calc(var(--u) * 1); }
.wg .g-hearts { display: flex; gap: calc(var(--u) * 2); }
.wg .g-heart { width: calc(var(--u) * 9.5); height: calc(var(--u) * 9.5); flex: none; }
.wg-medium .g-heart { width: calc(var(--u) * 17); height: calc(var(--u) * 17); }
.wg .g-heart .on { fill: #e8618c; }
.wg .g-heart .off { fill: #e8618c; opacity: .25; }
.wg .g-hand { font-family: 'Hand', 'Segoe Print', cursive; font-weight: 700; font-size: calc(var(--u) * var(--fs, 18)); line-height: 1.05; color: var(--wfg); }
.wg .g-polwrap { justify-content: center; }
.wg .g-pol { background: #fff; padding: calc(var(--u) * 5) calc(var(--u) * 5) 0; transform: rotate(-4deg); box-shadow: 0 calc(var(--u) * 3) calc(var(--u) * 7) rgba(58, 42, 74, .2);
  display: flex; flex-direction: column; box-sizing: border-box; flex: none; width: calc(var(--u) * 57.6); height: calc(var(--u) * 68); }
.wg-large .g-pol { width: calc(var(--u) * 136); height: calc(var(--u) * 160); }
.wg .g-ph { flex: 1; background: linear-gradient(160deg, #ffc9a8, #f29bb8 60%, #b69be0) center / cover no-repeat; display: grid; place-items: center; font-size: calc(var(--u) * 7); font-weight: 600; color: #fff; }
.wg .g-ph:not(.g-ph0) { background-size: cover; }
.wg .g-cap { font-family: 'Hand', 'Segoe Print', cursive; font-weight: 700; font-size: calc(var(--u) * 12); text-align: center; line-height: 1.5; color: #3a2a4a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wg-large .g-cap { font-size: calc(var(--u) * 16); }
.wg .g-polrow { gap: calc(var(--u) * 8); align-items: stretch; }
.wg .g-polrow .g-pol { width: calc(var(--u) * 68); height: calc(var(--u) * 80); }
.wg .g-polside .g-hand { --fs: 22; }
.wg .g-lsun { width: calc(var(--u) * 16); height: calc(var(--u) * 16); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.wg .g-lsun circle { fill: currentColor; stroke: none; }
.wg .g-lheart { width: calc(var(--u) * 13); height: calc(var(--u) * 13); fill: currentColor; }
.wg .lock-c-in .g-lsun + b { font-size: calc(var(--u) * 15); }
.wg .g-u { white-space: nowrap; }
.wg-small .g-n { font-size: calc(var(--u) * 32); }
.wg-small .g-k { letter-spacing: .05em; white-space: nowrap; }
.wg .g-ph { min-height: 0; }
.wg .g-cap { flex: none; height: calc(var(--u) * 17); line-height: calc(var(--u) * 17); }
.wg-large .g-cap { height: calc(var(--u) * 24); line-height: calc(var(--u) * 24); }

/* ---------- Набор «Другая сторона»: виджеты рисует сам скрипт Scriptable (тип scripted) ---------- */
.wk-scripted .wg-in.sx { padding: 0; background: var(--wbg); }
.wk-scripted .sx-poster, .wk-scripted .sx-cv { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.wk-scripted .sx-cv { opacity: 0; }
.wk-scripted .sx-cv.on { opacity: 1; }

/* Набор «Цитаты и аффирмации»: карточка-картинка на «Домой», текст на блокировке */
.wg-small.wk-card .wg-in, .wg-medium.wk-card .wg-in { padding: 0; }
.wk-card .card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; }
.wk-card .card-r .q { font-weight: 600; }

/* ---------- Набор «Праздники»: виджеты-скрипты на экране блокировки (текст рисует эмулятор, фон — как у остальных виджетов блокировки) ---------- */
.wg-circular.wk-scripted .wg-in.sx, .wg-rectangular.wk-scripted .wg-in.sx { background: rgba(255, 255, 255, .16); }
.wg-circular.wk-scripted .wg-in.sx { border-radius: 50%; }
.wg-rectangular.wk-scripted .wg-in.sx { border-radius: calc(var(--u) * 11); }
.wg-inline.wk-scripted .wg-in.sx { position: static; display: inline-block; background: none; overflow: visible; vertical-align: middle; }
.wg-inline.wk-scripted .sx-cv { position: static; display: block; width: auto; height: 20px; opacity: 1; }
