/* Universal Orlando Christmas 2026, card 857.
   An advent calendar. Cream doors in a midnight blue cabinet, one per day of the season, each
   with a three bulb light string for the three parks. Grinch green, Macy's red and a little gold.
   Every object carries real data: the doors, the light strands, the gift tags, the evening
   ribbon and the tour stub. Dark mode turns the cream paper into a winter night. */

.uox {
    --paper: #f5f1e8;
    --paper2: #ebe4d4;
    --card: #fffcf5;
    --ink: #17203a;
    --ink2: #4a5068;
    --navy: #16224a;
    --navy2: #22336a;
    --red: #b8122f;
    --green: #4f7d16;
    --gold: #c9962e;
    --gold2: #f0d189;
    --rule: color-mix(in srgb, var(--ink) 20%, transparent);
    --t-quiet: #cfe6c4;
    --t-moderate: #f4e3a3;
    --t-busy: #f5c29b;
    --t-packed: #eb9ca8;
    --t-ink: #17203a;
    --b-quiet: #6fbf3f;
    --b-moderate: #f2c230;
    --b-busy: #f08a2c;
    --b-packed: #e0304e;
    --b-off: #c9c4b8;
    --radius: 14px;
    --display: var(--font-display, "Bricolage Grotesque", system-ui, sans-serif);
    --body: var(--font-text, "Hanken Grotesk", system-ui, sans-serif);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--body);
    font-size: 17px;
    line-height: 1.55;
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .uox {
        --paper: #0c1228; --paper2: #090e20; --card: #141d3d; --ink: #f1ecdf; --ink2: #c0bccf;
        --red: #ff8396; --green: #a9d66e; --gold: #f0d189; --gold2: #7d5f1d;
        --t-quiet: #22442a; --t-moderate: #4b411b; --t-busy: #573623; --t-packed: #5a2232; --t-ink: #f1ecdf;
        --b-off: #3c4566;
    }
}
:root[data-theme="dark"] .uox {
    --paper: #0c1228; --paper2: #090e20; --card: #141d3d; --ink: #f1ecdf; --ink2: #c0bccf;
    --red: #ff8396; --green: #a9d66e; --gold: #f0d189; --gold2: #7d5f1d;
    --t-quiet: #22442a; --t-moderate: #4b411b; --t-busy: #573623; --t-packed: #5a2232; --t-ink: #f1ecdf;
    --b-off: #3c4566;
}

.uox *, .uox *::before, .uox *::after { box-sizing: border-box; }
.uox .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.uox-wrap { max-width: 1160px; margin-inline: auto; padding-inline: 16px; }
.uox h1, .uox h2, .uox h3 { font-family: var(--display); letter-spacing: -.02em; }
.uox h3 { line-height: 1.15; }
.uox :where(a) { color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.uox :where(a):focus-visible, .uox button:focus-visible, .uox summary:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 6px var(--gold2); border-radius: 8px; }

/* Hero */
.uox-hero { padding: 44px 0 18px; border-bottom: 6px double var(--gold); }
.uox-hero-in { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: 36px; align-items: center; }
.uox-kick { display: inline-block; margin: 0; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--red); border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; padding: 4px 0; }
.uox h1 { font-size: clamp(38px, 6vw, 78px); line-height: .95; margin: 16px 0 18px; color: var(--navy); font-weight: 800; }
:root[data-theme="dark"] .uox h1 { color: var(--ink); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .uox h1 { color: var(--ink); } }
.uox h1 span { display: block; color: var(--green); font-size: .4em; letter-spacing: -.01em; margin-top: 12px; line-height: 1.15; font-weight: 700; }
.uox-answer { margin: 0; font-size: 18.5px; max-width: 660px; background: var(--card); border: 2px solid var(--ink); border-left: 10px solid var(--red); border-radius: 6px var(--radius) var(--radius) 6px; padding: 18px 20px; }
.uox-by { margin: 16px 0 0; font-size: 14.5px; color: var(--ink2); }

/* The advent box, wrapped in a red ribbon */
.uox-box { background: #16224a; color: #f5f1e8; border-radius: 16px; padding: 20px 22px 0; position: relative; box-shadow: 0 0 0 4px var(--paper), 0 0 0 6px var(--gold); overflow: hidden; }
.uox-box::before { content: ""; position: absolute; top: 0; bottom: 0; right: 34px; width: 16px; background: #b8122f; box-shadow: 0 0 0 2px #f0d189; }
.uox-box > * { position: relative; }
.uox-box-lid { display: flex; flex-direction: column; border-bottom: 2px dashed rgba(245,241,232,.45); padding-bottom: 12px; padding-right: 48px; }
.uox-box-lid small { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: #f0d189; font-weight: 700; }
.uox-box-lid b { font-family: var(--display); font-size: 29px; line-height: 1.05; }
.uox-box dl { margin: 12px 0; display: grid; gap: 2px; padding-right: 48px; }
.uox-box dl div { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dotted rgba(245,241,232,.35); padding: 7px 0; }
.uox-box dt { font-size: 14.5px; color: #d6d2e2; }
.uox-box dd { margin: 0; font-family: var(--display); font-weight: 800; font-size: 20px; font-variant-numeric: tabular-nums; }
.uox-box-ribbon { display: flex; align-items: center; gap: 10px; margin: 0 -22px; padding: 14px 22px; background: #4f7d16; font-weight: 800; font-family: var(--display); }
.uox-box-ribbon i { flex: 1; height: 0; border-top: 3px dotted #f5f1e8; }

.uox-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px; padding-bottom: 8px; }
.uox-tabs a { color: var(--ink); text-decoration: none; font-weight: 700; font-size: 14.5px; padding: 7px 13px; border: 2px solid var(--ink); border-radius: 6px; background: var(--card); }
.uox-tabs a:hover { background: var(--navy); color: #f5f1e8; border-color: var(--navy); }

/* Sections */
.uox-sec { padding: 60px 0; }
.uox-alt { background: var(--paper2); }
.uox h2 { font-size: clamp(29px, 4vw, 44px); color: var(--navy); margin: 0 0 10px; line-height: 1.06; font-weight: 800; max-width: 920px; }
:root[data-theme="dark"] .uox h2 { color: var(--ink); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .uox h2 { color: var(--ink); } }
.uox-lede { max-width: 760px; margin: 0 0 24px; font-size: 18px; color: var(--ink2); }
.uox-src { font-size: 15px; color: var(--ink2); max-width: 900px; margin: 18px 0 0; }

/* Legend */
.uox-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 0; margin: 0 0 16px; font-size: 14px; font-weight: 600; }
.uox-legend li { display: inline-flex; align-items: center; gap: 7px; }
.uox-legend li::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid var(--ink); }
.uox-legend .quiet::before { background: var(--b-quiet); }
.uox-legend .moderate::before { background: var(--b-moderate); }
.uox-legend .busy::before { background: var(--b-busy); }
.uox-legend .packed::before { background: var(--b-packed); }

/* Detail panel */
.uox-detail { position: relative; background: var(--card); border: 2px solid var(--ink); border-radius: var(--radius); padding: 16px 52px 16px 20px; margin-bottom: 18px; }
.uox-detail small { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--red); }
.uox-detail h3 { margin: 2px 0 4px; font-size: 22px; color: var(--ink); }
.uox-detail-pick { margin: 0 0 10px; font-weight: 700; color: var(--green); }
.uox-detail dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 18px; margin: 0 0 8px; }
.uox-detail dt { font-size: 13.5px; color: var(--ink2); font-weight: 600; }
.uox-detail dd { margin: 0; font-weight: 700; }
.uox-detail p { margin: 0; color: var(--ink2); }
.uox-detail p:empty { display: none; }
.uox-detail.is-empty dl, .uox-detail.is-empty .uox-detail-x { display: none; }
.uox-detail-x { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); font-size: 22px; line-height: 1; cursor: pointer; }

/* The advent cabinet */
.uox-board { background: #16224a; border-radius: 18px; padding: 14px; box-shadow: 0 0 0 3px var(--gold), 0 14px 30px -18px rgba(10,16,40,.6); }
.uox-dow, .uox-doors { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.uox-dow { margin-bottom: 8px; }
.uox-dow span { text-align: center; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #f0d189; }
.uox-wrapper { border-radius: 8px; min-height: 84px; background: repeating-linear-gradient(135deg, rgba(240,209,137,.12) 0 6px, transparent 6px 14px); }
.uox-door { appearance: none; font: inherit; color: var(--t-ink); cursor: pointer; position: relative; min-height: 84px; padding: 0; border: 0; border-radius: 8px; background: #fffcf5; box-shadow: inset 0 0 0 2px rgba(23,32,58,.18); overflow: hidden; text-align: center; }
.uox-door.quiet { background: #e4f1dc; }
.uox-door.moderate { background: #f8edc4; }
.uox-door.busy { background: #f8d8bd; }
.uox-door.packed { background: #f4c1c9; }
.uox-door.is-xmas { box-shadow: inset 0 0 0 3px #b8122f; }
/* The light string, one bulb per park */
.uox-bulbs { position: absolute; left: 0; right: 0; top: 7px; display: flex; justify-content: center; gap: 7px; }
.uox-bulbs::before { content: ""; position: absolute; left: 12%; right: 12%; top: 1px; height: 6px; border-bottom: 1.5px solid rgba(23,32,58,.45); border-radius: 0 0 50% 50%; }
.uox-bulbs i { position: relative; width: 9px; height: 12px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; background: var(--b-off); border-top: 3px solid #5d6273; }
.uox-bulbs i.quiet { background: var(--b-quiet); }
.uox-bulbs i.moderate { background: var(--b-moderate); }
.uox-bulbs i.busy { background: var(--b-busy); }
.uox-bulbs i.packed { background: var(--b-packed); }
.uox-face, .uox-in { position: absolute; inset: 24px 4px 6px; display: grid; place-content: center; justify-items: center; }
.uox-face small { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #b8122f; line-height: 1; }
.uox-face b { font-family: var(--display); font-size: 27px; line-height: 1; font-weight: 800; color: #17203a; font-variant-numeric: tabular-nums; }
.uox-in { inset: 22px 3px 3px; border-radius: 6px; background: #b8122f; color: #fffcf5; font-family: var(--display); font-weight: 800; font-size: 15px; opacity: 0; }
.uox-door[aria-pressed="true"] { box-shadow: inset 0 0 0 3px #17203a, 0 0 0 3px #f0d189; }
.uox-door[aria-pressed="true"] .uox-face { opacity: 0; }
.uox-door[aria-pressed="true"] .uox-in { opacity: 1; }
.uox-door.is-past { opacity: .5; }
.uox-door.is-today { box-shadow: inset 0 0 0 3px #c9962e; }
.uox-door:hover { box-shadow: inset 0 0 0 3px rgba(23,32,58,.55); }
@media (prefers-reduced-motion: no-preference) {
    .uox-face, .uox-in { transition: opacity .2s ease; }
}

/* Best and worst days */
.uox-sheets { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.uox-sheet { background: var(--card); border: 2px solid var(--ink); border-radius: var(--radius); padding: 16px 18px; }
.uox-sheet h3 { margin: 0 0 10px; font-size: 21px; color: var(--green); }
.uox-sheet.is-skip h3 { color: var(--red); }
.uox-sheet ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.uox-sheet li { display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: center; }
.uox-sheet li small { grid-column: 2; color: var(--ink2); font-size: 14px; }
.uox-dot { grid-row: span 2; width: 40px; height: 40px; border-radius: 50%; display: grid; place-content: center; font-family: var(--display); font-weight: 800; border: 2px solid var(--ink); color: var(--t-ink); background: var(--paper); }
.uox-sheet .quiet .uox-dot { background: var(--t-quiet); }
.uox-sheet .moderate .uox-dot { background: var(--t-moderate); }
.uox-sheet .busy .uox-dot { background: var(--t-busy); }
.uox-sheet .packed .uox-dot { background: var(--t-packed); }

/* Light strands, one per park, one bulb per week */
.uox-strands { display: grid; gap: 14px; }
.uox-strand { margin: 0; background: var(--card); border: 2px solid var(--ink); border-radius: var(--radius); padding: 14px 18px 12px; }
.uox-strand figcaption { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: baseline; margin-bottom: 4px; }
.uox-strand figcaption b { font-family: var(--display); font-size: 19px; }
.uox-strand figcaption span { font-size: 14px; color: var(--ink2); font-weight: 600; }
.uox-strand ol { list-style: none; margin: 0; padding: 18px 0 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; position: relative; }
.uox-strand ol::before { content: ""; position: absolute; left: 2%; right: 2%; top: 4px; height: 16px; border-bottom: 2px solid var(--ink2); border-radius: 0 0 40% 40%; opacity: .6; }
.uox-strand li { display: grid; justify-items: center; gap: 4px; position: relative; }
.uox-bulb { width: 50px; height: 60px; border-radius: 50% 50% 50% 50% / 58% 58% 42% 42%; display: grid; place-content: center; background: var(--b-off); border: 2px solid rgba(23,32,58,.35); position: relative; }
.uox-bulb::before { content: ""; position: absolute; top: -9px; left: 50%; width: 18px; height: 11px; margin-left: -9px; background: #5d6273; border-radius: 3px 3px 1px 1px; }
.uox-bulb b { font-family: var(--display); font-weight: 800; font-size: 16px; color: #17203a; font-variant-numeric: tabular-nums; }
.uox-strand li.quiet .uox-bulb { background: var(--b-quiet); box-shadow: 0 0 18px -2px var(--b-quiet); }
.uox-strand li.moderate .uox-bulb { background: var(--b-moderate); box-shadow: 0 0 18px -2px var(--b-moderate); }
.uox-strand li.busy .uox-bulb { background: var(--b-busy); box-shadow: 0 0 18px -2px var(--b-busy); }
.uox-strand li.packed .uox-bulb { background: var(--b-packed); box-shadow: 0 0 18px -2px var(--b-packed); }
.uox-strand li.is-pick .uox-bulb { outline: 3px solid var(--ink); outline-offset: 3px; }
.uox-strand li small { font-size: 12px; color: var(--ink2); font-weight: 700; white-space: nowrap; }
.uox-weeks { list-style: none; padding: 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.uox-weeks li { background: var(--card); border: 1.5px solid var(--rule); border-radius: 10px; padding: 10px 12px; display: grid; gap: 2px; }
.uox-weeks li b { font-size: 15px; }
.uox-weeks li span { font-size: 13.5px; color: var(--ink2); }
.uox-weeks li small { font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
.uox-weeks li small.is-busy { color: var(--red); }
.uox-weeks li.is-calm { border-color: var(--green); border-width: 2.5px; }
.uox-weeks li.is-busy { border-color: var(--red); border-width: 2.5px; }

/* Gift tags, one per park */
.uox-tags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.uox-tag { position: relative; background: var(--card); border: 2px solid var(--ink); border-radius: 10px 10px var(--radius) var(--radius); padding: 0 0 14px; margin-top: 20px; }
/* The string and eyelet */
.uox-tag::before { content: ""; position: absolute; top: -21px; left: 50%; width: 2px; height: 26px; background: var(--gold); }
.uox-tag::after { content: ""; position: absolute; top: 8px; left: 50%; width: 16px; height: 16px; margin-left: -7px; border-radius: 50%; background: var(--paper); border: 3px solid var(--gold); z-index: 1; }
.uox-tag-photo { margin: 0; position: relative; }
.uox-tag-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 8px 8px 0 0; }
.uox-tag-photo figcaption { position: absolute; right: 6px; bottom: 6px; font-size: 11px; background: rgba(12,18,40,.72); color: #f5f1e8; padding: 2px 7px; border-radius: 4px; }
.uox-tag-photo figcaption a { color: inherit; }
.uox-tag h3 { margin: 12px 16px 6px; font-size: 22px; }
.uox-tag.is-usf h3 { color: var(--red); }
.uox-tag.is-ioa h3 { color: var(--green); }
.uox-tag.is-epic h3 { color: var(--navy2); }
:root[data-theme="dark"] .uox-tag.is-epic h3 { color: #b4c4ff; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .uox-tag.is-epic h3 { color: #b4c4ff; } }
.uox-tag ul { list-style: none; margin: 0; padding: 0 16px; display: grid; gap: 10px; }
.uox-tag li { display: grid; gap: 1px; border-top: 1px dashed var(--rule); padding-top: 9px; }
.uox-tag li b { line-height: 1.25; }
.uox-tag li small { font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink2); }
.uox-tag li span { font-size: 15px; color: var(--ink2); }
.uox-also { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.uox-also div { display: grid; gap: 2px; border-left: 4px solid var(--gold); padding: 4px 0 4px 14px; }
.uox-also b { font-family: var(--display); font-size: 18px; }
.uox-also span { font-size: 15px; color: var(--ink2); }

/* The evening, a night section */
.uox-night { background: #0c1228; color: #f1ecdf; --ink: #f1ecdf; --ink2: #c0bccf; --card: #141d3d; --red: #ff8396; --green: #a9d66e; --rule: rgba(241,236,223,.2); }
.uox-night h2 { color: #f1ecdf; }
.uox-ribbon { --lab: 240px; position: relative; background: linear-gradient(90deg, #141d3d, #141d3d); border: 1.5px solid rgba(240,209,137,.5); border-radius: var(--radius); padding: 42px 18px 14px; }
.uox-hours { position: absolute; left: calc(18px + var(--lab)); right: 18px; top: 12px; height: 20px; }
.uox-hours span { position: absolute; font-size: 12px; font-weight: 700; color: #c0bccf; transform: translateX(-50%); white-space: nowrap; }
.uox-hours span:nth-child(1) { left: 0; transform: none; }
.uox-hours span:nth-child(2) { left: 25%; }
.uox-hours span:nth-child(3) { left: 50%; }
.uox-hours span:nth-child(4) { left: 75%; }
.uox-hours span:nth-child(5) { left: 100%; transform: translateX(-100%); }
.uox-dusk { position: absolute; top: 34px; bottom: 10px; left: calc(18px + var(--lab) + (100% - 36px - var(--lab)) * var(--a) / 100); width: max(4px, calc((100% - 36px - var(--lab)) * (var(--b) - var(--a)) / 100)); background: linear-gradient(180deg, rgba(240,138,44,.55), rgba(240,138,44,.15)); border-left: 2px solid #f08a2c; }
.uox-dusk b { position: absolute; top: -2px; left: 6px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #f5c29b; }
.uox-eve { display: grid; grid-template-columns: var(--lab) 1fr; align-items: center; padding: 10px 0; border-top: 1px solid rgba(241,236,223,.15); }
.uox-eve-l b { display: block; font-weight: 700; line-height: 1.2; }
.uox-eve-l small { display: block; font-size: 13.5px; color: #c0bccf; }
.uox-eve-track { position: relative; height: 22px; }
/* From sunset to close is the dark, lit part of the evening */
.uox-eve-track::before { content: ""; position: absolute; left: 0; right: 0; top: 10px; height: 2px; background: rgba(241,236,223,.18); }
.uox-eve-track i { position: absolute; top: 4px; height: 14px; left: var(--a); width: max(14px, calc(var(--b) - var(--a))); background: #f0d189; border-radius: 7px; }
.uox-eve-track u { position: absolute; top: 0; left: var(--u); width: 4px; height: 22px; margin-left: -2px; background: #fffcf5; border-radius: 2px; }
.uox-eve.is-usf .uox-eve-track i { background: #ff8396; }
.uox-eve.is-ioa .uox-eve-track i { background: #a9d66e; }
.uox-eve.is-epic .uox-eve-track i { background: #b4c4ff; }
.uox-facts { list-style: none; padding: 0; margin: 22px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; gap: 14px; }
.uox-facts li { display: grid; gap: 2px; border-top: 2px solid rgba(240,209,137,.5); padding-top: 10px; }
.uox-facts b { font-family: var(--display); font-size: 24px; color: #f0d189; line-height: 1.05; }
.uox-facts span { font-size: 15px; color: #c0bccf; }

/* The tour stub */
.uox-stub { display: grid; grid-template-columns: minmax(0, 1fr) 260px; background: var(--card); border: 2px solid var(--ink); border-radius: var(--radius); overflow: hidden; max-width: 900px; }
.uox-stub-main { padding: 20px 22px; border-right: 3px dashed var(--rule); position: relative; }
.uox-stub-main small { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--red); }
.uox-stub-main > b { display: block; font-family: var(--display); font-size: clamp(26px, 3.4vw, 36px); line-height: 1.05; margin: 4px 0 10px; color: var(--green); }
.uox-stub-main ul { margin: 0; padding-left: 20px; }
.uox-stub-main li { margin: 4px 0; }
.uox-stub-side { background: #16224a; color: #f5f1e8; display: grid; align-content: center; gap: 10px; padding: 18px 20px; }
.uox-stub-side div { display: grid; border-bottom: 1px dotted rgba(245,241,232,.35); padding-bottom: 8px; }
.uox-stub-side div:last-child { border-bottom: 0; }
.uox-stub-side small { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #f0d189; font-weight: 700; }
.uox-stub-side b { font-family: var(--display); font-size: 21px; }

/* FAQ */
.uox-faq { display: grid; gap: 10px; max-width: 900px; }
.uox-faq details { background: var(--card); border: 2px solid var(--ink); border-radius: 10px; padding: 4px 18px; }
.uox-faq summary { cursor: pointer; list-style: none; padding: 10px 0; }
.uox-faq summary::-webkit-details-marker { display: none; }
.uox-faq summary h3 { display: inline; margin: 0; font-size: 18.5px; }
.uox-faq summary::after { content: "+"; float: right; font-weight: 800; font-size: 22px; line-height: 1; color: var(--red); }
.uox-faq details[open] summary::after { content: "\2212"; }
.uox-faq p { margin: 0 0 14px; }

/* Plan links */
.uox-plan { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.uox-plan a { display: grid; gap: 2px; padding: 14px 16px; background: var(--card); border: 2px solid var(--ink); border-radius: 10px; text-decoration: none; color: var(--ink); }
.uox-plan a b { color: var(--navy); line-height: 1.2; }
:root[data-theme="dark"] .uox-plan a b { color: var(--gold); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .uox-plan a b { color: var(--gold); } }
.uox-plan a span { font-size: 14px; color: var(--ink2); }
.uox-plan a:hover { border-color: var(--red); }

@media (min-width: 721px) {
    .uox-door, .uox-wrapper { min-height: 100px; }
    .uox-bulbs { top: 9px; gap: 12px; }
    .uox-bulbs i { width: 14px; height: 19px; border-top-width: 4px; }
    .uox-bulbs::before { top: 2px; height: 8px; }
    .uox-face, .uox-in { inset: 34px 6px 8px; }
    .uox-face b { font-size: 32px; }
    .uox-in { font-size: 19px; }
}
@media (max-width: 960px) {
    .uox-hero-in { grid-template-columns: 1fr; }
    .uox-box { max-width: 420px; }
    .uox-tags { grid-template-columns: 1fr 1fr; }
    .uox-weeks, .uox-plan { grid-template-columns: 1fr 1fr; }
    .uox-ribbon { --lab: 190px; }
}
@media (max-width: 720px) {
    .uox { font-size: 16.5px; }
    .uox-sec { padding: 44px 0; }
    .uox-detail dl { grid-template-columns: 1fr; }
    .uox-board { padding: 8px; border-radius: 14px; }
    .uox-dow, .uox-doors { gap: 4px; }
    .uox-dow span { font-size: 10.5px; letter-spacing: .02em; }
    .uox-wrapper, .uox-door { min-height: 64px; border-radius: 6px; }
    .uox-bulbs { top: 6px; gap: 3px; }
    .uox-bulbs i { width: 7px; height: 10px; border-top-width: 2px; }
    .uox-face, .uox-in { inset: 19px 2px 4px; }
    .uox-face b { font-size: 20px; }
    .uox-face small { font-size: 9.5px; letter-spacing: .02em; }
    .uox-in { font-size: 11.5px; inset: 18px 2px 2px; }
    .uox-sheets, .uox-tags, .uox-also, .uox-facts { grid-template-columns: 1fr; }
    .uox-strand { padding: 12px 10px 10px; }
    .uox-strand ol { gap: 2px; }
    .uox-bulb { width: 34px; height: 42px; }
    .uox-bulb::before { width: 12px; height: 8px; margin-left: -6px; top: -7px; }
    .uox-bulb b { font-size: 12px; letter-spacing: -.03em; }
    .uox-strand li small { font-size: 9.5px; letter-spacing: -.01em; }
    .uox-ribbon { --lab: 0px; padding-top: 40px; }
    .uox-eve { grid-template-columns: 1fr; gap: 6px; }
    .uox-eve-l { position: relative; z-index: 1; background: #141d3d; width: fit-content; padding-right: 8px; }
    .uox-stub { grid-template-columns: 1fr; }
    .uox-stub-main { border-right: 0; border-bottom: 3px dashed var(--rule); }
}
@media (max-width: 420px) {
    .uox-plan { grid-template-columns: 1fr; }
    .uox-weeks { gap: 8px; }
    .uox-weeks li { padding: 8px 10px; }
}
