.sanctuary .ohaeng-dialog{width:min(820px,calc(100vw - 24px));max-width:820px;max-height:92svh;padding:0;border:1px solid #bda36a;border-radius:18px;background:#081725;color:#f3e7d0;font-family:CheonunSerif,serif;box-sizing:border-box;overflow:auto;scrollbar-width:thin;color-scheme:dark}
.ohaeng-dialog::backdrop{background:#020913d9;backdrop-filter:blur(5px)}
.ohaeng-journey-container{padding:0 28px 24px}.ohaeng-journey{border-top:1px solid #bda36a55;padding-top:28px;text-align:center;color:#e7d8b7}.ohaeng-journey h3{font-size:23px;font-weight:400}.ohaeng-journey>small{color:#bea36e;letter-spacing:2px}.journey-progress{display:flex;justify-content:space-between;font-size:13px}.ohaeng-journey progress{width:100%;height:6px;accent-color:#d4b56f;margin:10px 0 20px}.journey-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.journey-slot{position:relative;aspect-ratio:2/3;border:1px dashed #8e815f77;border-radius:8px;background:radial-gradient(ellipse,#203043,#071420);display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;color:#79818a}.journey-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.journey-slot strong{font-size:30px;z-index:1;text-shadow:0 2px 9px #000}.journey-slot span{position:absolute;bottom:0;left:0;right:0;padding:7px 2px;font-size:10px;background:#061323bb;z-index:1}.journey-slot.filled{border:1px solid #bb9d60;color:#ffe4a9}.journey-slot.bonus{background:radial-gradient(ellipse,#746035,#0b1927);border-style:double}.journey-help{font-size:12px;line-height:1.9;color:#aab5ba;margin:18px 0 24px}.journey-lucky{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.journey-reward{border:1px solid #8e815f55;border-radius:8px;padding:16px 5px;display:grid;gap:9px;color:#76818c;background:#071523}.journey-reward strong{font-size:32px}.journey-reward span{font-size:12px}.journey-reward small{font-size:10px}.journey-reward.earned,.journey-grand.earned{color:#ffe6aa;border-color:#e7c87f;background:radial-gradient(ellipse at top,#6a542d,#0a1b2a 80%)}.journey-grand{margin:22px 0;border:1px solid #a28b5c66;border-radius:12px;padding:22px 14px;background:linear-gradient(120deg,#172738,#081320)}.journey-grand>strong{font-size:34px;letter-spacing:8px;color:#d7bd81}.journey-grand p{font-size:13px;line-height:1.8}.journey-gift{padding:20px;border:1px solid #bda36a66;margin:14px 0;border-radius:12px}.journey-gift>img{display:block;width:160px;margin:16px auto}.journey-gift a{color:#ecd29a}.journey-gift-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.journey-gift-options button{background:#102333;color:#e7d8b7;border:1px solid #ae945e;border-radius:8px;padding:10px;cursor:pointer}.journey-gift-options img{width:100%;max-height:150px;object-fit:contain}.journey-gift-options span{display:block;font-size:12px;line-height:1.7}@media(max-width:600px){.ohaeng-journey-container{padding:0 14px 20px}.journey-slots,.journey-lucky{gap:5px}.journey-slot strong{font-size:24px}.journey-slot span{font-size:9px}.journey-reward{padding:12px 2px}.journey-reward span{font-size:10px}.journey-gift-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ohaeng-birth-top{padding:20px 28px 0}.ohaeng-birth-top[hidden]{display:none}@media(max-width:600px){.ohaeng-birth-top{padding:16px 14px 0}}
.ohaeng-profile{max-width:700px!important}.ohaeng-profile fieldset{border:1px solid #bda36a66;padding:14px;border-radius:8px}.ohaeng-profile legend{color:#e5c789;padding:0 8px}.ohaeng-birth-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px}.ohaeng-birth-grid label{min-width:0;font-size:13px}.ohaeng-birth-grid .ohaeng-time-field{grid-column:span 2}.ohaeng-birth-grid .ohaeng-check{align-self:end;min-height:48px}.ohaeng-profile input[type=checkbox]{width:17px;height:17px;accent-color:#c9a869}.ohaeng-profile select:disabled{opacity:.5}@media(max-width:520px){.ohaeng-birth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.ohaeng-birth-grid .ohaeng-time-field{grid-column:span 1}.ohaeng-profile fieldset{padding:10px}.ohaeng-profile select{font-size:14px!important}}
.ohaeng-status{padding:0 24px 22px;color:#e8cd90;font-size:13px;line-height:1.8}.ohaeng-profile{max-width:440px;margin:auto}.ohaeng-profile label{display:block;margin:16px 0;color:#e6d2aa}.ohaeng-profile input:not([type=checkbox]),.ohaeng-profile select{display:block;width:100%;padding:12px;margin-top:8px;background:#12283a;color:#fff1d4;border:1px solid #8f7a53;border-radius:6px;font:16px sans-serif;box-sizing:border-box}.ohaeng-profile .ohaeng-check{display:flex;gap:12px;align-items:center}.ohaeng-issued{position:relative;max-width:480px;margin:auto;border:1px solid #bda36a;border-radius:14px;overflow:hidden;container-type:inline-size;background:#061323}.ohaeng-issued-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ohaeng-issued-shade{position:absolute;inset:0;background:linear-gradient(180deg,#06132388,transparent 25%,#06132322 42%,#061323dd 64%,#061323fa)}.ohaeng-issued-top{position:relative;text-align:center;padding:5% 4%;font-size:3cqw;color:#f5db9b;text-shadow:0 2px 4px #000}.ohaeng-issued-top span{display:block;font-size:2.6cqw;margin-top:5px}.ohaeng-issued-copy{position:relative;text-align:center;padding:63% 8% 6%;color:#f2e9d8}.ohaeng-issued-copy small{font-size:2.8cqw;color:#d5bc85}.ohaeng-issued-copy h3{font-size:6cqw;margin:3cqw 0 4cqw}.ohaeng-issued-copy p{font-size:3.4cqw;line-height:1.9;word-break:keep-all}.ohaeng-issued-action{color:#f0d8a7}.ohaeng-issued-symbols{border-top:1px solid #bda36a66;padding-top:3cqw;margin-top:4cqw;font-size:2.8cqw;line-height:1.8}.ohaeng-issued .ohaeng-brand{font-size:3cqw}
.sanctuary .ohaeng-toolbar{position:sticky;inset:0 0 auto;z-index:3;display:flex;justify-content:space-between;align-items:center;max-width:none;padding:14px 24px;background:#081725f5;border-bottom:1px solid #bda36a55}
.ohaeng-toolbar small{color:#cfb779;font-size:12px;letter-spacing:3px}.ohaeng-toolbar h2{font-size:24px;margin:4px 0}.ohaeng-toolbar button{border:0;background:none;color:#e6d2a3;font-size:30px;min-width:44px;min-height:44px;cursor:pointer}
.ohaeng-tabs{display:flex;gap:4px;padding:14px 20px 0}.ohaeng-tabs button{flex:1;background:none;color:#bfb9ab;border:0;border-bottom:2px solid transparent;padding:12px 4px;font:inherit;cursor:pointer}.ohaeng-tabs button[aria-current=page]{color:#f0d192;border-color:#d8b671}
.ohaeng-preview-note{font:12px/1.8 sans-serif;color:#b6b6b1;margin:16px 24px;padding:10px 14px;border:1px solid #c1a26a30;border-radius:8px;background:#ffffff04}
.ohaeng-content{padding:6px 28px 30px;outline:none}.ohaeng-content button{font-family:inherit;cursor:pointer}.ohaeng-content p{line-height:1.85}.ohaeng-content h3{font-weight:400;word-break:keep-all;line-height:1.65}.ohaeng-kicker{color:#d9b978;font-size:14px;letter-spacing:2px;margin:14px 0 6px}.ohaeng-offering{text-align:center}.ohaeng-offering h3{font-size:34px;margin:6px 0 10px}.ohaeng-offering>p{margin:10px 0}.ohaeng-offering-art{height:260px;display:grid;place-items:center;background:radial-gradient(ellipse,#ad8b4030,transparent 65%);margin:12px 0}.ohaeng-offering-art img{width:260px;height:260px;object-fit:contain;filter:drop-shadow(0 12px 25px #0007)}
.ohaeng-offering dl{border:1px solid #c7a76b;border-radius:12px;padding:8px 22px;max-width:500px;margin:12px auto 20px}.ohaeng-offering dl>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #c7a76b35;text-align:left}.ohaeng-offering dl>div:last-child{border:0}.ohaeng-offering dt{color:#dec28c;white-space:nowrap}.ohaeng-offering dd{margin:0;text-align:right}.ohaeng-note{color:#bdbbb2;font-size:13px}.ohaeng-primary{display:block;width:min(100%,500px);margin:18px auto 10px;background:linear-gradient(110deg,#c8a665,#f0d797,#cbaa69);border:1px solid #f4d99d;border-radius:10px;color:#18202a;font-size:19px;padding:18px 12px}.ohaeng-secondary{display:block;margin:24px auto 0;border:1px solid #b8995d;border-radius:8px;color:#e5c789;background:transparent;padding:14px 20px}
.ohaeng-sample-picker{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0 22px}.ohaeng-sample-picker button{padding:9px 12px;border:1px solid #c8a76c55;border-radius:20px;background:#112538;color:#c2c2ba;font-size:13px}.ohaeng-sample-picker button[aria-pressed=true]{background:#b39457;color:#071521;border-color:#e8ca8c}
.ohaeng-card{max-width:580px;margin:auto;border:1px solid #c5a261;border-radius:14px;overflow:hidden;background:#0a1b2b;box-shadow:0 16px 45px #0004}.ohaeng-card-landscape{height:230px;background:linear-gradient(0deg,#0a1b2b,transparent 50%),url('./assets/shrine-ohaeng-wide-v2.png') center 35%/cover}.ohaeng-card-landscape>p{margin:0;padding:18px 20px;text-align:center;background:linear-gradient(#061422b0,transparent);font-size:16px;text-shadow:0 2px 5px #000}.ohaeng-card-landscape span{display:block;font-size:12px;color:#d3c8b0}.ohaeng-card-copy{padding:0 28px 18px;text-align:center}.ohaeng-common{font-size:15px;color:#c5c9c9;padding:0 0 22px;border-bottom:1px solid #b8995d55;margin:0 0 22px}.ohaeng-identity{display:inline-block;border:1px solid #b8995d;border-radius:8px;padding:8px 25px;color:#f0d398;font-size:22px;margin-bottom:8px}.ohaeng-card h3{font-size:24px;margin:8px 0 25px}.ohaeng-action{font-size:18px;margin:8px 0 24px;word-break:keep-all}.ohaeng-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.ohaeng-tags span{font-size:12px;border:1px solid #c4a66980;padding:5px 10px;border-radius:18px}.ohaeng-symbols{display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:center;border-top:1px solid #b8995d55;padding-top:16px;font-size:13px;margin-top:24px}.ohaeng-brand{color:#c6ad7b;font-size:14px;letter-spacing:5px;margin:12px 0 0}.ohaeng-collection{text-align:center}.ohaeng-collection h3{font-size:30px;margin:8px 0}.ohaeng-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}.ohaeng-collection-grid button{padding:0 0 15px;border:1px solid #b8995d60;background:#0d2133;border-radius:10px;overflow:hidden;color:#f1e2c7}.ohaeng-collection-grid img{display:block;width:100%;height:auto}.ohaeng-collection-grid strong,.ohaeng-collection-grid span{display:block;margin-top:10px}.ohaeng-collection-grid span{font-size:12px;color:#b8bdbd}
.ohaeng-dialog button:focus-visible,.ohaeng-collection-trigger:focus-visible{outline:2px solid #fff1b7;outline-offset:3px}
.ohaeng-collection-trigger{display:none}.sanctuary.ohaeng-active .ohaeng-collection-trigger{display:block;margin:12px auto 0;padding:8px 14px;border:0;background:#061421a8;border-radius:8px;color:#ead19b;font:14px CheonunSerif,serif;cursor:pointer}.sanctuary.ohaeng-active .scene-heading>p:after{content:'제물 · 방문';display:block;width:max-content;margin:14px auto 0;padding:5px 18px;border:1px solid #d2af6b;border-radius:30px;font-size:13px;background:#081725aa;color:#f0d597}.sanctuary.ohaeng-active .hero-art:after{background:linear-gradient(180deg,#03101c70,transparent 35%,transparent 60%,#03101ce0)}
@media(max-width:600px){.sanctuary .ohaeng-dialog{width:calc(100vw - 16px);max-height:95svh;border-radius:12px}.sanctuary .ohaeng-toolbar{padding:12px 16px}.ohaeng-content{padding:4px 14px 24px}.ohaeng-preview-note{margin:12px 14px;font-size:11px}.ohaeng-tabs{padding:8px 10px 0;font-size:13px}.ohaeng-offering h3{font-size:28px}.ohaeng-offering-art,.ohaeng-offering-art img{height:215px}.ohaeng-offering-art img{width:215px}.ohaeng-offering dl{padding:5px 14px;font-size:14px}.ohaeng-primary{font-size:17px}.ohaeng-card-copy{padding:0 18px 18px}.ohaeng-card h3{font-size:21px}.ohaeng-action{font-size:16px}.ohaeng-card-landscape{height:185px}.ohaeng-collection-grid{gap:12px}.ohaeng-collection-grid strong{font-size:14px}.ohaeng-sample-picker{gap:5px}.ohaeng-sample-picker button{font-size:12px;padding:8px 9px}}
.sanctuary .ohaeng-daily-entry[aria-pressed="true"]{background:linear-gradient(90deg,#d6b77b21,transparent);color:#ffe9bb}
.sanctuary .ohaeng-daily-entry .ohaeng-entry-status{color:#e5c886;letter-spacing:0}
.sanctuary.ohaeng-active .scene-heading p:before{content:none}
.sanctuary.ohaeng-active .scene-heading{top:14px}
.sanctuary.ohaeng-active .scene-heading h2{font-size:34px;margin:4px 0}
.sanctuary.ohaeng-active .scene-heading>small{font-size:13px}
.sanctuary.ohaeng-active .scene-heading>p{font-size:13px;margin:6px 0}
.sanctuary.ohaeng-active .scene-heading>p:after{margin-top:8px;padding:3px 16px;font-size:12px}
@media(max-width:760px){.sanctuary.ohaeng-active .scene-heading{top:auto;padding-top:14px}.sanctuary.ohaeng-active .scene-heading h2{font-size:30px}.sanctuary.ohaeng-active .scene-heading>p{font-size:11px}.sanctuary.ohaeng-active .scene-heading>p:after{margin-top:6px}}
.ohaeng-basis{text-align:left;margin-top:20px;padding-top:16px;border-top:1px solid #b8995d55;color:#c8c7bd;font-size:13px}.ohaeng-basis summary{cursor:pointer;color:#e5c789}.ohaeng-basis p{line-height:1.8}.ohaeng-basis small{line-height:1.7;display:block}
.ohaeng-season-title{font-size:12px;color:#d3b980;letter-spacing:2px;margin:0 0 6px}.ohaeng-card .ohaeng-collection-title{font-size:26px;color:#f4dfb2;margin:6px 0 16px}.ohaeng-scene-text{font-size:15px;color:#d6d7ce;word-break:keep-all}.ohaeng-reflection{font-size:14px;color:#decba7;word-break:keep-all;padding-bottom:14px}.ohaeng-card-copy .ohaeng-common{font-size:12px;color:#aeb7b9;padding-top:16px;border-top:1px solid #b8995d35}
.journey-pentagon{position:relative;aspect-ratio:1/1;max-width:680px;margin:0 auto 12px;container-type:inline-size;background:radial-gradient(circle at 50% 49%,#b89c4d1c,transparent 58%)}.journey-orbit{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c5a76766;stroke-width:.25}.journey-orbit path{stroke:#c5a76733;stroke-dasharray:1 1.5}.journey-point{position:absolute;width:27%;transform:translate(-50%,-50%)}.journey-point.point-0{left:50%;top:14%}.journey-point.point-1{left:84%;top:40%}.journey-point.point-2{left:71%;top:82%}.journey-point.point-3{left:29%;top:82%}.journey-point.point-4{left:16%;top:40%}.journey-point-label{font-size:2.4cqw;color:#dbc58e;margin-bottom:1cqw}.journey-point-label small{color:#9ba9ac;font-size:1.9cqw;margin-left:1cqw}.journey-pair{display:grid;grid-template-columns:1fr 1fr;gap:5%}.journey-pentagon .journey-slot{border-radius:6px}.journey-pentagon .journey-slot strong{font-size:4.5cqw}.journey-pentagon .journey-slot span{font-size:1.8cqw;padding:1cqw 0}.journey-center{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:24%;aspect-ratio:2/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;border:1px solid #cbb16b88;outline:1px solid #cbb16b33;outline-offset:5px;border-radius:10px;background:linear-gradient(145deg,#21334a,#091724);box-shadow:0 0 35px #d4b15d17;color:#d0ba87}.journey-center>strong{font-size:7cqw;font-weight:400}.journey-center>span{font-size:2.6cqw}.journey-center>small{font-size:2cqw}.journey-center.earned{color:#ffdfa0;background:radial-gradient(ellipse at top,#7e602b,#112334);border-color:#f2cd79;box-shadow:0 0 30px #eec16a55}@media(max-width:600px){.journey-point-label{font-size:3cqw}.journey-point-label small{font-size:2.6cqw}.journey-pentagon .journey-slot span{font-size:2.4cqw}.journey-center>span{font-size:3cqw}.journey-center>small{font-size:2.7cqw}.journey-center{outline-offset:3px;border-radius:7px}}
.journey-fortune-pentagon .journey-reward{width:70%;margin:auto;aspect-ratio:2/3;padding:8% 3%;box-sizing:border-box;align-content:center;gap:1.8cqw}.journey-fortune-pentagon .journey-reward strong{font-size:5cqw}.journey-fortune-pentagon .journey-reward span{font-size:2.3cqw}.journey-fortune-pentagon .journey-reward small{font-size:1.9cqw}.journey-supreme>strong{font-size:5.8cqw;letter-spacing:.1em}.journey-supreme{gap:1.6cqw}@media(max-width:600px){.journey-fortune-pentagon .journey-reward{width:82%}.journey-fortune-pentagon .journey-reward span{font-size:2.8cqw}.journey-fortune-pentagon .journey-reward small{font-size:2.5cqw}.journey-supreme>small{font-size:2.4cqw}}
.ohaeng-calendar-container{padding:0 28px 24px}.ohaeng-calendar{border-top:1px solid #bda36a55;padding-top:24px}.ohaeng-calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.ohaeng-calendar-heading h3{font-size:24px;font-weight:400}.ohaeng-calendar-heading label{font-size:13px;color:#d5bd89}.ohaeng-calendar select{background:#14283b;color:#f1dfb9;border:1px solid #a68a54;border-radius:6px;padding:9px;font:inherit}.ohaeng-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px}.ohaeng-months button{padding:10px 0;color:#bac3c7;border:1px solid #bda36a44;background:#102234;border-radius:5px;cursor:pointer;font:inherit;font-size:13px}.ohaeng-months button[aria-pressed=true]{background:#d1b16c;color:#101b27;border-color:#f0d8a1}.ohaeng-calendar-count{font-size:14px;color:#dcc594;text-align:center;margin:22px 0 14px}.ohaeng-calendar-week,.ohaeng-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ohaeng-calendar-week,.ohaeng-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ohaeng-calendar-week{text-align:center;font-size:12px;color:#b8c2c7;padding:8px 0}.ohaeng-calendar-week span:first-child{color:#d89187}.calendar-day{min-height:130px;border:1px solid #bda36a33;border-radius:5px;padding:6px;min-width:0;background:#0c1d2c}.calendar-day time{font-size:12px;color:#a9b7be;display:block;margin-bottom:5px}.calendar-day.is-today{border-color:#d6b76f}.calendar-day.is-today time{color:#ffe3a3}.calendar-day button{padding:0;border:0;background:transparent;color:#ecd9b0;cursor:pointer;width:100%;display:block;margin-bottom:4px}.calendar-day img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border-radius:4px}.calendar-day button span{display:block;font-size:10px;line-height:1.5;margin-top:3px;word-break:keep-all}.ohaeng-calendar button:focus-visible,.ohaeng-calendar select:focus-visible{outline:2px solid #f4dca3;outline-offset:2px}@media(max-width:600px){.ohaeng-calendar-container{padding:0 12px 20px}.ohaeng-months{grid-template-columns:repeat(6,minmax(0,1fr))}.calendar-day{min-height:78px;padding:3px}.calendar-day button span{display:none}.ohaeng-calendar-week,.ohaeng-calendar-grid{gap:2px}.calendar-day time{font-size:10px}.ohaeng-calendar-heading h3{font-size:21px}}

/* Reward art is ornamental until earned; all status text stays accessible. */
.journey-reward,.journey-center{overflow:hidden;isolation:isolate}
.journey-reward{position:relative}
.journey-reward-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:grayscale(.85) brightness(.32);opacity:.75;pointer-events:none}
.earned>.journey-reward-art{filter:none;opacity:1}
.journey-reward:after,.journey-center:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 20%,#04101c55 45%,#04101cef 100%);z-index:-1;pointer-events:none}
.journey-reward>span,.journey-reward>small,.journey-center>span,.journey-center>small{text-shadow:0 1px 5px #000;color:#f4e6c8}
.journey-reward.earned>strong,.journey-center.earned>strong{visibility:hidden}
.journey-earned-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;padding:18px 0}
.journey-earned-gallery img{width:100%;border-radius:8px}.journey-earned-gallery a{display:block;font-size:12px;line-height:2;color:#edcf90}
.journey-gift .journey-art-link{display:block;margin:10px}.journey-art-link:focus-visible{outline:2px solid #ffe4a0;outline-offset:3px}

.journey-reward>small,.journey-center>small{max-width:90%;line-height:1.5;word-break:keep-all;text-align:center}

.ohaeng-large-reward{display:block;width:min(100%,480px);height:auto;margin:0 auto 20px;border-radius:16px}.ohaeng-content{scroll-margin-top:20px}.ohaeng-content>.ohaeng-secondary{margin:8px;display:inline-block}.ohaeng-journey [role="button"]{cursor:pointer}.ohaeng-journey [role="button"]:focus-visible{outline:2px solid #ffe2a0;outline-offset:3px}
