.app-shell:is([data-stage="library"],[data-stage="topic"]){height:100dvh;min-height:0;overflow:hidden}
.app-shell:is([data-stage="library"],[data-stage="topic"]) .topbar{height:56px;padding-top:8px}
.library-leaf{gap:2px!important;color:#483b2d;overflow-y:auto;scrollbar-width:thin}
.library-leaf h2{font-size:9px;line-height:1.45;margin:0 0 3px}
.library-description{font-size:7px;line-height:1.7;overflow-wrap:anywhere}
.book-auth-tabs{display:flex;gap:10px;margin-bottom:4px}
.book-auth-tabs button,.library-text-button{padding:2px 0;border:0;background:transparent;color:#8f7b5a;font-family:inherit;font-size:7px;line-height:1.5}
.book-auth-tabs button[aria-pressed="true"]{color:#42321d;border-bottom:1px solid #9c7742}
.book-social{display:flex;flex-direction:column;gap:3px;margin-bottom:3px}
.book-social button{height:16px;border-radius:2px;font-size:6.5px;border:1px solid #c5bca6;padding:0 4px;color:#342f24;background:#fffcf5}
.library-leaf[data-auth-mode="signup"] .book-social{display:none}
.book-social b{margin-right:3px;font-family:Georgia,serif}
.book-social .book-kakao{background:#fee500;border-color:#e4cb00;color:#302518}
.book-auth-form{display:flex;flex-direction:column;gap:3px}
.book-auth-form label{display:flex;flex-direction:column;gap:2px;font-size:6.5px;line-height:1.3}
.book-auth-form input{width:100%;min-width:0;height:16px;padding:2px 4px;font:8px/1.3 Georgia,serif;border:1px solid #bba98a;border-radius:2px;background:#fff9eb;color:#3c3226}
.book-login-submit{height:17px;padding:1px 3px;background:#2d4655;color:#fff3da;border:0;border-radius:2px;font-size:7px;margin-top:2px}
.account-book-status{font-size:6px;line-height:1.6;margin:3px 0 0;color:#8b5839;overflow-wrap:anywhere}
.library-star{font:38px Georgia,serif;text-align:center;color:#ad8b53;margin:12px 0}
.library-empty{margin:auto 0;text-align:center}
.library-empty>span{font-size:25px;color:#ab8c56}
.library-empty h2{margin:13px 0 8px}
.library-empty p{font-size:7px;line-height:1.9;color:#827155}
.book-history-list{display:flex;flex-direction:column;gap:5px;min-height:0}
.book-history-list button{display:grid;grid-template-columns:13px 1fr;gap:2px 3px;text-align:left;background:transparent;border:0;border-bottom:1px solid #ae98623b;padding:4px 0;color:#4c3d29}
.book-history-list span{font:8px Georgia,serif;color:#a5834b}
.book-history-list strong{font-size:7px;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.book-history-list small{grid-column:2;font-size:5px;color:#948163}
.book-history-nav{display:flex;align-items:center;justify-content:space-between;margin-top:auto;font-size:6px}
.book-history-nav button{font-size:6px;padding:3px 0;background:none;border:0;color:#715732}
.book-history-nav button:disabled{opacity:.3}
.library-retry{font-size:10px;color:#cdb889;background:none;border:0;padding:8px}
.guest-lock-note{position:absolute;left:26px;right:26px;bottom:100px;text-align:center;font-size:11px;line-height:1.8;color:#c7b899;pointer-events:none}
.app-shell:is([data-stage="library"],[data-stage="topic"]) .bottom-bar{z-index:5}
.library-leaf .paper-folio{font-size:6px}
.paper-content.saved-reading{overflow-y:auto;scrollbar-width:thin}

/* One paper scale for the preface, manuscript and Celtic cross. */
.library-leaf{gap:0!important;padding:0 4px;overflow-y:auto}
.library-leaf .paper-heading,.topic-leaf .paper-heading{font-size:5px;letter-spacing:.12em;padding-bottom:6px;color:#88734f}
.paper-content:focus-within{outline:none}
.library-welcome{text-align:center;margin:12px 0 16px}
.welcome-star{font:20px/1 Georgia,serif;color:#aa884d;display:block;margin-bottom:9px}
.library-welcome h2{font-size:11px;font-weight:500;line-height:1.6;letter-spacing:-.04em;margin:0 0 7px;color:#3d4039}
.library-welcome p{font-size:6px;line-height:1.9;color:#8b806c;margin:0}
.book-social{gap:5px;margin:0}
.book-social button{display:flex;align-items:center;gap:5px;height:19px;padding:0 8px;border-radius:3px;font:500 6px/1.5 "Noto Serif KR",serif;background:#faf8f0;border:1px solid #bdae8c66;color:#394339}
.book-social b{flex:none;width:8px;font-size:8px;font-family:Arial,sans-serif;margin:0}
.book-social span{flex:1;text-align:left}
.book-social i{font:10px Georgia,serif;color:#897e66;font-style:normal}
.book-social .book-kakao{background:#f4dd7a;border-color:#d9bc5b88}
.kakao-mark{display:block;width:7px!important;height:5px;background:#443e2a;border-radius:50%;position:relative}
.kakao-mark:after{content:"";position:absolute;bottom:-1px;left:1px;width:2px;height:2px;background:#443e2a;transform:skewY(-30deg)}
.auth-alternatives{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;color:#a59575}
.auth-alternatives button{border:0;padding:4px 0;background:none;font:5.5px/1.5 "Noto Serif KR",serif;color:#6e6859}
.library-quiet-note{margin:auto 0 0;padding-top:10px;text-align:center;color:#958771;font-size:5px;line-height:1.7}
.library-leaf:has(.book-auth-form) .library-welcome{margin:9px 0 9px}
.library-leaf:has(.book-auth-form) .welcome-star{font-size:12px;margin-bottom:5px}
.library-leaf:has(.book-auth-form) .library-welcome h2{font-size:9px;margin-bottom:3px}
.library-leaf:has(.book-auth-form) .library-welcome p{font-size:5px}
.book-auth-tabs{justify-content:center;gap:12px;margin:0 0 8px}
.book-auth-tabs button{font-size:6px;padding:2px 0}
.book-auth-form{gap:7px}
.book-auth-form label{font:5px/1.5 "Noto Serif KR",serif;color:#8b775b;gap:1px}
.book-auth-form input{height:16px;padding:3px 0;border:0;border-bottom:1px solid #9f8b654d;border-radius:0;background:transparent;font:6.5px/1.6 "Noto Serif KR",serif;color:#3d4039}
.book-auth-form input::placeholder{color:#b2a58d;font-size:5px}
.book-auth-form input:focus{outline:none;border-bottom-color:#8d7043}
.book-login-submit{margin-top:3px;height:19px;border-radius:2px;background:#354d49;color:#fff6df;font-size:6px;letter-spacing:.02em}
.book-login-submit span{float:right;margin-right:5px}
.auth-back{align-self:center;margin-top:7px;font-size:5px}
.account-book-status{font-size:5px;line-height:1.7;margin:5px 0 0}
.account-book-status:empty{display:none}
.library-leaf[data-auth-mode="signup"] .book-social{display:flex}
.library-empty h2{font-size:9px;font-weight:500;line-height:1.6}
.library-empty p{font-size:6px;line-height:2}
.library-leaf .paper-folio{font-size:5px;color:#9e8b69}

/* The manuscript is ink on the same leaf, without another rectangular panel. */
.topic-leaf{gap:0;padding:0 4px}
.topic-sheet{position:relative;flex:1;min-height:0;transform-origin:center;display:flex}
.topic-front{display:flex;flex:1;flex-direction:column;min-height:0}
.manuscript-intro{text-align:center;margin:11px 0 12px}
.manuscript-intro>span{font:15px/1 Georgia,serif;color:#aa884d}
.manuscript-intro h2{font-size:9px;line-height:1.6;letter-spacing:-.05em;font-weight:500;margin:6px 0 3px}
.manuscript-intro p{font-size:5px;line-height:1.8;color:#99876c;margin:0}
.topic-form{display:flex;flex-direction:column;flex:1;min-height:0;text-align:left;cursor:default}
.topic-form label{font-size:5px;color:#897353;margin:0 0 3px}
.topic-form input{width:100%;min-width:0;border:0;border-bottom:1px solid #a68f6355;background:transparent;padding:0 0 4px;border-radius:0;font:7px/1.8 "Noto Serif KR",serif;color:#3d4039;margin-bottom:10px}
.topic-form textarea{width:100%;min-height:0;flex:1;resize:none;border:0;border-radius:0;padding:0;font:6.5px/13px "Noto Serif KR",serif;color:#3d4039;background:repeating-linear-gradient(to bottom,transparent 0 12px,#a68f6336 12px 12.3px,transparent 12.3px 13px)}
.topic-form input::placeholder,.topic-form textarea::placeholder{font-size:5.5px;color:#b1a48b}
.topic-form input:focus,.topic-form textarea:focus{outline:none}
.topic-form input:focus{border-bottom-color:#8d7043}
.manuscript-count{display:flex;align-items:center;justify-content:space-between;font-size:4px;color:#9f9077;padding-top:5px;gap:3px}
.topic-leaf .paper-folio{font-size:4.5px;margin-top:9px;padding-top:6px;color:#9a8767}
.topic-back{position:absolute;left:50%;top:50%;height:92%;max-width:100%;width:auto;aspect-ratio:7/12;transform:translate(-50%,-50%);object-fit:contain}
.topic-back[hidden]{display:none}
.is-unopened .topic-front{visibility:hidden}
.topic-companion .paper-heading{font-size:5px}
.chapter-inscription{margin:auto 0;text-align:center}
.chapter-inscription>span{font-size:20px;color:#ad8b54}
.chapter-inscription h2{font-size:12px;font-weight:500;line-height:1.8;margin:15px 0 10px}
.chapter-inscription p{font-size:6px;line-height:2;color:#97866a}
.topic-companion .paper-folio{font-size:5px}

.manuscript-intro{margin:10px 0 12px}
.manuscript-intro>span{display:none}
.manuscript-intro h2{font-size:8.5px;line-height:1.5;margin:0 0 4px}
.manuscript-intro p{line-height:1.6}
.topic-form label{line-height:1.5;margin-bottom:2px}
.topic-form input{padding-bottom:3px;margin-bottom:8px;font-size:6.5px;line-height:1.6}
.topic-form textarea{scrollbar-width:thin;scrollbar-color:#b8a17b transparent}
.manuscript-count{font-size:3.8px;line-height:1.5;padding-top:4px}

.library-welcome{margin:9px 0 10px}
.welcome-star{font-size:12px;margin-bottom:6px}
.library-welcome h2{font-size:9.5px;line-height:1.65;margin-bottom:6px}
.library-welcome p{font-size:5.5px;line-height:1.8}
.auth-alternatives{margin-top:6px}
.library-quiet-note{padding-top:6px;font-size:4.5px}

.library-leaf:has(.book-auth-form) .welcome-star,
.library-leaf:has(.book-auth-form) .library-welcome p{display:none}
.library-leaf:has(.book-auth-form) .library-welcome{margin:10px 0 8px}
.library-leaf:has(.book-auth-form) .library-welcome h2{margin:0;font-size:9px;line-height:1.5}
.book-auth-tabs{margin-bottom:5px}
.book-auth-form{gap:4px}
.auth-back{margin-top:5px}

.member-page{display:flex;flex-direction:column;flex:1;min-height:0;color:#45483d}
.member-bookplate{margin:auto 6px;text-align:center;padding:7px 0 8px;border-top:.5px solid #af96664d;border-bottom:.5px solid #af96664d}
.member-ornament{display:block;font:16px/1 Georgia,serif;color:#a2844d;margin-bottom:6px}
.member-caption{display:block;font-size:4.5px;letter-spacing:.15em;color:#938263;margin-bottom:4px}
.member-bookplate h2{font-size:10px;line-height:1.55;font-weight:500;letter-spacing:-.04em;margin:0 0 7px;overflow-wrap:anywhere}
.member-bookplate p{font-size:5px;line-height:1.8;color:#8c806b;margin:0}
.member-continue{display:grid;grid-template-columns:9px 1fr 6px;align-items:center;gap:3px;flex:none;width:100%;height:23px;padding:0 6px;margin-top:9px;border:.5px solid #b39a69;border-radius:2px;background:#efe3c9;color:#554831;box-shadow:inset 0 0 0 1.5px var(--book-cover-highlight),inset 0 0 0 2px var(--book-cover-edge);font:500 5.5px/1.5 "Noto Serif KR",serif;transition:background .18s,border-color .18s}
.member-continue>span:last-child{font:10px Georgia,serif;color:#9b7c43}
.member-button-star{font:10px/1 Georgia,serif;color:#a38348}
.member-continue:hover{background:#e7d5b1;border-color:#91713f}
.library-primary{display:grid;grid-template-columns:22px 1fr 16px;gap:8px;padding:0 17px;border:1px solid #cdb27b;border-radius:4px;background:linear-gradient(115deg,#f5e6c8,#e4c894);color:#473b29;box-shadow:inset 0 0 0 3px var(--book-cover-highlight),inset 0 0 0 4px var(--book-cover-edge),0 5px 18px #050b1529}
.library-primary .cta-label{font:500 13px/1.5 "Noto Serif KR",serif;letter-spacing:-.03em}
.library-primary .cta-star{font-size:23px;color:#9e7c40}
.library-primary .cta-arrow{font-size:22px;color:#876b3d}
.library-primary:hover{filter:brightness(1.04)}
.library-primary:focus-visible{outline:2px solid #f1d9a3;outline-offset:3px}
.library-skip{align-self:center;padding:7px 8px 2px;border:0;background:transparent;color:#bdae94;font:11px/1.5 "Noto Serif KR",serif}
.library-skip:hover{color:#f0d8a8}
.member-signout{display:flex;justify-content:center;flex:none;padding-top:8px}
.member-signout button{min-height:17px;min-width:51px;padding:3px 10px;border:.5px solid #b9a58380;border-radius:2px;background:transparent;color:#867252;font:5px/1.5 "Noto Serif KR",serif;letter-spacing:.04em}
.member-signout button:hover{background:#af966617;border-color:#9d845b}
.member-signout button:focus-visible,.member-continue:focus-visible{outline:1px solid #997540;outline-offset:2px}
.member-page:has(.book-auth-form) .member-bookplate{padding:6px 0;margin:6px}
.member-page:has(.book-auth-form) .member-ornament{font-size:14px;margin-bottom:4px}
.member-page:has(.book-auth-form) .member-bookplate h2{font-size:9px;margin-bottom:4px}

/* A writing card rests on the leaf, retaining the shared book camera. */
.topic-leaf{padding:0;gap:0}
.topic-leaf>.paper-heading{font-size:5px;padding-bottom:5px}
.topic-sheet{flex:none;height:calc(100% - 43px);width:auto;aspect-ratio:7/12;max-width:100%;align-self:center;margin:5px 0;display:flex}
.topic-front{border:2px solid #d9c398;border-radius:2px;background:#faf1db;box-shadow:inset 0 0 0 .5px #ad8950,0 1px 2px #6953321c;padding:7px 6px 6px}
.manuscript-intro{margin:0 0 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:.5px solid #b99c6455;padding-bottom:5px}
.manuscript-intro>span{display:block;font-size:8px;line-height:1;color:#a78449}
.manuscript-intro h2{font:600 5.5px/1.5 "Noto Serif KR",serif;margin:0}
.manuscript-intro p{display:none}
.topic-form label{font-size:4px;line-height:1.5;margin-bottom:2px}
.topic-form input{font-size:5.5px;line-height:1.7;margin-bottom:7px;padding-bottom:3px}
.topic-form textarea{font-size:5.5px;line-height:11px;background:repeating-linear-gradient(to bottom,transparent 0 10px,#b39a683b 10px 10.3px,transparent 10.3px 11px)}
.topic-form input::placeholder,.topic-form textarea::placeholder{font-size:4.5px}
.manuscript-count{justify-content:flex-end;font-size:3.5px}
.manuscript-count>span:first-child{display:none}
.topic-back{inset:0;width:100%;height:100%;max-width:none;transform:none;object-fit:fill;border-radius:2px}
.topic-leaf .paper-folio{margin-top:auto;padding-top:4px}

/* Soft leather tones, with a fine gold highlight instead of a heavy frame. */
:root{--book-cover-edge:#6c7e88;--book-cover-highlight:#728288;--button-start:#58747c;--button-middle:#486571;--button-end:#304d5e}
.primary-button:not(.topic-edit-button),.member-continue,.member-continue:hover,.book-login-submit{
  background-color:var(--button-middle);
  background-image:linear-gradient(90deg,var(--button-start),var(--button-middle) 48%,var(--button-end));
  color:#fff2d5;border:1px solid #889995;border-radius:6px;
  box-shadow:inset 0 0 0 2px #304d5e,inset 0 0 0 3px #d9c59466,0 5px 14px #07111c26;
  transition:filter .18s,box-shadow .18s;
}
.member-continue,.member-continue:hover,.book-login-submit{border-width:.5px;border-radius:2px;box-shadow:inset 0 0 0 .7px #304d5e,inset 0 0 0 1px #d9c59488,0 1px 3px #19313b20}
.member-button-star,.member-continue>span:last-child,.library-primary .cta-star,.library-primary .cta-arrow{color:#e6ce9c}
.primary-button:not(.topic-edit-button):hover:not(:disabled),.member-continue:hover,.book-login-submit:hover{filter:brightness(1.08)}
.primary-button:not(.topic-edit-button):active:not(:disabled),.member-continue:active,.book-login-submit:active{filter:brightness(.97)}
.primary-button:disabled{box-shadow:none}

.tarot-guide{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;text-align:center;padding:4px 3px 0}
.guide-star{font:14px/1 Georgia,serif;color:#a48751;margin:0 0 7px}
.tarot-guide h2{font-size:8.5px;line-height:1.6;font-weight:500;letter-spacing:-.04em;margin:0 0 6px;color:#45483d}
.tarot-guide p{font-size:5.5px;line-height:1.9;margin:0;color:#80745f}
.guide-rule{width:22px;height:.5px;background:#b89d6966;margin:7px 0;flex:none}
.tarot-guide .guide-detail{font-size:5px;line-height:1.9;color:#95866d}
.tarot-guide .guide-draw{margin-top:auto;margin-bottom:4px;width:100%}
.guide-draw:disabled{opacity:.45;cursor:default;filter:none}
.tarot-guide .guide-hint{font-size:4px;line-height:1.6;margin:3px 0;color:#998469}
.guide-hint[hidden]{display:none}
.topic-companion:has(.tarot-guide) .paper-folio{padding-top:7px;font-size:4.5px}

/* Two-field manuscript card and the facing confirmation leaf share the book's ink scale. */
.topic-form #title-input{flex:none;height:24px;min-height:24px;margin:0 0 8px;font-weight:600}
.topic-form #topic-input{flex:1;min-height:35px}
.topic-form label{flex:none}
.topic-form .manuscript-count{flex:none}
.topic-companion{gap:5px;overflow:hidden}
.intake-confirmation{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ad95654d transparent;padding:2px 2px 0;color:#493e31}
.intake-status{display:inline-block;font:5px/1.5 "Noto Serif KR",serif;color:#486571;border-bottom:.5px solid #829187;padding:0 0 2px;margin-bottom:2px}
.paper-content .intake-confirmation h2{font:600 7.5px/1.55 "Noto Serif KR",serif;color:#486571;margin:0 0 4px;overflow-wrap:anywhere}
.intake-confirmation p{font:5.5px/1.8 "Noto Serif KR",serif;margin:0 0 3px;overflow-wrap:anywhere}
.intake-topic{display:grid;grid-template-columns:16px 1fr;gap:3px;margin:0 0 5px;padding-top:4px;border-top:.5px solid #b6a17b55}
.intake-topic dt,.intake-edit-form label{font:4.5px/1.5 "Noto Serif KR",serif;color:#8a795d;margin:0 0 2px}
.intake-topic dd{font:6px/1.7 "Noto Serif KR",serif;margin:0}
.intake-edit-form{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;margin:0;gap:0 3px}
.intake-edit-form textarea,.intake-edit-form input{box-sizing:border-box;width:100%;min-width:0;resize:none;border:0;border-bottom:.5px solid #b6a17b55;border-radius:0;background:transparent;color:#493e31;font:6px/1.6 "Noto Serif KR",serif;padding:0 0 1px;margin:0 0 3px;outline:none;scrollbar-width:thin}
.intake-edit-form textarea{height:21px;min-height:21px}
.intake-edit-form input{height:14px}
.intake-edit-form input::placeholder{color:#493e31;opacity:1}
.intake-edit-form textarea:focus,.intake-edit-form input:focus{border-bottom-color:#486571}
.intake-confirmation .intake-period-reason{font-size:4.5px;line-height:1.8;color:#8a795d;margin:0}
.intake-confirmation .member-continue{display:block;height:auto;min-height:23px;padding:5px;font-size:5px}
.topic-companion .paper-folio{flex:none;font-size:4px}

.member-chapter{display:block;margin-bottom:4px;font:5px/1.5 Georgia,"Noto Serif KR",serif;letter-spacing:.03em;color:#486571}
.member-chapter-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:5.5px/1.8 "Noto Serif KR",serif;color:#796d58}
.book-history-list button{grid-template-columns:1fr;gap:3px;padding:6px 0}
.book-history-list .history-chapter{font:5px/1.5 Georgia,serif;letter-spacing:.08em;color:#486571}
.book-history-list strong,.book-history-list small{grid-column:1}
