/* ICU-SUBU-VIS-0207 Holiday Themes — isolated visual layer */
:root{--ht-ink:#17201d;--ht-muted:#5f6964;--ht-paper:#fbfaf5;--ht-card:#fffef9;--ht-line:#d8ddd6;--ht-deep:#183b36;--ht-ember:#b44b35;--ht-gold:#a47a28;--ht-spruce:#245a4d;--ht-night:#1d2a42;--ht-lilac:#725b8f;--ht-radius:22px;--ht-shadow:0 18px 46px rgba(23,32,29,.08)}
body.ht-page{background:linear-gradient(180deg,#fbfaf5 0,#f5f7f3 50%,#fbfaf5 100%);color:var(--ht-ink)}
.ht-page main{overflow:hidden}.ht-wrap{width:min(1160px,calc(100% - 32px));margin-inline:auto}.ht-narrow{width:min(820px,calc(100% - 32px));margin-inline:auto}
.ht-localbar{border-bottom:1px solid var(--ht-line);background:rgba(251,250,245,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.ht-localbar .ht-wrap{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:10px 0}.ht-local-title{font-weight:800;color:var(--ht-deep);text-decoration:none;white-space:nowrap}.ht-localnav{display:flex;gap:6px;overflow:auto;padding:2px}.ht-localnav a{color:var(--ht-ink);text-decoration:none;padding:8px 10px;border-radius:999px;white-space:nowrap;font-size:.92rem}.ht-localnav a[aria-current="page"],.ht-localnav a:hover,.ht-localnav a:focus-visible{background:#e9efe9;color:var(--ht-deep)}
.ht-hero{padding:54px 0 34px}.ht-kicker{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.76rem;color:var(--ht-spruce)}.ht-hero h1{font-size:clamp(2.35rem,6vw,5.6rem);line-height:.96;max-width:920px;margin:.35rem 0 1rem;letter-spacing:-.045em}.ht-lede{font-size:clamp(1.06rem,2vw,1.34rem);line-height:1.6;max-width:850px;color:#39433f}.ht-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.ht-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 15px;border:1px solid var(--ht-line);border-radius:999px;background:var(--ht-card);color:var(--ht-ink);font-weight:750;text-decoration:none;cursor:pointer}.ht-button.primary{background:var(--ht-deep);color:white;border-color:var(--ht-deep)}.ht-button:hover,.ht-button:focus-visible{transform:translateY(-1px);box-shadow:0 8px 20px rgba(23,32,29,.09)}
.ht-ribbon{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:30px}.ht-ribbon span{height:12px;border-radius:999px}.ht-ribbon span:nth-child(1){background:var(--ht-deep)}.ht-ribbon span:nth-child(2){background:var(--ht-ember)}.ht-ribbon span:nth-child(3){background:var(--ht-gold)}.ht-ribbon span:nth-child(4){background:var(--ht-spruce)}.ht-ribbon span:nth-child(5){background:var(--ht-night)}.ht-ribbon span:nth-child(6){background:var(--ht-lilac)}
.ht-section{padding:40px 0}.ht-section+.ht-section{border-top:1px solid var(--ht-line)}.ht-section-head{display:flex;gap:24px;justify-content:space-between;align-items:end;margin-bottom:22px}.ht-section-head h2{margin:0;font-size:clamp(1.7rem,4vw,3rem);letter-spacing:-.025em}.ht-section-head p{max-width:580px;color:var(--ht-muted);margin:0;line-height:1.6}
.ht-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ht-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ht-card{background:var(--ht-card);border:1px solid var(--ht-line);border-radius:var(--ht-radius);padding:20px;box-shadow:0 1px 0 rgba(23,32,29,.02)}.ht-card h3{margin:.2rem 0 .5rem;font-size:1.15rem}.ht-card p{color:#49534e;line-height:1.58}.ht-card a{color:var(--ht-deep);font-weight:750}.ht-card .ht-meta{font-size:.82rem;color:var(--ht-muted);text-transform:uppercase;letter-spacing:.06em}.ht-card[data-hidden="true"]{display:none}
.ht-callout{border-left:4px solid var(--ht-gold);background:#fff9e8;padding:16px 18px;border-radius:0 16px 16px 0}.ht-callout strong{color:#604816}.ht-boundary{border:1px dashed #c8a65b;background:#fffdf6;border-radius:18px;padding:18px}.ht-boundary code{font-size:.9em}.ht-status{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:#edf4ef;color:#1d5948;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.ht-status::before{content:"";width:8px;height:8px;border-radius:50%;background:#2f7b62}.ht-status.interpretive{background:#f3eef7;color:#5a4770}.ht-status.interpretive::before{background:#725b8f}
.ht-axis{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.ht-axis .pole{padding:18px;border:1px solid var(--ht-line);border-radius:18px;background:var(--ht-card);font-weight:850;font-size:1.15rem}.ht-axis .line{height:2px;width:74px;background:linear-gradient(90deg,var(--ht-deep),var(--ht-gold),var(--ht-ember));position:relative}.ht-axis .line::after{content:"";position:absolute;right:0;top:-4px;border-left:8px solid var(--ht-ember);border-top:5px solid transparent;border-bottom:5px solid transparent}
.ht-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.ht-filter{border:1px solid var(--ht-line);background:var(--ht-card);border-radius:999px;padding:9px 12px;cursor:pointer;font:inherit}.ht-filter[aria-pressed="true"]{background:var(--ht-deep);color:white;border-color:var(--ht-deep)}.ht-no-results{display:none;padding:18px;border:1px dashed var(--ht-line);border-radius:16px}.ht-no-results[data-visible="true"]{display:block}
.ht-trait-signal{display:flex;gap:6px;margin:12px 0}.ht-trait-signal i{display:block;width:22px;height:22px;border-radius:7px;background:#edf0eb;border:1px solid #d8ddd6}.ht-trait-signal i:nth-child(2){background:#f1e3be}.ht-trait-signal i:nth-child(3){background:#dce8e3}.ht-trait-signal i:nth-child(4){background:#e4dce8}
.ht-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:stretch}.ht-matrix>div{min-height:100px;border:1px solid var(--ht-line);border-radius:16px;padding:13px;background:var(--ht-card)}.ht-matrix strong{display:block;margin-bottom:6px}.ht-matrix small{color:var(--ht-muted);line-height:1.4}
.ht-playground{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}.ht-controls{display:grid;gap:16px}.ht-field{display:grid;gap:7px}.ht-field label,.ht-field legend{font-weight:800}.ht-field select,.ht-field input[type="range"]{width:100%;min-height:44px}.ht-preview{min-height:360px;border:1px solid var(--ht-line);border-radius:26px;padding:22px;background:var(--ht-card);box-shadow:var(--ht-shadow);position:relative;overflow:hidden}.ht-preview-stage{position:relative;height:180px;border-radius:18px;background:linear-gradient(135deg,#f6f2e7,#eef3ee);overflow:hidden;border:1px solid #e0e4dc}.ht-preview-stage::before,.ht-preview-stage::after{content:"";position:absolute;inset:auto;border-radius:50%;filter:blur(.2px);transition:transform .25s ease,opacity .25s ease}.ht-preview-stage::before{width:110px;height:110px;left:16%;top:18%;background:rgba(180,75,53,.72)}.ht-preview-stage::after{width:150px;height:150px;right:10%;bottom:-20%;background:rgba(36,90,77,.72)}.ht-preview[data-density="1"] .ht-preview-stage{background-image:radial-gradient(circle at 20% 25%,rgba(164,122,40,.28) 0 3px,transparent 4px)}.ht-preview[data-density="2"] .ht-preview-stage{background-image:radial-gradient(circle at 20% 25%,rgba(164,122,40,.34) 0 4px,transparent 5px),radial-gradient(circle at 75% 35%,rgba(29,42,66,.22) 0 5px,transparent 6px)}.ht-preview[data-density="3"] .ht-preview-stage{background-image:radial-gradient(circle,rgba(164,122,40,.35) 0 4px,transparent 5px);background-size:34px 34px}.ht-preview[data-density="4"] .ht-preview-stage{background-image:radial-gradient(circle,rgba(164,122,40,.42) 0 5px,transparent 6px);background-size:22px 22px}.ht-preview[data-symmetry="high"] .ht-preview-stage::before{left:calc(50% - 115px);top:35px}.ht-preview[data-symmetry="high"] .ht-preview-stage::after{right:calc(50% - 115px);bottom:35px;width:110px;height:110px}.ht-preview[data-atmosphere="quiet"] .ht-preview-stage::before{transform:scale(.55);opacity:.65}.ht-preview[data-atmosphere="spectacle"] .ht-preview-stage::before{transform:scale(1.45)}.ht-preview[data-atmosphere="spectacle"] .ht-preview-stage::after{transform:scale(1.25)}.ht-recipe{margin-top:18px}.ht-recipe h3{margin:.2rem 0}.ht-recipe ul{padding-left:1.2rem}.ht-recipe li{margin:.35rem 0}
.ht-trail{counter-reset:step}.ht-trail li{counter-increment:step;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;margin:10px 0;list-style:none}.ht-trail li::before{content:counter(step);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ht-deep);color:white;font-weight:800}
.ht-source-row{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--ht-line)}.ht-source-row:first-child{border-top:0}.ht-source-row code{font-weight:800;color:var(--ht-deep)}
.ht-related{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ht-related a{display:inline-flex;padding:8px 10px;border:1px solid var(--ht-line);border-radius:999px;text-decoration:none;background:#fff}
.ht-footer-note{padding:28px 0 40px;color:var(--ht-muted);font-size:.9rem}.ht-breadcrumbs{padding:18px 0 0;font-size:.9rem;color:var(--ht-muted)}.ht-breadcrumbs a{color:var(--ht-deep)}
@media (max-width:900px){.ht-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ht-playground{grid-template-columns:1fr}.ht-matrix{grid-template-columns:repeat(2,1fr)}.ht-section-head{display:block}.ht-section-head p{margin-top:10px}.ht-localbar{position:static}.ht-source-row{grid-template-columns:1fr}}
@media (max-width:620px){.ht-grid,.ht-grid.two{grid-template-columns:1fr}.ht-wrap,.ht-narrow{width:min(100% - 22px,1160px)}.ht-hero{padding-top:34px}.ht-ribbon{gap:4px}.ht-axis{grid-template-columns:1fr}.ht-axis .line{width:2px;height:38px;margin:auto;background:linear-gradient(var(--ht-deep),var(--ht-gold),var(--ht-ember))}.ht-axis .line::after{right:-4px;top:auto;bottom:-2px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:8px solid var(--ht-ember);border-bottom:0}.ht-matrix{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ht-button,.ht-preview-stage::before,.ht-preview-stage::after{transition:none!important;scroll-behavior:auto!important}.ht-button:hover,.ht-button:focus-visible{transform:none}}
@media (forced-colors:active){.ht-card,.ht-preview,.ht-preview-stage,.ht-filter,.ht-button{border:1px solid CanvasText}.ht-status::before{background:CanvasText}}
