/* TLQ v104 — contemplative reading journal, one complete leaf at a time */
.tlq104-journal{margin:20px 0 34px;background:#f8f7f1;border:1px solid #dce7db;border-radius:27px;overflow:hidden;box-shadow:0 18px 48px #234e2d18;color:#183f31}
.tlq104-header{background:radial-gradient(ellipse at 100% 0%,#27846799,transparent 53%),linear-gradient(125deg,#113b32 0%,#08634c 100%);color:#fff;padding:25px 21px 20px;position:relative}
.tlq104-kicker{font-size:10px;color:#e6d6ae;letter-spacing:.11em;font-weight:850;display:flex;align-items:center;gap:8px}
.tlq104-kicker span{color:#ffe2a1}
.tlq104-heading{display:flex;justify-content:space-between;gap:11px;align-items:flex-start;margin:17px 0 18px}
.tlq104-heading h2{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(28px,7vw,37px);line-height:1.09;letter-spacing:-.025em;color:#fff;margin:0 0 12px;max-width:320px;font-weight:400}
.tlq104-heading p{font-size:12px;line-height:1.7;color:#e0eee5;margin:0;max-width:47ch}
.tlq104-write{white-space:nowrap;display:flex;align-items:center;gap:6px;flex-shrink:0;border-radius:13px;padding:11px 10px;background:#f4dfab;color:#135240!important;text-decoration:none!important;font-size:11px;font-weight:900}
.tlq104-stats{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:space-between;color:#d2e7d7;font-size:10px;border-top:1px solid #ffffff2f;padding-top:14px}
.tlq104-stats b{font-weight:900;font-size:14px;color:#fff}.tlq104-stats i{font-style:normal;color:#d4b77d;font-size:10px}
.tlq104-book-wrap{padding:18px 15px 22px}
.tlq104-options{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}
.tlq104-options label{display:flex;align-items:center;gap:7px;min-width:0;flex:1;background:#eef4ea;border:1px solid #d6e4d5;border-radius:12px;padding:0 11px;color:#438066}
.tlq104-options select{min-width:0;width:100%;padding:13px 0;background:transparent;border:0;outline:0;box-shadow:none!important;font-size:12px;font-weight:800;color:#1a553e}
.tlq104-options>button{background:#fff7e8;border:1px solid #e9dec4;border-radius:12px;display:flex;align-items:center;gap:5px;color:#6c5935;white-space:nowrap;font-size:11px;font-weight:850;padding:14px 11px}
.tlq104-type{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px;margin-bottom:15px}
.tlq104-type button{flex-shrink:0;padding:9px 11px;border-radius:30px;background:#fdfdfa;border:1px solid #d5e4d5;color:#668875;font-size:10px;font-weight:850}
.tlq104-type button.active{background:#126b51;color:#fff;border-color:#126b51}
.tlq104-pages{position:relative;perspective:1000px}
.tlq104-page-animate .tlq104-leaf{animation:tlq104-leaf-appear .35s ease both}
@keyframes tlq104-leaf-appear{from{opacity:.55;transform:translateY(7px) rotateX(1.2deg)}to{opacity:1;transform:none}}
.tlq104-leaf{position:relative;min-height:460px;border:1px solid #e4dbbf;border-radius:14px 19px 19px 14px;background:radial-gradient(ellipse at 98% 0%,#f9efd5 0%,transparent 58%),linear-gradient(90deg,#ddd0ad 0,#fdfcf7 1.3%,#fffdf7 5%,#fdfbf4 100%);box-shadow:inset 6px 0 14px #9c815a13,0 8px 0 -4px #eadfc4,0 11px 0 -7px #c8b997,0 19px 33px #46380d1a;display:flex;flex-direction:column;overflow:hidden;padding:25px 21px 17px}
.tlq104-leaf:after{content:"";pointer-events:none;position:absolute;inset:9px;border:1px solid #bfa8753b;border-radius:8px 12px 12px 8px}
.tlq104-leaf-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;position:relative;z-index:1}
.tlq104-paper-label{color:#99784c;letter-spacing:.13em;font-weight:900}.tlq104-page-mark{color:#a58f65;letter-spacing:.08em}
.tlq104-leaf-ornament{text-align:center;color:#cbb47a;font-size:23px;margin:12px auto}
.tlq104-leaf-main{flex:1;z-index:1;min-width:0}
.tlq104-series{font-size:10px;letter-spacing:.07em;color:#7a946d;font-weight:850}
.tlq104-leaf-main h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.24;font-size:clamp(28px,7.3vw,39px);color:#204e39;margin:10px 0 12px;overflow-wrap:break-word}
.tlq104-byline{display:flex;align-items:center;gap:6px;font-size:11px;color:#88947c;line-height:1.5;margin-bottom:19px}
.tlq104-journal-writing{margin:8px 0 14px;max-height:410px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ddcfaa transparent}
.tlq104-ink-section{display:flex;gap:12px;margin:0 0 18px;align-items:start}
.tlq104-section-no{font-family:'DM Serif Display',serif;font-size:21px;color:#c8b080;line-height:1}
.tlq104-ink-section>div{flex:1;min-width:0}
.tlq104-ink-section h4{margin:0 0 8px;font-size:11px;color:#7b8e74;font-weight:850;letter-spacing:.01em}
.tlq104-ink-section p{font-size:14px;line-height:2.1;color:#285840;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;background-image:repeating-linear-gradient(180deg,transparent 0,transparent 29px,#b0bda22a 30px,transparent 31px);background-size:100% 31px;min-height:31px}
.tlq104-leaf-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid #dccbac99;margin-top:auto}
.tlq104-leaf-foot a{color:#156d50!important;text-decoration:none!important;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900}
.tlq104-leaf-foot span{font-size:16px;color:#cbaa70}
.tlq104-page-controls{display:flex;gap:14px;justify-content:center;align-items:center;margin:20px 0 3px}
.tlq104-page-controls>button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #b8d5c5;color:#185842;background:#ebf4ed;border-radius:50%}
.tlq104-page-controls>button:disabled{opacity:.3}.tlq104-page-controls span{font-size:12px;color:#4d785c;min-width:132px;text-align:center;font-weight:850}
.tlq104-book-end{margin:24px 5px 4px;text-align:center}
.tlq104-book-end>span{font-size:10px;letter-spacing:.19em;color:#af8d54}
.tlq104-book-end p{font-size:10px;line-height:1.7;color:#829483;margin:10px auto}
.tlq104-book-end a{color:#136b4e!important;font-size:11px;text-decoration:none!important;font-weight:900;display:inline-flex;gap:7px;align-items:center}
.tlq104-blank{display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;padding:35px}
.tlq104-paper-emblem{font-size:49px;color:#bca66b}.tlq104-blank h3{font-family:'DM Serif Display',serif;color:#194734;font-size:27px;margin:0}.tlq104-blank p{color:#66876c;font-size:13px;line-height:1.8}.tlq104-blank a{font-weight:900;color:#0c6d4e}
body.tlq104-toc-open{overflow:hidden}
.tlq104-toc-backdrop{position:fixed;z-index:8100;inset:0;background:#052c22d6;backdrop-filter:blur(4px)}
.tlq104-toc-sheet{position:fixed;z-index:8101;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,690px);max-height:min(86dvh,900px);border-radius:25px 25px 0 0;background:#fbfaf4;display:flex;flex-direction:column;box-shadow:0 -20px 60px #0004;color:#1b4d3a;padding:24px 17px max(16px,env(safe-area-inset-bottom))}
.tlq104-toc-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.tlq104-toc-head small{font-size:9px;color:#a58b53;letter-spacing:.14em;font-weight:900}.tlq104-toc-head h3{font-family:'DM Serif Display',serif;font-weight:400;font-size:28px;margin:5px 0 15px}
.tlq104-toc-head button{width:38px;height:38px;border:1px solid #dae4d6;border-radius:50%;background:white;color:#26684a;display:grid;place-items:center}
.tlq104-index-search{display:flex;gap:10px;align-items:center;border:1px solid #d2e3d4;background:#fff;border-radius:12px;padding:12px 13px;color:#357759}
.tlq104-index-search input{border:0!important;min-width:0;width:100%;background:transparent;font-size:13px;outline:0;box-shadow:none!important}
.tlq104-toc-meta{font-size:10px;color:#96a58e;margin:13px 6px}
.tlq104-toc-rows{overflow-y:auto;overscroll-behavior:contain;flex:1}
.tlq104-toc-rows>button{display:flex;width:100%;gap:14px;align-items:center;text-align:left;padding:15px 7px;border:0;border-bottom:1px solid #e8e8da;color:#2f7350;background:none}
.tlq104-toc-number{font-family:'DM Serif Display',serif;font-size:24px;color:#b59b65;min-width:32px}
.tlq104-toc-rows>button>span:nth-child(2){flex:1;min-width:0;display:grid;gap:6px}
.tlq104-toc-rows strong{font-size:14px;color:#285a3f}.tlq104-toc-rows small{font-size:10px;color:#8a9c8b}
.tlq104-toc-empty{font-size:12px;padding:20px;color:#7e9d83}
@media(max-width:380px){.tlq104-header{padding:20px 15px}.tlq104-heading h2{font-size:27px}.tlq104-heading p{font-size:11px}.tlq104-write{padding:10px 8px}.tlq104-book-wrap{padding:16px 11px 20px}.tlq104-leaf{padding:21px 16px 15px}.tlq104-type button{padding:9px}}