/* 다이어리 서재 읽기 창: 밤 서재(남색 · 금) 위에 크림색 편지지. 편지마다 향 색(--dc)이 테이프 · 탭 · 한 줄에 스민다. */
#rpg-app .rpg-modal.diary-sheet{width:min(1080px,96vw);max-height:min(92dvh,860px);display:flex;flex-direction:column;padding:22px 26px 16px}
#rpg-app .rpg-modal.diary-sheet>header h2{display:flex;align-items:baseline;gap:12px}
#rpg-app .rpg-modal.diary-sheet>header h2 em{font:600 13px/1 Outfit,sans-serif;letter-spacing:.32em;color:var(--dc);font-style:normal;filter:brightness(1.35)}
.diary-body{flex:1;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:26px;margin-top:14px;align-items:stretch}
.diary-sheet.wide .diary-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}
.diary-page{position:relative;margin:0;padding:18px 18px 10px;border-radius:6px;background:linear-gradient(180deg,#fbf7ee,#f3ecdf);box-shadow:0 1px 0 #fff inset,0 18px 40px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);transform:rotate(-.6deg);align-self:start;max-height:calc(min(92dvh,860px) - 190px);display:flex;flex-direction:column}
.diary-page::after{content:"";position:absolute;inset:6px;border:1px solid rgba(160,130,90,.18);border-radius:4px;pointer-events:none}
.diary-tape{position:absolute;top:-10px;left:22px;width:110px;height:26px;background:color-mix(in srgb,var(--dc) 55%,#fff6e8);opacity:.88;transform:rotate(-5deg);box-shadow:0 2px 4px rgba(0,0,0,.15);z-index:2;-webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent calc(100% - 3px))}
.diary-zoom{all:unset;cursor:zoom-in;display:block;min-height:0;flex:1;border-radius:3px;overflow:hidden}
.diary-zoom img{display:block;width:100%;height:100%;max-height:calc(min(92dvh,860px) - 240px);object-fit:contain;background:#fffdf8}
.diary-zoom:focus-visible{outline:2px solid var(--dc);outline-offset:4px}
.diary-page figcaption{margin:8px 2px 0;font:500 11px/1.4 "Noto Sans KR",sans-serif;color:#9a8a74;text-align:right;letter-spacing:.02em}
.diary-side{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding-right:4px}
.diary-scent{margin:4px 0 0;display:flex;align-items:center;gap:8px;font:700 11px/1 Outfit,"Noto Sans KR",sans-serif;letter-spacing:.24em;color:color-mix(in srgb,var(--dc) 70%,#fff)}
.diary-scent i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--dc) 55%,color-mix(in srgb,var(--dc) 60%,#000));box-shadow:0 0 14px color-mix(in srgb,var(--dc) 60%,transparent)}
#rpg-app .diary-side blockquote{margin:0;padding:6px 0 6px 18px;border-left:2px solid var(--dc);font:500 22px/1.55 "Noto Serif KR",serif;color:#f6efdf;letter-spacing:-.01em}
.diary-text{border-radius:10px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(217,181,106,.18)}
.diary-text summary{cursor:pointer;padding:11px 14px;font:700 13px/1.3 "Noto Sans KR",sans-serif;color:#e8d9b4;list-style:none;display:flex;align-items:center;gap:8px}
.diary-text summary::-webkit-details-marker{display:none}
.diary-text summary::before{content:"✎";color:var(--dc);filter:brightness(1.4)}
.diary-text summary::after{content:"＋";margin-left:auto;color:#a8a392}.diary-text[open] summary::after{content:"−"}
.diary-text p{margin:0;padding:2px 16px 16px;font:400 15px/1.95 "Gowun Dodum","Noto Sans KR",sans-serif;color:#ece6d6}
.diary-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:auto}
.diary-tabs button{display:grid;justify-items:center;gap:3px;padding:9px 4px 8px;border-radius:12px;border:0;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);color:#ece6d6;cursor:pointer;transition:background .15s,transform .15s}
.diary-tabs button:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.diary-tabs button[aria-current=true]{background:color-mix(in srgb,var(--dc) 26%,transparent);box-shadow:inset 0 0 0 1.5px var(--dc)}
.diary-tabs .face{width:44px;height:44px;border-radius:50%;overflow:hidden;background:#fbf6ee;box-shadow:0 0 0 2px var(--dc)}
.diary-tabs .face img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.diary-tabs b{font:700 12.5px "Noto Sans KR",sans-serif}.diary-tabs small{font-size:10px;color:#a8a392}
.diary-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(217,181,106,.2)}
.diary-foot span{font:600 12px Outfit,sans-serif;letter-spacing:.2em;color:#a8a392}
.diary-foot button{padding:8px 14px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1px rgba(217,181,106,.45);color:#f2d79a;font:700 12.5px "Noto Sans KR",sans-serif;cursor:pointer}
.diary-foot button:hover{background:rgba(217,181,106,.12)}
.diary-src{margin:8px 0 0;font-size:11px;color:#7f7b70;text-align:center}
.diary-lightbox{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:rgba(8,10,16,.88);backdrop-filter:blur(6px);cursor:zoom-out;animation:diary-in .18s ease-out}
.diary-lightbox img{max-width:94vw;max-height:86dvh;border-radius:4px;background:#fffdf8;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.diary-lightbox button{position:absolute;top:18px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(242,215,154,.6);background:rgba(20,26,40,.7);color:#f2d79a;font-size:20px;cursor:pointer}
.diary-lightbox p{position:absolute;bottom:18px;margin:0;font:600 12px Outfit,"Noto Sans KR",sans-serif;letter-spacing:.2em;color:#e8d9b4}
@keyframes diary-in{from{opacity:0}to{opacity:1}}
@media (max-width:760px){.diary-body{grid-template-columns:1fr}.diary-page{max-height:none}.diary-zoom img{max-height:52dvh}.diary-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.diary-tabs .face{width:36px;height:36px}#rpg-app .diary-side blockquote{font-size:18px}}
/* 하늘 편지 조작 막대 */
.diary-sky-hud{position:absolute;left:50%;bottom:calc(96px * var(--ui,1));transform:translateX(-50%);z-index:35;display:flex;align-items:center;gap:12px;max-width:min(760px,94vw);padding:10px 12px 10px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(27,34,51,.9),rgba(20,26,40,.92));box-shadow:inset 0 0 0 1px rgba(242,215,154,.45),0 14px 34px rgba(0,0,0,.4);color:#ece6d6;backdrop-filter:blur(8px);animation:diary-hud-in .35s cubic-bezier(.2,.8,.2,1)}
.diary-sky-hud .nav{flex:0 0 38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(217,181,106,.45);color:#f2d79a;font-size:22px;line-height:1;cursor:pointer}
.diary-sky-hud .nav:hover{background:rgba(217,181,106,.16)}
.diary-sky-hud .who{min-width:0;display:grid;gap:2px;padding:0 4px}
.diary-sky-hud small{font:700 9.5px/1 Outfit,sans-serif;letter-spacing:.22em;color:#a8a392}
.diary-sky-hud b{font:700 17px/1.3 "Noto Serif KR",serif;color:#fff3d6}.diary-sky-hud b em{margin-left:6px;font:700 10px Outfit,sans-serif;letter-spacing:.2em;font-style:normal;color:color-mix(in srgb,var(--dc) 70%,#fff)}
.diary-sky-hud p{margin:0;font:500 12.5px/1.4 "Noto Serif KR",serif;color:#d9cfb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid var(--dc);padding-left:8px}
.diary-sky-hud .acts{display:flex;gap:6px;margin-left:4px}
.diary-sky-hud .acts button{padding:8px 12px;border-radius:999px;border:0;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(217,181,106,.45);color:#f2d79a;font:700 12px "Noto Sans KR",sans-serif;cursor:pointer;white-space:nowrap}
.diary-sky-hud .acts button:hover{background:rgba(217,181,106,.16)}
@keyframes diary-hud-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}
@media (max-width:640px){.diary-sky-hud{bottom:calc(150px * var(--ui,1));gap:8px}.diary-sky-hud p{display:none}.diary-sky-hud .acts button[data-orig]{padding:8px 10px}}
/* 원본 창이 열려 있으면 하늘 편지 조작 막대는 잠시 숨긴다 */
#modal:not([hidden]) ~ .diary-sky-hud{display:none}
/* 출구 진열장: 공식 판매처 안내. 서재 읽기 창과 같은 남색 · 금, 왼쪽엔 장미색 표지 한 권. 테마의 창 속 링크 · small 색(!important)을 이기도록 같은 앞머리를 붙였다 */
#rpg-app .rpg-modal.diary-shop{width:min(640px,94vw);padding:22px 26px 16px}
.diary-shop-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:center;margin-top:14px}
.diary-shop-book{position:relative;aspect-ratio:42/58;display:grid;align-content:center;justify-items:center;gap:6px;border-radius:3px 8px 8px 3px;background:linear-gradient(135deg,#cf98a0,#b97b85);box-shadow:inset 6px 0 0 rgba(0,0,0,.08),inset 0 0 0 9px #c48b94,inset 0 0 0 10.5px #e8cf98,0 18px 34px rgba(0,0,0,.45);transform:rotate(-3deg);color:#f2dca8}
.diary-shop-book b{font:700 38px/1 "Noto Serif KR",serif}
.diary-shop-book span{font:600 11px/1 Outfit,sans-serif;letter-spacing:.42em;margin-right:-.42em}
#rpg-app .rpg-game.rpg-game .rpg-modal .diary-shop-book small{font:500 9px/1 Outfit,sans-serif;letter-spacing:.42em;margin-right:-.42em;color:#f2dca8 !important}
.diary-shop-book i{position:absolute;bottom:-14px;left:62%;width:7px;height:26px;background:#b1474f;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)}
.diary-shop-lead{margin:0 0 14px;font:500 15.5px/1.75 "Noto Sans KR",sans-serif;color:#ece6d6}.diary-shop-lead b{color:#f6e3b6}
.diary-shop-faces{display:flex;gap:10px;margin:0 0 18px;padding:0;list-style:none}
.diary-shop-faces li{display:grid;justify-items:center;gap:4px;font:700 11px "Noto Sans KR",sans-serif;color:#d9cfb8}
.diary-shop-faces span{width:38px;height:38px;border-radius:50%;overflow:hidden;background:#fbf6ee;box-shadow:0 0 0 2px var(--dc)}
.diary-shop-faces img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
#rpg-app .rpg-game.rpg-game .rpg-modal a.diary-shop-go{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;column-gap:8px;padding:12px 20px 11px;border-radius:999px;background:linear-gradient(180deg,#f2d79a,#d8bb7c);box-shadow:0 8px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.5);color:#2b241b !important;font:700 15px "Noto Sans KR",sans-serif;text-decoration:none;transition:transform .15s,box-shadow .15s}
#rpg-app .rpg-game.rpg-game .rpg-modal a.diary-shop-go:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.5)}
#rpg-app .diary-shop-go:focus-visible{outline:2px solid #f2d79a;outline-offset:4px}
#rpg-app .diary-shop-go em{font-style:normal}
#rpg-app .rpg-game.rpg-game .rpg-modal .diary-shop-go small{grid-column:1/-1;font:600 10.5px/1.3 Outfit,sans-serif;letter-spacing:.14em;color:#5a4a33 !important}
.diary-shop-note{margin:14px 0 0;font:400 11.5px/1.6 "Noto Sans KR",sans-serif;color:#a8a392}
#rpg-app .diary-src a{color:#d8bb7c;text-decoration:none;border-bottom:1px solid rgba(216,187,124,.45)}
#rpg-app .diary-src a:hover{color:#f2d79a}
@media (max-width:560px){.diary-shop-body{grid-template-columns:96px minmax(0,1fr);gap:16px}.diary-shop-book b{font-size:26px}.diary-shop-faces{gap:6px}.diary-shop-faces span{width:30px;height:30px}}
/* 시네마 굿즈샵의 공식 판매처 띠(게임 속 옷과 실물 굿즈를 나눠 보여 준다) · 테마의 창 속 링크/small 색을 이기도록 같은 앞머리 */
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:12px;row-gap:2px;margin:10px 0 12px;padding:11px 16px;border-radius:14px;background:linear-gradient(135deg,rgba(242,215,154,.2),rgba(242,215,154,.06)) !important;border:1px solid rgba(243,214,150,.6);box-shadow:0 6px 16px rgba(0,0,0,.18);color:#fbf5e6 !important;text-decoration:none;transition:transform .15s,border-color .15s}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official:hover{transform:translateY(-1px);border-color:#f2d79a}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official:focus-visible{outline:2px solid #f2d79a;outline-offset:3px}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official small{grid-column:1/-1;font:700 10px/1.2 Outfit,"Noto Sans KR",sans-serif;letter-spacing:.2em;color:#d8bb7c !important}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official b{font:700 14.5px/1.35 "Noto Sans KR",sans-serif;color:#fbf5e6 !important}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official b em{font-style:normal;color:#f2d79a}
#rpg-app .rpg-game.rpg-game .rpg-modal a.goods-official span{grid-column:1/-1;font:500 11.5px/1.4 "Noto Sans KR",sans-serif;color:#c9c2b0 !important}
