@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{color:#25211d;background:#f4efe5;font-family:Noto Sans KR,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #25211d;--muted: #746c62;--paper: #f8f4ec;--paper-deep: #eee7da;--forest: #23473d;--forest-deep: #16372f;--terracotta: #bc634c;--gold: #c79651;--line: #d9d0c2;--wood: #8a5b36;--wood-dark: #5b3822;--shadow: 0 18px 55px rgba(54, 41, 27, .11)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(circle at 10% 10%,rgba(196,157,100,.08),transparent 25%),var(--paper)}body,button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}a{color:inherit;text-decoration:none}button{color:inherit}button:not(:disabled),select{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid #d88754;outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.eyebrow{color:var(--terracotta);font-size:.72rem;font-weight:700;letter-spacing:.18em}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--forest)}.brand__mark{width:48px;height:48px}.brand__text{display:flex;flex-direction:column}.brand__text strong{font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.65rem;line-height:1;letter-spacing:-.04em}.brand__text small{margin-top:6px;color:var(--muted);font-size:.68rem;letter-spacing:.08em}.brand--compact .brand__mark{width:39px;height:39px}.brand--compact .brand__text strong{font-size:1.42rem}.primary-button,.secondary-button,.danger-button,.dashed-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:9px;border:1px solid transparent;font-weight:700;line-height:1}.primary-button{border-color:var(--forest);background:var(--forest);color:#fffdf7;box-shadow:0 6px 16px #23473d29}.primary-button:hover{background:var(--forest-deep);transform:translateY(-1px)}.secondary-button{border-color:var(--line);background:#fffdf8;color:var(--ink)}.secondary-button:hover{border-color:#b6aa99;background:#f9f3e9}.danger-button{border-color:#e3c8c2;background:#fff8f6;color:#9d4538}.danger-button:hover{border-color:#c67c6f;background:#fff1ed}.icon-button{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent}.icon-button:hover{background:var(--paper-deep)}.confirm-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#25211d61;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.confirm-dialog{width:min(100%,430px);display:grid;gap:18px;padding:28px;border:1px solid rgba(217,208,194,.9);border-radius:18px;background:linear-gradient(145deg,#fffdf8fa,#f8f4ecfa),var(--paper);box-shadow:0 30px 90px #25211d47}.confirm-dialog__mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid #e3c8c2;border-radius:50%;background:#fff8f6;color:#9d4538;font-size:1.2rem;font-weight:800}.confirm-dialog__copy h2{margin:0 0 8px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.8rem;font-weight:400;letter-spacing:-.045em}.confirm-dialog__copy p{margin:0;color:var(--muted);line-height:1.75}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.app-header{position:sticky;z-index:20;top:0;border-bottom:1px solid rgba(121,104,83,.16);background:#f8f4eceb;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.app-header__inner{width:min(1240px,calc(100% - 48px));min-height:76px;display:grid;grid-template-columns:240px minmax(280px,520px) 1fr;align-items:center;gap:28px;margin:0 auto}.app-header__inner--without-search{grid-template-columns:240px 1fr}.header-search{height:44px;display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:#fffdf8}.header-search:focus-within{border-color:#8f7962;box-shadow:0 0 0 3px #8f79621a}.header-search input{min-width:0;flex:1;height:100%;padding:0 4px 0 16px;border:0;outline:0;background:transparent}.header-search button{width:46px;height:100%;display:grid;place-items:center;border:0;background:transparent;color:var(--forest)}.account-menu{display:flex;align-items:center;justify-content:flex-end;gap:12px}.account-menu__name{display:inline-flex;align-items:center;gap:7px;color:#514b44;font-size:.86rem;font-weight:600}.content-page,.home-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:54px 0 90px}.page-title{margin:24px 0 36px}.page-title h1,.home-heading h1{margin:7px 0 8px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:clamp(2.1rem,4vw,3.45rem);font-weight:400;line-height:1.15;letter-spacing:-.045em}.page-title p,.home-heading p{margin:0;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:7px;color:#675f56;font-size:.86rem;font-weight:600}.back-link:hover{color:var(--forest);transform:translate(-2px)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(440px,.95fr)}.auth-intro{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;padding:56px clamp(48px,7vw,110px);background:linear-gradient(#1a372ff5,#1a372ffa),repeating-linear-gradient(90deg,#21443b 0,#21443b 2px,#1c3d34 2px,#1c3d34 5px);color:#f6efe2}.auth-intro .brand{color:#f7f0e4}.auth-intro .brand__text small{color:#b9c6bd}.auth-intro__copy{z-index:1;margin:auto 0}.auth-intro__copy h1{max-width:670px;margin:18px 0 24px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:clamp(3.1rem,5vw,5.3rem);font-weight:400;line-height:1.12;letter-spacing:-.055em}.auth-intro__copy>p{color:#ccd5cf;font-size:1.04rem;line-height:1.9}.auth-intro__copy ul{display:grid;gap:13px;margin:36px 0 0;padding:0;list-style:none;color:#e6e7df;font-size:.9rem}.auth-intro__copy li{display:flex;align-items:center;gap:10px}.auth-intro__copy li svg{color:#d3a05b}.auth-intro__watermark{position:absolute;right:-45px;bottom:-80px;width:360px;height:360px;color:#ffffff09}.auth-panel{display:grid;place-items:center;padding:48px;background:linear-gradient(#f8f4ece0,#f8f4ecf2),repeating-linear-gradient(0deg,#efe6d9 0 1px,transparent 1px 6px)}.auth-card{width:min(100%,440px)}.auth-card h2{margin:9px 0 8px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:2.55rem;font-weight:400;letter-spacing:-.04em}.auth-card>p{margin:0 0 32px;color:var(--muted)}.auth-card form{display:grid;gap:17px}label{display:grid;gap:8px;color:#4e4841;font-size:.86rem;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffdf8;color:var(--ink);outline:none}input,select{height:48px;padding:0 14px}textarea{min-height:96px;padding:13px 14px;resize:vertical;line-height:1.75}input:focus,select:focus,textarea:focus{border-color:#927b63;box-shadow:0 0 0 3px #927b631a}input::placeholder,textarea::placeholder{color:#aaa094}.auth-submit{width:100%;margin-top:5px}.auth-switch{margin:24px 0 0!important;text-align:center;font-size:.86rem}.auth-switch a{color:var(--forest);font-weight:700;text-decoration:underline;text-underline-offset:3px}.form-error{margin:0;padding:11px 13px;border:1px solid #ecc6bc;border-radius:7px;background:#fff1ed;color:#9e4033;font-size:.83rem}.home-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.home-heading__actions{display:flex;align-items:end;gap:12px}.sort-control{min-width:130px;gap:5px}.sort-control span{font-size:.72rem}.sort-control select{height:46px}.reading-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:42px 0 30px;border:1px solid var(--line);border-radius:12px;background:#fffdf8b8}.reading-stats>div{min-height:92px;display:flex;flex-direction:column;justify-content:center;padding:16px 26px;border-right:1px solid var(--line)}.reading-stats>div:last-child{border:0}.reading-stats span{color:var(--muted);font-size:.75rem}.reading-stats strong{margin-top:4px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.8rem;font-weight:400}.reading-stats small{margin-left:4px;color:#81776c;font-family:Noto Sans KR,sans-serif;font-size:.72rem;font-weight:500}.bookshelf{position:relative;overflow:hidden;padding:30px 30px 28px;border:11px solid var(--wood-dark);border-top-width:15px;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,rgba(36,18,8,.15),transparent 6%,transparent 94%,rgba(36,18,8,.15)),#70462a;box-shadow:inset 0 0 0 4px #9d6b43,0 22px 50px #412a182e}.bookshelf:before,.bookshelf:after{position:absolute;z-index:2;top:0;bottom:0;width:18px;background:linear-gradient(90deg,#6a4026,#a06b42 45%,#6b3e24);content:""}.bookshelf:before{left:0}.bookshelf:after{right:0}.bookshelf__crown{position:relative;z-index:3;height:28px;display:flex;align-items:flex-start;justify-content:center;color:#dcc4a6;font-family:Georgia,serif;font-size:.62rem;letter-spacing:.18em}.shelf{position:relative;height:230px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,rgba(30,15,8,.13),transparent 8%,transparent 92%,rgba(30,15,8,.14)),#694229}.shelf__books{height:208px;display:flex;align-items:flex-end;gap:5px;overflow:visible;padding:0 10px}.shelf__board{position:relative;z-index:4;height:22px;flex:none;border-top:2px solid #bc8658;border-bottom:4px solid #4c2e1d;background:repeating-linear-gradient(8deg,transparent 0 22px,rgba(45,25,13,.2) 23px 24px),linear-gradient(#956039,#704326);box-shadow:0 -6px 10px #2010073d}.shelf__board span{position:absolute;right:8px;top:2px;color:#edd2b357;font-size:.6rem}.book-spine{position:relative;width:var(--spine-width);height:var(--spine-height);flex:0 0 var(--spine-width);display:flex;align-items:center;border:1px solid color-mix(in srgb,var(--spine-color),black 22%);border-bottom:0;border-radius:3px 5px 1px 1px;background:linear-gradient(90deg,rgba(255,255,255,.2),transparent 16%,transparent 80%,rgba(0,0,0,.13)),var(--spine-color);color:var(--spine-text);box-shadow:2px 0 2px #0000002b,inset 1px 0 #ffffff21;transform-origin:bottom center}.book-spine:nth-child(5n+2){transform:rotate(-.8deg)}.book-spine:nth-child(7n+4){transform:rotate(.7deg)}.book-spine:hover,.book-spine:focus-visible{z-index:8;filter:brightness(1.05);transform:translateY(-11px) rotate(0);box-shadow:6px 9px 10px #160c0647,inset 1px 0 #ffffff26}.book-spine__cap{position:absolute;top:11px;right:0;left:0;height:2px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;opacity:.48}.book-spine strong{max-height:calc(100% - 55px);margin:24px auto 0;overflow:hidden;font-family:serif;font-size:clamp(.65rem,calc(var(--spine-width) * .24),.88rem);line-height:1.2;letter-spacing:.02em;text-orientation:mixed;writing-mode:vertical-rl}.book-spine small{position:absolute;bottom:11px;left:50%;max-width:calc(100% - 8px);overflow:hidden;font-size:.48rem;opacity:.82;text-overflow:ellipsis;transform:translate(-50%);white-space:nowrap}.book-spine__rating{position:absolute;top:5px;left:50%;max-width:calc(100% - 4px);overflow:hidden;font-size:.34rem;letter-spacing:-.08em;opacity:.7;transform:translate(-50%);white-space:nowrap}.shelf-note{margin:18px 0 0;color:#8a8177;font-size:.72rem;text-align:right}.centered-status{min-height:50vh;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--muted)}.loader{width:19px;height:19px;border:2px solid #cfc4b5;border-top-color:var(--forest);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:1px dashed #cfc3b3;border-radius:14px;background:#fffdf88c;text-align:center}.empty-state>svg{color:var(--forest)}.empty-state h1,.empty-state h2{margin:17px 0 7px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.75rem;font-weight:400}.empty-state p{margin:0 0 22px;color:var(--muted)}.empty-state--small{min-height:270px}.book-search-form{display:flex;align-items:center;gap:12px;padding:10px 11px 10px 18px;border:1px solid #cfc3b4;border-radius:12px;background:#fffdf8;box-shadow:0 12px 35px #47352412}.book-search-form>svg{flex:none;color:var(--forest)}.book-search-form input{min-width:0;flex:1;border:0;background:transparent;box-shadow:none;font-size:1rem}.book-search-form button{flex:none}.metadata-notice{margin:14px 0 0;padding:11px 14px;border-radius:7px;background:#eee8d9;color:#6f604c;font-size:.78rem;line-height:1.6}.metadata-completion{border-color:#d6b889;background:#fffaf0}.automatic-status{height:48px;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}.automatic-status span{color:#81776c;font-size:.72rem;font-weight:600}.automatic-status strong{color:var(--forest);font-size:1.04rem;line-height:1}.automatic-status--complete{border-color:#d1b27d;background:#fff9eb}.automatic-status--complete strong{color:#9d652c}.final-review-section{border-color:#b6c9c1;background:#f8fbf7}.completion-hint{margin:0;padding:14px 17px;border:1px solid #c7b181;border-radius:8px;background:#fff8e8;color:#725a32;font-size:.82rem;line-height:1.65}.search-error{margin-top:14px}.search-guide{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.search-guide>div{min-height:130px;display:flex;align-items:center;gap:16px;padding:24px;border-right:1px solid var(--line)}.search-guide>div:last-child{border:0}.search-guide strong{color:var(--terracotta);font-family:"DM Serif Display",serif;font-size:2rem;font-weight:400;opacity:.7}.search-guide span{color:#5d554c;font-size:.88rem;font-weight:600}.search-results{margin-top:45px}.results-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:17px}.results-heading h2{margin:0;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.8rem;font-weight:400}.results-heading span{color:var(--muted);font-size:.8rem}.book-result-list{display:grid;gap:12px}.book-result{display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:24px;padding:20px;border:1px solid var(--line);border-radius:11px;background:#fffdf8c7}.book-result:hover{border-color:#b8aa98;background:#fffdf8;box-shadow:0 10px 25px #3e2f2012}.book-cover{width:100%;aspect-ratio:.69;display:block;object-fit:cover;border-radius:2px 5px 5px 2px;box-shadow:4px 5px 10px #1e160f33,inset 3px 0 #ffffff24}.book-cover--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;color:#fff8ea;text-align:center}.book-cover--placeholder span{margin-bottom:15px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.35);font-size:.5rem;letter-spacing:.15em}.book-cover--placeholder strong{font-family:serif;font-size:clamp(.72rem,1.5vw,1.08rem);line-height:1.45}.book-cover--placeholder small{margin-top:10px;font-size:.58rem;opacity:.8}.book-result__info>span{color:var(--terracotta);font-size:.67rem;font-weight:700}.book-result__info h3{margin:4px 0;font-size:1.13rem}.book-result__info>p{margin:0;color:#675f55;font-size:.84rem}.book-result__info dl{display:flex;flex-wrap:wrap;gap:5px 22px;margin:17px 0 0}.book-result__info dl div{display:flex;gap:7px;font-size:.73rem}.book-result__info dt{color:#9a9084}.book-result__info dd{margin:0;color:#5f574f}.review-form{display:grid;grid-template-columns:265px minmax(0,1fr);align-items:start;gap:44px}.review-form__book{position:sticky;top:112px;padding:25px;border:1px solid var(--line);border-radius:12px;background:#fffdf8ad}.review-form__book .book-cover{max-width:170px;margin:0 auto 22px}.review-form__book h2{margin:0;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.35rem;font-weight:400;text-align:center}.review-form__book>p{margin:5px 0 20px;color:var(--muted);font-size:.78rem;text-align:center}.review-form__book dl{display:grid;gap:8px;margin:0;padding-top:15px;border-top:1px solid var(--line)}.review-form__book dl div{display:flex;justify-content:space-between;gap:12px;font-size:.7rem}.review-form__book dt{color:#93897e}.review-form__book dd{margin:0;text-align:right}.review-form__fields{display:grid;gap:18px}.form-section{display:grid;gap:20px;padding:29px 31px;border:1px solid var(--line);border-radius:12px;background:#fffdf8c7}.form-section__heading{display:flex;align-items:flex-start;gap:15px;padding-bottom:19px;border-bottom:1px solid var(--line)}.form-section__heading>span{padding-top:4px;color:var(--terracotta);font-family:"DM Serif Display",serif;font-size:1.25rem}.form-section__heading>div{flex:1}.form-section__heading h2{margin:0 0 4px;font-size:1.08rem}.form-section__heading p{margin:0;color:var(--muted);font-size:.76rem}.form-section__heading>svg{color:#9a7b5d}.form-grid{display:grid;gap:17px}.form-grid--three{grid-template-columns:repeat(3,1fr)}.form-grid--two{grid-template-columns:repeat(2,1fr)}.field-shell{min-width:0;display:grid;grid-template-rows:20px 48px;gap:8px}.input-with-unit{position:relative;display:block}.input-with-unit input{padding-right:82px}.input-with-unit>span{position:absolute;top:50%;right:13px;color:#91877b;font-size:.7rem;font-weight:500;transform:translateY(-50%)}.star-rating{min-width:0;display:grid;grid-template-rows:20px 48px;gap:8px;margin:0;padding:0;border:0}.field-label{margin:0;padding:0;color:#4e4841;font-size:.86rem;font-weight:600;line-height:20px}.field-label--empty{visibility:hidden}.star-rating>div{height:48px;display:flex;align-items:center;gap:3px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}.star-rating button{width:32px;height:36px;padding:0;border:0;background:transparent;color:#d7cfc3;font-size:1.25rem}.star-rating button:hover,.star-rating button.is-active{color:#d39a41;transform:translateY(-1px)}.color-field{display:grid;grid-template-rows:20px 48px;gap:8px}.color-field__control{height:48px;display:flex;align-items:center;gap:12px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fffdf8}.color-field input{width:38px;height:34px;padding:0;border:0;background:transparent}.color-field code{color:#6a6259;font-family:monospace;font-size:.78rem}.color-field i{width:70px;height:28px;margin-left:auto;border-radius:3px;box-shadow:inset 0 0 0 1px #0000001a}.progress-preview>div,.detail-progress>div{height:7px;overflow:hidden;border-radius:20px;background:#e7dfd3}.progress-preview>div span,.detail-progress>div span{height:100%;display:block;border-radius:inherit;background:var(--forest)}.progress-preview p{margin:7px 0 0;color:var(--muted);font-size:.7rem;text-align:right}.character-list{display:grid;gap:13px}.character-card{display:grid;gap:15px;padding:19px;border:1px solid #ded5c9;border-radius:9px;background:#faf6ee}.character-card__top{display:flex;align-items:center;justify-content:space-between}.character-card__top strong{font-size:.8rem}.character-card__top button{display:grid;place-items:center;padding:5px;border:0;background:transparent;color:#a05244}.dashed-button{width:100%;border-style:dashed;border-color:#bfb2a2;background:transparent;color:#665d53}.dashed-button:hover{border-color:var(--forest);color:var(--forest)}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:10px}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.detail-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.detail-error{margin-bottom:18px}.review-detail{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fffdf8;box-shadow:var(--shadow)}.review-hero{display:grid;grid-template-columns:265px minmax(0,1fr);gap:52px;padding:52px;background:linear-gradient(115deg,#264a40f7,#18372ffc),var(--forest);color:#fbf6eb}.review-hero__cover-wrap .book-cover{width:210px;margin:0 auto;box-shadow:10px 13px 25px #06130f59}.review-hero__cover-wrap>span{width:max-content;display:block;margin:18px auto 0;padding:5px 10px;border-radius:20px;color:#fff;font-size:.61rem}.review-hero__info{align-self:center}.category-badge{display:inline-flex;padding:5px 11px;border:1px solid rgba(255,255,255,.3);border-radius:20px;color:#e8d8bf;font-size:.68rem;font-weight:700}.review-hero__info h1{max-width:700px;margin:15px 0 8px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:clamp(2.2rem,5vw,4.2rem);font-weight:400;line-height:1.13;letter-spacing:-.055em}.review-hero__author{margin:0;color:#c5d0c8}.detail-rating{margin-top:17px;color:#e6ad54;letter-spacing:.08em}.detail-rating span{color:#ffffff2b}.book-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 28px;max-width:600px;margin:28px 0;padding:20px 0;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.book-metadata div{display:flex;gap:10px;font-size:.75rem}.book-metadata dt{min-width:46px;color:#aebdb4}.book-metadata dd{margin:0}.detail-progress{max-width:600px}.detail-progress>div{background:#ffffff26}.detail-progress>div span{background:#e3b36b}.detail-progress p{display:flex;justify-content:space-between;margin:9px 0 0;color:#bac8c0;font-size:.7rem}.detail-progress strong{color:#f0e6d7}.review-hero__info>small{display:block;margin-top:22px;color:#96a89f;font-size:.63rem}.review-content{max-width:820px;display:grid;gap:54px;margin:0 auto;padding:70px 48px 90px}.review-content section{position:relative}.section-number{position:absolute;top:2px;left:-54px;color:var(--terracotta);font-family:"DM Serif Display",serif;font-size:.9rem}.review-content h2{margin:0 0 21px;font-family:"DM Serif Display",Noto Sans KR,serif;font-size:1.8rem;font-weight:400}.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.section-title-row h2{margin-bottom:5px}.section-title-row p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.65}.section-title-row .secondary-button{flex:none}.reading-timeline{position:relative;display:grid;gap:19px}.reading-timeline:before{position:absolute;top:18px;bottom:18px;left:18px;width:1px;background:#cdbda8;content:""}.timeline-entry{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:17px}.timeline-entry__marker{z-index:1;width:37px;height:37px;display:grid;place-items:center;border:5px solid #fffdf8;border-radius:50%;background:var(--forest);color:#fff;font-family:"DM Serif Display",serif;font-size:.78rem;box-shadow:0 0 0 1px #bca991}.timeline-entry__card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fffdf8}.timeline-entry__card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line);background:#f5eee3}.timeline-entry__card>header>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.timeline-entry__card>header strong{color:var(--forest);font-size:.92rem}.timeline-entry__card>header span{padding:3px 8px;border-radius:20px;background:#d9a95f;color:#fffdf8;font-size:.62rem;font-weight:700}.timeline-entry__card>header small{color:#8c8174;font-size:.67rem}.timeline-entry__card>header>div:last-child{display:flex;gap:5px}.timeline-entry__card>header a,.timeline-entry__card>header button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #d6cbbd;border-radius:7px;background:#fffdf8;color:#695f54}.timeline-entry__card>header button{color:#9d4c40}.timeline-entry__body{display:grid;gap:21px;padding:21px}.timeline-entry__body h3,.final-review-grid h3{margin:0 0 8px;color:#71675d;font-size:.76rem;letter-spacing:.04em}.timeline-entry__body p{margin:0;color:#454039;font-size:.9rem;line-height:1.85;white-space:pre-wrap}.timeline-feelings{padding:17px 19px;border-left:3px solid var(--terracotta);background:#faf1eb}.timeline-entry__body blockquote{margin:0;padding:15px 18px;border-left:3px solid var(--gold);background:#f5eee1}.timeline-entry__body blockquote svg{color:#b68c52}.timeline-entry__body blockquote p{margin-top:5px;font-family:serif}.empty-inline{display:flex;flex-direction:column;align-items:center;gap:15px;padding:34px;border:1px dashed #cbbdab;border-radius:10px;background:#faf6ee;text-align:center}.empty-inline p{margin:0;color:var(--muted)}.final-review-grid{display:grid;gap:30px}.final-review-grid>div{padding-bottom:27px;border-bottom:1px solid var(--line)}.final-review-grid>blockquote{margin:0}.reading-next-step{padding:30px;border:1px solid #c9d2c9;border-radius:10px;background:#f4f8f3}.reading-next-step h2{margin-bottom:8px}.reading-next-step p{margin:0 0 20px;color:var(--muted);line-height:1.75}.long-copy{margin:0;color:#474039;line-height:2;white-space:pre-wrap}.review-content blockquote{position:relative;margin:0;padding:30px 36px;border-left:4px solid var(--gold);background:#f4ede1}.review-content blockquote svg{color:#b68c52;opacity:.55}.review-content blockquote p{margin:8px 0 0;font-family:serif;font-size:1.08rem;line-height:1.85;white-space:pre-wrap}.detail-characters h2{display:flex;align-items:center;gap:9px}.detail-characters>div{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.detail-characters article{padding:20px;border:1px solid var(--line);border-radius:9px;background:#faf6ee}.detail-characters h3{margin:0 0 7px;color:var(--forest)}.detail-characters p{margin:0;color:#5c554d;font-size:.82rem;line-height:1.7}.detail-characters .character-traits{margin-bottom:10px;color:var(--terracotta);font-size:.72rem;font-weight:700}@media(max-width:900px){.app-header__inner{grid-template-columns:auto 1fr auto;gap:17px}.app-header__inner--without-search{grid-template-columns:auto auto;justify-content:space-between}.account-menu__name{display:none}.auth-page{grid-template-columns:1fr}.auth-intro{min-height:400px;padding:38px 48px 55px}.auth-intro__copy{margin:60px 0 0}.auth-intro__copy h1{font-size:3.3rem}.auth-intro__copy ul{display:none}.auth-panel{padding:60px 30px}.review-form{grid-template-columns:1fr}.review-form__book{position:static;display:grid;grid-template-columns:120px 1fr;column-gap:24px}.review-form__book .book-cover{grid-row:1 / 5;margin:0}.review-form__book h2,.review-form__book>p{text-align:left}.review-form__book dl{align-self:end}.review-hero{grid-template-columns:210px 1fr;gap:36px;padding:38px}.review-hero__cover-wrap .book-cover{width:180px}}@media(max-width:700px){.app-header__inner,.content-page,.home-page{width:min(100% - 28px,1180px)}.app-header__inner{min-height:66px;grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.app-header__inner--without-search{grid-template-columns:auto auto}.app-header .brand__text{display:none}.header-search{height:40px}.account-menu{display:flex}.content-page,.home-page{padding:36px 0 70px}.home-heading{align-items:flex-start;flex-direction:column}.home-heading__actions{width:100%}.sort-control{flex:1}.reading-stats{grid-template-columns:repeat(2,1fr);margin-top:30px}.reading-stats>div{border-bottom:1px solid var(--line)}.reading-stats>div:nth-child(2){border-right:0}.reading-stats>div:nth-child(3),.reading-stats>div:nth-child(4){border-bottom:0}.bookshelf{padding:20px 19px;border-width:8px;border-top-width:12px}.bookshelf:before,.bookshelf:after{width:11px}.shelf{height:202px}.shelf__books{height:182px;padding:0 5px;transform:scaleY(.87);transform-origin:bottom}.shelf__board{height:20px}.shelf-note{text-align:left}.book-search-form{gap:7px;padding-left:12px}.book-search-form input{font-size:.84rem}.book-search-form button{min-width:74px;padding:0 13px}.search-guide{grid-template-columns:1fr}.search-guide>div{min-height:80px;border-right:0;border-bottom:1px solid var(--line)}.book-result{grid-template-columns:85px 1fr;gap:17px;padding:15px}.book-result__info dl{display:none}.book-result__action{grid-column:1 / -1;width:100%}.form-section{padding:23px 19px}.form-grid--three,.form-grid--two{grid-template-columns:1fr}.review-form__book{grid-template-columns:90px 1fr;column-gap:17px;padding:18px}.review-form__book dl div{font-size:.63rem}.detail-toolbar{align-items:flex-start;gap:15px;flex-direction:column}.detail-toolbar>div{width:100%;justify-content:flex-start}.detail-toolbar .secondary-button,.detail-toolbar .danger-button{min-height:40px;padding:0 12px;font-size:.76rem}.review-hero{grid-template-columns:1fr;gap:30px;padding:31px 22px}.review-hero__cover-wrap .book-cover{width:155px}.review-hero__info{text-align:center}.review-hero__info h1{font-size:2.5rem}.book-metadata,.detail-progress p{text-align:left}.review-content{gap:42px;padding:50px 22px 65px}.section-number{position:static;display:block;margin-bottom:6px}.review-content blockquote{padding:24px 22px}.section-title-row{align-items:stretch;flex-direction:column}.section-title-row .secondary-button{width:100%}.timeline-entry{grid-template-columns:28px minmax(0,1fr);gap:10px}.reading-timeline:before{left:13px}.timeline-entry__marker{width:28px;height:28px;border-width:4px}.timeline-entry__card>header{align-items:flex-start;padding:13px}.timeline-entry__body{padding:16px}.detail-characters>div{grid-template-columns:1fr}}@media(max-width:480px){.auth-intro{min-height:330px;padding:28px 24px 40px}.auth-intro__copy{margin-top:45px}.auth-intro__copy h1{font-size:2.65rem}.auth-intro__copy>p{font-size:.85rem}.auth-panel{padding:48px 22px}.auth-card h2{font-size:2.1rem}.reading-stats>div{padding:15px 18px}.reading-stats strong{font-size:1.55rem}.home-heading__actions .primary-button{padding:0 14px}.book-metadata{grid-template-columns:1fr}.form-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-dialog{padding:24px}.confirm-dialog__actions{display:grid;grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
