/* Local design trial. Original styles remain intact for rollback. */
body.sanctuary{background:#06110e;color:#e6dcc5}
.sanctuary .sanctuary-header{max-width:none;margin:0;padding:18px 32px;min-height:80px;background:#081610;border-bottom:1px solid #c8a86530;gap:16px}
.sanctuary-header .brand{color:#eaddbf}.sanctuary-header .account-trigger{background:transparent;border:0;border-left:1px solid #c8a86540;border-radius:0}
.sanctuary .sanctuary-main{--rail:250px;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:var(--rail) minmax(0,1fr) var(--rail);min-height:max(860px,calc(100svh - 80px));height:auto;max-height:none;align-items:stretch;isolation:isolate}
.sanctuary .hero-art{inset:0 var(--rail);height:auto;mask-image:none;background:#081812;overflow:hidden;z-index:-1}
.sanctuary .hero-art>img{object-fit:cover;object-position:center;mask-image:linear-gradient(0deg,transparent,black 20%,black 92%);width:100%;height:100%}
.sanctuary .hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#03100a99,transparent 27%,transparent 68%,#04110de8);pointer-events:none}
.sanctuary .welcome{grid-column:1;grid-row:1;margin:0;padding:48px 25px 32px;align-self:stretch;min-height:0;background:linear-gradient(100deg,#0d1d16,#07130fed);border-right:1px solid #c8a86530;text-align:center;z-index:1}
.sanctuary .welcome>.eyebrow{font-size:10px;letter-spacing:1px;color:#a7ad94}
.sanctuary .welcome h1{font-size:24px;line-height:1.6;letter-spacing:1px;white-space:normal;margin:20px 0 30px}
.sanctuary .welcome h1 br{display:none}.sanctuary .welcome h1 span{display:none}
.sanctuary .welcome>p,.sanctuary .welcome-rule,.sanctuary .guardian-sign{display:none}
.sanctuary .selected-offering{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:30px auto 52px;padding:0;border:0;background:none;width:100%;max-width:none;text-align:center}
.sanctuary .selected-offering>img{width:155px;height:175px;max-width:100%;object-fit:contain;filter:drop-shadow(0 12px 18px #0008)}
.sanctuary .selected-offering strong{display:block;font-size:20px;color:#e8d2a5;margin-bottom:8px}.sanctuary .selected-offering span{display:block;font-size:12px;line-height:1.8;color:#b6bea9}
.sanctuary .offering-actions{margin:0;max-width:none;border-top:1px solid #c8a86535}.sanctuary .offering-actions button{padding:22px 0;font-size:17px;min-height:82px}.sanctuary .offering-actions button small{font-size:11px}
.sanctuary .shrine-menu{grid-column:3;grid-row:1;max-width:none;margin:0;padding:24px 18px 28px;width:100%;align-self:stretch;background:linear-gradient(260deg,#0d1d16,#07130fed);border-left:1px solid #c8a86530;box-sizing:border-box}
.sanctuary .menu-caption{font-size:10px;padding:0 4px 14px;margin:0 0 8px}
.sanctuary .shrine-menu>button{min-height:67px;padding:14px 12px;font-size:17px;gap:13px}.sanctuary .shrine-menu small{font-size:10px;letter-spacing:.5px}.sanctuary .guardian-services{padding:6px 0 12px;gap:6px}.sanctuary .guardian-services button{font-size:12px;padding:7px 4px;min-height:34px}
.sanctuary .scene-heading{position:absolute;top:38px;left:var(--rail);right:var(--rail);text-align:center;pointer-events:none;padding:0 18px;color:#efdbb0;text-shadow:0 3px 12px #000;z-index:1}
.scene-heading small{font-size:12px;letter-spacing:5px}.scene-heading h2{font-size:clamp(30px,3.5vw,55px);letter-spacing:8px;margin:12px 0;font-weight:400}.scene-heading p{margin:0;font-size:16px;letter-spacing:4px}.scene-heading p:before,.scene-heading p:after{content:'—';color:#aa8b4f;padding:0 16px}
.sanctuary .altar-action{left:var(--rail);right:var(--rail);bottom:28px;transform:none;width:auto;padding:20px 35px 0;background:none;box-sizing:border-box}
.sanctuary .altar-action #altar-name{display:none}.sanctuary #ask-fortune{max-width:440px;width:100%;border-radius:40px;background:linear-gradient(110deg,#bc944733,#09160eee);color:#f4dba4;border:1px solid #d8b465;box-shadow:0 0 24px #bd984520;font-size:19px;padding:18px 22px}
.sanctuary #altar-description{font-size:13px;color:#d0cbb8;line-height:1.9;max-width:520px;margin:16px auto 0}.sanctuary .sanctuary-footer{max-width:none;margin:0;padding:24px 28px;background:#07120e;border-top:1px solid #c8a86530;gap:14px}.sanctuary .business-info{max-width:1160px;font-size:11px;color:#859487}.sanctuary .embers{display:none}
@media(min-width:761px) and (max-width:1150px){.sanctuary .sanctuary-main{--rail:210px}.sanctuary .welcome{padding:40px 18px}.sanctuary .welcome h1{font-size:20px}.sanctuary .shrine-menu{padding:22px 10px}.sanctuary .shrine-menu>button{font-size:15px}.scene-heading h2{letter-spacing:3px;font-size:34px}}
@media(max-width:760px){
 .sanctuary .sanctuary-header{padding:14px 16px;min-height:66px;gap:8px}.sanctuary .sanctuary-main{display:flex;flex-direction:column;height:auto;min-height:0;--rail:0px}
 .sanctuary .hero-art{inset:0 0 auto;height:590px}.sanctuary .hero-art>img{object-fit:cover;object-position:center}
 .sanctuary .scene-heading{position:relative;inset:auto;order:0;height:440px;padding:32px 12px 0;box-sizing:border-box}.scene-heading h2{font-size:36px;letter-spacing:4px}.scene-heading p{font-size:14px}
 .sanctuary .welcome{display:none}.sanctuary .altar-action{order:1;position:relative;inset:auto;left:auto;right:auto;bottom:auto;align-self:stretch;padding:10px 22px 25px;width:100%;background:linear-gradient(0deg,#07140f,transparent)}.sanctuary #ask-fortune{font-size:17px;padding:15px}.sanctuary #altar-description{font-size:12px}
 .sanctuary .shrine-menu{order:2;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:16px 20px 26px;border:0;border-top:1px solid #c8a86530;background:#0a1812}
 .sanctuary .shrine-menu>.selected-offering{grid-column:1/-1;flex-direction:row;gap:18px;margin:0 0 20px;padding:10px 0 20px;border-bottom:1px solid #c8a86530}.sanctuary .selected-offering>img{width:90px;height:90px}.sanctuary .selected-offering strong{font-size:18px}.sanctuary .selected-offering span{font-size:11px}
 .sanctuary .shrine-menu>button{font-size:14px;min-height:70px;padding:12px 4px;gap:10px}.sanctuary .guardian-services{grid-column:1/-1}.sanctuary .sanctuary-footer{padding:22px 20px}.sanctuary .business-info{font-size:10px}
}
/* Reserve separate space for the title and controls; never crop the altar artwork. */
.sanctuary .hero-art{top:145px;bottom:135px;background:radial-gradient(ellipse,#14281b,#081610 75%)}
.sanctuary .hero-art>img{object-fit:contain;object-position:50% 50%;mask-image:none}
.sanctuary .hero-art:after{background:linear-gradient(0deg,#06110e66,transparent 14%,transparent 90%,#06110e33)}
.sanctuary .scene-heading{top:22px}.scene-heading h2{font-size:clamp(28px,3vw,44px);margin:8px 0}
@media(max-width:760px){.sanctuary .hero-art{top:132px;bottom:auto;height:390px}.sanctuary .scene-heading{top:auto;height:530px;padding-top:24px}.scene-heading h2{font-size:32px}}
.sanctuary .hero-art:has(>img[src*="-wide-v"]:not(.scene-exit)){top:0;bottom:0}
.sanctuary .hero-art>img[src*="-wide-v"]{object-fit:cover}

@media(max-width:760px){.sanctuary .hero-art:has(>img[src*="-wide-v"]:not(.scene-exit)){top:0;bottom:auto;height:640px}}

@media(max-width:760px){.sanctuary .hero-art:has(>img[src*="-wide-v"]:not(.scene-exit)){height:540px}.sanctuary .scene-heading{height:440px}}

.sanctuary .hero-art .service-version{position:absolute;right:14px;bottom:12px;z-index:2;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;color:#b7a275;text-shadow:0 1px 3px #000;white-space:nowrap;pointer-events:none}

.sanctuary .admin-collections{width:min(1100px,calc(100vw - 32px));max-width:1100px;padding:24px;color:#e6dcc5;background:#0c1916;border:1px solid #ad9159;box-sizing:border-box}
.admin-collections .gifts-heading{position:sticky;top:-24px;background:#0c1916;z-index:1;padding:12px 0}.collection-search{display:flex;gap:10px;flex-wrap:wrap}.collection-search input{flex:1;min-width:180px}.collection-search input,.collection-search select,.collection-search button{padding:10px;background:#152723;color:#e6dcc5;border:1px solid #756747}.collection-status,.admin-collections>p{font-size:12px;line-height:1.8;color:#b9c0b2}.collection-list article{padding:16px 0;border-top:1px solid #ad915944;overflow-wrap:anywhere}.collection-list h3{font-size:16px;margin:0 0 8px}.collection-list p,.collection-list a{font-size:12px;line-height:1.7}.collection-list a,.collection-match{color:#e1c387}.sanctuary-header .account-trigger[hidden]{display:none}

.sanctuary .iching-dialog{width:min(980px,calc(100vw - 24px));max-width:980px;padding:0;background:#0b1915;color:#e6dcc5;border:1px solid #ac925e}.iching-toolbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:#0b1915;padding:18px 24px;border-bottom:1px solid #ac925e55}.iching-toolbar h2{font-size:24px;margin:4px 0}.iching-toolbar small{color:#d6b979}.iching-toolbar button{font-size:30px;padding:8px 12px;background:none;color:#e3c88e}.iching-content{padding:24px;line-height:1.9}.iching-draw{padding:14px 28px;background:#b69a60;color:#142018}.iching-note,.iching-result footer{font-size:13px;color:#abb9aa}.iching-result{scroll-margin-top:110px;margin-top:30px}.iching-result h2,.iching-result h3{color:#e0c286}.iching-symbol{width:120px;display:grid;gap:8px;margin:24px auto}.iching-symbol span{height:9px;background:#e0c286}.iching-symbol .yin{background:linear-gradient(90deg,#e0c286 43%,transparent 43%,transparent 57%,#e0c286 57%)}.iching-result footer{border-top:1px solid #ac925e55;margin-top:30px;padding-top:12px}.iching-result a{color:#dfc286;margin-right:18px}@media(max-width:760px){.iching-toolbar h2{font-size:19px}.iching-toolbar,.iching-content{padding:16px}}

.iching-plaque{position:relative;isolation:isolate;width:min(100%,380px);box-sizing:border-box;margin:20px auto 36px;padding:28px 32px 24px;text-align:center;border:1px solid #b39354;border-radius:3px;background:radial-gradient(ellipse at 50% 38%,#2f3828 0%,#101d17 48%,#060e0c 100%);box-shadow:0 16px 40px #0006,inset 0 0 36px #0009;animation:iching-frame-glow 1s 1.5s both}
.iching-plaque:before{content:'';position:absolute;inset:8px;border:1px solid #b393544a;pointer-events:none}.iching-plaque-number{font-size:11px;color:#b8a276;letter-spacing:3px}
.iching-plaque .iching-symbol{width:min(100%,220px);gap:13px;margin:32px auto}.iching-plaque .iching-symbol span{position:relative;height:17px;background:none;animation:iching-line-light .65s var(--line-delay) both}
.iching-plaque .iching-symbol span:before,.iching-plaque .iching-symbol span:after{content:'';position:absolute;inset:0;border-radius:2px;background:linear-gradient(110deg,#8c662c 0%,#e7c67c 22%,#fff0b9 43%,#c39a48 67%,#f0d58c 85%,#997334);box-shadow:inset 0 1px 0 #fff3c9,0 2px 2px #000a,0 0 12px #d9b26125}
.iching-plaque .iching-symbol .yang:after{display:none}.iching-plaque .iching-symbol .yin:before{right:57%}.iching-plaque .iching-symbol .yin:after{left:57%}
.iching-plaque-name{animation:iching-text-light .7s 1.6s both}.iching-hanja{font-family:'Noto Serif KR',serif;font-size:36px;letter-spacing:6px;color:#f0d58c;text-shadow:0 2px 8px #000}.iching-plaque-name h2{font-size:21px;margin:4px 0;letter-spacing:3px}.iching-explanation{animation:iching-text-light .6s 2s both}
@keyframes iching-line-light{from{opacity:0;transform:translateY(5px);filter:brightness(2)}to{opacity:1;transform:translateY(0);filter:brightness(1)}}
@keyframes iching-text-light{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes iching-frame-glow{0%,100%{border-color:#b39354}45%{border-color:#ffe7a4;box-shadow:0 0 28px #d9b26140,inset 0 0 36px #0009}}
@media(prefers-reduced-motion:reduce){.iching-plaque,.iching-plaque .iching-symbol span,.iching-plaque-name,.iching-explanation{animation:none}}

/* Desktop stage stays within the viewport; long navigation scrolls independently. */
@media(min-width:761px){
 .sanctuary .sanctuary-header{height:84px;min-height:84px;box-sizing:border-box;padding:12px 28px}
 .sanctuary .sanctuary-main{--rail:clamp(220px,16vw,300px);height:calc(100svh - 84px);min-height:560px;grid-template-rows:minmax(0,1fr)}
 .sanctuary .shrine-menu{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#887348 #0b1912;padding:16px 16px 20px}
 .sanctuary .shrine-menu>button{min-height:52px;padding:9px 10px;font-size:16px}
 .sanctuary .guardian-services{padding:4px 0 8px}.sanctuary .guardian-services button{min-height:30px;padding:5px 4px}
 .sanctuary .welcome{padding:32px 22px 24px;min-height:0;overflow-y:auto;scrollbar-width:thin}
 .sanctuary .welcome h1{font-size:22px;word-break:keep-all;line-height:1.6;margin:18px 0 24px}
 .sanctuary .selected-offering{margin:22px auto 32px;gap:12px}.sanctuary .selected-offering strong{font-size:17px;word-break:keep-all}
 .sanctuary .selected-offering>img{height:145px;width:145px}
 .sanctuary .offering-actions button{min-height:65px;padding:16px 0;font-size:16px}
 .sanctuary .scene-heading{top:24px}.sanctuary .altar-action{bottom:24px;padding:12px 28px 0}
 .sanctuary #ask-fortune{padding:14px 22px;font-size:18px}.sanctuary #altar-description{margin-top:10px}
}

/* Service CTA: title and description share one click target. */
.sanctuary #ask-fortune{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:auto;white-space:normal;text-align:center}
.sanctuary #ask-fortune .ask-label{display:block;line-height:1.4}
.sanctuary #ask-fortune #altar-description{display:block;margin:0;max-width:100%;font-size:12px;line-height:1.6;font-weight:400;color:inherit;opacity:.85;letter-spacing:normal}
@media(max-width:760px){.sanctuary #ask-fortune #altar-description{font-size:11px}}
.sanctuary #ask-fortune{margin-left:auto;margin-right:auto}
/* Larger service button title and supporting text. */
.sanctuary #ask-fortune .ask-label{font-size:21px}
.sanctuary #ask-fortune #altar-description{font-size:14px}
@media(max-width:760px){.sanctuary #ask-fortune .ask-label{font-size:19px}.sanctuary #ask-fortune #altar-description{font-size:13px}}
.sanctuary #ask-fortune,.sanctuary #ask-fortune .ask-label,.sanctuary #ask-fortune #altar-description{font-family:"Noto Serif KR","Batang",serif}
@font-face{font-family:CheonunSerif;src:url('./assets/fonts/NotoSerifKR.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
.sanctuary .scene-heading,.sanctuary .welcome h1,.sanctuary #ask-fortune,.sanctuary #ask-fortune .ask-label,.sanctuary #ask-fortune #altar-description{font-family:CheonunSerif,serif}
/* Stronger scene title hierarchy. */
.sanctuary .scene-heading>small{font-size:16px}
.sanctuary .scene-heading h2{font-weight:400}
.gilil-dialog{font-family:CheonunSerif,serif}.gilil-note{font-size:13px;color:#bcb79f;line-height:1.8}.gilil-dialog fieldset{border:0;padding:0;margin:20px 0}.gilil-purposes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gilil-purposes button{background:#18251e;padding:12px;border:1px solid #786747;border-radius:8px}.gilil-purposes button[aria-pressed=true]{border-color:#e8c875;color:#ffe2a1}.gilil-dates{display:flex;gap:16px;flex-wrap:wrap}.gilil-dates label{flex:1;min-width:130px}.gilil-dates input{display:block;width:100%;box-sizing:border-box;min-width:0;background:#14241c;color:#fff0ce;border:1px solid #786747;padding:10px;margin-top:8px}.gilil-result article{border-top:1px solid #78674766;padding:15px 0}.gilil-result h3{font-size:17px}.gilil-result p{line-height:1.8}.gilil-candidate h3{color:#ffdc8c}.gilil-purpose-note{font-size:14px}.gilil-dialog footer{margin-top:20px;border-top:1px solid #786747;padding-top:16px}
.gilil-calendars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gilil-calendars section{min-width:0}.gilil-calendars h3{text-align:center}.gilil-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.gilil-weekday{text-align:center;font-size:12px;color:#aea88e}.gilil-day{padding:10px 0;min-width:0;border:1px solid transparent;border-radius:6px;background:#17231d;font:inherit}.gilil-day.is-candidate{background:#594624;color:#ffe4a0;border-color:#bd9845}.gilil-day.is-muted{color:#8e958f;background:#122018}.gilil-day:disabled{color:#5b655e;background:transparent}.gilil-day[aria-pressed=true]{outline:2px solid #f8d989;outline-offset:1px}.gilil-day-detail{min-height:55px;line-height:1.9}.gilil-range{font-size:12px;color:#bcb79f}@media(max-width:600px){.gilil-calendars{gap:8px}.gilil-month-grid{gap:2px}.gilil-calendars h3{font-size:14px}.gilil-day{font-size:12px;padding:9px 0}.gilil-weekday{font-size:10px}}

.gilil-day.is-common{position:relative;background:linear-gradient(145deg,#176a61,#123f3c);color:#fff0b7;border:1px solid #f5d77b;box-shadow:inset 0 0 0 1px #f5d77b55,0 0 7px #58c6b433;font-weight:700}.gilil-common-star{position:absolute;top:1px;right:2px;font-size:8px;line-height:1;color:#ffe69b}.gilil-common-summary{padding:12px 14px;border:1px solid #639c86;border-radius:8px;background:#153e35;color:#f8e6ac;line-height:1.8}

.antaek-dialog{font-family:CheonunSerif,serif}.antaek-form{display:grid;gap:20px}.antaek-form label{display:grid;gap:8px}.antaek-form select{width:100%;min-width:0;box-sizing:border-box;background:#14241c;color:#fff0ce;border:1px solid #786747;padding:12px;font:inherit}.antaek-form small{color:#bcb79f;line-height:1.7}.antaek-result article{border-top:1px solid #78674766;padding:14px 0}.antaek-result h3{font-size:18px;color:#f8dc97}.antaek-result p{line-height:1.95}.antaek-dialog footer{border-top:1px solid #78674766;margin-top:24px}.antaek-dialog a{color:#dec589}

.naming-dialog .antaek-form input:not([type=checkbox]){width:100%;min-width:0;box-sizing:border-box;background:#14241c;color:#fff0ce;border:1px solid #786747;padding:12px;font:inherit}.naming-dialog .antaek-form .naming-check{display:flex;align-items:center;gap:10px}.naming-dialog input[type=checkbox]{width:18px;height:18px}

.naming-dialog{width:min(210mm,94vw);max-width:94vw;box-sizing:border-box}.naming-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.naming-form-row>label{min-width:0}.naming-form-row small{font-size:12px}.naming-zi-note.is-disabled{opacity:.5}.naming-lunar-date{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:4px}.naming-dialog [hidden]{display:none!important}.naming-lunar-date select{padding:12px 4px}.naming-dialog input[type=date]{color-scheme:dark;min-height:48px}.naming-form-row select{min-height:48px}@media(max-width:700px){.naming-form-row{grid-template-columns:1fr;gap:16px}.naming-dialog{width:94vw}}

.naming-birth-field{display:grid;gap:7px;min-width:0}.naming-birth-field>label{margin:0}.naming-birth-field small{font-size:12px}

.naming-form-row>label{margin:0}.naming-birth-field>input{box-sizing:border-box;height:50px;padding:12px;font-size:inherit}
.naming-length-group{display:grid;gap:16px;min-width:0}.naming-length-group>label{margin:0}.naming-length-group .is-disabled{opacity:.5}
.naming-generation-row .is-disabled{opacity:.5}

/* 관리자 홍보전략 (2026-10-04) */
.admin-promo .promo-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px;border-bottom:1px solid #ad915944}.admin-promo .promo-tabs button{padding:10px 14px;background:none;color:#b9c0b2;border:0;border-bottom:2px solid transparent;font-size:14px}.admin-promo .promo-tabs button[aria-current=page]{color:#e1c387;border-bottom-color:#e1c387}
.admin-promo button{padding:8px 12px;background:#2c3a2c;color:#f0e2bd;border:1px solid #756747;border-radius:4px;cursor:pointer}.admin-promo .promo-quiet{background:none;color:#cbbf9f}.admin-promo .promo-danger{background:#5a2620;color:#ffd9cc;border-color:#a35a4a}
.admin-promo input,.admin-promo select,.admin-promo textarea{padding:8px;background:#152723;color:#e6dcc5;border:1px solid #756747;border-radius:3px;font:inherit;box-sizing:border-box;max-width:100%}
.promo-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}.promo-count,.promo-note,.promo-empty{font-size:12px;line-height:1.8;color:#b9c0b2}
.promo-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;padding:14px;margin:0 0 14px;background:#10221e;border:1px solid #ad915955;border-radius:6px}.promo-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#cbbf9f}.promo-form .wide{grid-column:1/-1}
.promo-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.promo-actions a{color:#e1c387;font-size:12px;margin-right:auto}
.promo-card{padding:14px 0;border-top:1px solid #ad915944}.promo-card-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.promo-card h3{font-size:16px;margin:0}.promo-card p{font-size:12px;line-height:1.7;margin:4px 0;color:#c9c6b4}.promo-card[data-status=게시] h3{color:#e1c387}.promo-card[data-status=보류]{opacity:.6}.promo-memo{white-space:pre-wrap}
.promo-phase{padding:14px 0;border-top:1px solid #ad915944}.promo-phase h3{font-size:16px;margin:0 0 6px}.promo-phase small{color:#b9c0b2;font-weight:400}.promo-phase progress{width:100%;height:6px;accent-color:#c8a865}.promo-phase ul{list-style:none;padding:0;margin:10px 0}.promo-phase li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:6px 0;font-size:13px;line-height:1.6}.promo-phase li label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.promo-phase li input{margin-top:4px}.promo-phase li:has(input:checked) span{color:#8f998e;text-decoration:line-through}.promo-gate span{color:#e1c387;font-weight:600}
.promo-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.promo-add input[name=title]{flex:1;min-width:200px}.promo-inline{display:flex;gap:4px;align-items:center;font-size:12px;color:#cbbf9f}
.promo-table-wrap{overflow-x:auto;margin:6px 0 16px}.promo-table{width:100%;border-collapse:collapse;font-size:12px}.promo-table th,.promo-table td{padding:8px 6px;border-bottom:1px solid #ad915933;text-align:right;white-space:nowrap}.promo-table th:first-child,.promo-table td:first-child{text-align:left;white-space:normal;min-width:160px}.promo-table td small{display:block;color:#a9b2a6}.promo-table input[type=number]{width:84px;text-align:right}.promo-sub{font-size:15px;margin:18px 0 4px;color:#e1c387}
.promo-copy{display:flex;gap:8px;margin:8px 0}.promo-copy input{flex:1;min-width:0}.promo-linkrow{padding:8px 0;border-top:1px solid #ad915933;font-size:12px}
@media(max-width:760px){.promo-form{grid-template-columns:1fr}.promo-card-head{flex-wrap:wrap}}
.admin-promo label{margin:0}.admin-promo input[type=checkbox]{width:auto;flex:none;margin:4px 0 0;padding:0}.admin-promo .promo-phase li label{flex:1;min-width:0}.admin-promo .promo-phase li span{flex:1}.admin-promo .promo-form input,.admin-promo .promo-form select,.admin-promo .promo-form textarea{width:100%}.admin-promo .promo-add input[type=checkbox],.admin-promo .promo-inline input{margin:0}.admin-promo .promo-copy input{width:auto}.admin-promo .promo-table input[type=date]{width:auto}
/* 관리자 서버관리 (2026-10-04) */
.admin-server .server-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-server .server-refresh{padding:8px 12px;background:#2c3a2c;color:#f0e2bd;border:1px solid #756747;border-radius:4px;cursor:pointer}.admin-server .server-refresh:disabled{opacity:.5}
.server-summary{display:flex;gap:12px;align-items:center;margin:14px 0;padding:12px 14px;border-radius:6px;border:1px solid #756747;background:#10221e;font-size:14px}.server-summary strong{font-size:15px}
.server-summary.server-ok{border-color:#5f9b6c}.server-summary.server-warn{border-color:#c8a03a}.server-summary.server-bad{border-color:#c0574a;background:#2a1714}
.server-checks{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.server-checks li{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;padding:10px 12px;background:#10221e;border:1px solid #ad915933;border-radius:6px;font-size:13px}.server-checks small{flex-basis:100%;padding-left:18px;color:#b9c0b2;font-size:12px}
.server-dot{width:10px;height:10px;border-radius:50%;background:#7d857c;flex:none}.server-ok .server-dot{background:#6fbf7e}.server-warn .server-dot{background:#e0b84a}.server-bad .server-dot{background:#e06a5a}
.server-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.server-grid section{padding:12px 14px;border-top:1px solid #ad915944}.server-grid h3{font-size:15px;margin:0 0 8px;color:#e1c387}.server-grid dl{margin:0}.server-kv{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #ad915922;font-size:12px}.server-kv dt{color:#b9c0b2}.server-kv dd{margin:0;text-align:right;overflow-wrap:anywhere}

/* Compact, centered I Ching controls and reading. */
@media screen{
 .iching-content .iching-draw{display:block;margin:16px auto 12px;min-width:160px}
 .iching-content>.zodiac-print-button{margin:12px auto 16px}
 .iching-content>[role=status]:empty{display:none}
 .iching-content>.iching-note{margin:0 0 14px}
 .iching-content .iching-result{margin-top:18px}
 .iching-result .iching-intro{margin:0 0 16px}
 .iching-result .iching-plaque{width:min(100%,280px);padding:18px 24px 16px;margin:16px auto 22px}
 .iching-result .iching-plaque .iching-symbol{width:min(100%,180px);gap:9px;margin:18px auto}
 .iching-result .iching-plaque .iching-symbol span{height:12px}
 .iching-result .iching-hanja{font-size:30px}
 .iching-result .iching-plaque-name h2{font-size:20px;margin:4px 0}
 .iching-result .iching-explanation>h3:first-child{margin-top:12px}
}

@media screen{
 .iching-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:16px 0}
 .iching-content .iching-actions .iching-draw{grid-column:2;grid-row:1;margin:0;min-width:0}
 .iching-content .iching-actions .zodiac-print-button{grid-column:3;grid-row:1;justify-self:end;margin:0;white-space:nowrap}
 .iching-content .iching-empty-plaque{width:min(100%,280px);height:300px;margin:18px auto 22px;animation:none}
 @media(max-width:480px){.iching-content .iching-actions .iching-draw{padding:12px 14px}.iching-content .iching-actions .zodiac-print-button{padding:8px 10px;font-size:13px}.iching-actions{gap:6px}}
}

/* Original, moving lines, and relating hexagram. */
@media screen{
 .iching-hexagram-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
 .iching-hexagram-pair.iching-single-hexagram{grid-template-columns:1fr}
 .iching-result .iching-hexagram-pair .iching-plaque{width:100%;max-width:280px;margin:16px auto 20px}
 .iching-result .iching-symbol span[data-moving]{outline:2px solid #bde7df;outline-offset:4px}
 .iching-result .iching-moving-key{font-size:12px!important;color:#bde7df;margin:12px 0 0}
 .iching-moving-passage{border-left:2px solid #b59d63;padding:2px 0 2px 16px;margin:18px 0}
 .iching-original{color:#d9c9a9;overflow-wrap:anywhere}
 .iching-result h4{font-size:16px;line-height:1.6;color:#ddc993;margin:20px 0 8px}
 .iching-cast-summary{border:1px solid #ac925e55;padding:14px 16px;border-radius:6px}
 @media(max-width:480px){.iching-hexagram-pair{grid-template-columns:1fr}.iching-result .iching-hexagram-pair .iching-plaque{max-width:240px}}
}
@media print{
 html.printing-reading .iching-hexagram-pair{display:flex;justify-content:center;gap:8mm;break-inside:avoid;page-break-inside:avoid}
 html.printing-reading .iching-result .iching-hexagram-pair .iching-plaque{width:65mm;max-width:45%;margin:4mm 0}
 html.printing-reading .iching-result .iching-symbol span[data-moving]{outline:1px dashed #222;outline-offset:2px}
 html.printing-reading .iching-result h4{break-after:avoid;page-break-after:avoid;color:#222}
 html.printing-reading .iching-moving-passage{break-inside:avoid;page-break-inside:avoid}
 html.printing-reading .iching-result .iching-moving-key{font-size:9pt!important}
}

@media screen{
 .sanctuary dialog.iching-dialog{height:90dvh;overflow-anchor:none}
 .iching-content .iching-empty-pair{margin-top:18px}
 .iching-content .iching-hexagram-pair{align-items:stretch}
 .iching-content .iching-hexagram-pair .iching-plaque{width:100%;max-width:280px;min-height:352px;height:352px;margin:16px auto 20px;box-sizing:border-box;animation:none}
 .iching-content .iching-actions .iching-draw{min-width:134px}
 @media(max-width:480px){.iching-content .iching-hexagram-pair .iching-plaque{max-width:240px}.iching-content .iching-actions .iching-draw{min-width:106px}}
}

@media screen{.iching-result .iching-hanja{font-size:24px;letter-spacing:1px;white-space:nowrap}}

/* Cheongigak: white hanji and ink landscape. */
@media screen{
 .sanctuary dialog.iching-dialog{color-scheme:light;color:#302f2a;border-color:#cbbd9f;background:#fff url('./assets/iching-white-landscape-20261009.webp') center bottom/100% auto no-repeat;background-attachment:scroll}
 .iching-dialog .iching-toolbar{background:#fffefa;border-bottom-color:#ded5c3;color:#302f2a}
 .iching-dialog .iching-toolbar small{color:#806333}
 .iching-dialog .iching-toolbar h2{color:#302f2a}
 .iching-dialog .iching-toolbar button{color:#806333}
 .iching-dialog .iching-note,.iching-dialog .iching-result footer{color:#65615a}
 .iching-dialog .iching-result p{color:#3e3c37}
 .iching-dialog .iching-result h2,.iching-dialog .iching-result h3,.iching-dialog .iching-result h4{color:#775828}
 .iching-dialog .iching-draw{background:#ae8b4d;color:#fff;border:1px solid #95723c}
 .iching-dialog .iching-draw:disabled{background:#e4dfd5;color:#857e72;border-color:#d4cdbf;cursor:default}
 .iching-dialog .iching-actions .zodiac-print-button{background:#fffefa;color:#70542b;border-color:#bba474}
 .iching-dialog .iching-content .iching-plaque{background:linear-gradient(150deg,#fffefa,#f6f0e2);border-color:#c4ad7b;box-shadow:0 5px 18px #6c553012,inset 0 0 24px #e9ddc02b}
 .iching-dialog .iching-plaque:before{border-color:#d7c7a4}
 .iching-dialog .iching-plaque-number{color:#806333}
 .iching-dialog .iching-hanja{color:#76551f;text-shadow:none}
 .iching-dialog .iching-symbol span:before,.iching-dialog .iching-symbol span:after{background:linear-gradient(110deg,#89602a,#d5b36b 35%,#af8844 70%,#815b27);box-shadow:inset 0 1px 0 #ffedc6,0 1px 2px #6b4a2826}
 .iching-dialog .iching-result .iching-symbol span[data-moving]{outline-color:#4b7972}
 .iching-dialog .iching-result .iching-moving-key{color:#32675f}
 .iching-dialog .iching-cast-summary{background:#fffdf6e8;border-color:#d9cdb5}
 .iching-dialog .iching-moving-passage{background:#fffdf6c9;border-left-color:#b19459;padding-right:12px}
 .iching-dialog .iching-result a{color:#735729}
 .iching-dialog .iching-result footer{border-top-color:#d9cdb5}
 .iching-dialog button:focus-visible{outline:2px solid #537d75;outline-offset:3px}
}

/* Keep the landscape subordinate to long reading text. */
@media screen{
 .sanctuary dialog.iching-dialog{background-image:linear-gradient(#ffffffde,#ffffffde),url('./assets/iching-white-landscape-20261009.webp')}
 .iching-dialog .iching-result .iching-explanation,.iching-dialog .iching-result footer{background:#ffffffeb;padding:16px 18px;border-radius:6px}
 .iching-dialog .iching-result p,.iching-dialog .iching-note,.iching-dialog .iching-result footer{color:#252520}
 .iching-dialog .iching-result h2,.iching-dialog .iching-result h3,.iching-dialog .iching-result h4{color:#624719}
 @media(max-width:480px){.iching-dialog .iching-result .iching-explanation,.iching-dialog .iching-result footer{padding:12px}}
}

dialog.iching-dialog.antaek-dialog.naming-dialog{width:min(210mm,94vw);max-width:94vw;box-sizing:border-box}

/* Naming: readable ink on the light paper surface. */
dialog.naming-dialog .iching-content,dialog.naming-dialog .iching-content p,dialog.naming-dialog .iching-content label,dialog.naming-dialog .iching-content h3{color:#302f2a}
dialog.naming-dialog .iching-content small,dialog.naming-dialog .gilil-note,dialog.naming-dialog .gilil-note p,dialog.naming-dialog .iching-note{color:#555148}
dialog.naming-dialog .antaek-form label{font-weight:600}
dialog.naming-dialog .antaek-form small{font-weight:400;font-size:13px}
dialog.naming-dialog .naming-zi-note.is-disabled{opacity:1}
dialog.naming-dialog .antaek-form input:not([type=checkbox]),dialog.naming-dialog .antaek-form select{background:#fffefa;color:#282e29;border-color:#8c9287;color-scheme:light}
dialog.naming-dialog .antaek-form input::placeholder{color:#666b63;opacity:1}
dialog.naming-dialog .antaek-form :is(input,select):disabled{background:#e8eae4;color:#555b52;opacity:1;-webkit-text-fill-color:#555b52}
dialog.naming-dialog .antaek-form :is(input,select):focus-visible{outline:2px solid #356653;outline-offset:2px}
dialog.naming-dialog .antaek-result a{color:#624719}

.naming-dialog .company-entry,.naming-dialog .company-person{background:#244d3b;color:#fff;border:1px solid #244d3b;padding:12px 18px;font:inherit;margin-bottom:18px;cursor:pointer}.company-naming fieldset{border:1px solid #b6a17a;padding:16px}.company-naming fieldset label{margin-top:12px}

/* Both naming modes stay visible above the form. */
dialog.naming-dialog .naming-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:#f5f0e5;border-bottom:1px solid #b9aa8e;position:sticky;top:0;z-index:4;padding:0 20px}
dialog.naming-dialog .naming-tabs button{font:inherit;font-size:16px;font-weight:600;line-height:1.5;padding:15px 8px;margin:0;border:0;border-bottom:3px solid transparent;background:transparent;color:#575247;cursor:pointer;min-width:0}
dialog.naming-dialog .naming-tabs button[aria-selected=true]{color:#254c39;background:#fffdf7;border-bottom-color:#254c39}
dialog.naming-dialog .naming-tabs button:focus-visible{outline:2px solid #356653;outline-offset:-5px}
@media(max-width:500px){dialog.naming-dialog .naming-tabs{padding:0 8px}dialog.naming-dialog .naming-tabs button{font-size:14px;padding:13px 3px}}
@media print{body.printing-naming .naming-tabs{display:none!important}}

dialog.naming-dialog .naming-character-reading{font-size:17px;font-weight:600;color:#294b38;background:#eef2e8;border-left:3px solid #617c50;padding:12px 14px;line-height:1.9}
