/* Comfortable spacing on streamer management and public pages. */
.debt-manager main,.streamer-home main{padding-top:40px;padding-bottom:80px}
.debt-manager .heading,.streamer-home .heading{margin-bottom:32px}
.debt-manager .work-heading{gap:20px;margin-bottom:20px;flex-wrap:wrap}
.debt-manager .work-heading p{margin:10px 0 0;line-height:1.75}
.debt-manager .manager-tabs{gap:12px;margin:20px 0 32px;padding-bottom:20px}
.debt-manager .card{padding:28px;margin:22px 0}
.debt-manager .profile-editor{max-width:1040px;padding:32px}
.debt-manager .profile-editor>label{margin:24px 0 10px}
.debt-manager .profile-editor>label:first-child{margin-top:0}
.debt-manager .profile-links-editor,.debt-manager .home-customize{margin:36px 0;padding-top:32px}
.debt-manager .profile-links-editor>h3,.debt-manager .home-customize>h3{margin-bottom:16px;font-size:19px}
.debt-manager .hint{line-height:1.8;margin-top:12px;margin-bottom:18px}
.debt-manager .profile-photo-editor{gap:24px;margin:24px 0}
.debt-manager .profile-photo-editor label{display:block;margin-bottom:10px;font-weight:650}
.debt-manager .profile-link-row{gap:16px;margin:16px 0}
.debt-manager .channel-tabs{gap:12px;margin:22px 0}
.debt-manager .form-grid{gap:20px;margin:22px 0}
.debt-manager .form-grid label{display:grid;gap:9px;align-content:start;line-height:1.6}
.debt-manager .inline{gap:12px;margin:20px 0;flex-wrap:wrap}
.debt-manager .inline>input:not([type=checkbox]){flex:1 1 260px}
.debt-manager button,.streamer-home button{min-height:42px}
.debt-manager .settings-grid{gap:24px}
.debt-manager .inclusion-settings{padding:20px 22px!important;margin:20px 0!important}
.debt-manager .inclusion-tools,.debt-manager .selection-toolbar{gap:12px}
.debt-manager .donors,.streamer-home .donors{gap:22px;margin-top:24px}
.debt-manager .donor,.streamer-home .donor{padding:24px}
.debt-manager .donor-head,.streamer-home .donor-head{gap:14px;margin-bottom:20px}
.debt-manager .item,.streamer-home .item{padding:14px 0;gap:12px}
.debt-manager .pin-editor{margin:18px 0}
.debt-manager .pin-editor summary{padding:20px;gap:14px}
.debt-manager .pin-editor-fields{padding:4px 22px 24px}
.debt-manager .pin-editor-fields>label{margin:22px 0 10px}
.debt-manager .pin-editor-tools{padding-top:20px;gap:16px}
.debt-manager .pin-editor-tools>div{gap:10px}
.debt-manager .pin-add-actions{gap:12px;margin-top:22px}
.streamer-home .home-tabs{margin:32px 0;gap:12px;padding-bottom:18px}
.streamer-home .home-pins{gap:24px;margin-bottom:32px}
.streamer-home .pin-copy{padding:28px}
.streamer-home .pin-copy h2{margin-bottom:14px}
.streamer-home .pin-copy p{line-height:1.85;margin-bottom:18px}
.streamer-home .toolbar{gap:14px;margin:26px 0 22px;flex-wrap:wrap}
.streamer-home .toolbar>input{flex:1 1 220px}
.streamer-home .streamer-intro{max-width:none;padding:40px}
.streamer-home #introBio{margin-top:20px;line-height:1.9}
.streamer-home .calendar-day-heading{margin:32px 0 20px}
.streamer-home .calendar-agenda article{padding:24px 0;gap:20px}
.streamer-home .calendar-agenda h3{margin:12px 0}
.streamer-home .history-panel{margin-top:32px;padding:28px}
.streamer-home .history-entry{padding:24px 0}
.streamer-home .type-tabs{gap:12px;margin:26px 0 20px}
.streamer-home .type-tabs button{padding:12px 22px}
.management-dialog .dialog-actions{gap:12px;margin-top:28px;flex-wrap:wrap}

/* Theme controls and a miniature full-page preview. */
.theme-palettes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 28px}
.theme-palettes button{display:flex;gap:12px;justify-content:flex-start;background:#fff;color:#354052;border:1px solid #dce2ea;padding:14px;white-space:normal}
.theme-palettes button[aria-pressed=true]{outline:2px solid #65758e;outline-offset:3px}
.theme-palettes button>span{width:38px;height:30px;flex-shrink:0;border-radius:8px;border:1px solid #0001;box-shadow:inset -12px -8px 0 #ffffff6b}
.palette-lavender>span{background:#c7b8ed}.palette-rose>span{background:#e6a7bd}.palette-mint>span{background:#9dd4c0}.palette-sky>span{background:#a2c2f0}.palette-cream>span{background:#dbcba8}.palette-midnight>span{background:#393b5b}
.theme-control-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;margin:28px 0}
.theme-control-grid label{display:flex;flex-direction:column;gap:12px;font-weight:650;font-size:14px;min-width:0}
.theme-control-grid input[type=color]{width:100%;height:46px;padding:5px 7px;cursor:pointer}
.theme-control-grid select{width:100%;font-weight:400;min-height:46px}
.cover-url-label{display:block;font-weight:650;margin:28px 0 12px}
.theme-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 16px}
.theme-preview-heading>span{font-size:13px;color:#778195}
.theme-preview-surface{padding:28px;border:1px solid #dce2ea;border-radius:20px;overflow:hidden}
.theme-demo-heading{display:flex;align-items:center;gap:20px;margin:6px 0 24px}
.theme-demo-heading .streamer-monogram{flex-shrink:0;margin:0;width:58px;height:58px;font-size:25px}
.theme-demo-heading h3{font-size:22px;overflow-wrap:anywhere}
.theme-demo-heading p{font-size:13px;margin:8px 0;line-height:1.75}
.theme-demo-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0;padding-bottom:18px}
.theme-demo-tabs>span{padding:9px 12px;font-size:13px;border-radius:10px}
.theme-demo-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.theme-demo-cards .donor{padding:22px;min-width:0}
.theme-demo-cards h3{font-size:16px}
.theme-demo-button{display:inline-flex;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700;margin-top:10px}
.theme-preview-surface .card{margin:20px 0;padding:24px}
.theme-preview-surface .hint{font-size:13px;margin-bottom:0}
.home-cover{overflow:hidden;border-radius:var(--home-radius,24px);margin-bottom:32px;background:var(--home-tint,#eeebfa);aspect-ratio:3.5/1}
.home-cover img{display:block;width:100%;height:100%;object-fit:cover}

/* The same tokens drive the public home and its editor preview. */
.theme-surface{--home-bg:#f1eef9;--home-surface:#fff;--home-text:#172033;--home-page-text:#172033;--home-muted:#586073;--home-border:#dadee5;--home-tint:#efedfa;--home-accent:#6552cf;--home-accent-text:#6552cf;--home-radius:24px;--home-shadow:none;--home-pattern-color:#dedbe8;background-color:var(--home-bg);color:var(--home-page-text);font-family:var(--home-font,system-ui,sans-serif)}
.theme-surface[data-theme-pattern=plain]{background-image:none}
.theme-surface[data-theme-pattern=gradient]{background-image:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--home-accent),transparent 86%),transparent 65%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--home-accent),transparent 92%),transparent 70%);background-size:100% 100%;background-repeat:no-repeat}
.theme-surface[data-theme-pattern=dots]{background-image:radial-gradient(var(--home-pattern-color) 1px,transparent 1px);background-size:22px 22px}
.theme-surface[data-theme-pattern=grid]{background-image:linear-gradient(var(--home-pattern-color) 1px,transparent 1px),linear-gradient(90deg,var(--home-pattern-color) 1px,transparent 1px);background-size:30px 30px}
.theme-surface :is(.card,.donor,.pin-card,.empty){background:var(--home-surface);color:var(--home-text);border-color:var(--home-border);border-radius:var(--home-radius);box-shadow:var(--home-shadow)}
.theme-surface[data-theme-card=outline] :is(.card,.donor,.pin-card){border-width:2px}
.theme-surface .pin-notice{border-left:5px solid var(--home-accent);background:var(--home-surface)}
.theme-surface :is(.card,.donor,.pin-copy,.calendar-agenda) :is(p,small,.hint){color:var(--home-muted)}
.theme-surface :is(.eyebrow,.pin-label,.pin-open,.intro-links a,.donor-head strong,.history-change>b){color:var(--home-accent-text)}
.theme-surface .heading strong{color:var(--home-page-text)}
.theme-surface :is(.home-tabs,.item,.history-entry,.calendar-agenda article){border-color:var(--home-border)}
.theme-surface .home-tabs,.theme-surface .type-tabs{background:var(--home-surface);padding:12px;border:1px solid var(--home-border);border-radius:var(--home-radius);color:var(--home-text)}
.theme-surface button,.theme-surface .button,.theme-surface .theme-demo-button{background:var(--home-accent);color:var(--home-on-accent,#fff);border-color:transparent}
.theme-surface nav button,.theme-surface button.secondary{background:var(--home-surface);color:var(--home-text);border-color:var(--home-border)}
.theme-surface .home-tabs button.selected,.theme-surface button.selected,.theme-surface .theme-demo-tabs .selected{background:var(--home-tint);color:var(--home-accent-text);border-color:var(--home-accent)}
.theme-surface .type-tabs button{background:transparent;color:var(--home-text)}
.theme-surface .type-tabs button.selected{background:var(--home-tint);color:var(--home-accent-text)}
.theme-surface .type-tabs button span{background:var(--home-tint);color:var(--home-accent-text)}
.theme-surface input,.theme-surface select{background:var(--home-surface);color:var(--home-text);border-color:var(--home-border);accent-color:var(--home-accent)}
.theme-surface input::placeholder{color:var(--home-muted)}
.theme-surface .calendar-day{background:var(--home-surface);color:var(--home-text);border-color:var(--home-border)}
.theme-surface .calendar-day.is-selected{background:var(--home-tint);color:var(--home-text);box-shadow:inset 0 0 0 1px var(--home-accent);border-color:var(--home-accent)}
.theme-surface .calendar-day small:not(.is-off),.theme-surface .event-badge:not(.is-off){background:var(--home-tint);color:var(--home-accent-text)}
.theme-surface .calendar-day.is-today>span{background:var(--home-accent);color:var(--home-on-accent,#fff)}
.theme-surface .calendar-day em,.theme-surface .calendar-week,.theme-surface .event-visibility{color:var(--home-muted)}
.theme-surface .calendar-empty{background:var(--home-tint);color:var(--home-text)}
.theme-surface .streamer-monogram,.theme-surface #introLinks a{background:var(--home-tint);color:var(--home-accent-text);border-color:var(--home-border);border-radius:var(--home-radius)}
.theme-surface .history-meta time,.theme-surface .history-entry>p,.theme-surface .history-change>span:first-child{color:var(--home-muted)}
.theme-surface .history-change>strong{background:var(--home-tint);color:var(--home-accent-text)}
.theme-surface header,.theme-surface footer{background:var(--home-surface);color:var(--home-text);border-color:var(--home-border)}
.theme-surface header a,.theme-surface footer a{color:var(--home-accent-text)}
.theme-surface header .home-button{border-color:var(--home-border)}
.theme-surface header .home-button:hover{background:var(--home-tint)}
.theme-surface #homeNotice:not(:empty),.theme-surface #publicNotice:not(:empty){background:var(--home-tint);color:var(--home-text);border-color:var(--home-border)}
.theme-surface #publicNotice.error{background:#fff0f0;color:#923544}
.theme-surface .pin-video{color:#fff}
.theme-surface .pin-video-play{background:#fffffff0;color:#253044}
.theme-surface :is(button,a,input,select,summary):focus-visible{outline:3px solid var(--home-accent);outline-offset:3px}
@media(max-width:700px){.debt-manager main,.streamer-home main{padding:26px 16px 60px}.debt-manager .profile-editor,.debt-manager .card{padding:22px}.theme-palettes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.theme-preview-surface{padding:20px}.theme-demo-cards{grid-template-columns:1fr}.theme-demo-heading{gap:14px}.theme-demo-heading h3{font-size:18px}.theme-demo-tabs{gap:6px}.theme-demo-tabs>span{padding:8px;font-size:12px}.debt-manager .manager-tabs{gap:10px}.debt-manager .work-heading{align-items:flex-start}.debt-manager .pin-editor summary{padding:18px}.debt-manager .pin-editor-fields{padding:2px 18px 20px}.debt-manager .profile-links-editor,.debt-manager .home-customize{margin:30px 0;padding-top:28px}.streamer-home .streamer-intro,.streamer-home .pin-copy,.streamer-home .history-panel{padding:24px}.streamer-home .home-tabs{gap:8px}.streamer-home .home-tabs button{font-size:14px;padding:10px}.streamer-home .calendar-month{gap:10px;flex-wrap:wrap}.streamer-home .calendar-month>div{gap:10px}.streamer-home .calendar-day-heading{gap:12px;flex-wrap:wrap}.home-cover{aspect-ratio:2.4/1;margin-bottom:24px}.theme-preview-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:380px){.theme-control-grid{grid-template-columns:1fr}.theme-palettes button{padding:11px;gap:8px;font-size:13px}.theme-demo-heading{align-items:flex-start}.theme-demo-heading .streamer-monogram{width:42px;height:42px}.streamer-home .home-tabs button{font-size:12px;padding:8px 6px}}

.theme-surface main>.heading .eyebrow{color:var(--home-page-muted,var(--home-page-text))}.theme-surface #homeCalendar>.hint,.theme-surface #updated{color:var(--home-page-muted,var(--home-page-text))}
/* Public home customization and guided editors. */
.home-image-picker{border:1px solid #dcd8e8;border-radius:16px;padding:24px;margin:24px 0;display:grid;gap:14px;min-width:0}.home-image-picker legend{font-weight:750;padding:0 8px}.home-image-picker input{min-width:0;width:100%}.home-image-picker button{justify-self:start}.home-image-picker .hint{margin:0}
.career-add-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.career-type-choice{padding:20px;background:#f7f5fc;border:1px solid #dfdaec;border-radius:14px}.career-type-choice button{width:100%;white-space:normal}.career-type-choice p{font-size:14px;line-height:1.8;color:#615a72;margin:14px 0 0}
.theme-surface{font-size:var(--home-font-size,16px)}.theme-surface :is(button,input,select,textarea){font-family:inherit}.theme-surface :is(.intro-bio,.pin-copy p,.career-note p,.career-record p,.career-event p,.career-fixed dd,.event-description,.theme-demo-heading p){font-size:var(--home-font-size,16px)}
.theme-surface[data-theme-photo=true]{background-image:linear-gradient(#ffffff38,#ffffff38),var(--home-photo);background-size:cover;background-position:center;background-attachment:fixed}
.theme-surface[data-profile-layout=center] :is(.intro-summary,.theme-demo-heading){display:flex;flex-direction:column;text-align:center;align-items:center}.theme-surface[data-profile-layout=reverse] :is(.intro-summary,.theme-demo-heading){display:flex;flex-direction:row-reverse}.theme-surface[data-profile-layout=reverse] .intro-summary>div{flex:1}
.streamer-home[data-nav-position=bottom]{padding-bottom:110px}.streamer-home[data-nav-position=bottom] #homeNav{position:fixed;top:auto;bottom:14px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);margin:0;z-index:30;box-shadow:0 8px 32px #0002;flex-wrap:wrap}.theme-preview-surface[data-nav-position=bottom]{display:flex;flex-direction:column}.theme-preview-surface[data-nav-position=bottom] .theme-demo-tabs{order:10}
.theme-surface .calendar-day small.is-collab,.theme-surface .event-badge.is-collab,.calendar-day small.is-collab,.event-badge.is-collab{background:#e3f5ef;color:#11614d;border:1px solid #acd9c8}
@media(max-width:600px){.theme-surface[data-profile-layout=reverse] .intro-summary{flex-direction:column;align-items:center}.home-image-picker{padding:18px}.streamer-home[data-nav-position=bottom] #homeNav button{padding:10px;font-size:14px}}
.theme-surface #introBio{font-size:var(--home-font-size,16px)}.theme-surface[data-profile-layout=reverse] .intro-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 100px}.theme-surface[data-profile-layout=reverse] .intro-summary .intro-avatar{grid-column:3;grid-row:1}.theme-surface[data-profile-layout=reverse] #introName{grid-column:2;grid-row:1}.theme-surface[data-profile-layout=reverse] #introBio{grid-column:1;grid-row:1}.theme-surface[data-profile-layout=reverse] .intro-summary>div{flex:initial}@media(max-width:600px){.theme-surface[data-profile-layout=reverse] .intro-summary{display:flex;flex-direction:column}}
@font-face{font-family:'Gowun Dodum';src:url('/fonts/GowunDodum-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Gowun Batang';src:url('/fonts/GowunBatang-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Jua';src:url('/fonts/Jua-Regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'Black Han Sans';src:url('/fonts/BlackHanSans-Regular.woff') format('woff');font-weight:400;font-display:swap}
.theme-surface[data-theme-pattern=stripes]{background-image:repeating-linear-gradient(135deg,transparent 0 18px,var(--home-pattern-color) 18px 20px);background-size:56px 56px}
.theme-surface[data-theme-pattern=checker]{background-image:conic-gradient(var(--home-pattern-color) 25%,transparent 0 50%,var(--home-pattern-color) 0 75%,transparent 0);background-size:56px 56px}
.theme-surface[data-theme-pattern=waves]{background-image:radial-gradient(ellipse at 50% 0,transparent 56%,var(--home-pattern-color) 57% 60%,transparent 61%);background-size:60px 30px}
.theme-surface[data-theme-pattern=stars]{background-image:radial-gradient(circle at 12px 12px,var(--home-pattern-color) 2px,transparent 3px),radial-gradient(circle at 38px 38px,var(--home-accent) 1px,transparent 2px);background-size:64px 64px}
.theme-surface[data-theme-pattern=aurora]{background-image:radial-gradient(ellipse at 15% 15%,color-mix(in srgb,var(--home-accent),transparent 70%),transparent 60%),radial-gradient(ellipse at 85% 80%,color-mix(in srgb,var(--home-accent),transparent 84%),transparent 65%);background-size:150% 150%}
.theme-surface[data-theme-effect=drift]:not([data-theme-pattern=plain]){animation:home-drift 40s linear infinite}.theme-surface[data-theme-effect=breathe]:not([data-theme-pattern=plain]){animation:home-breathe 18s ease-in-out infinite alternate}
@keyframes home-drift{to{background-position:128px 64px}}@keyframes home-breathe{to{background-position:45px 25px}}
@media(prefers-reduced-motion:reduce){.theme-surface[data-theme-effect]{animation:none!important}}
:is(.calendar-day small,.event-badge).is-broadcast{background:var(--event-broadcast,#6552cf)!important;color:var(--event-broadcast-ink,#fff)!important;border-color:transparent!important}:is(.calendar-day small,.event-badge).is-off{background:var(--event-off,#b34b64)!important;color:var(--event-off-ink,#fff)!important;border-color:transparent!important}:is(.calendar-day small,.event-badge).is-collab{background:var(--event-collab,#178568)!important;color:var(--event-collab-ink,#fff)!important;border-color:transparent!important}.calendar-color-preview{display:flex;flex-wrap:wrap;gap:12px;background:none!important}.calendar-color-preview .event-badge{padding:8px 18px;border-radius:999px}.home-image-picker .theme-control-grid{margin:0}.debt-manager .home-image-picker input[type=color]{width:100%;height:44px;padding:4px}
@font-face{font-family:Pretendard;src:url('/fonts/Pretendard.woff2') format('woff2');font-display:swap}@font-face{font-family:Paperlogy;src:url('/fonts/Paperlogy.woff2') format('woff2');font-display:swap}@font-face{font-family:'Gmarket Sans';src:url('/fonts/GmarketSans.woff') format('woff');font-display:swap}@font-face{font-family:Bookk;src:url('/fonts/Bookk.woff2') format('woff2');font-display:swap}@font-face{font-family:Boardmarker;src:url('/fonts/Boardmarker.woff2') format('woff2');font-display:swap}@font-face{font-family:Uiyeun;src:url('/fonts/Uiyeun.woff') format('woff');font-display:swap}
.debt-manager:has(.home-editor-split) main{max-width:1560px}.home-editor-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}.home-editor-split .profile-editor{max-width:none;margin:0;min-width:0}.home-live-preview{min-width:0;align-self:stretch}.preview-sticky{position:sticky;top:20px}.home-live-preview .theme-preview-surface{max-height:calc(100vh - 160px);overflow:auto;min-height:540px;padding:24px}.home-live-preview .theme-control-grid{grid-template-columns:1fr 1fr}.home-editor-split .theme-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-editor-split .channel-link-edit{grid-template-columns:100px minmax(0,1fr)}.home-editor-split .channel-link-edit input[type=url]{grid-column:1/-1}.theme-demo-heading{position:relative}.theme-demo-heading:has(img:not([hidden])) .streamer-monogram{display:none}.theme-demo-heading img{width:64px;height:64px;object-fit:cover;border-radius:20px}.theme-demo-heading p{white-space:pre-wrap;overflow-wrap:anywhere}#themePreviewLinks{margin:18px 0;padding-top:16px;border-top:1px solid var(--home-border)}#themePreviewContent>section{margin:20px 0}.home-live-preview .calendar-day{min-height:64px;padding:5px;font-size:12px}.home-live-preview .calendar-month{flex-wrap:wrap}.home-live-preview .calendar-month strong{font-size:18px}.home-live-preview .calendar-surface{padding:14px 0}.home-live-preview .calendar-surface button{padding:7px}.theme-surface.calendar-surface{border-radius:20px;background-color:var(--home-bg);color:var(--home-page-text)}.theme-surface :is(.calendar-day,.calendar-empty,.calendar-agenda article){background:var(--home-surface);color:var(--home-text);border-color:var(--home-border)}.theme-surface .calendar-agenda article{padding:18px;border-radius:12px;margin:10px 0}.theme-surface .calendar-week{color:var(--home-page-muted)}.theme-surface .calendar-day.is-selected{border-color:var(--home-accent);box-shadow:inset 0 0 0 1px var(--home-accent);background:var(--home-tint)}.theme-surface .calendar-day.is-today>span{background:var(--home-accent);color:var(--home-on-accent)}
.theme-surface{position:relative;isolation:isolate}.home-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:inherit}.streamer-home>.home-particles{position:fixed}.home-particles span{position:absolute;left:var(--x);top:var(--y);font:var(--size)/1 sans-serif;color:var(--home-accent);opacity:.45;animation:home-twinkle var(--duration) ease-in-out var(--delay) infinite}.home-particles[data-effect=hearts] span{color:color-mix(in srgb,var(--home-accent),#ed6d99 50%);animation-name:home-heart}.home-particles[data-effect=snow] span{animation-name:home-fall}.home-particles[data-effect=bubbles] span{animation-name:home-heart;font-size:calc(var(--size)*1.6)}.home-particles[data-effect=confetti] span{animation-name:home-fall}.home-particles[data-effect=confetti] span:nth-child(3n){color:#df9a39}.home-particles[data-effect=confetti] span:nth-child(3n+1){color:#36a390}@keyframes home-twinkle{0%,100%{opacity:.12;transform:scale(.4) rotate(0)}50%{opacity:.75;transform:scale(1.25) rotate(45deg)}}@keyframes home-heart{0%{opacity:0;transform:translateY(70px) scale(.3)}25%{opacity:.6}85%{opacity:.35}100%{opacity:0;transform:translateY(-160px) scale(1.2)}}@keyframes home-fall{0%{opacity:0;transform:translate(-25px,-100px) rotate(0)}30%,65%{opacity:.55}100%{opacity:0;transform:translate(35px,160px) rotate(180deg)}}
.theme-surface[data-theme-pattern=waves]{background-image:repeating-linear-gradient(165deg,transparent 0 72px,var(--home-pattern-color) 73px 76px,transparent 77px 96px);background-size:220px 180px}.theme-surface[data-theme-pattern=gingham]{background-image:repeating-linear-gradient(0deg,transparent 0 24px,var(--home-pattern-color) 24px 48px),repeating-linear-gradient(90deg,transparent 0 24px,var(--home-pattern-color) 24px 48px);background-size:48px 48px}.theme-surface[data-theme-pattern=diamonds]{background-image:linear-gradient(45deg,var(--home-pattern-color) 25%,transparent 25% 75%,var(--home-pattern-color) 75%),linear-gradient(45deg,var(--home-pattern-color) 25%,transparent 25% 75%,var(--home-pattern-color) 75%);background-position:0 0,24px 24px;background-size:48px 48px}
@media(max-width:1050px){.home-editor-split{grid-template-columns:minmax(0,1fr)}.home-live-preview{grid-row:1}.preview-sticky{position:static}.home-live-preview .theme-preview-surface{min-height:0;max-height:480px}.home-editor-split .channel-link-edit{grid-template-columns:110px 1fr 1.5fr}.home-editor-split .channel-link-edit input[type=url]{grid-column:auto}}
@media(max-width:600px){.home-editor-split{gap:18px}.home-editor-split .channel-link-edit{grid-template-columns:1fr}.home-editor-split .theme-control-grid{grid-template-columns:1fr 1fr}.home-live-preview .theme-preview-surface{padding:16px}.theme-demo-heading{gap:12px}.theme-demo-heading h3{font-size:22px}.home-image-picker{min-width:0}.home-image-picker button{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.theme-surface[data-motion=auto]>.home-particles span{animation:none!important;opacity:.25}}

@font-face{font-family:'parkdahyun';src:url('/fonts/parkdahyun.woff2') format('woff2');font-display:swap}
@font-face{font-family:'corncorn';src:url('/fonts/corncorn.woff2') format('woff2');font-display:swap}
@font-face{font-family:'meetme';src:url('/fonts/meetme.woff2') format('woff2');font-display:swap}
@font-face{font-family:'ryuryu';src:url('/fonts/ryuryu.woff2') format('woff2');font-display:swap}/* Layered color scenes: legacy saved choices retain their values with new visuals. */
.theme-surface{--home-decoration:#a78bfa;--home-decoration-2:#f9a8d4}.theme-surface .home-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-2;border-radius:inherit;contain:paint}.streamer-home>.home-ambient{position:fixed}.home-ambient i{position:absolute;width:72%;height:75%;left:-18%;top:-22%;border-radius:48% 52% 70% 30%;background:radial-gradient(ellipse,color-mix(in srgb,var(--home-decoration),transparent 18%),transparent 70%);filter:blur(20px);opacity:.65;transform:rotate(-18deg)}.home-ambient i:nth-child(2){left:48%;top:25%;background:radial-gradient(ellipse,color-mix(in srgb,var(--home-decoration-2),transparent 12%),transparent 68%);transform:rotate(25deg)}.home-ambient i:nth-child(3){left:10%;top:62%;width:95%;height:48%;background:radial-gradient(ellipse,color-mix(in srgb,var(--home-decoration),var(--home-decoration-2) 60%),transparent 70%);opacity:.45}
.theme-surface[data-theme-pattern=waves]{background-image:repeating-linear-gradient(115deg,transparent 0 70px,color-mix(in srgb,var(--home-decoration),transparent 82%) 71px 73px,transparent 74px 130px),linear-gradient(135deg,transparent 15%,color-mix(in srgb,var(--home-decoration-2),transparent 75%) 50%,transparent 85%);background-size:cover}.theme-surface[data-theme-pattern=waves] .home-ambient i{width:160%;height:32%;left:-25%;top:12%;border-radius:50%;filter:blur(15px);transform:rotate(-25deg)}.theme-surface[data-theme-pattern=waves] .home-ambient i:nth-child(2){top:45%;transform:rotate(25deg)}.theme-surface[data-theme-pattern=waves] .home-ambient i:nth-child(3){top:80%;transform:rotate(-20deg)}
.theme-surface[data-theme-pattern=diamonds]{background-image:radial-gradient(at 15% 15%,color-mix(in srgb,var(--home-decoration),transparent 50%),transparent 55%),radial-gradient(at 85% 60%,color-mix(in srgb,var(--home-decoration-2),transparent 45%),transparent 60%),radial-gradient(at 10% 95%,color-mix(in srgb,var(--home-decoration),transparent 65%),transparent 50%);background-size:cover;background-position:center}
.theme-surface[data-theme-pattern=aurora]{background-image:linear-gradient(145deg,color-mix(in srgb,var(--home-decoration),transparent 60%),transparent 45%,color-mix(in srgb,var(--home-decoration-2),transparent 60%));background-size:cover}
.theme-surface[data-theme-effect=drift],.theme-surface[data-theme-effect=breathe]{animation:none!important}.theme-surface[data-theme-effect=drift]>.home-ambient i{animation:scene-flow 14s ease-in-out infinite alternate}.theme-surface[data-theme-effect=drift]>.home-ambient i:nth-child(2){animation-delay:-7s;animation-duration:18s}.theme-surface[data-theme-effect=drift]>.home-ambient i:nth-child(3){animation-delay:-11s;animation-duration:20s}.theme-surface[data-theme-effect=breathe]>.home-ambient i{animation:scene-pulse 9s ease-in-out infinite alternate}.theme-surface[data-theme-effect=breathe]>.home-ambient i:nth-child(2){animation-delay:-4s}.theme-surface[data-theme-effect=breathe]>.home-ambient i:nth-child(3){animation-delay:-7s}@keyframes scene-flow{from{translate:-8% -5%;rotate:-15deg;scale:.85}to{translate:25% 25%;rotate:30deg;scale:1.35}}@keyframes scene-pulse{from{scale:.65;rotate:-12deg;opacity:.28}to{scale:1.5;rotate:20deg;opacity:.85}}
.home-particles span{color:var(--home-decoration);text-shadow:0 0 12px color-mix(in srgb,var(--home-decoration),transparent 35%)}.home-particles[data-effect=hearts] span{color:var(--home-decoration-2)}.home-particles[data-effect=bubbles] span{color:var(--home-decoration-2);text-shadow:0 0 16px var(--home-decoration)}.theme-surface[data-theme-pattern=stars]{background-image:radial-gradient(circle at 12px 12px,var(--home-pattern-color) 2px,transparent 3px),radial-gradient(circle at 38px 38px,var(--home-decoration-2) 1px,transparent 2px)}
.font-picker-field{min-width:0}.font-picker-field>label{display:block;margin-bottom:8px}.home-font-picker{position:relative;margin:0!important;padding:0!important;border:0!important;background:none!important}.home-font-picker summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;border:1px solid #dcdde7;border-radius:10px;padding:12px 14px;cursor:pointer;background:white;color:#24283b}.home-font-picker summary::-webkit-details-marker{display:none}.home-font-picker summary:focus-visible{outline:3px solid #b8a5eb;outline-offset:3px}.font-picker-options{position:absolute;left:0;top:calc(100% + 6px);width:min(350px,calc(100vw - 80px));z-index:40;max-height:340px;overflow:auto;overscroll-behavior:contain;padding:8px;background:white;border:1px solid #e0dced;border-radius:14px;box-shadow:0 16px 40px #2f1b4e25}.font-picker-options button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:100%;text-align:left;background:white;color:#252837;border:1px solid transparent;padding:12px;margin:0 0 4px;border-radius:9px;white-space:normal}.font-picker-options button:hover,.font-picker-options button[aria-pressed=true]{background:#f3eefc;border-color:#b6a2e4}.font-picker-options button span{font:12px/1.5 system-ui;color:#6a627a}.font-picker-options button strong{font-weight:400;font-size:22px;line-height:1.6}.home-editor-split #profileForm>.home-image-picker{margin:24px 0}.home-editor-split .home-layout-editor{margin-top:28px}
@media(prefers-reduced-motion:reduce){.theme-surface[data-motion=auto]>.home-ambient i{animation:none!important;opacity:.5}}

[data-font="system"]{font-family:system-ui}
[data-font="serif"]{font-family:Georgia,serif}
[data-font="rounded"]{font-family:Arial Rounded MT Bold,sans-serif}
[data-font="mono"]{font-family:monospace}
[data-font="gowun-dodum"]{font-family:"Gowun Dodum",sans-serif}
[data-font="gowun-batang"]{font-family:"Gowun Batang",sans-serif}
[data-font="jua"]{font-family:"Jua",sans-serif}
[data-font="black-han"]{font-family:"Black Han Sans",sans-serif}
[data-font="pretendard"]{font-family:"Pretendard",sans-serif}
[data-font="paperlogy"]{font-family:"Paperlogy",sans-serif}
[data-font="gmarket"]{font-family:"Gmarket Sans",sans-serif}
[data-font="bookk"]{font-family:"Bookk",sans-serif}
[data-font="boardmarker"]{font-family:"Boardmarker",sans-serif}
[data-font="uiyeun"]{font-family:"Uiyeun",sans-serif}
[data-font="parkdahyun"]{font-family:"parkdahyun",sans-serif}
[data-font="corncorn"]{font-family:"corncorn",sans-serif}
[data-font="meetme"]{font-family:"meetme",sans-serif}
[data-font="ryuryu"]{font-family:"ryuryu",sans-serif}
.theme-surface[data-theme-pattern=gradient]{background-image:radial-gradient(ellipse at 0 0,color-mix(in srgb,var(--home-decoration),transparent 65%),transparent 65%),radial-gradient(ellipse at 100% 100%,color-mix(in srgb,var(--home-decoration-2),transparent 65%),transparent 65%)}
#homeFontStyle[hidden]{display:none!important}

/* Explicit layers keep fixed public decorations above the body background. */
.theme-surface>.home-ambient{z-index:0}.theme-surface>.home-particles{z-index:1}
.theme-surface>:not(.home-particles):not(.home-ambient):not(.home-cursor){position:relative;z-index:2}
.streamer-home #homeNav{z-index:5}
.streamer-home .home-tabs button,.theme-surface .theme-demo-tabs>span{font-size:var(--home-menu-font-size,16px);line-height:1.5;white-space:normal}
.theme-surface #themePreviewLinks>span,.theme-surface #introLinks a,.theme-surface .intro-links a{background:var(--home-link-bg,#ece8fc);color:var(--home-link-ink,#172033);border:1px solid color-mix(in srgb,var(--home-link-ink,#172033),transparent 85%);transition:filter .2s,transform .2s}
.theme-surface .intro-links a:hover{filter:brightness(.96);transform:translateY(-2px)}
/* Each effect has a different silhouette, path and timing. */
.home-particles span{will-change:transform,opacity}
.home-particles[data-effect=sparkles] span{animation:home-twinkle var(--duration) ease-in-out var(--delay) infinite}
.home-particles[data-effect=hearts] span{top:110%;font-size:calc(var(--size)*1.3);animation:soha-heart-rise var(--duration) linear var(--delay) infinite}
.home-particles[data-effect=snow] span{top:-40px;font-size:0;width:calc(var(--size)*.22);height:calc(var(--size)*.22);border-radius:50%;background:var(--home-decoration-2);box-shadow:0 0 8px var(--home-decoration-2);animation:soha-snow-fall calc(var(--duration)*1.7) linear var(--delay) infinite}
.home-particles[data-effect=bubbles] span{top:110%;font-size:0;width:calc(var(--size)*2);height:calc(var(--size)*2);border:1.5px solid var(--home-decoration);border-radius:50%;background:radial-gradient(circle at 28% 24%,#ffffffd9 0 4%,transparent 12%),radial-gradient(circle at 60% 65%,transparent 35%,color-mix(in srgb,var(--home-decoration-2),transparent 45%) 80%);box-shadow:inset 0 0 12px #ffffff80;animation:soha-bubble-rise calc(var(--duration)*1.6) ease-in var(--delay) infinite}
.home-particles[data-effect=confetti] span{top:-40px;font-size:0;width:calc(var(--size)*.35);height:calc(var(--size)*.7);border-radius:2px;background:currentColor;animation:soha-confetti-fall var(--duration) linear var(--delay) infinite}
@keyframes soha-heart-rise{0%{opacity:0;transform:translate(0,0) scale(.5)}12%{opacity:.8}50%{transform:translate(35px,-55vh) scale(1)}88%{opacity:.65}100%{opacity:0;transform:translate(-20px,-115vh) scale(1.15)}}
@keyframes soha-snow-fall{0%{opacity:0;transform:translate(-20px,-20px)}10%,85%{opacity:.75}50%{transform:translate(25px,55vh)}100%{opacity:0;transform:translate(-10px,110vh)}}
@keyframes soha-bubble-rise{0%{opacity:0;transform:translate(0,0) scale(.35)}15%{opacity:.65}75%{opacity:.55;transform:translate(-35px,-85vh) scale(1)}100%{opacity:0;transform:translate(20px,-115vh) scale(1.6)}}
@keyframes soha-confetti-fall{0%{opacity:0;transform:translate(-15px,-20px) rotateX(0) rotateZ(0)}10%,85%{opacity:.8}50%{transform:translate(45px,55vh) rotateX(360deg) rotateZ(180deg)}100%{opacity:0;transform:translate(-20px,110vh) rotateX(720deg) rotateZ(420deg)}}
@media(prefers-reduced-motion:reduce){.theme-surface[data-motion=auto]>.home-particles span{animation:none!important;top:var(--y)!important;opacity:.45;will-change:auto}}

.theme-surface[data-motion=off]>.home-particles span{animation:none!important;top:var(--y)!important;opacity:.45;will-change:auto}
.theme-surface[data-motion=off]>.home-ambient i{animation:none!important;will-change:auto}
/* Soft bokeh instead of outlined soap rings. */
.home-particles[data-effect=bubbles] span{border:0;box-shadow:none;filter:blur(2px);background:radial-gradient(circle,color-mix(in srgb,var(--home-decoration-2),white 25%) 0%,color-mix(in srgb,var(--home-decoration-2),transparent 40%) 35%,transparent 72%);width:calc(var(--size)*2.4);height:calc(var(--size)*2.4)}
/* Distinct static silhouettes: layered paper and sharply faceted light. */


.theme-surface:is([data-theme-pattern=petals],[data-theme-pattern=honeycomb]):not([data-theme-effect=drift]):not([data-theme-effect=breathe])>.home-ambient{display:none}

/* Shared public / preview / embed customization. */
.theme-surface .streamer-intro .intro-links,.theme-surface #themePreviewLinks{border-top:var(--home-divider-width,1px) var(--home-divider-style,solid) var(--home-divider-color,#dddfe8)}
.theme-surface[data-theme-pattern=dots]{background-image:radial-gradient(var(--home-pattern-color) var(--home-pattern-width),transparent calc(var(--home-pattern-width) + 1px));background-size:var(--home-pattern-gap) var(--home-pattern-gap)}
.theme-surface[data-theme-pattern=grid]{background-image:linear-gradient(var(--home-pattern-color) var(--home-pattern-width),transparent var(--home-pattern-width)),linear-gradient(90deg,var(--home-pattern-color) var(--home-pattern-width),transparent var(--home-pattern-width));background-size:var(--home-pattern-gap) var(--home-pattern-gap)}
.theme-surface[data-theme-pattern=stripes]{background-image:repeating-linear-gradient(135deg,var(--home-pattern-color) 0 var(--home-pattern-width),transparent var(--home-pattern-width) var(--home-pattern-gap));background-size:auto}
.theme-surface[data-theme-pattern=checker]{background-image:repeating-linear-gradient(0deg,transparent 0 calc(var(--home-pattern-gap) - var(--home-pattern-width)),var(--home-pattern-color) calc(var(--home-pattern-gap) - var(--home-pattern-width)) var(--home-pattern-gap)),repeating-linear-gradient(90deg,transparent 0 calc(var(--home-pattern-gap) - var(--home-pattern-width)),var(--home-pattern-color) calc(var(--home-pattern-gap) - var(--home-pattern-width)) var(--home-pattern-gap));background-size:var(--home-pattern-gap) var(--home-pattern-gap)}
/* Visible transform-based motion; each effect works with every background. */
.theme-surface[data-theme-effect=drift]>.home-ambient i{animation-name:soha-light-flow;animation-duration:8s;will-change:transform,opacity}
.theme-surface[data-theme-effect=breathe]>.home-ambient i{animation-name:soha-light-pulse;animation-duration:5s;will-change:transform,opacity}
@keyframes soha-light-flow{0%{transform:translate(-15%,-8%) rotate(-20deg) scale(.8);opacity:.3}100%{transform:translate(45%,35%) rotate(35deg) scale(1.3);opacity:.9}}
@keyframes soha-light-pulse{0%{transform:scale(.55) rotate(-15deg);opacity:.15}100%{transform:scale(1.5) rotate(25deg);opacity:.95}}
.home-particles[data-effect=sparkles] span{animation-name:soha-star-twinkle;animation-duration:calc(var(--duration)*.6)}
@keyframes soha-star-twinkle{0%,100%{opacity:.06}50%{opacity:1}}

.theme-surface>.home-particles,.theme-surface>.home-ambient{opacity:var(--home-effect-opacity,.8)}
.theme-surface[data-theme-effect=drift]>.home-ambient i{animation-duration:var(--home-flow-duration,8s);width:calc(72% * var(--home-effect-size,1))}
.theme-surface[data-theme-effect=breathe]>.home-ambient i{animation-duration:var(--home-pulse-duration,5s);width:calc(72% * var(--home-effect-size,1))}
.theme-surface>.home-cursor{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:5;border-radius:inherit;opacity:var(--home-effect-opacity,.8)}
.streamer-home>.home-cursor{position:fixed}
.home-cursor span{position:absolute;display:block;pointer-events:none;color:var(--home-decoration-2);line-height:1;text-shadow:0 0 12px var(--home-decoration);animation:soha-cursor-fade 1.4s ease-out forwards}
.home-cursor[data-effect=cursor-stars] span{color:var(--home-decoration)}
.home-cursor[data-effect=cursor-glow] span{border-radius:50%;background:radial-gradient(circle,var(--home-decoration-2),transparent 70%);filter:blur(2px)}
@keyframes soha-cursor-fade{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--cursor-drift)), -80px) scale(.15) rotate(30deg)}}

.theme-control-grid>.hint{grid-column:1/-1}.theme-control-grid input[type=range]{min-height:36px;padding:0}.theme-control-grid output{font-variant-numeric:tabular-nums;color:var(--home-muted,#6b7280)}

.theme-setting-group{margin-top:24px;padding-top:20px;border-top:1px solid #e6e3ed}.theme-setting-group h4{font-size:16px;margin:0 0 16px}.theme-setting-group .font-picker-field{grid-column:1/-1}.theme-setting-group .theme-control-grid{gap:18px 22px}.theme-setting-group output{display:inline-block;margin-left:8px;font-weight:600}.effect-details{grid-column:1/-1;border:1px solid #e6e3ed;border-radius:12px;padding:0 16px}.effect-details>summary{cursor:pointer;padding:16px 0;font-weight:650;min-height:44px}.effect-details[open]>.theme-control-grid{padding:8px 0 18px}

.theme-control-grid>label:has(#homeBackgroundStyle){grid-column:1/-1}

/* Effects receive independent colors; static pattern layers retain pattern colors. */
.theme-surface>.home-particles,.theme-surface>.home-cursor,.theme-surface:is([data-theme-effect=drift],[data-theme-effect=breathe])>.home-ambient{--home-decoration:var(--home-effect-color,#a78bfa);--home-decoration-2:var(--home-effect-color-2,#f9a8d4)}
.home-particles[data-effect=confetti] span:nth-child(3n){color:var(--home-decoration-2)}.home-particles[data-effect=confetti] span:nth-child(3n+1){color:var(--home-decoration)}

/* Original gradient patterns inspired by arc / zigzag CSS pattern families. */
.theme-surface:is([data-theme-pattern=petals],[data-theme-pattern=honeycomb]){--tile-size:calc(var(--home-pattern-gap,30px) * 2);--tile-stroke:min(var(--home-pattern-width,2px),calc(var(--tile-size) / 6));--tile-ink:color-mix(in srgb,var(--home-decoration),var(--home-bg) 45%);--tile-ink-2:color-mix(in srgb,var(--home-decoration-2),var(--home-bg) 45%);background-attachment:scroll}
.theme-surface[data-theme-pattern=petals]{background-image:radial-gradient(circle at 50% 100%,transparent calc(50% - var(--tile-stroke)),var(--tile-ink) calc(50% - var(--tile-stroke)) 50%,transparent calc(50% + 1px)),radial-gradient(circle at 50% 100%,transparent calc(50% - var(--tile-stroke)),var(--tile-ink-2) calc(50% - var(--tile-stroke)) 50%,transparent calc(50% + 1px));background-size:var(--tile-size) var(--tile-size);background-position:0 0,calc(var(--tile-size) / 2) calc(var(--tile-size) / 2)}
 .theme-surface[data-theme-pattern=honeycomb]{--zig-edge:calc(25% - var(--tile-stroke));background-image:linear-gradient(135deg,transparent var(--zig-edge),var(--tile-ink) var(--zig-edge) 25%,transparent 25%),linear-gradient(225deg,transparent var(--zig-edge),var(--tile-ink) var(--zig-edge) 25%,transparent 25%),linear-gradient(315deg,transparent var(--zig-edge),var(--tile-ink-2) var(--zig-edge) 25%,transparent 25%),linear-gradient(45deg,transparent var(--zig-edge),var(--tile-ink-2) var(--zig-edge) 25%,transparent 25%);background-size:var(--tile-size) var(--tile-size);background-position:calc(var(--tile-size) / -2) 0,calc(var(--tile-size) / -2) 0,0 0,0 0}

/* Cross, concentric circles and geometric tile families. */
.theme-surface:is([data-theme-pattern=cross],[data-theme-pattern=rings],[data-theme-pattern=triangles],[data-theme-pattern=checkerboard]){--tile-size:calc(var(--home-pattern-gap,30px)*2);--tile-stroke:min(var(--home-pattern-width,2px),calc(var(--tile-size)/8));--tile-ink:color-mix(in srgb,var(--home-decoration),var(--home-bg) 50%);--tile-ink-2:color-mix(in srgb,var(--home-decoration-2),var(--home-bg) 50%);background-size:var(--tile-size) var(--tile-size);background-position:0 0}
.theme-surface[data-theme-pattern=cross]{background-image:radial-gradient(circle at center,transparent calc(var(--tile-size)*.16),var(--home-bg) calc(var(--tile-size)*.16 + .5px)),linear-gradient(90deg,transparent calc(50% - var(--tile-stroke)/2),var(--tile-ink) calc(50% - var(--tile-stroke)/2) calc(50% + var(--tile-stroke)/2),transparent calc(50% + var(--tile-stroke)/2)),linear-gradient(transparent calc(50% - var(--tile-stroke)/2),var(--tile-ink-2) calc(50% - var(--tile-stroke)/2) calc(50% + var(--tile-stroke)/2),transparent calc(50% + var(--tile-stroke)/2))}

.theme-surface[data-theme-pattern=rings]{background-image:radial-gradient(circle at center,transparent calc(20% - var(--tile-stroke)),var(--tile-ink) calc(20% - var(--tile-stroke)) 20%,transparent 20% calc(38% - var(--tile-stroke)),var(--tile-ink-2) calc(38% - var(--tile-stroke)) 38%,transparent 38%)}
.theme-surface[data-theme-pattern=triangles]{background-image:conic-gradient(from 45deg at 50% 50%,var(--tile-ink) 0 90deg,transparent 90deg 180deg,var(--tile-ink-2) 180deg 270deg,transparent 270deg)}
.theme-surface[data-theme-pattern=checkerboard]{background-image:conic-gradient(var(--tile-ink) 25%,transparent 0 50%,var(--tile-ink-2) 0 75%,transparent 0)}
/* Original SVG artwork: pattern colors remain independent from effect colors. */
.theme-surface:is([data-theme-pattern=artdeco],[data-theme-pattern=botanical],[data-theme-pattern=constellation],[data-theme-pattern=moroccan],[data-theme-pattern=memphis]){background-image:var(--home-svg-pattern);background-size:var(--home-svg-tile) var(--home-svg-tile);background-repeat:repeat}
.theme-surface>.home-svg-effect{position:absolute!important;inset:0;z-index:1!important;overflow:hidden;pointer-events:none!important;border-radius:inherit;contain:paint;opacity:var(--home-effect-opacity,.8)}
.streamer-home>.home-svg-effect{position:fixed!important}
.home-svg-effect .svg-fx-bit{position:absolute;display:block;left:var(--fx-x);top:var(--fx-y);width:var(--fx-size);height:var(--fx-size);color:var(--home-effect-color);animation:svg-ripple var(--fx-duration) ease-out var(--fx-delay) infinite;transform-origin:center;pointer-events:none}
.home-svg-effect .svg-fx-bit:nth-child(even){color:var(--home-effect-color-2)}
.home-svg-effect svg{display:block;width:100%;height:100%;overflow:visible}
.home-svg-effect[data-effect=orbits] .svg-fx-bit{animation-name:svg-orbit-field;animation-timing-function:linear;opacity:.5}
.home-svg-effect .orbit-light{transform-origin:50px 50px;animation:svg-orbit-light var(--fx-duration) linear var(--fx-delay) infinite}
.home-svg-effect[data-effect=sakura] .svg-fx-bit{top:-15%;animation-name:svg-sakura-fall;animation-timing-function:linear;filter:drop-shadow(0 0 5px color-mix(in srgb,currentColor,transparent 65%))}
.home-svg-effect[data-effect=silk] .svg-fx-bit{left:calc(var(--fx-x) - 30%);opacity:.35;animation-name:svg-silk-drift;animation-direction:alternate;animation-timing-function:ease-in-out}
.home-svg-effect[data-effect=silk] path{stroke-dasharray:110 220;animation:svg-silk-trace var(--fx-duration) linear var(--fx-delay) infinite}
.home-svg-effect[data-effect=ink] .svg-fx-bit{opacity:.24;filter:blur(12px);animation-name:svg-ink-bloom;animation-direction:alternate;animation-timing-function:ease-in-out}
@keyframes svg-ripple{0%{transform:translate(-50%,-50%) scale(.08);opacity:0}15%{opacity:.65}90%,100%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes svg-orbit-field{from{transform:translate(-50%,-50%) rotate(-20deg)}to{transform:translate(-50%,-50%) rotate(340deg)}}
@keyframes svg-orbit-light{from{transform:rotate(0deg) scaleY(.55)}to{transform:rotate(360deg) scaleY(.55)}}
@keyframes svg-sakura-fall{0%{transform:translate(-40px,-10vh) rotate(0deg) rotateY(0deg);opacity:0}10%,85%{opacity:.75}50%{transform:translate(50px,55vh) rotate(150deg) rotateY(130deg)}100%{transform:translate(-20px,120vh) rotate(320deg) rotateY(300deg);opacity:0}}
@keyframes svg-silk-drift{from{transform:translate(-20%,-40%) rotate(-18deg) scaleY(.65)}to{transform:translate(-35%,-15%) rotate(22deg) scaleY(1.3)}}
@keyframes svg-silk-trace{from{stroke-dashoffset:330}to{stroke-dashoffset:0}}
@keyframes svg-ink-bloom{0%{transform:translate(-50%,-50%) rotate(-20deg) scale(.7,1.2);opacity:.14}50%{transform:translate(-35%,-60%) rotate(40deg) scale(1.4,.9);opacity:.3}100%{transform:translate(-60%,-35%) rotate(100deg) scale(.9,1.5);opacity:.2}}
.theme-surface[data-motion=off]>.home-svg-effect *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.theme-surface[data-motion=auto]>.home-svg-effect *{animation-play-state:paused!important}}

/* Shooting stars replace the former ellipse rings; each trail enters, glows, then fades. */
.home-svg-effect[data-effect=orbits] .svg-fx-bit{animation-name:home-shooting-star;filter:drop-shadow(0 0 5px currentColor);opacity:0}
.home-svg-effect[data-effect=orbits] svg{overflow:visible}
@keyframes home-shooting-star{0%,52%{opacity:0;transform:translate(-180px,-160px) scale(.65)}58%{opacity:.7}72%{opacity:.9}84%,100%{opacity:0;transform:translate(360px,300px) scale(1)}}
body.streamer-home.private-home-view{padding-top:82px}
body.streamer-home>.private-home-banner{position:fixed!important;inset:0 0 auto!important;z-index:10000!important;padding:16px 24px!important;background:#692542!important;color:#fff!important;border-bottom:2px solid #edaccb;font:600 15px/1.6 system-ui,sans-serif!important;text-align:center;box-sizing:border-box}
.private-home-banner[hidden]{display:none!important}
@media(max-width:540px){body.streamer-home.private-home-view{padding-top:104px}}

.effect-playback-row{grid-column:1/-1;padding-bottom:20px;border-bottom:1px solid #e6cbd9}.effect-color-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;min-width:0}.effect-color-row>label{min-width:0;display:grid;gap:10px}.effect-color-row input[type=color]{width:100%;min-width:0}

.calendar-types-manager{margin:24px 0;padding:24px;border:1px solid #e6cbd9;border-radius:16px}.calendar-type-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f0dfe8}.calendar-type-row strong{flex:1;overflow-wrap:anywhere}.calendar-type-dot{width:20px;height:20px;border-radius:6px;border:1px solid #0002;flex:none}.calendar-types-manager>button{margin-top:18px}.calendar-type-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}#calendarTypeForm{display:grid;gap:18px}#calendarTypeForm label{display:grid;gap:10px}#calendarTypeForm input[type=color]{width:100%;height:48px}#calendarTypeDialog{width:min(460px,calc(100vw - 32px));box-sizing:border-box;padding:28px;border:1px solid #e6cbd9;border-radius:20px;background:#fff8fc;color:#432d38}#calendarTypeDialog::backdrop{background:#31132666}

.calendar-grid .calendar-day{padding:8px;gap:4px}.calendar-grid .calendar-day-select{display:flex!important;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;width:100%;min-width:0;min-height:0!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;color:var(--home-text,#303647)!important;box-shadow:none!important;border-radius:0;font:inherit;text-align:left;white-space:normal}.calendar-date-number{align-self:flex-start}.calendar-day.is-today .calendar-date-number{background:var(--home-accent,#6552cf);color:var(--home-on-accent,#fff);padding:0 6px;border-radius:20px}.calendar-grid .calendar-expand{align-self:flex-start;padding:4px 6px!important;margin:2px 0 0!important;min-height:28px!important;background:var(--home-tint,#f5e7f0)!important;color:var(--home-accent-text,#8a365f)!important;border:1px solid var(--home-border,#e7cbd9)!important;border-radius:6px;font-size:12px;line-height:1.4;white-space:normal}.calendar-day-select:focus-visible,.calendar-expand:focus-visible{outline:2px solid var(--home-accent,#b53d7f);outline-offset:2px}

/* Keep type tools with the type selector; reserve full width for date/time. */
#eventForm .calendar-type-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 22px}
#eventForm .calendar-type-actions button{min-height:40px;padding:9px 12px;line-height:1.4;white-space:normal}
#eventForm .event-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 20px}
#eventForm .event-time-fields label{min-width:0;margin:0;display:grid;gap:8px}
#eventForm .event-time-fields input{width:100%;min-width:0;box-sizing:border-box;min-height:46px;font-size:14px;padding:10px 8px}
@media(max-width:700px){
.streamer-home #homeNav{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:8px;padding:8px;margin:16px 0 24px;border-radius:16px;max-width:100%;scrollbar-width:thin}
.streamer-home #homeNav button{flex:0 0 auto;min-width:0;min-height:44px;padding:10px 14px;font-size:clamp(14px,var(--home-menu-font-size,16px),18px);line-height:1.4;white-space:nowrap;word-break:keep-all}
.streamer-home[data-nav-position=bottom] #homeNav{flex-wrap:nowrap;max-width:calc(100% - 24px);margin:0}
.streamer-home #homeCalendar{min-width:0}
.streamer-home .calendar-surface{padding:10px;border-radius:16px}
.streamer-home .calendar-month{flex-wrap:nowrap;gap:8px}
.streamer-home .calendar-month>div{gap:8px}
.streamer-home .calendar-month strong{font-size:18px;white-space:nowrap}
.streamer-home .calendar-month button{min-height:40px;padding:8px 10px;font-size:14px;line-height:1.3;white-space:nowrap}
.calendar-week,.calendar-grid{gap:3px}
.calendar-grid .calendar-day{padding:4px 2px;min-height:88px;gap:3px;font-size:13px;line-height:1.4}
.calendar-grid .calendar-day-select{gap:3px}
.calendar-grid .calendar-date-number{min-height:24px;line-height:24px;padding:0 4px}
.calendar-grid .calendar-day small{font-size:10px;line-height:18px;padding:0 2px;letter-spacing:0}
.calendar-grid .calendar-expand{align-self:stretch;min-width:0;min-height:28px!important;padding:3px 0!important;white-space:nowrap;font-size:11px;line-height:1.2}
.calendar-expand-detail{display:none}
.streamer-home .calendar-day-heading{margin:24px 0 12px}
.streamer-home .calendar-agenda article{padding:16px;margin:10px 0;gap:10px;border-radius:12px}
.streamer-home .calendar-agenda h3{font-size:17px;line-height:1.55;margin:10px 0;word-break:keep-all;overflow-wrap:anywhere}
.streamer-home .calendar-agenda .hint{font-size:13px;line-height:1.6;margin:8px 0}
.streamer-home .calendar-agenda .event-description{font-size:15px;line-height:1.75;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;margin:12px 0 0}
.streamer-home .calendar-agenda .event-badge{font-size:12px;padding:4px 8px;line-height:1.4}
}
@media(max-width:580px){#eventForm .event-time-fields{grid-template-columns:1fr;gap:16px}#eventForm .event-time-fields input{font-size:16px}#eventDialog{padding:20px;max-height:90dvh}#eventForm .calendar-type-actions button{flex:1 1 auto}}

@media(max-width:700px){.calendar-day small .calendar-event-title{display:none}}

.issue-notes{margin:20px 0;padding:18px;border:1px solid #edcfdf;border-radius:12px;min-width:0}.issue-notes legend{font-weight:700;padding:0 6px}.issue-notes .hint{margin:0 0 16px}#issueNotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#issueNotes label{display:grid;gap:8px;margin:0;min-width:0}#issueNotes input{width:100%;min-width:0;box-sizing:border-box}.issued-note-list{display:grid;gap:12px;margin:20px 0}.issued-note-list>div{padding:14px;border:1px solid #edcfdf;border-radius:10px;background:#fff9fc}.issued-note-list code{overflow-wrap:anywhere}.issued-note-list p{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:600px){#issueNotes{grid-template-columns:1fr}.issue-notes{padding:14px}}

.admin-home{border:1px solid #ecd2df;border-radius:16px;padding:24px;margin:16px 0;background:#fff}.admin-home-heading{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-home h3{margin:0 0 8px}.admin-home p{margin:6px 0;overflow-wrap:anywhere}.admin-home dl{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;margin:20px 0}.admin-home dt{font-weight:700}.admin-home dd{margin:0;overflow-wrap:anywhere}.admin-home a:not(.button){color:#a32b68;text-decoration:underline}#homeDeleteTargets{max-height:220px;overflow:auto;padding:12px 12px 12px 30px;background:#fff5f8}#homeDeleteTargets li{margin:8px 0;overflow-wrap:anywhere}#homesSearch{flex:1;min-width:180px}@media(max-width:600px){.admin-home{padding:18px}.admin-home dl{grid-template-columns:1fr;gap:6px}.admin-home dd{margin-bottom:10px}#homesDeleteIdle{white-space:normal;line-height:1.5}}
