/* Earlier activity-directory styles in the `legacy` layer. */
/* Layer order: dm-important (v3 overrides that must beat old !important rules), then legacy. */
@layer dm-important, legacy;
@layer legacy{
/* Match supporting information pages to the current Duemello season. */
:root{--theme-main:#294e45;--theme-dark:#173f35;--theme-page:#f7f8f2;--theme-paper:#fffdf9;--theme-accent:#e4ba83;--theme-soft:#e6eee5;--theme-text:#243c34;--theme-muted:#53665b;--line:#dce5da;--experience-serif:Georgia,"Iowan Old Style",Cambria,serif;color-scheme:light}
html{scroll-behavior:smooth}
body{background:var(--theme-page)!important;color:var(--theme-text)!important;min-height:100vh}
body>header,body>footer{background:var(--theme-dark)!important;color:#fffdf6!important}
header a,footer a{color:white!important}
main{color:var(--theme-text)}
main h1,main h2{font-family:Inter,"Segoe UI",Arial,system-ui,sans-serif;letter-spacing:-.04em;font-weight:600}
main a{color:var(--theme-main)!important;text-decoration-thickness:1.5px;text-underline-offset:4px}
main p,main small{color:var(--theme-muted)}
main li{background:var(--theme-paper)!important;color:var(--theme-text);border-color:var(--line)!important}
main li p{color:var(--theme-muted)!important}
main li a{color:var(--theme-main)!important}
#static-celebration-banner{max-width:100%;padding:1rem max(6%,1.5rem);background:var(--theme-soft);color:var(--theme-main);font-weight:750;text-align:center;border-bottom:1px solid var(--line)}
#static-celebration-banner a{color:var(--theme-main);font-weight:850;text-decoration:underline;text-underline-offset:3px}
body>header nav,body>footer nav{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

}

@layer legacy{
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/InterVariable.woff2") format("woff2")}
/* One calendar palette across the website. Intentionally no patterns, scenes,
   animated props, or layout changes between seasons and celebrations. */
:root,html[data-theme]{--theme-main:#36594b;--theme-dark:#243e34;--theme-page:#f7f8f6;--theme-paper:#fff;--theme-accent:#cda979;--theme-soft:#edf2ec;--theme-text:#24332b;--theme-muted:#5a655e;--hero-surface:var(--theme-soft);--hero-text:var(--theme-text);--hero-secondary:var(--theme-muted);--hero-button:var(--theme-main);--hero-button-text:#fff;--website-radius:10px;--experience-serif:Inter,"Segoe UI",Arial,system-ui,sans-serif;--line:color-mix(in srgb,var(--theme-main) 17%,var(--theme-paper));--forest:var(--theme-main);--ink:var(--theme-text);--page:var(--theme-page);--muted:var(--theme-muted);--honey:var(--theme-accent);color-scheme:light}
html[data-theme="spring"]{--theme-main:#3d6247;--theme-dark:#294533;--theme-page:#f6f8f3;--theme-paper:#fffffc;--theme-accent:#b8cc9a;--theme-soft:#eaf0e4;--theme-text:#26392b;--theme-muted:#566452}
html[data-theme="summer"]{--theme-main:#23636a;--theme-dark:#20484e;--theme-page:#f7f9f7;--theme-paper:#fffffd;--theme-accent:#e8c576;--theme-soft:#e6f0ee;--theme-text:#243d3d;--theme-muted:#536b69}
html[data-theme="autumn"]{--theme-main:#75513a;--theme-dark:#4c382b;--theme-page:#faf8f5;--theme-paper:#fffefd;--theme-accent:#d6b188;--theme-soft:#f0e9df;--theme-text:#3e332d;--theme-muted:#6c6158}
html[data-theme="winter"]{--theme-main:#3b6079;--theme-dark:#2a4357;--theme-page:#f6f8fa;--theme-paper:#fff;--theme-accent:#aec6d9;--theme-soft:#e8eef3;--theme-text:#2c3c4a;--theme-muted:#5e6d79}
html[data-theme="halloween"]{--theme-main:#61466d;--theme-dark:#35283e;--theme-page:#f8f6f9;--theme-paper:#fffefd;--theme-accent:#e5b07f;--theme-soft:#eee7f1;--theme-text:#3c3044;--theme-muted:#6a5b74;--hero-surface:#35283e;--hero-text:#fffaf3;--hero-secondary:#e3d8e8;--hero-button:#e5b07f;--hero-button-text:#35283e}
html[data-theme="diwali"]{--theme-main:#684b77;--theme-dark:#3f2c4e;--theme-page:#faf7f3;--theme-paper:#fffdf9;--theme-accent:#e2bd75;--theme-soft:#f1e8dc;--theme-text:#46344e;--theme-muted:#6f5d73;--hero-surface:#3f2c4e;--hero-text:#fff8e9;--hero-secondary:#eadce5;--hero-button:#e2bd75;--hero-button-text:#3f2c4e}
html[data-theme="lunar"]{--theme-main:#964a45;--theme-dark:#622f32;--theme-page:#fcf8f4;--theme-paper:#fffcf8;--theme-accent:#e4c285;--theme-soft:#f4e8df;--theme-text:#583532;--theme-muted:#7a5d56;--hero-surface:#622f32;--hero-text:#fff7e8;--hero-secondary:#efddd2;--hero-button:#e4c285;--hero-button-text:#622f32}
html[data-theme="easter"]{--theme-main:#51684a;--theme-dark:#374d34;--theme-page:#f8f8f3;--theme-paper:#fffefa;--theme-accent:#c6b4d4;--theme-soft:#ede9f1;--theme-text:#354431;--theme-muted:#616e59}
html[data-theme="christmas"]{--theme-main:#305e4b;--theme-dark:#1f4134;--theme-page:#f6f8f3;--theme-paper:#fffdf8;--theme-accent:#dec08b;--theme-soft:#e7ede3;--theme-text:#2d4235;--theme-muted:#5d6c5f;--hero-surface:#1f4134;--hero-text:#fff8e9;--hero-secondary:#dce8d7;--hero-button:#dec08b;--hero-button-text:#1f4134}
html[data-theme="valentine"]{--theme-main:#8c4b62;--theme-dark:#63394e;--theme-page:#fbf6f7;--theme-paper:#fffafb;--theme-accent:#dfb3bd;--theme-soft:#f2e5e9;--theme-text:#543a46;--theme-muted:#7b626d}
html[data-theme="newyear"]{--theme-main:#465b7e;--theme-dark:#2c3b54;--theme-page:#f6f7fa;--theme-paper:#fffefa;--theme-accent:#d8bd86;--theme-soft:#e9edf5;--theme-text:#344058;--theme-muted:#616c82;--hero-surface:#2c3b54;--hero-text:#fff8e9;--hero-secondary:#dde3ee;--hero-button:#d8bd86;--hero-button-text:#2c3b54}
html[data-theme="eid"]{--theme-main:#286657;--theme-dark:#214b40;--theme-page:#f5f8f5;--theme-paper:#fffdf7;--theme-accent:#d9bb7e;--theme-soft:#e6eee5;--theme-text:#2c463a;--theme-muted:#5a6c5e;--hero-surface:#214b40;--hero-text:#fff9e9;--hero-secondary:#dce9d8;--hero-button:#d9bb7e;--hero-button-text:#214b40}
html[data-theme="ramadan"]{--theme-main:#4a5b79;--theme-dark:#2f3d56;--theme-page:#f6f7fa;--theme-paper:#fffdf8;--theme-accent:#dbc38e;--theme-soft:#e9ecf3;--theme-text:#374259;--theme-muted:#596477;--hero-surface:#2f3d56;--hero-text:#fff9eb;--hero-secondary:#e2e5ef;--hero-button:#dbc38e;--hero-button-text:#2f3d56}
html[data-theme="birthday"]{--theme-main:#715884;--theme-dark:#4e3f60;--theme-page:#faf7fa;--theme-paper:#fffafd;--theme-accent:#d8b4a2;--theme-soft:#eee6f1;--theme-text:#493c55;--theme-muted:#706477}
html[data-theme="anniversary"]{--theme-main:#82566b;--theme-dark:#573e51;--theme-page:#faf6f6;--theme-paper:#fffaf8;--theme-accent:#d4b38a;--theme-soft:#efe4e8;--theme-text:#4e3b48;--theme-muted:#74616c}
html[data-theme="graduation"]{--theme-main:#415e79;--theme-dark:#2f425b;--theme-page:#f5f7f9;--theme-paper:#fffefb;--theme-accent:#dbc08a;--theme-soft:#e6ecf2;--theme-text:#314459;--theme-muted:#556575;--hero-surface:#2f425b;--hero-text:#fff8e8;--hero-secondary:#e2e8f0;--hero-button:#dbc08a;--hero-button-text:#2f425b}
html[data-theme="justbecause"]{--theme-main:#606440;--theme-dark:#454b32;--theme-page:#f8f8f3;--theme-paper:#fffffa;--theme-accent:#cfc198;--theme-soft:#eeeedf;--theme-text:#41452f;--theme-muted:#6a6e56}
body{background:var(--theme-page)!important;background-image:none!important;color:var(--theme-text)!important;transition:none!important}
.app-header,body>header:not(.app-header){background:var(--theme-paper)!important;color:var(--theme-text)!important;border-bottom:1px solid var(--line);box-shadow:none}
.app-header .wordmark{color:var(--theme-text)}.brand-symbol,.brand-period{color:var(--theme-main)!important}.app-header .header-nav{color:var(--theme-muted)}.app-header .header-nav.selected,.app-header .header-nav:hover{background:var(--theme-soft);color:var(--theme-main)}
.theme-control,.theme-control select{color:var(--theme-muted)}.theme-control select option{color:var(--theme-text);background:var(--theme-paper)}
.button,.icon-button{border-color:var(--line);background:var(--theme-paper);color:var(--theme-main)}.button.primary,.header-actions .header-room,.category-tab.active{background:var(--theme-main);color:#fff;border-color:var(--theme-main)}.button.primary:hover,.header-actions .header-room:hover{background:var(--theme-dark)!important;color:#fff}.header-actions .header-settings{color:var(--theme-muted);background:var(--theme-paper)}
.sidebar .avatar-a{background:var(--theme-soft);color:var(--theme-main)}.sidebar .avatar-b{background:var(--theme-paper);border:1px solid var(--line);color:var(--theme-text)}.between-heart,.sidebar-invite .invite-icon{color:var(--theme-main)}.sidebar .side-link.active,.sidebar .side-link:hover{background:var(--theme-soft);color:var(--theme-main)}.sidebar-invite p,.side-bottom{color:var(--theme-muted)}
.welcome{background:var(--hero-surface);color:var(--hero-text);border-color:var(--line)}.welcome .tiny-eyebrow,.welcome h1{color:var(--hero-text)}.welcome-copy>p,.hero-celebration{color:var(--hero-secondary)}.welcome .hero-actions .primary{background:var(--hero-button);color:var(--hero-button-text);border-color:var(--hero-button)}.welcome .hero-actions .primary:hover{background:var(--hero-button)!important;color:var(--hero-button-text)}.welcome .hero-actions .quiet{background:transparent;color:var(--hero-text);border:1px solid color-mix(in srgb,var(--hero-text) 28%,transparent)}.welcome .hero-actions .quiet:hover{background:color-mix(in srgb,var(--hero-text) 7%,transparent);color:var(--hero-text)}.hero-celebration button{color:var(--hero-text)}
.section-kicker,.tiny-eyebrow{color:var(--theme-main)}.text-action,.section-heading a,.smart-heading .smart-heart{color:var(--theme-main)}
.audience-choice{color:var(--theme-muted)}.audience-choice[aria-pressed=true]{background:var(--theme-soft);color:var(--theme-main);border-color:transparent;box-shadow:none}
.discover-card,.game-card,.smart-pick,.game-content,.play-note,.app-dialog{background:var(--theme-paper);color:var(--theme-text);border-color:var(--line)}.discover-count,.discover-card .discover-desc,.discover-card small,.card-main p,.card-meta,.card-meta .card-number,.library-footer,.play-note p,.smart-pick small,.play-bottom{color:var(--theme-muted)}.discover-card strong,.card-main h3,.smart-pick h3{color:var(--theme-text)}.discover-count .icon,.discover-card small>span{color:var(--theme-main)}.game-card .card-icon{background:var(--theme-soft);color:var(--theme-main)}.favourite-button{color:var(--theme-muted)}.favourite-button:hover{background:var(--theme-soft)}.favourite-button.saved{color:var(--theme-main)}.favourite-button.saved .icon{fill:var(--theme-soft)}.play-note.pale,.smart-spot{background:var(--theme-soft)}
.daily-panel{background:var(--theme-dark);color:#fffaf1}.daily-panel h2,.daily-panel .section-kicker{color:#fffaf1}.daily-panel p{color:#f1f4e7}.daily-icon{color:var(--theme-accent)}.daily-panel .button{background:var(--theme-paper);color:var(--theme-main);border-color:var(--theme-paper)}
.celebrate-cta{color:var(--theme-text)}.celebrate-cta p,.celebrate-cta small{color:var(--theme-muted)}.celebrate-cta .button{background:var(--theme-paper);color:var(--theme-main);border:1px solid var(--line)}.smart-search input,.smart-controls select,.app-dialog input,.app-dialog select,.app-dialog textarea{background:var(--theme-paper);color:var(--theme-text);border-color:var(--line)}.smart-chips button:hover{color:var(--theme-main);background:var(--theme-paper)}.smart-pick-number{color:var(--theme-main)}
.search-box,.category-tab{background:var(--theme-paper);color:var(--theme-muted);border-color:var(--line)}.category-tab:hover:not(.active){background:var(--theme-soft)}.category-tab.active{color:#fff}.search-box input{color:var(--theme-text)}.mobile-filters button{color:var(--theme-main)}
.public-footer,body>footer:not(.public-footer){background:var(--theme-paper)!important;color:var(--theme-text)!important;border-color:var(--line)}.public-footer p,.public-footer>small{color:var(--theme-muted)}.public-footer a{color:var(--theme-main)}
/* Shared play surfaces stay calm and retain standard game-state colours. */
.zen-game{background:var(--theme-soft);border-color:var(--line);color:var(--theme-text);box-shadow:none;border-radius:12px}.zen-game:before,.zen-game:after{display:none}.zen-level span,.zen-level h2,.zen-level h3,.zen-level p,.zen-stats,.zen-center,.zen-instruction,.zen-complete strong,.zen-complete p{color:var(--theme-text)}.zen-currency,.zen-square,.zen-wheel,.zen-letter,.zen-tool,.zen-complete{background:var(--theme-paper);color:var(--theme-text);border-color:var(--line);box-shadow:none}.zen-currency b{color:var(--theme-main)}.zen-currency .icon{width:22px;height:22px}.zen-center .icon{width:25px;height:25px}.zen-tool .icon{width:18px;height:18px}.zen-progress{background:var(--theme-paper)}.zen-progress span{background:var(--theme-main)}.zen-square,.zen-answer.solved .zen-square{color:var(--theme-text)}.zen-answer.solved .zen-square{background:var(--theme-soft);border-color:var(--theme-main)}.zen-letter.selected,.zen-letter.tracing,.zen-submit{background:var(--theme-main);border-color:var(--theme-main);color:white}.zen-wheel:before{border-color:var(--line)}.zen-path polyline{stroke:var(--theme-main)}.zen-horizon{display:none}.zen-letter{font-family:inherit}.zen-square{border-radius:5px}.zen-tool,.zen-submit{border-radius:7px;font-weight:600;gap:7px}
.competition-head h2,.comp-eyebrow,.competition-head p,.competition-help,.bead-base,.race-label,.race-label small,.pool-score,.pool-aim label{color:var(--theme-text)}.comp-turn{background:var(--theme-soft);color:var(--theme-text);display:inline-flex;align-items:center;gap:6px}.competition-board{border-color:var(--line);box-shadow:none;--checker-light:var(--theme-paper);--checker-dark:color-mix(in srgb,var(--theme-main) 35%,var(--theme-paper))}.bead-world,.racing-stadium{background:var(--theme-soft);border-color:var(--line)}.bead-sparkle .icon{width:28px;height:28px}.race-car .icon{width:40px;height:32px;background:var(--theme-paper);border:1px solid var(--line);border-radius:7px;color:var(--theme-main);padding:4px}.pool-wrap{border-color:var(--theme-main)}.pool-aim input{accent-color:var(--theme-main)}
.bond-main,.bond-answer,.bond-summary-pair>div,.bond-wait{background:var(--theme-paper);border-color:var(--line);color:var(--theme-text);box-shadow:none;border-radius:10px}.bond-main{background:var(--theme-soft)}.bond-main h2,.bond-eyebrow,.bond-speaker,.bond-progress-top,.bond-progress-top strong,.bond-outcome,.bond-form label,.bond-answer p,.bond-answer small,.bond-summary-pair small,.bond-summary-pair strong,.bond-summary-pair p,.bond-finish h2,.bond-finish>p{font-family:inherit;color:var(--theme-text)}.bond-moment-art,.bond-moment-art span{color:var(--theme-main)}.bond-option,.bond-form textarea{background:var(--theme-paper);border-color:var(--line);color:var(--theme-text)}.bond-option:hover{background:var(--theme-soft)!important;border-color:var(--theme-main)}.bond-option>span{color:var(--theme-main)}.bond-finish-heart .icon{width:56px;height:56px}.bond-moment-art>.icon{width:42px;height:42px}.bond-moment-art span .icon{width:20px;height:20px}.bond-wait>span .icon{width:36px;height:36px}
/* Information, legal and directory pages use exactly the same palette. */
body>header:not(.app-header){padding:20px max(6%,24px);font:14px/1.5 Inter,"Segoe UI",Arial,sans-serif}body>header:not(.app-header) nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}body>header:not(.app-header) a{color:var(--theme-muted)!important;text-decoration:none;font-weight:500}body>header:not(.app-header) a:is(.logo,[data-brand-ready="true"]){font-size:1.65rem;font-weight:700;letter-spacing:-.07em;color:var(--theme-text)!important;margin-right:auto}
body:has(>.theme-settings)>main,body:has(>.theme-settings) .editorial{max-width:880px;margin:44px auto 80px;padding:0 24px;font:16px/1.8 Inter,"Segoe UI",Arial,sans-serif}body:has(>.theme-settings)>main h1{font:650 clamp(2.1rem,5vw,3rem)/1.15 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.055em}body:has(>.theme-settings)>main h2{font:600 1.35rem/1.3 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:-.03em;margin-top:38px}body:has(>.theme-settings)>main p{color:var(--theme-muted)}body:has(>.theme-settings)>main a{color:var(--theme-main)!important}body>footer:not(.public-footer){font:14px/1.8 Inter,"Segoe UI",Arial,sans-serif;border-top:1px solid var(--line);padding:28px 6%}body>footer:not(.public-footer) a{color:var(--theme-main)!important}
.theme-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px 14px;padding:12px max(6%,24px);background:var(--theme-soft);color:var(--theme-muted);font:12px/1.5 Inter,"Segoe UI",Arial,sans-serif;border-bottom:1px solid var(--line)}.theme-settings label{font-weight:600}.theme-settings select{max-width:195px;padding:8px 10px;background:var(--theme-paper);color:var(--theme-text);border:1px solid var(--line);border-radius:6px;font:inherit;min-height:40px}.theme-settings button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--theme-paper);color:var(--theme-main);font:inherit;min-height:40px}.theme-settings .icon{width:15px;height:15px}#static-celebration-banner{background:var(--theme-soft);color:var(--theme-main);border-color:var(--line);font:600 14px/1.6 Inter,"Segoe UI",Arial,sans-serif;padding:18px 24px}#static-celebration-banner a{color:var(--theme-main)}
@media(max-width:600px){.theme-settings{justify-content:flex-start;padding:12px 20px}.theme-settings #static-theme-summary{font-size:11px}body>header:not(.app-header){padding:17px 22px}body>header:not(.app-header) nav{gap:13px 18px;font-size:.75rem}body>header:not(.app-header) a:is(.logo,[data-brand-ready="true"]){flex-basis:100%;font-size:1.6rem}.zen-game{border-radius:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
html[data-theme] .sidebar .sidebar-invite h3{color:var(--theme-text)}
html[data-theme] .sidebar .sidebar-invite p{color:var(--theme-muted)}
html[data-theme] .sidebar .sidebar-invite .button{background:var(--theme-main);color:#fff;border-color:var(--theme-main)}
html[data-theme] .smart-heading .tiny-eyebrow{color:var(--theme-main)}
body:has(>.theme-settings)>main .hero .btn.gold,body:has(>.theme-settings)>main .lower .btn.gold{color:var(--theme-dark)!important}
body:has(>.theme-settings)>main .hero .btn.outline{color:var(--hero-text)!important}
/* Local events are automatic. Ordinary days use the Duemello brand palette. */
html[data-theme="default"]{--theme-main:#305d4b;--theme-dark:#213e33;--theme-page:#f7f9f6;--theme-paper:#fff;--theme-accent:#d7be8d;--theme-soft:#eaf0e9;--theme-text:#24372d;--theme-muted:#59695e}
html[data-theme="national"]{--theme-main:#375c77;--theme-dark:#243e55;--theme-page:#f6f8fa;--theme-paper:#fff;--theme-accent:#c8b883;--theme-soft:#e7edf3;--theme-text:#2a3e52;--theme-muted:#576c7d}
html[data-mode="light"]{color-scheme:light;--button-text:#fff}
html[data-mode="dark"]{color-scheme:dark;--theme-main:#b7d3c3;--theme-dark:#101c17;--theme-page:#101713;--theme-paper:#19231d;--theme-accent:#d7c18d;--theme-soft:#243329;--theme-text:#eef3ee;--theme-muted:#b5c2b7;--line:#3a4b40;--hero-surface:#243329;--hero-text:#f3f5ee;--hero-secondary:#c2cec1;--hero-button:#c6d8bd;--hero-button-text:#17251b;--button-text:#17251b;--brand-mark-bg:#b7d3c3;--brand-mark-heart:#1d372b}
html[data-mode="dark"][data-theme="halloween"]{--theme-main:#d7bce6;--theme-accent:#e7b58a;--theme-page:#18131d;--theme-paper:#231c29;--theme-soft:#302339;--line:#51415b;--hero-surface:#302339;--hero-button:#e7b58a;--hero-button-text:#2b1835;--button-text:#2b1835}
html[data-mode="dark"][data-theme="diwali"]{--theme-main:#dfc0e9;--theme-accent:#e5c185;--theme-page:#19131d;--theme-paper:#251d2b;--theme-soft:#34283e;--line:#54415e;--hero-surface:#34283e;--hero-button:#e5c185;--hero-button-text:#2c1938;--button-text:#2c1938}
html[data-mode="dark"][data-theme="ramadan"],html[data-mode="dark"][data-theme="newyear"],html[data-mode="dark"][data-theme="national"]{--theme-main:#bccdef;--theme-page:#121823;--theme-paper:#1b2533;--theme-soft:#28344a;--line:#40516a;--hero-surface:#28344a;--hero-secondary:#c8d2e5;--hero-button:#dfc58f;--hero-button-text:#1b2940;--button-text:#1b2940}
html[data-mode="dark"][data-theme="eid"],html[data-mode="dark"][data-theme="christmas"]{--theme-main:#b6d7bd;--theme-page:#101b16;--theme-paper:#1a2921;--theme-soft:#273c2e;--line:#435a4b;--hero-surface:#273c2e;--hero-button:#dfc58f;--hero-button-text:#1b3021;--button-text:#1b3021}
html[data-mode="dark"][data-theme="lunar"],html[data-mode="dark"][data-theme="valentine"]{--theme-main:#edc0c7;--theme-page:#21171a;--theme-paper:#2e2228;--theme-soft:#3e2c35;--line:#664854;--hero-surface:#3e2c35;--hero-button:#e8c18e;--hero-button-text:#351e28;--button-text:#351e28}
html[data-mode="dark"][data-theme="birthday"]{--theme-main:#dcc0ed;--theme-page:#1b1521;--theme-paper:#281e31;--theme-soft:#382b44;--line:#594269;--hero-surface:#382b44;--hero-button:#e5cba9;--hero-button-text:#32223d;--button-text:#32223d}
html[data-mode="dark"] .button.primary,html[data-mode="dark"] .header-actions .header-room,html[data-mode="dark"] .category-tab.active,html[data-mode="dark"] .sidebar .sidebar-invite .button,html[data-mode="dark"] .zen-submit{background:var(--hero-button);color:var(--hero-button-text);border-color:var(--hero-button)}
html[data-mode="dark"] .button.primary:hover,html[data-mode="dark"] .header-actions .header-room:hover,html[data-mode="dark"] .category-tab.active:hover{background:var(--hero-button)!important;color:var(--hero-button-text)!important;filter:brightness(1.08)}
html[data-mode="dark"] .zen-letter.selected,html[data-mode="dark"] .zen-letter.tracing{background:var(--hero-button);border-color:var(--hero-button);color:var(--hero-button-text)}
html[data-mode="dark"] .game-hint,html[data-mode="dark"] .game-status,html[data-mode="dark"] .game-heading p,html[data-mode="dark"] .game-content>p{color:var(--theme-muted)}
html[data-mode="dark"] .tile,html[data-mode="dark"] .entry-form input,html[data-mode="dark"] .entry-form textarea,html[data-mode="dark"] .cross-cell input,html[data-mode="dark"] .sudoku input{background:var(--theme-paper);color:var(--theme-text);border-color:var(--line)}
html[data-mode="dark"] .live-play-status{background:var(--theme-soft);color:var(--theme-text);border-color:var(--line)}
html[data-mode="dark"] .word-cell,html[data-mode="dark"] .word-slots>span{border-color:var(--line);background:var(--theme-paper);color:var(--theme-text)}
html[data-mode="dark"] .word-cell.correct{background:#2c714e;color:#fff}html[data-mode="dark"] .word-cell.present{background:#8b6a25;color:#fff}html[data-mode="dark"] .word-cell.absent{background:#414b46;color:#fff}
html[data-mode="dark"] .memory-board .tile.matched{background:#325d43;color:#fff}html[data-mode="dark"] .memory-board .tile.faceup{background:var(--theme-soft);color:var(--theme-main)}
html[data-mode="dark"] .key{background:var(--theme-soft);color:var(--theme-text);border-color:var(--line)}html[data-mode="dark"] .key.hit{background:#2c714e;color:#fff}html[data-mode="dark"] .key.miss{background:#404c45;color:#fff}
html[data-mode="dark"] .turn-pill,html[data-mode="dark"] .pass-card,html[data-mode="dark"] .prompt-card,html[data-mode="dark"] .duo-reveal>div,html[data-mode="dark"] .story-paper,html[data-mode="dark"] .shared-list .list-item{background:var(--theme-soft);border-color:var(--line);color:var(--theme-text);box-shadow:none}
html[data-mode="dark"] .pass-card p,html[data-mode="dark"] .prompt-title,html[data-mode="dark"] .prompt-card h3,html[data-mode="dark"] .story-line p{color:var(--theme-text)}
html[data-mode="dark"] .answer-options .option,html[data-mode="dark"] .choice-options .option{background:var(--theme-soft);color:var(--theme-text);border-color:var(--line)}
html[data-mode="dark"] .answer-options .option.correct{background:#265b3d;color:#fff}html[data-mode="dark"] .answer-options .option.incorrect{background:#6d333c;color:#fff}
html[data-mode="dark"] .checker-token{box-shadow:inset 0 1px 3px #fff5,0 3px 5px #0004}
html[data-mode="dark"] .competition-board{--checker-dark:#526558;--checker-light:#c7cec1}.connection-avatar{background:var(--hero-button);color:var(--hero-button-text)}
html[data-mode="dark"] .public-footer,html[data-mode="dark"] body>footer{border-color:var(--line)}
html[data-mode="dark"] input::placeholder,html[data-mode="dark"] textarea::placeholder{color:#a4b2a8;opacity:1}
/* Static editorial/campaign pages follow the same automatic time appearance. */
html[data-mode="dark"] body>main>section:not(.hero):not(.lower),html[data-mode="dark"] .challenge,html[data-mode="dark"] .challenge .inner{background:var(--theme-paper);color:var(--theme-text);border-color:var(--line)}
html[data-mode="dark"] .challenge h3,html[data-mode="dark"] .challenge p,html[data-mode="dark"] .section-head h2,html[data-mode="dark"] .section-head p{color:var(--theme-text)}
html[data-mode="dark"] .challenge .complete{background:var(--theme-soft);color:var(--theme-text);border-color:var(--line)}
html[data-mode="dark"] .duemello-brand-logo{--brand-mark-bg:var(--theme-dark);--brand-mark-heart:var(--theme-accent);color:var(--theme-text)}
html[data-mode="dark"] .smart-controls>label,html[data-mode="dark"] .smart-message{color:var(--theme-muted)}
html[data-mode="dark"] .smart-pick>strong{color:var(--theme-text)}
html[data-mode="dark"] .smart-pick>span:not(.smart-pick-number){color:var(--theme-muted)}
html[data-mode="dark"] .smart-pick>small>b{color:var(--theme-main)}
html[data-mode="dark"] .play-heading>.button.quiet{background:var(--theme-paper);color:var(--theme-main)}
html[data-mode="dark"] .game-message{background:var(--theme-soft);color:var(--theme-text)}
html[data-mode="dark"] [data-action="bond-pass"],html[data-mode="dark"] .bond-footnote{color:var(--theme-muted)}

}

@layer legacy{
/* Original physical event objects. Complete still assets remain at
   /art/events/<event>.svg. Base/detail layers share a 360 x 280 canvas.
   Existing markup: <span class="event-decoration event-decoration--hero"
   aria-hidden="true"></span>. Variants: hero, room, card, ribbon.
   Motion settles within 4.2 seconds, never loops and never affects controls.
   Hooks: html[data-event-motion="paused"|"off"]. Seasons/default stay clear. */
:root{--event-prop-image:none;--event-prop-base-image:none;--event-prop-detail-image:none;--event-detail-origin:68% 62%;--event-detail-duration:1.4s;--event-detail-animation:event-paper-arrive}
html[data-event-props="christmas"]{--event-prop-image:url('/art/events/christmas.svg');--event-prop-base-image:url('/art/events/christmas-base.svg');--event-prop-detail-image:url('/art/events/christmas-detail.svg');--event-detail-origin:73.9% 33.2%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="halloween"]{--event-prop-image:url('/art/events/halloween.svg');--event-prop-base-image:url('/art/events/halloween-base.svg');--event-prop-detail-image:url('/art/events/halloween-detail.svg');--event-detail-origin:66.9% 11.4%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="eid"]{--event-prop-image:url('/art/events/eid.svg');--event-prop-base-image:url('/art/events/eid-base.svg');--event-prop-detail-image:url('/art/events/eid-detail.svg');--event-detail-origin:70.3% 13.9%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="ramadan"]{--event-prop-image:url('/art/events/ramadan.svg');--event-prop-base-image:url('/art/events/ramadan-base.svg');--event-prop-detail-image:url('/art/events/ramadan-detail.svg');--event-detail-origin:70.3% 13.9%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="diwali"]{--event-prop-image:url('/art/events/diwali.svg');--event-prop-base-image:url('/art/events/diwali-base.svg');--event-prop-detail-image:url('/art/events/diwali-detail.svg');--event-detail-origin:68% 70%;--event-detail-animation:event-flame-settle;--event-detail-duration:2.4s}
html[data-event-props="lunar"]{--event-prop-image:url('/art/events/lunar.svg');--event-prop-base-image:url('/art/events/lunar-base.svg');--event-prop-detail-image:url('/art/events/lunar-detail.svg');--event-detail-origin:69.4% 15.4%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="easter"]{--event-prop-image:url('/art/events/easter.svg');--event-prop-base-image:url('/art/events/easter-base.svg');--event-prop-detail-image:url('/art/events/easter-detail.svg');--event-detail-origin:68% 70%;--event-detail-animation:event-paper-arrive;--event-detail-duration:1.4s}
html[data-event-props="valentine"]{--event-prop-image:url('/art/events/valentine.svg');--event-prop-base-image:url('/art/events/valentine-base.svg');--event-prop-detail-image:url('/art/events/valentine-detail.svg');--event-detail-origin:68.3% 28.9%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="newyear"]{--event-prop-image:url('/art/events/newyear.svg');--event-prop-base-image:url('/art/events/newyear-base.svg');--event-prop-detail-image:url('/art/events/newyear-detail.svg');--event-detail-origin:69.2% 16.1%;--event-detail-animation:event-hanging-settle;--event-detail-duration:4.2s}
html[data-event-props="birthday"]{--event-prop-image:url('/art/events/birthday.svg');--event-prop-base-image:url('/art/events/birthday-base.svg');--event-prop-detail-image:url('/art/events/birthday-detail.svg');--event-detail-origin:68% 70%;--event-detail-animation:event-fabric-settle;--event-detail-duration:2.2s}
html[data-event-props="national"]{--event-prop-image:url('/art/events/national.svg');--event-prop-base-image:url('/art/events/national-base.svg');--event-prop-detail-image:url('/art/events/national-detail.svg');--event-detail-origin:68% 70%;--event-detail-animation:event-fabric-settle;--event-detail-duration:2.2s}
.event-decorated{position:relative;isolation:isolate}
.event-decoration{position:absolute;display:none;pointer-events:none;user-select:none;background:none;background-size:contain;background-position:right top;background-repeat:no-repeat;z-index:0;opacity:.98;contain:layout paint}
.event-decoration::before,.event-decoration::after{content:"";position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:inherit;background-position:inherit;transform-origin:var(--event-detail-origin)}
.event-decoration::before{background-image:var(--event-prop-base-image)}
.event-decoration::after{background-image:var(--event-prop-detail-image)}
html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .event-decoration{display:block}
.event-decoration--hero{width:clamp(156px,21vw,254px);height:198px;right:-12px;top:-16px}
.event-decoration--room{width:180px;height:140px;right:2px;top:-12px;opacity:.9}
.event-decoration--card{width:170px;height:134px;right:0;top:-10px}
.event-decoration--ribbon{position:relative;inset:auto;flex:0 0 76px;width:76px;height:58px;margin-inline-start:auto;background-size:90px 70px;background-position:right center}
.event-decoration-content{position:relative;z-index:1}
html[data-mode="dark"] .event-decoration{filter:brightness(1.12) saturate(.92)}
/* A reserved illustration row keeps objects clear of game cards and actions. */
html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome{grid-template-areas:"copy ornament" "copy preview";row-gap:4px}
html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome>.welcome-copy{grid-area:copy}
html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome>.hero-showcase{grid-area:preview}
html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome>.event-decoration--hero{grid-area:ornament;position:relative;inset:auto;justify-self:end;align-self:end;width:230px;height:142px;margin-top:-12px;z-index:0}
.duemello-brand-logo{--brand-mark-bg:var(--theme-main,#244b43);--brand-mark-heart:var(--theme-accent,#f4d580);display:inline-block;vertical-align:middle;flex-shrink:0;width:auto;height:34px;max-width:100%;color:var(--theme-text,#244b43)}
.duemello-brand-logo--mark{height:38px;aspect-ratio:1}
.event-ribbon{display:flex;align-items:center;justify-content:center;gap:12px;position:relative;isolation:isolate;overflow:hidden;padding:10px 25px;background:var(--theme-soft);border-bottom:1px solid var(--line);color:var(--theme-main);font:500 .7rem/1.5 Inter,"Segoe UI",Arial,sans-serif}
.event-ribbon strong{font-weight:600}.event-ribbon small{color:var(--theme-muted);font-size:.65rem}.event-ribbon .event-decoration--ribbon{width:95px;right:25px;opacity:.9}
body>header:not(.app-header) a .duemello-brand-logo{width:160px;height:auto;display:block}
@media(max-width:760px){
  .event-ribbon{font-size:.64rem;padding:10px 18px;justify-content:flex-start}.event-ribbon small{font-size:.6rem}.event-ribbon .event-decoration--ribbon{right:5px;width:55px}.event-ribbon>span:not(.event-decoration){position:relative;z-index:1}
  html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "ornament" "preview";row-gap:14px}
  html:is([data-event-props="christmas"],[data-event-props="halloween"],[data-event-props="eid"],[data-event-props="ramadan"],[data-event-props="diwali"],[data-event-props="lunar"],[data-event-props="easter"],[data-event-props="valentine"],[data-event-props="newyear"],[data-event-props="birthday"],[data-event-props="national"]) .welcome>.event-decoration--hero{width:220px;height:132px;margin-top:-4px}
}
@media(max-width:700px){.event-decoration--room{width:130px;height:104px;top:-7px;right:-5px}.event-decoration--card{width:128px;height:102px;top:0}.event-decoration--ribbon{flex-basis:60px;width:60px;height:48px;background-size:74px 58px}.duemello-brand-logo{height:30px}.duemello-brand-logo--mark{height:34px}}
@media(max-width:580px){.event-ribbon small{display:none}
  /* The pine bough clears the room heading; only transparent canvas is clipped. */
  html[data-event-props="christmas"] .connection-panel .event-decoration--room{right:-5px}
}
@media(prefers-reduced-motion:no-preference){
  .event-decoration::before{animation:event-base-arrive .7s ease-out both}
  .event-decoration::after{animation:var(--event-detail-animation) var(--event-detail-duration) cubic-bezier(.2,.65,.3,1) both}
  @keyframes event-base-arrive{from{opacity:0}to{opacity:1}}
  @keyframes event-hanging-settle{0%{transform:rotate(-2.4deg);opacity:0}14%{opacity:1}40%{transform:rotate(1.15deg)}64%{transform:rotate(-.55deg)}83%{transform:rotate(.18deg)}100%{transform:rotate(0);opacity:1}}
  @keyframes event-paper-arrive{from{transform:translateY(4px);opacity:0}to{transform:translateY(0);opacity:1}}
  @keyframes event-fabric-settle{0%{transform:translateY(3px) rotate(-.6deg);opacity:0}30%{opacity:1}65%{transform:translateY(0) rotate(.2deg)}100%{transform:translateY(0) rotate(0);opacity:1}}
  @keyframes event-flame-settle{0%{opacity:.4;transform:translateY(1px)}30%{opacity:1;transform:translateY(0)}55%{opacity:.86}100%{opacity:1;transform:translateY(0)}}
}
html[data-event-motion="paused"] .event-decoration::before,html[data-event-motion="paused"] .event-decoration::after{animation-play-state:paused}
html[data-event-motion="off"] .event-decoration::before,html[data-event-motion="off"] .event-decoration::after{animation:none!important;transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){.event-decoration,.event-decoration::before,.event-decoration::after{animation:none!important;transition:none!important;transform:none;opacity:1}}
@media print{.event-decoration{display:none!important}}

}

@layer legacy{
.birthday-intro{--birthday-ink:#282538;--birthday-muted:#666071;--birthday-paper:#fffdf8;--birthday-panel:#f7f1e8;--birthday-accent:#6558c7;--birthday-action:#ffffff;color:var(--birthday-ink);background:var(--birthday-paper);border:1px solid #d9d4e5;padding:0;width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 28px);border-radius:26px;box-shadow:0 28px 100px #15102b45;overflow:auto;overscroll-behavior:contain}
.birthday-intro::backdrop{background:#121323a6;backdrop-filter:blur(9px)}
.birthday-intro[data-mode=dark]{--birthday-ink:#f7f3ff;--birthday-muted:#c9c1db;--birthday-paper:#1e1c2b;--birthday-panel:#292538;--birthday-accent:#bbafff;--birthday-action:#211b3c;border-color:#4b435f}
.birthday-intro-shell{position:relative;min-height:580px;padding:24px clamp(22px,6vw,60px) 48px;isolation:isolate;overflow:hidden}
.birthday-intro-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2;gap:20px;margin-bottom:48px}
.birthday-brand{font-size:1.05rem;font-weight:750;letter-spacing:-.045em}
.birthday-skip{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--birthday-panel);color:var(--birthday-ink);font:inherit;font-size:.8rem;font-weight:650;padding:10px 13px;border-radius:999px;min-height:44px;cursor:pointer}
.birthday-skip .icon{width:16px;height:16px}
.birthday-name-stage{text-align:center;position:relative;z-index:1;padding:22px 0 20px}
.birthday-kicker{font-size:.66rem;line-height:1.5;text-transform:uppercase;letter-spacing:.18em;font-weight:750;color:var(--birthday-accent);margin:0 0 19px}
.birthday-name-stage h2{margin:0;letter-spacing:-.055em;line-height:1.04;font-weight:650;color:var(--birthday-ink)}
.birthday-salutation{display:block;font-size:clamp(1.9rem,5.8vw,3.3rem);letter-spacing:-.05em}
.birthday-name{display:block;font-size:clamp(3.2rem,11vw,6.4rem);margin:12px 0 22px;overflow-wrap:anywhere;color:var(--birthday-accent);animation:birthday-name-reveal .75s cubic-bezier(.2,.75,.25,1) both}
.birthday-name-stage>p:not(.birthday-kicker){font-size:.96rem;line-height:1.7;max-width:360px;margin:0 auto 30px;color:var(--birthday-muted)}
.birthday-primary{background:var(--birthday-accent)!important;color:var(--birthday-action)!important;border-color:var(--birthday-accent)!important;border-radius:999px;min-height:48px;padding:12px 22px}
.birthday-primary:hover{filter:brightness(.96)}
.birthday-intro .event-decoration--card{position:absolute;inset:auto 18px 18px auto;width:150px;height:118px;z-index:0;pointer-events:none;opacity:.38;background:none}
.birthday-card{position:relative;z-index:1;text-align:center;border:1px solid color-mix(in srgb,var(--birthday-accent) 24%,transparent);background:var(--birthday-panel);border-radius:20px;padding:76px clamp(20px,5vw,50px) 32px;max-width:580px;margin:0 auto;box-shadow:0 14px 35px #211b3c0a;animation:birthday-card-reveal .5s ease both;outline-offset:5px}
.birthday-card h3{font-size:clamp(1.5rem,4.6vw,2.3rem);line-height:1.2;letter-spacing:-.04em;font-weight:600;margin:0 0 24px;color:var(--birthday-ink)}
.birthday-card h3 span{display:block;color:var(--birthday-accent);font-size:1.4em;line-height:1.18;overflow-wrap:anywhere;margin-top:6px}
.birthday-card-message{font-size:clamp(.95rem,2.4vw,1.05rem);color:var(--birthday-ink);line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-width:430px;margin:0 auto 24px}
.birthday-card-from{color:var(--birthday-muted);font-size:.9rem;margin:0 0 30px}
.birthday-card-from span{font-weight:700;overflow-wrap:anywhere}
.birthday-card-art{position:absolute;left:0;right:0;top:0;height:52px;overflow:hidden;border-radius:19px 19px 0 0;pointer-events:none}
.birthday-card-art span{display:block;position:absolute;width:8px;height:17px;left:24%;top:13px;transform:rotate(-25deg);border-radius:2px;background:#b9addf;box-shadow:74px 7px 0 #d8b994,152px -4px 0 #b9addf,238px 8px 0 #d8b994}
.birthday-card-art span:nth-child(2){width:8px;height:8px;left:12%;top:34px;border-radius:50%;background:#d8b994;box-shadow:116px -14px 0 #b9addf,228px 0 0 #d8b994,340px -18px 0 #b9addf}
.birthday-card-art span:nth-child(3){width:6px;height:13px;left:67%;top:27px;transform:rotate(32deg)}
.birthday-intro[data-card=ribbon]{--birthday-accent:#95603d}
.birthday-intro[data-card=ribbon][data-mode=dark]{--birthday-accent:#e4b68d}
.birthday-intro[data-card=ribbon] .birthday-card-art{background:linear-gradient(90deg,transparent calc(50% - 11px),#bb8757 calc(50% - 10px),#bb8757 calc(50% + 10px),transparent calc(50% + 11px))}
.birthday-intro[data-card=ribbon] .birthday-card-art span{width:54px;height:27px;border:5px solid #bb8757;background:transparent;border-radius:50% 50% 5px 50%;left:calc(50% - 51px);top:14px;transform:rotate(18deg);box-shadow:none}
.birthday-intro[data-card=ribbon] .birthday-card-art span:nth-child(2){left:calc(50% - 3px);transform:rotate(-18deg) scaleX(-1)}
.birthday-intro[data-card=ribbon] .birthday-card-art span:nth-child(3){display:none}
.birthday-intro[data-card=midnight]{--birthday-accent:#4b5b9d}
.birthday-intro[data-card=midnight][data-mode=dark]{--birthday-accent:#a7b8fa}
.birthday-intro[data-card=midnight] .birthday-card-art{background:#30365e;background-image:radial-gradient(circle at 15% 35%,#f3ddb0 0 1px,transparent 2px),radial-gradient(circle at 35% 65%,#f3ddb0 0 1px,transparent 2px),radial-gradient(circle at 65% 25%,#f3ddb0 0 1px,transparent 2px),radial-gradient(circle at 88% 70%,#f3ddb0 0 1px,transparent 2px)}
.birthday-intro[data-card=midnight] .birthday-card-art span{width:24px;height:24px;border-radius:50%;left:calc(50% - 12px);top:13px;transform:none;background:#f3ddb0;box-shadow:none}
.birthday-intro[data-card=midnight] .birthday-card-art span:nth-child(n+2){display:none}
.birthday-replay-button{font-size:.8rem;min-height:40px}
.birthday-card-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border:0;padding:0;margin:0;min-width:0}
.birthday-card-options legend{font-size:.82rem;font-weight:650;margin-bottom:9px;padding:0}
.birthday-card-options label{position:relative;display:flex;align-items:center;gap:7px;padding:12px 10px;border:1px solid var(--line,#d8d5df);border-radius:12px;background:var(--theme-paper,#fffdf8);font-size:.8rem;cursor:pointer;min-height:48px}
.birthday-card-options label:has(input:checked){border-color:var(--theme-main,#6558c7);box-shadow:inset 0 0 0 1px var(--theme-main,#6558c7);background:var(--theme-soft,#f2effb)}
.birthday-card-options input{accent-color:var(--theme-main,#6558c7);padding:0;min-width:16px;width:16px;height:16px;flex-shrink:0}
.birthday-card-options label:has(input:focus-visible){outline:3px solid var(--theme-main,#6558c7);outline-offset:3px}
.automatic-context{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px!important;font-size:.76rem!important;max-width:1120px;margin:0 auto!important}
.automatic-context>span{display:inline-flex;align-items:center}.automatic-context .icon{width:18px;height:18px}
.automatic-context>p{margin:0!important;font-size:inherit!important}
.automatic-context-explanation{margin-left:auto;max-width:460px;position:relative}
.automatic-context-explanation summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font-size:.73rem;text-decoration:underline;text-underline-offset:3px}
.automatic-context-explanation p{font-size:.76rem!important;line-height:1.6;position:absolute;right:0;z-index:5;min-width:min(330px,calc(100vw - 48px));padding:14px;border:1px solid var(--line,#d8d5df);border-radius:12px;background:var(--theme-paper,#fffdf8);color:var(--theme-text,inherit);box-shadow:0 8px 20px #1713241a}
@keyframes birthday-name-reveal{from{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes birthday-card-reveal{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:520px){.birthday-intro{border-radius:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.birthday-intro-shell{padding:18px 20px 28px;min-height:540px}.birthday-intro-top{margin-bottom:36px}.birthday-name-stage{padding-top:25px}.birthday-name{font-size:clamp(3rem,13vw,4.5rem)}.birthday-card{padding:73px 20px 27px}.birthday-card-message{font-size:.94rem}.birthday-card .birthday-primary{width:100%;font-size:.82rem}.birthday-card-options{gap:6px}.birthday-card-options label{font-size:.72rem;padding:11px 7px;gap:5px}.automatic-context-explanation{margin-left:0}.automatic-context-explanation p{left:0;right:auto}}
@media(prefers-reduced-motion:reduce){.birthday-intro *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.birthday-name{filter:none}}
.birthday-brand{display:inline-flex;align-items:center;width:152px}.birthday-brand .duemello-brand-logo{width:152px;height:auto;display:block}

/* Free physical-paper card designs. Existing card identifiers and treatments stay compatible. */
.birthday-intro[data-card=botanical]{--birthday-ink:#244b43;--birthday-muted:#59675c;--birthday-paper:#fffdf6;--birthday-panel:#f1f3e9;--birthday-accent:#365f4c;--birthday-action:#fff;--event-prop-base-image:url('/art/birthday/botanical.svg');--event-prop-detail-image:none}
.birthday-intro[data-card=botanical][data-mode=dark]{--birthday-ink:#edf5e8;--birthday-muted:#bfcdbd;--birthday-paper:#17261e;--birthday-panel:#203427;--birthday-accent:#c7dbaa;--birthday-action:#183221;border-color:#49604c}
.birthday-intro[data-card=postcard]{--birthday-ink:#294c53;--birthday-muted:#52636c;--birthday-paper:#fffdf6;--birthday-panel:#f5eee4;--birthday-accent:#486b7b;--birthday-action:#fff;--event-prop-base-image:url('/art/birthday/postcard.svg');--event-prop-detail-image:none}
.birthday-intro[data-card=postcard][data-mode=dark]{--birthday-ink:#eef4f7;--birthday-muted:#bdc9cf;--birthday-paper:#1a242b;--birthday-panel:#24343f;--birthday-accent:#b4ceda;--birthday-action:#17303f;border-color:#4c6069}
.birthday-intro:is([data-card=botanical],[data-card=postcard]) .birthday-card{padding-top:clamp(110px,29vw,180px)}
.birthday-intro:is([data-card=botanical],[data-card=postcard]) .birthday-card-art{height:auto;aspect-ratio:10/3;background-position:top center;background-repeat:no-repeat;background-size:contain}
.birthday-intro:is([data-card=botanical],[data-card=postcard]) .birthday-card-art span{display:none}
.birthday-intro[data-card=botanical] .birthday-card-art{background-image:url('/art/birthday/botanical.svg')}
.birthday-intro[data-card=botanical] .birthday-card h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}
.birthday-intro[data-card=postcard] .birthday-card-art{background-image:url('/art/birthday/postcard.svg')}
.birthday-intro[data-card=postcard] .birthday-card{border-style:double;border-width:4px;border-radius:8px}
.birthday-intro:is([data-card=botanical],[data-card=postcard]) .event-decoration--card{width:270px;height:81px;opacity:.3}
@media(max-width:520px){.birthday-card-options{grid-template-columns:repeat(2,minmax(0,1fr))}.birthday-intro:is([data-card=botanical],[data-card=postcard]) .event-decoration--card{width:220px;height:66px}}

}

@layer legacy{
.ambience-controls{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;max-width:100%;font:500 12px/1.4 Inter,"Segoe UI",Arial,sans-serif}
.ambience-toggle,.ambience-settings{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--theme-paper);color:var(--theme-main);font:inherit;white-space:nowrap;cursor:pointer}
.ambience-toggle .icon,.ambience-settings .icon{width:16px;height:16px;flex:0 0 auto}.ambience-settings{padding:8px;min-width:36px}.ambience-toggle:hover,.ambience-settings:hover{background:var(--theme-soft)}.ambience-controls[data-state="playing"] .ambience-toggle{background:var(--theme-soft)}.ambience-toggle:disabled{cursor:default;opacity:.6}
.ambience-controls [hidden],.ambience-dialog [hidden]{display:none!important}.ambience-toggle:focus-visible,.ambience-settings:focus-visible,.ambience-dialog button:focus-visible,.ambience-dialog input:focus-visible{outline:3px solid var(--theme-accent);outline-offset:3px}
.ambience-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--theme-paper);color:var(--theme-text);font:14px/1.7 Inter,"Segoe UI",Arial,sans-serif;box-shadow:0 16px 64px #0002}.ambience-dialog::backdrop{background:#0007}.ambience-dialog-heading{display:flex;align-items:center;gap:10px}.ambience-dialog-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--theme-soft);color:var(--theme-main)}.ambience-dialog-icon .icon{width:20px;height:20px}.ambience-dialog h2{margin:0;font-size:1.35rem;line-height:1.3;letter-spacing:-.025em;font-weight:600}.ambience-dialog p{color:var(--theme-muted);margin:16px 0}.ambience-dialog .ambience-consent-note{font-size:12px;line-height:1.75}.ambience-volume{display:grid;grid-template-columns:1fr auto;gap:10px;margin:22px 0 12px;color:var(--theme-text);font-weight:500}.ambience-volume>span{grid-column:1}.ambience-volume output{grid-column:2;grid-row:1;color:var(--theme-muted);font-size:12px;min-width:34px;text-align:right}.ambience-volume input{grid-row:2;grid-column:1/-1;width:100%;margin:0;min-height:32px;accent-color:var(--theme-main);cursor:pointer}.ambience-dialog .ambience-status{min-height:40px;font-size:12px;color:var(--theme-muted)}.ambience-dialog-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}.ambience-dialog button{border:1px solid var(--line);border-radius:7px;min-height:42px;padding:9px 13px;background:var(--theme-paper);color:var(--theme-main);font:500 13px/1.4 Inter,"Segoe UI",Arial,sans-serif;cursor:pointer}.ambience-dialog .ambience-primary{background:var(--theme-main);border-color:var(--theme-main);color:var(--theme-paper)}.ambience-dialog .ambience-forget{border:0;padding:8px 0;margin-top:12px;font-size:12px;color:var(--theme-muted);text-decoration:underline}.ambience-dialog button:disabled{opacity:.6;cursor:default}
@media(max-width:600px){.ambience-controls{font-size:11px}.ambience-toggle{padding:7px 9px;min-height:38px;gap:5px}.ambience-settings{min-height:38px;padding:7px}.ambience-dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){.ambience-controls *,.ambience-dialog *{animation:none!important;transition:none!important}}

}

@layer legacy{
/* Original SVG previews stay legible on an intentional paper surface in every theme. */
.game-cover{display:block;position:relative;width:100%;min-width:0;aspect-ratio:8/5;overflow:hidden;isolation:isolate;border-radius:12px;background:#f3f1e9;line-height:0;contain:paint}
.game-cover>img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.game-cover--small{border-radius:9px}
.game-cover--large{border-radius:16px}
.game-cover--room{height:100%;border-radius:inherit}
html[data-mode="dark"] .game-cover{outline:1px solid #ffffff16;outline-offset:-1px}
@media(prefers-reduced-motion:reduce){.game-cover,.game-cover>img{animation:none!important;transition:none!important}}

}

@layer legacy{
.activity-directory{margin:0;font:16px/1.65 Inter,system-ui,sans-serif;background:var(--theme-page);color:var(--theme-text)}.activity-directory *{box-sizing:border-box}.activity-directory header,.activity-directory footer{padding:24px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line)}.activity-directory nav{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap}.activity-directory nav a{color:var(--theme-text);font-size:.83rem;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.activity-directory nav .directory-brand{font-size:1.8rem;font-weight:750;letter-spacing:-.07em;margin-right:auto}body.activity-directory>main{max-width:1228px;margin:0 auto;padding:48px 24px}.activity-directory h1{font-size:clamp(2.3rem,5vw,4rem);letter-spacing:-.055em;line-height:1.1;margin:12px 0 20px}.directory-intro{max-width:720px;margin-bottom:32px}.directory-intro>p:not(.directory-eyebrow){color:var(--theme-muted);font-size:1rem}.directory-eyebrow{font-size:.65rem;letter-spacing:.13em;font-weight:650}.directory-search{padding:24px;background:var(--theme-soft);border:1px solid var(--line);border-radius:10px}.directory-search label{display:grid;gap:6px;font-size:.73rem;font-weight:600;color:var(--theme-muted)}.directory-search input,.directory-search select{min-height:46px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--theme-paper);color:var(--theme-text);font:inherit;font-size:.87rem}.directory-search input{min-height:54px;font-size:1rem}.directory-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-top:18px}.directory-filters select{min-width:0}.directory-filters button,.directory-empty button{border:1px solid var(--line);min-height:46px;padding:10px 16px;border-radius:7px;background:var(--theme-paper);color:var(--theme-text);font:inherit;font-size:.8rem}.activity-directory button{cursor:pointer}.activity-directory :focus-visible{outline:3px solid var(--theme-main);outline-offset:3px}#directory-count{font-size:.8rem;color:var(--theme-muted);margin:24px 0 16px}.directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.directory-card{min-width:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--theme-paper);transition:border-color .15s}.directory-card:hover{border-color:var(--theme-main)}.directory-card>a{color:var(--theme-text);text-decoration:none;display:flex;height:100%;flex-direction:column}.directory-card .game-cover{border-bottom:1px solid var(--line);border-radius:0}.directory-card-copy{display:flex;flex:1;flex-direction:column;padding:17px}.directory-card-copy strong{font-size:1rem;font-weight:650;line-height:1.4;letter-spacing:-.02em}.directory-card-copy>span{font-size:.77rem;line-height:1.7;margin:9px 0 20px;color:var(--theme-muted);flex:1}.directory-card-copy small{display:flex;gap:6px;justify-content:space-between;flex-wrap:wrap;font-size:.69rem;color:var(--theme-muted)}.directory-card-copy b{font-weight:600;color:var(--theme-text)}#directory-sponsors-title{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--theme-muted);margin:40px 0 12px}.directory-sponsors{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:0}.directory-empty{padding:40px 24px;border:1px dashed var(--line);border-radius:10px}.activity-directory footer{border-top:1px solid var(--line);margin-top:30px}.activity-directory footer strong{font-size:1.7rem;letter-spacing:-.06em}.activity-directory footer p,.activity-directory footer small{font-size:.78rem;color:var(--theme-muted)}.activity-directory .skip-link{position:absolute;top:-80px;left:20px;padding:12px;background:var(--theme-paper);z-index:100}.activity-directory .skip-link:focus{top:12px}[hidden]{display:none!important}@media(max-width:1000px){.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-filters button{justify-self:start}}@media(max-width:600px){body.activity-directory>main{padding:32px 16px}.activity-directory header,.activity-directory footer{padding:16px}.activity-directory nav{gap:8px 18px}.activity-directory nav .directory-brand{flex-basis:100%}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.directory-card-copy{padding:13px}.directory-card-copy strong{font-size:.91rem}.directory-card-copy>span{font-size:.71rem}.directory-card-copy small{font-size:.64rem}.directory-search{padding:17px}.directory-search input{font-size:.85rem}.directory-filters{gap:12px 9px}.directory-filters select{font-size:.76rem}.directory-sponsors{grid-template-columns:1fr;gap:16px}}@media(prefers-reduced-motion:reduce){.directory-card{transition:none}}
.activity-directory .static-header-actions{display:flex;align-items:center;justify-content:flex-end;flex:0 0 170px;width:170px;min-height:44px}

}

