@font-face{font-family:Cormorant Garamond;src:url(/fonts/CormorantGaramond-Medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/MaruBuri-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/MaruBuri-SemiBold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Pretendard;src:url(/fonts/PretendardVariable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--paper:#fcf9f3;--canvas:#e9e4db;--ink:#362e28;--brand-ink:#413124;--muted:#81776b;--accent:#996220;--line:#eae3d8;--soft:#f4eddf;--on-accent:#fffaf2;--font-ui:"Pretendard", "Malgun Gothic", sans-serif;--font-book:"MaruBuri", "Batang", serif;--font-logo:"Cormorant Garamond", Georgia, serif;--text-caption:12px;--text-meta:13px;--text-small:14px;--text-body:15px;--text-input:16px;--leading-body:1.9;--leading-book:1.8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-control:7px;--radius-small:8px;--radius-media:10px;--radius-card:12px;--radius-dialog:18px;--radius-round:50%;--shadow-cover:4px 5px 8px #5a41241a;--shadow-dialog:0 20px 80px #35281924;--icon-action:24px;--icon-detail:16px;--icon-display:32px;--icon-stroke:1.75;--touch-target:44px;--content-max:975px;font-family:var(--font-ui);color:var(--ink);background:var(--canvas);font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}svg{flex-shrink:0}img{object-fit:cover;max-width:100%;display:block}h1,h2,p{margin:0}.app-shell{width:100%;max-width:var(--content-max);background:var(--paper);flex-direction:column;margin:auto;display:flex;position:relative}.topbar{padding:21px 30px var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);flex:none;display:flex}.wordmark{color:var(--brand-ink);white-space:nowrap;padding:0;font-size:42px;line-height:1}.wordmark>span{color:var(--accent)}.header-actions{gap:9px;display:flex}.icon-button{width:var(--touch-target);height:var(--touch-target);border-radius:var(--radius-round);flex-shrink:0;place-items:center;display:grid}.icon-button:hover{background:var(--soft)}.notification{position:relative}.notification>span{border-radius:var(--radius-round);background:var(--accent);border:1px solid var(--paper);width:6px;height:6px;position:absolute;top:9px;right:11px}.tabs{border-bottom:1px solid var(--line);flex:none;margin:0 30px;display:flex}.tabs button{padding:13px 0 var(--space-4);color:var(--muted);flex:1;font-size:17px;position:relative}.tabs button[aria-selected=true]{color:var(--accent);font-weight:700}.tabs button:after{content:"";background:var(--accent);height:2px;transition:transform .22s;position:absolute;bottom:-1px;left:18%;right:18%;transform:scaleX(0)}.tabs button[aria-selected=true]:after{transform:scaleX(1)}.feed-scroll{scrollbar-width:thin;scrollbar-color:#d7cdbf transparent;scroll-behavior:smooth;min-height:0}.stories{scrollbar-width:none;border-bottom:1px solid var(--line);overscroll-behavior-x:contain;gap:22px;padding:23px 30px 19px;display:flex;overflow-x:auto}.stories::-webkit-scrollbar{display:none}.story{text-align:center;align-items:center;gap:var(--space-2);font-size:var(--text-meta);white-space:nowrap;flex-direction:column;flex:0 0 72px;padding:0;display:flex}.story-ring{width:70px;height:70px;padding:var(--space-1);border-radius:var(--radius-round);background:var(--paper);border:1px solid #ac7b3f;place-items:center;transition:border-color .2s,transform .2s;display:grid}.story-ring img{border-radius:var(--radius-round);width:100%;height:100%}.story-ring>svg{color:var(--accent)}.new-story .story-ring{background:#f6f1e7;border-color:#ddd3c3}.story.seen .story-ring{border-color:#ddd3c3}.story:hover .story-ring{transform:translateY(-2px)}.post{border-bottom:1px solid var(--line);padding:21px 30px 22px}.post-header{margin-bottom:var(--space-4);align-items:center;gap:11px;display:flex}.avatar{border-radius:var(--radius-round);color:#8a7156;background:#e9e1d4;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.avatar img{width:100%;height:100%}.avatar svg{width:21px;height:21px}.author{flex-direction:column;gap:3px;min-width:0;display:flex}.author strong{font-size:var(--text-body);overflow-wrap:anywhere;font-weight:650}.author>span{font-size:var(--text-caption);color:var(--muted)}.author i{margin:0 7px;font-style:normal}.more{margin-left:auto}.book-review{border-radius:var(--radius-card);padding:25px var(--space-8);background:#f3ead9;align-items:center;gap:34px;display:flex;overflow:hidden}.book-review.plain{background:#f1eee7}.book-cover{width:164px;min-height:227px;padding:15px 11px var(--space-3);color:#6d4524;text-align:center;box-shadow:var(--shadow-cover);background:#e9dcc2;border-left:5px solid #d0bea0;flex-direction:column;flex-shrink:0;align-items:center;display:flex;transform:rotate(-3deg)}.cover-top{letter-spacing:2px;font-size:7px}.book-cover strong{margin:var(--space-3) 0 5px;word-break:keep-all;font-size:23px;line-height:1.4}.book-cover small{letter-spacing:.3px;font-size:9px;line-height:1.6}.book-cover img{object-position:50% 60%;filter:saturate(.65);width:100%;height:92px;margin:13px 0 11px}.cover-author{margin-top:auto;font-size:8px}.book-cover.plain{color:#313f3a;background:#d9e0d9;border-left-color:#bbc6ba;min-height:225px;transform:rotate(1deg)}.book-cover.plain strong{letter-spacing:2px;max-width:90px;margin-top:23px;font-size:27px}.cover-rule{background:#688172;width:80%;height:1px;margin:22px 0}.book-detail{flex:1;min-width:0}.eyebrow{color:#89643d;letter-spacing:.6px;align-items:center;gap:6px;font-size:11px;display:flex}.book-detail h1{margin:13px 0 var(--space-2);word-break:keep-all;overflow-wrap:anywhere;font-size:27px;font-weight:600}.book-author{font-size:var(--text-small);color:#746859}.rating{color:#ae7b37;align-items:center;gap:3px;margin:13px 0 21px;display:flex}.rating span{font-size:var(--text-meta);color:#655b4c;margin-left:6px}blockquote{white-space:pre-line;font-size:20px;line-height:var(--leading-book);word-break:keep-all;overflow-wrap:anywhere;margin:0}.book-caption{color:#897762;margin-top:9px;font-size:11px;display:block}.post-photo{aspect-ratio:1.85;border-radius:var(--radius-media);background:var(--soft);width:100%;max-height:410px}.post-body{font-size:var(--text-body);line-height:var(--leading-body);white-space:pre-line;overflow-wrap:anywhere;word-break:keep-all;margin-top:17px}.post-body.collapsed{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.read-more{font-size:var(--text-meta);color:#876338;min-height:var(--touch-target);padding:5px 0 0}.post-actions{padding-top:var(--space-2);align-items:center;gap:19px;min-height:53px;display:flex}.reaction{min-width:var(--touch-target);min-height:var(--touch-target);align-items:center;gap:var(--space-2);font-size:var(--text-meta);color:#6c6257;padding:0;display:flex}.reaction.bookmark{margin-left:auto}.reaction.liked{color:#a55c4d}.reaction.saved{color:var(--accent)}.liked svg,.saved svg{animation:.28s ease-out tap}.comment-preview{width:100%;padding:10px var(--space-3);border-radius:var(--radius-small);text-align:left;font-size:var(--text-caption);color:#74685c;min-height:var(--touch-target);background:#f5f0e7;align-items:center;gap:9px;line-height:1.7;display:flex}.comment-preview strong{color:#514134;margin-right:6px}.comment-preview>svg{margin-left:auto}.comment-initial{border-radius:var(--radius-round);color:#927350;background:#e7dac7;flex-shrink:0;place-items:center;width:25px;height:25px;font-size:11px;display:grid}.bottom-nav{padding:var(--space-2) 14px max(10px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);z-index:2;flex:none;display:flex}.bottom-nav>button{color:#776b5e;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:57px;display:flex}.bottom-nav .active{color:var(--accent);font-weight:700}.write-circle{background:var(--accent);color:#fff9f0;border-radius:var(--radius-round);place-items:center;width:35px;height:35px;margin-top:-6px;display:grid}.bottom-nav>button:hover{color:var(--accent)}.feed-content{animation:.25s ease-out enter}.discover-note{padding:var(--space-6) 30px 5px}.discover-note>span{font-size:22px}.discover-note p{color:var(--muted);font-size:var(--text-meta);margin-top:var(--space-2)}.empty-feed{text-align:center;padding:62px var(--space-5) 70px}.empty-symbol{border-radius:var(--radius-round);background:var(--soft);width:75px;height:75px;margin:0 auto var(--space-6);color:var(--accent);place-items:center;display:grid}.empty-feed .eyebrow{letter-spacing:2px;justify-content:center;font-size:10px}.empty-feed h1{margin:14px 0;font-size:25px;font-weight:500}.empty-feed p{font-size:var(--text-small);color:var(--muted);line-height:var(--leading-body);margin-bottom:26px}.primary-button{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-control);min-height:46px;padding:var(--space-3) var(--space-5);justify-content:center;align-items:center;gap:var(--space-3);font-size:var(--text-small);display:inline-flex}.text-button{font-size:var(--text-caption);color:#856746;min-height:var(--touch-target);margin:14px auto 0;padding:10px;display:block}.feed-end{padding:36px var(--space-5);color:#a28f76;text-align:center;flex-direction:column;align-items:center;display:flex}.feed-end p{color:#726552;font-size:var(--text-body);margin:var(--space-3) 0}.feed-end>span{font-size:11px;line-height:1.6}.skeleton{padding:25px 30px}.skeleton-user{border-radius:30px;width:170px;height:40px;margin-bottom:18px}.skeleton-card{border-radius:var(--radius-card);height:260px}.skeleton-line{border-radius:4px;width:92%;height:14px;margin-top:19px}.skeleton-line.short{width:63%}.skeleton>div{background:#eee6d9;animation:1.3s ease-in-out infinite pulse}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.modal{border:1px solid var(--line);border-radius:var(--radius-dialog);background:var(--paper);color:var(--ink);width:calc(100% - 36px);max-width:430px;max-height:85dvh;box-shadow:var(--shadow-dialog);padding:0}.modal::backdrop{-webkit-backdrop-filter:none;background:#00000073}.modal[open]{animation:.2s ease-out enter}.modal-inner{overflow-wrap:anywhere;padding:39px 27px 28px;position:relative}.close-modal{position:absolute;top:8px;right:8px}.modal-symbol{color:var(--accent);margin-bottom:var(--space-5)}.modal h2{margin:10px 0 14px;font-size:24px;font-weight:600;line-height:1.5}.modal h2>span{color:var(--accent)}.modal p{font-size:var(--text-small);color:#7c6d5d;line-height:1.85}.modal .primary-button{width:100%;margin-top:25px}.modal .sample-note{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.sample-comment{gap:var(--space-3);padding:22px 0 26px;display:flex}.sample-comment strong{font-size:var(--text-small)}.sample-comment p{margin:7px 0}.sample-comment small{color:var(--muted);font-size:11px}.comment-login{background:var(--soft);border-radius:var(--radius-control);gap:var(--space-3);width:100%;padding:14px var(--space-3);font-size:var(--text-caption);text-align:left;justify-content:space-between;align-items:center;min-height:46px;display:flex}.story-photo{border-radius:var(--radius-small);width:100%;height:310px;margin-bottom:18px}.story-placeholder{background:var(--soft);height:220px;color:var(--accent);border-radius:var(--radius-small);place-items:center;margin-bottom:18px;display:grid}.story-progress{background:#b48a58;width:70%;height:2px;margin-bottom:14px;display:block}.story-modal .sample-note{margin-top:14px}.photo-fallback{background:var(--soft);color:var(--muted);place-items:center;display:grid}.rating-star{flex-shrink:0;display:block;position:relative}.rating .rating-star{margin:0}.rating-star>span{position:absolute;inset:0 auto 0 0;overflow:hidden;margin:0!important}.rating-star svg{max-width:none;display:block}.story-ring>.photo-fallback{border-radius:var(--radius-round);width:100%;height:100%}@keyframes tap{0%{transform:scale(.85)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{opacity:.45}}@media (width>=700px){.topbar{padding:25px var(--space-10) 19px}.wordmark{font-size:46px}.tabs{margin:0 var(--space-10)}.stories{padding:25px var(--space-10) 22px;gap:26px}.post{padding:25px var(--space-10) 26px}.post-body{font-size:var(--text-input)}.book-review{gap:42px;padding:28px 42px}.book-detail h1{font-size:30px}.book-detail blockquote{font-size:23px}.book-cover{width:177px}.book-review .eyebrow{font-size:var(--text-caption)}.bottom-nav{padding:10px var(--space-8) var(--space-3)}.story{flex-basis:76px}.story-ring{width:74px;height:74px}}@media (width<=480px){.topbar{padding:19px var(--space-5) 11px}.wordmark{font-size:36px}.header-actions{gap:1px}.tabs{margin:0 var(--space-5)}.tabs button{font-size:var(--text-input);padding:11px 0 14px}.stories{padding:18px var(--space-5) 17px;gap:15px}.story{font-size:var(--text-caption);flex-basis:61px;gap:7px}.story-ring{width:60px;height:60px;padding:3px}.post{padding:18px var(--space-5) 19px}.post-header{margin-bottom:13px}.avatar{width:35px;height:35px}.author strong{font-size:var(--text-small)}.author>span{font-size:var(--text-caption)}.book-review{padding:var(--space-5) var(--space-4);border-radius:9px;gap:21px}.book-cover{width:110px;min-height:181px;padding:11px var(--space-2) 9px;border-left-width:3px}.book-cover strong{margin:10px 0 5px;font-size:17px}.book-cover small{font-size:7px}.cover-top{letter-spacing:1px;font-size:5px}.book-cover img{height:66px;margin:10px 0}.cover-author{font-size:6px}.book-cover.plain{min-height:181px}.book-cover.plain strong{margin-top:var(--space-4);font-size:22px}.book-detail h1{margin:9px 0 6px;font-size:21px}.book-author{font-size:var(--text-caption)}.eyebrow{gap:var(--space-1);font-size:10px}.rating{gap:1px;margin:10px 0 13px}.rating span{font-size:var(--text-caption);margin-left:var(--space-1)}.book-detail blockquote{font-size:var(--text-body);line-height:var(--leading-book)}.book-caption{margin-top:7px;font-size:11px}.post-body{font-size:var(--text-body);line-height:var(--leading-body);margin-top:13px}.post-photo{aspect-ratio:1.35}.post-actions{gap:var(--space-5);padding-top:5px}.reaction{font-size:var(--text-caption);gap:7px}.comment-preview{font-size:var(--text-caption);gap:7px;padding:9px}.bottom-nav{padding:var(--space-2) 10px max(var(--space-2),env(safe-area-inset-bottom))}.empty-feed{padding-top:43px}.discover-note{padding:22px var(--space-5) 3px}.skeleton{padding:22px var(--space-5)}.skeleton-card{height:224px}}@media (width<=360px){.topbar,.post{padding-inline:var(--space-4)}.book-review{padding:var(--space-4) var(--space-3);gap:14px}.book-cover{width:96px}.book-detail h1{font-size:19px}.book-detail blockquote{font-size:var(--text-small)}.comment-preview{align-items:flex-start}.story{flex-basis:59px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:is(html:has(dialog[open]),body:has(dialog[open])){overflow:hidden}html{scrollbar-gutter:stable;scroll-behavior:smooth;scrollbar-color:#c5b7a4 var(--canvas);overflow-y:scroll}body{min-width:320px}.app-shell{--nav-height:84px;height:auto;min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--space-4));overflow:visible}.site-header{z-index:3;background:var(--paper);flex:none;transition:transform .24s cubic-bezier(.2,.7,.2,1);position:sticky;top:0;transform:translateY(0)}.site-header.is-hidden{transform:translateY(-100%)}.feed-scroll{overscroll-behavior:auto;flex:1 0 auto;scroll-margin-top:140px;overflow:visible}.bottom-nav{bottom:0;width:100%;max-width:var(--content-max);z-index:4;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));margin-inline:auto;position:fixed;inset-inline:0}.wordmark{font-family:var(--font-logo);letter-spacing:-1.1px;min-height:var(--touch-target);font-weight:500}.book-cover,.book-cover.plain strong,.book-detail h1,blockquote{font-family:var(--font-book)}.book-cover strong{font-weight:400}.book-cover.plain strong,.book-detail h1{font-weight:600}.cover-top,.book-author,.rating,.eyebrow,.book-caption,.discover-note,.discover-note>span,.empty-feed h1,.modal h2,.feed-end p{font-family:var(--font-ui)}.rating,.reaction{font-variant-numeric:tabular-nums}.bottom-nav>button{font-size:var(--text-caption)}.lucide{stroke-width:var(--icon-stroke)}.icon-button svg,.reaction svg,.bottom-nav>button>svg,.write-circle svg,.story-ring>svg,.avatar>svg{width:var(--icon-action);height:var(--icon-action)}.eyebrow svg,.comment-preview>svg,.primary-button>svg,.comment-login>svg,.rating svg,.rating-star{width:var(--icon-detail);height:var(--icon-detail)}.empty-symbol svg,.modal-symbol svg,.story-placeholder svg{width:var(--icon-display);height:var(--icon-display)}.feed-end>svg{width:var(--icon-detail);height:var(--icon-detail)}.book-caption,.book-detail .eyebrow,.sample-note{font-size:var(--text-caption)}.story-ring{aspect-ratio:1;border-radius:var(--radius-round);flex-shrink:0;grid-template:minmax(0,1fr)/minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}.story-ring>img,.story-ring>.photo-fallback{aspect-ratio:1;border-radius:var(--radius-round);object-fit:cover;width:100%;min-width:0;height:100%;min-height:0}.story-ring>img{object-position:center}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header{transition:none}}.brand-lockup{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.brand-subtitle{font:400 var(--text-caption)/1.5 var(--font-ui);color:var(--muted);white-space:nowrap;letter-spacing:.02em}[hidden]{display:none!important}.search-area,.search-results{padding:var(--space-5) 30px}.search-area{padding-bottom:var(--space-2)}.search-field{align-items:center;gap:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-media);min-height:54px;padding:var(--space-1) var(--space-3);background:var(--paper);display:flex}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search-field>svg{width:var(--icon-action);height:var(--icon-action);color:var(--muted)}.search-field input{min-width:0;color:var(--ink);font:inherit;font-size:var(--text-input);min-height:var(--touch-target);background:0 0;border:0;outline:none;flex:1}.search-field input::-webkit-search-cancel-button{display:none}.search-summary{font-size:var(--text-meta);color:var(--muted);overflow-wrap:anywhere;line-height:1.7}.result-section{margin-top:28px}.result-section h2{margin:0 0 var(--space-4);font-size:19px;font-weight:650}.result-section h2>span,.book-reviews h3>span{font:400 13px var(--font-ui);color:var(--muted);margin-left:6px}.book-results{gap:var(--space-3);display:grid}.book-result{align-items:center;gap:var(--space-6);width:100%;padding:var(--space-6);border-radius:var(--radius-media);background:var(--soft);text-align:left;display:flex}.catalog-cover{aspect-ratio:2/3;width:110px;padding:var(--space-4) var(--space-3);color:#6d4524;text-align:center;background:#e9dcc2;border-left:4px solid #cdbb9d;flex-direction:column;flex-shrink:0;justify-content:space-between;display:flex}.catalog-cover>strong{font:600 20px/1.5 var(--font-book);overflow-wrap:anywhere;word-break:keep-all}.catalog-cover>small{letter-spacing:1px;font-size:8px}.catalog-cover>span{font-size:10px}.catalog-cover.plain{color:#313f3a;background:#d9e0d9;border-color:#bbc6ba}.catalog-cover.night{color:#f1e7d8;background:#45423f;border-color:#302e2b}.catalog-cover.leaf{color:#585b45;background:#ede9db;border-color:#c1bea9}.result-copy{flex-direction:column;gap:9px;min-width:0;display:flex}.result-copy>strong{font:600 23px/1.5 var(--font-book);word-break:keep-all;overflow-wrap:anywhere}.result-copy>small,.result-copy>span{font-size:var(--text-small);color:var(--muted);line-height:1.7}.result-cta{font-size:var(--text-meta);margin-top:var(--space-2);align-items:center;gap:6px;display:flex;color:var(--accent)!important}.result-cta svg,.person-result>svg,.reply-toggle svg,.secondary-button svg{width:var(--icon-detail);height:var(--icon-detail)}.people-results{display:grid}.person-result{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-4) 0;border-bottom:1px solid var(--line);text-align:left;min-height:72px;display:flex}.person-result>span:nth-child(2){overflow-wrap:anywhere;flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.person-result strong{font-size:var(--text-body)}.person-result small{color:var(--muted);font-size:var(--text-meta);line-height:1.6}.post-result{text-align:left;width:100%;padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.post-result strong{margin:10px 0;font-size:17px;line-height:1.6;display:block}.post-result p,.review-link p{font-size:var(--text-body);line-height:var(--leading-body);color:var(--muted);-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-result:hover,.person-result:hover,.post-result:hover{background-color:#f1e9dc}.modal.detail-modal{max-width:640px}.book-sheet-summary{align-items:center;gap:var(--space-6);margin:22px 0 28px;display:flex}.book-sheet-summary>div{min-width:0}.book-sheet h2{font-family:var(--font-book)}.book-sheet h3{font-size:var(--text-input);margin:var(--space-6) 0 var(--space-3)}.book-sheet>.sample-note{margin-top:var(--space-4)}.review-link{text-align:left;background:var(--soft);border-radius:var(--radius-small);width:100%;padding:18px}.review-link strong{font-size:var(--text-small)}.review-link p{margin:var(--space-2) 0}.review-link>span{color:var(--accent);font-size:var(--text-meta);align-items:center;gap:6px;display:flex}.review-link svg{width:var(--icon-detail);height:var(--icon-detail)}.preview-body{white-space:pre-line;margin:18px 0}.detail-back{min-height:var(--touch-target);align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--accent);display:flex}.detail-back svg{width:var(--icon-detail);height:var(--icon-detail)}.modal.comments-modal{max-width:560px;height:min(720px,85dvh);overflow:hidden}.comments-modal .modal-inner{height:100%;padding:0}.comments-modal .close-modal{z-index:1;background:var(--paper)}.comments-layout{flex-direction:column;height:100%;display:flex}.comments-heading{padding:28px var(--space-6) var(--space-4);border-bottom:1px solid var(--line);flex:none;padding-right:54px}.comments-heading h2{margin:var(--space-2) 0}.comments-list{overscroll-behavior:contain;min-height:0;padding:0 var(--space-6);scrollbar-width:thin;flex:1;overflow-y:auto}.comments-list ol{margin:0;padding:0;list-style:none}.comment-thread{padding:var(--space-5) 0;border-bottom:1px solid var(--line)}.comment-row{gap:var(--space-3);display:flex}.comment-copy{flex:1;min-width:0}.comment-copy strong{font-size:var(--text-small)}.comment-time{color:var(--muted);font-size:var(--text-caption);margin-left:var(--space-2);display:inline-block}.comment-copy p{font-size:var(--text-body);line-height:var(--leading-book);color:var(--ink);overflow-wrap:anywhere;margin-top:7px}.reply-toggle,.secondary-button{min-height:var(--touch-target);font-size:var(--text-meta);color:var(--accent);padding:var(--space-2) 0;align-items:center;gap:6px;display:inline-flex}.comments-list .reply-list{padding-left:var(--space-3);border-left:1px solid #d6c6af}.reply-list li{margin-top:var(--space-3)}.comment-pagination{gap:var(--space-5);padding:var(--space-3) 0;justify-content:center;display:flex}.comments-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--line);flex:none}.comments-footer .comment-login{font-size:var(--text-small)}.comment-preview>span:not(.comment-initial){overflow-wrap:anywhere;min-width:0}@media (width>=700px){.search-area,.search-results{padding-inline:var(--space-10)}.book-result{gap:var(--space-8)}.catalog-cover{width:130px}}@media (width<=480px){.search-area,.search-results{padding-inline:var(--space-5)}.explore-tabs button{font-size:var(--text-body)}.book-result{padding:18px var(--space-4);gap:18px}.catalog-cover{width:90px;padding:var(--space-3) var(--space-2)}.catalog-cover>strong{font-size:17px}.result-copy>strong{font-size:20px}.book-subtitle{display:none}.book-sheet-summary{gap:18px}.comments-list{padding-inline:18px}.comment-row{gap:9px}.comments-heading{padding-left:18px}.comments-footer{padding:var(--space-3) 18px}}.writing-screen{padding:24px 30px 32px}.writing-heading{align-items:center;gap:12px;margin-bottom:16px;display:flex}.writing-heading h1{font:500 24px/1.5 var(--font-book);margin:0}.writing-local-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:13px;line-height:1.7;display:flex}.writing-local-note svg{flex-shrink:0;width:16px;height:16px;margin-top:3px}.writing-intro{font:400 22px/1.9 var(--font-book);margin:28px 0}.writing-choices{gap:16px;display:grid}.writing-choice{text-align:left;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--soft);color:var(--brand-ink);flex-direction:column;align-items:flex-start;gap:14px;padding:28px;display:flex}.writing-choice.review-choice{background:linear-gradient(100deg,var(--soft) 40%,#f4eddfc7),url(/images/reading-coffee.jpg) center/cover}.writing-choice>strong{font:600 26px/1.5 var(--font-book)}.writing-choice>span{font-size:15px;line-height:1.8}.writing-choice .choice-link{color:var(--accent);align-items:center;gap:12px;font-weight:600;display:flex}.writing-list{margin-top:32px}.writing-list h2,.writing-section h2{font-size:18px;font-weight:600}.writing-list h2>span{color:var(--muted);font-size:14px}.writing-list-row{border-bottom:1px solid var(--line);align-items:center;display:flex}.writing-list-row>button:first-child{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;gap:8px;min-width:0;padding:20px 32px 20px 0;display:flex;position:relative}.writing-list-row strong,.writing-list-row span{overflow-wrap:anywhere}.writing-list-row small,.writing-list-row time{color:var(--muted);font-size:12px;line-height:1.5}.writing-list-row strong{font-family:var(--font-book);font-size:18px;line-height:1.7}.writing-list-row span{font-size:14px;line-height:1.7}.writing-list-row svg:not(.icon-button svg){position:absolute;top:40%;right:0}.writing-fields{border:0;min-width:0;margin:0;padding:0}.writing-section{border-bottom:1px solid var(--line);padding:24px 0}.writing-section h2{margin:0 0 16px}.writing-section small,.writing-label small{font-family:var(--font-ui);color:var(--muted);margin-left:4px;font-size:12px;font-weight:400}.writing-book-summary{align-items:center;gap:20px;margin:16px 0 24px;display:flex}.writing-book-summary>div{min-width:0}.writing-book-summary strong{font-family:var(--font-book);overflow-wrap:anywhere;font-size:20px;line-height:1.7}.writing-book-summary p{color:var(--muted);margin:4px 0;font-size:14px;line-height:1.8}.writing-book-summary .catalog-cover{flex-shrink:0;width:88px;height:124px}.writing-book-summary .catalog-cover strong{font-size:14px}.writing-book-options{margin-top:12px}.writing-book-options button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px;display:flex}.writing-book-options button[aria-pressed=true]{background:var(--soft);color:var(--accent)}.writing-book-options button>span:first-child{flex-direction:column;gap:6px;display:flex}.writing-book-options button>span:last-child{flex-shrink:0;font-size:13px}.writing-label{margin:20px 0 10px;font-size:16px;font-weight:600;display:block}.writing-label:first-child{margin-top:0}.writing-input{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-control);width:100%;max-width:100%;font:400 16px/1.9 var(--font-ui);background:var(--paper);color:var(--ink);scroll-margin:100px 0 calc(var(--nav-height,84px) + 32px);padding:14px;display:block}.writing-title{font-family:var(--font-book)}textarea.writing-input{resize:vertical;min-height:240px}.writing-count{text-align:right;color:var(--muted);margin-top:8px;font-size:12px;display:block}.writing-photo-add{border:1px dashed var(--accent);border-radius:var(--radius-control);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:48px;margin:16px 0;display:flex;position:relative;overflow:hidden}.writing-photo-add input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.writing-photo-add:focus-within{outline:2px solid var(--accent);outline-offset:3px}.writing-photos{gap:16px;padding:0;list-style:none;display:grid}.writing-photos li{border:1px solid var(--line);border-radius:var(--radius-media);overflow:hidden}.writing-photos img{object-fit:contain;background:var(--soft);width:100%;max-height:350px;display:block}.writing-photos li>div{align-items:center;gap:4px;padding:8px;display:flex}.writing-photos li>div>span{flex:1;font-size:13px}.writing-visibility{border:0;min-width:0;margin:16px 0 0;padding:24px 0}.writing-visibility legend{font-size:16px;font-weight:600}.writing-visibility label{cursor:pointer;align-items:center;gap:12px;padding:14px 0;display:flex}.writing-visibility input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.writing-visibility span{flex-direction:column;gap:6px;display:flex}.writing-visibility small{color:var(--muted);font-size:13px;line-height:1.7}.writing-status{color:var(--muted);margin:16px 0;font-size:13px;line-height:1.8}.writing-actions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.writing-actions>button{white-space:nowrap;flex:1;justify-content:center}.writing-secondary{border:1px solid var(--line);border-radius:var(--radius-control);min-height:46px;color:var(--ink);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;display:inline-flex}.writing-error{border-left:3px solid var(--accent);background:var(--soft);overflow-wrap:anywhere;padding:12px 16px;font-size:14px;line-height:1.8}.writing-preview{padding:24px 0}.writing-preview h2{font:600 24px/1.8 var(--font-book);overflow-wrap:anywhere}.writing-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.9}.writing-gallery{gap:16px;margin-top:20px;display:grid}.writing-gallery img{object-fit:contain;border-radius:var(--radius-media);background:var(--soft);width:100%;max-height:650px;display:block}.writing-confirm .modal-inner{flex-direction:column;gap:12px;display:flex}body:has(.writing-confirm[open]){overflow:hidden}.writing-screen button:disabled{opacity:.45;cursor:not-allowed}.local-post-note{color:var(--muted);font-size:13px;line-height:1.8}.local-post .writing-preview{padding-top:0}@media (width<=520px){.writing-screen{padding:20px 20px 28px}.writing-heading h1{font-size:22px}.writing-choice{padding:24px}.writing-actions .primary-button{flex-basis:100%}.writing-preview h2{font-size:22px}}@media (width>=700px){.writing-screen{padding-left:40px;padding-right:40px}}body:has(.library-screen:not([hidden])){min-width:0}.library-screen{overflow-wrap:anywhere;min-width:0;padding:24px 30px 40px}.library-heading,.library-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.library-heading h1{font:500 30px/1.5 var(--font-book);margin:8px 0}.library-heading p,.library-meta{color:var(--muted);font-size:14px;line-height:1.8}.library-screen h2{font:600 21px/1.6 var(--font-book)}.library-screen h3{font:600 18px/1.7 var(--font-book);margin:12px 0}.library-screen h2 svg{vertical-align:middle;margin-right:8px}.library-screen button{min-height:var(--touch-target)}.library-screen .text-button{text-align:left;align-items:center;gap:8px;display:inline-flex}.library-screen button:disabled{opacity:.45;cursor:not-allowed}.library-tabs{border-bottom:1px solid var(--line);margin:24px 0;display:flex}.library-tabs button{min-width:0;color:var(--muted);word-break:keep-all;overflow-wrap:normal;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:14px 4px;font-size:16px;line-height:1.5}.library-tabs button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.library-search{border:1px solid var(--line);border-radius:var(--radius-control);align-items:center;gap:12px;padding:12px 16px;display:flex}.library-search input{width:100%;min-width:0;font:400 16px/1.8 var(--font-ui);color:var(--ink);background:0 0;border:0}.library-filters,.library-actions,.library-fields{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.library-filters label{flex-direction:column;flex:1;gap:8px;min-width:130px;font-size:14px;display:flex}.library-filters select{background:var(--paper);min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);max-width:100%;padding:10px;font-size:16px}.library-fields>label{flex:1;min-width:160px;margin:0}.library-book-card{border-radius:var(--radius-card);background:var(--soft);gap:24px;margin:16px 0;padding:24px;display:flex}.library-book-card>div:last-child{flex:1;min-width:0}.library-book-card h2{margin:0}.library-book-card h2 button{color:inherit;text-align:left;font:inherit;background:0 0;border:0;padding:0}.library-cover{aspect-ratio:2/3;box-sizing:border-box;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-small);width:100px;box-shadow:var(--shadow-cover);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;gap:12px;padding:12px;display:flex}.library-cover span{font:500 14px/1.7 var(--font-book)}.library-cover small{color:var(--muted);font-size:12px}.library-cover:has(img){box-shadow:none;background:0 0;border:0;padding:0}.library-cover img{object-fit:contain;width:100%;height:100%;max-height:180px;display:block}.library-book-heading{align-items:center;gap:24px;margin:24px 0;display:flex}.library-screen progress{border-radius:var(--radius-control);width:100%;height:9px;accent-color:var(--accent);background:var(--line);border:0;overflow:hidden}.library-screen progress::-webkit-progress-bar{background:var(--line)}.library-screen progress::-webkit-progress-value{background:var(--accent)}.library-screen progress::-moz-progress-bar{background:var(--accent)}.library-session{border-bottom:1px solid var(--line);padding:24px 0}.library-session h3{margin:0}.library-badge{background:var(--soft);color:var(--accent);border-radius:var(--radius-control);padding:6px 10px;font-size:14px}.library-note{white-space:pre-wrap;font-size:16px;line-height:1.9}.library-review{border-left:2px solid var(--line);margin:20px 0;padding-left:16px}.library-review .writing-preview{padding:0}.library-excerpt{white-space:pre-wrap;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.9;display:-webkit-box;overflow:hidden}.library-check{cursor:pointer;align-items:center;gap:12px;min-height:44px;font-size:16px;display:flex}.library-check input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.library-date{border:0;border-bottom:1px solid var(--line);min-width:0;margin-top:24px;padding:20px 0}.library-date legend{font-size:16px;font-weight:600}.library-date small{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.8;display:block}.library-empty{text-align:center;padding:36px 12px;line-height:1.9}.library-empty>svg{width:32px;height:32px;color:var(--accent)}.library-register{border:1px solid var(--line);border-radius:var(--radius-card);margin:24px 0;padding:20px}.library-catalog-row{border-bottom:1px solid var(--line);padding:12px 0}.library-catalog-row small{font:400 14px/1.8 var(--font-ui);color:var(--muted);display:block}.time-group{margin:32px 0}.time-group>h2{background:var(--soft);border-radius:var(--radius-control);color:var(--brand-ink);padding:12px 16px}.time-book{padding:0 8px}.library-compare{border:1px solid var(--line);border-radius:var(--radius-card);margin:32px 0 0;padding:24px}.library-compare>article{border-top:1px solid var(--line);padding:24px 0}.library-compare p{line-height:1.9}.library-feedback{background:var(--soft);border-radius:var(--radius-control);padding:14px;line-height:1.8}.library-history summary{cursor:pointer;box-sizing:border-box;min-height:44px;padding:14px 0}.library-history ul{padding-left:20px;font-size:14px;line-height:1.9}.library-screen input,.library-screen textarea,.library-screen select{scroll-margin:100px 0 calc(var(--nav-height,84px) + 32px)}@media (width<=520px){.library-screen{padding:20px 20px 32px}.library-heading h1{font-size:26px}.library-book-card{gap:16px;padding:16px}.library-cover{width:76px;padding:8px}.library-cover span{font-size:13px}.library-tabs button{font-size:15px}.library-register,.library-compare{padding:16px}}@media (width>=700px){.library-screen{padding-left:40px;padding-right:40px}}.library-screen[hidden]{display:none}.library-back{margin:0 0 var(--space-3);font-size:var(--text-input)}.app-shell:has(.library-screen[data-detail=true]:not([hidden]))>.demo-connection-note{display:none}body:has(.profile-screen){min-width:0}.profile-screen{padding:24px 30px calc(var(--nav-height,84px) + 32px);overflow-wrap:anywhere;min-width:0}.profile-heading{align-items:center;gap:12px;display:flex}.profile-heading h1{font-family:var(--font-book);flex:1;margin:12px 0;font-size:26px}.profile-heading h1:focus{outline:none}.profile-local{color:var(--muted);gap:8px;font-size:13px;line-height:1.8;display:flex}.profile-local svg{flex:0 0 16px;width:16px}.profile-summary{text-align:center;padding:24px 0}.profile-avatar{background:var(--soft);width:88px;height:88px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar svg{width:38px;height:38px}.profile-summary .eyebrow{margin-top:20px;display:block}.profile-summary h2{font:600 28px var(--font-book);margin:12px 0 4px}.profile-handle{color:var(--muted);margin:0;font-size:14px}.profile-bio{white-space:pre-wrap;max-width:600px;margin:20px auto;line-height:1.9}.profile-stats{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 12px;padding:16px 0;display:grid}.profile-stats>*{color:var(--ink);font:inherit;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:60px;display:flex}.profile-stats>*+*{border-left:1px solid var(--line)}.profile-stats strong{font-size:24px}.profile-stats span{font-size:14px}.profile-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.profile-summary .profile-actions{justify-content:center}.profile-tabs{border-bottom:1px solid var(--line);display:flex}.profile-tabs button{min-height:52px;font:inherit;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1}.profile-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.profile-post{border-bottom:1px solid var(--line);padding:24px 0}.profile-post h2,.profile-post h3{font-family:var(--font-book);line-height:1.6}.profile-excerpt{white-space:pre-wrap;line-height:1.9}.profile-empty{text-align:center;color:var(--muted);padding:36px 12px;line-height:1.9}.profile-empty svg{width:32px;height:32px}.profile-empty h2{color:var(--ink);font:500 21px var(--font-book)}.profile-settings{margin:28px 0}.profile-settings h2,.profile-faq h2{font-family:var(--font-book);font-size:21px}.profile-setting-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;min-height:60px;color:var(--ink);font:inherit;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.profile-setting-row>span:last-child:not(:first-child){color:var(--muted);font-size:14px}.profile-setting-row svg{flex-shrink:0;width:20px}.profile-switch{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:60px;display:flex}.profile-switch input{width:24px;height:24px;accent-color:var(--accent)}.profile-faq details{border-bottom:1px solid var(--line);padding:12px 0}.profile-faq summary{cursor:pointer;padding:12px 0}.profile-faq p{line-height:1.9}.profile-photo-editor{flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0;display:flex}.profile-feedback{background:var(--soft);border-radius:var(--radius-control);padding:12px}.profile-author-button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0}.post-header>.profile-avatar{width:42px;height:42px}.post-header>.profile-avatar svg{width:24px;height:24px}.profile-screen button:disabled{opacity:.55;cursor:default}@media (width>=700px){.profile-screen{padding-inline:40px}}@media (width<=480px){.profile-screen{padding-inline:20px}.profile-heading h1{font-size:23px}}@media (width<=360px){.profile-screen{padding-inline:16px}.profile-stats span{font-size:13px}}.demo-connection-note,.demo-data-error{padding:var(--space-3) var(--space-5);font-size:var(--text-small);color:var(--ink);background:var(--soft);border-bottom:1px solid var(--line);margin:0;line-height:1.65}.demo-data-error p{margin:0}.demo-data-error button{margin-top:var(--space-1)}@media (width>=700px){.demo-connection-note,.demo-data-error{padding-inline:var(--space-10)}}
