:root{--paper:#f8f3e5;--surface:#fffef9;--ink:#111;--ink-heading:#0a0a0a;--muted:#5e554b;--line:#ded1b8;--accent:#783547;--accent-hover:#5d2534;--soft:#ede2ca;--gold:#c5a059;--reading-size:19px;color-scheme:light;background:var(--paper);color:var(--ink);font-family:Georgia,Times New Roman,serif}:root[data-theme=dark]{--paper:#1c1a19;--surface:#262322;--ink:#ede5da;--ink-heading:#fff;--muted:#a89d93;--line:#423b37;--accent:#d8899b;--accent-hover:#e8a6b5;--soft:#332b2c;--gold:#d8b776;color-scheme:dark}*{box-sizing:border-box}body{background-color:var(--paper);color:var(--ink);flex-direction:column;min-height:100vh;margin:0;font-family:Georgia,Times New Roman,serif;transition:background-color .25s,color .25s;display:flex}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.reading-progress{z-index:100;background:#0000000d;height:4px;position:fixed;top:0;left:0;right:0}.reading-progress>div{background:var(--accent);width:0%;height:4px;transition:width .15s ease-out}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:100%;max-width:1320px;height:90px;margin:auto;padding:0 40px;display:flex}.brand{letter-spacing:2.5px;color:var(--ink);align-items:center;gap:14px;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;display:flex}.rose{color:var(--accent);font-size:38px;line-height:1}.brand small{letter-spacing:2px;color:var(--muted);margin-top:5px;font-size:8px;font-weight:600;display:block}.topbar nav{align-items:center;gap:22px;font-family:Arial,Helvetica,sans-serif;font-size:13px;display:flex}.topbar nav a{color:var(--ink);transition:color .2s}.topbar nav a:hover{color:var(--accent)}.topbar-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.topbar-btn:hover{border-color:var(--accent);background:var(--soft)}.shelf-section{width:100%;max-width:1216px;margin:0 auto;padding:30px 40px 10px}.shelf-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:10px;display:flex}.shelf-title{letter-spacing:2px;color:var(--accent);text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700}.shelf-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;gap:20px;display:grid}.novel-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:4px;align-items:center;gap:16px;padding:16px 20px;transition:all .25s;display:flex;position:relative;box-shadow:0 2px 6px #0000000a}.novel-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 14px #7835471f}.novel-card.active{border-color:var(--accent);background:var(--soft);outline:2px solid var(--accent)}.card-spine{color:#fff;border-radius:2px 4px 4px 2px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:64px;font-size:20px;display:flex;position:relative;box-shadow:2px 3px 6px #00000040}.card-spine:after{content:"";background:#ffffff4d;width:1px;position:absolute;top:0;bottom:0;left:4px}.card-info{flex:1;min-width:0}.card-info h4{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:17px;font-weight:600;overflow:hidden}.card-info small{color:var(--muted);margin-bottom:4px;font-family:Arial,Helvetica,sans-serif;font-size:11px;display:block}.card-badge{letter-spacing:1px;background:var(--soft);color:var(--accent);border-radius:3px;padding:2px 6px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;display:inline-block}.novel-card.add-custom{text-align:center;background:0 0;border-style:dashed;flex-direction:column;justify-content:center;gap:6px}.novel-card.add-custom span{color:var(--accent);font-size:24px}.hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;width:100%;max-width:1216px;min-height:580px;margin:auto;padding:40px 40px 60px;display:grid}.eyebrow{letter-spacing:2.2px;color:var(--accent);text-transform:uppercase;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:700;line-height:1.8}.hero h1{letter-spacing:-2px;color:var(--ink-heading);margin:20px 0 16px;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,5.5vw,76px);font-weight:400;line-height:1.1}.hero h1 em{color:var(--accent);font-style:italic;font-weight:400}.original-title{color:var(--muted);margin-bottom:16px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic}.intro{color:var(--ink);max-width:620px;margin-top:18px;font-size:16px;line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;display:flex}.button{letter-spacing:1px;text-transform:uppercase;border-radius:3px;align-items:center;gap:24px;padding:15px 28px;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.button.primary{background:var(--accent);color:var(--paper)}.button.primary:hover{background:var(--accent-hover);box-shadow:0 4px 12px #78354740}.text-link{color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:600}.book-facts{color:var(--muted);letter-spacing:1px;gap:32px;margin-top:36px;font-family:Arial,Helvetica,sans-serif;font-size:10px;display:flex}.book-facts strong{color:var(--ink);margin-bottom:5px;font-family:Georgia,serif;font-size:16px;font-weight:400;display:block}.book-art{background:radial-gradient(ellipse, var(--soft), transparent 70%);flex-direction:column;justify-content:center;align-items:center;min-height:460px;display:flex;position:relative}.book-cover{color:#ede1c7;text-align:center;background:#442732;border:1px solid #361b24;border-radius:2px 6px 6px 2px;width:290px;height:410px;padding:30px 24px 24px 34px;transition:transform .4s;position:relative;transform:rotate(5deg);box-shadow:14px 18px 28px #261a204d,4px 2px #d6c9b1,8px 3px #fff5df}.book-cover:hover{transform:rotate(2deg)translateY(-6px)}.book-cover:before{content:"";border-left:1px solid #ffffff26;position:absolute;top:0;bottom:0;left:8px;box-shadow:3px 0 5px #0003}.book-cover:after{content:"";pointer-events:none;border:1px solid #d7c1a259;position:absolute;inset:15px 15px 15px 24px}.book-cover p{letter-spacing:3px;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:9px}.botanical{color:#b88c89;margin-top:20px;font-size:85px;line-height:1.2}.book-cover h2{letter-spacing:.5px;color:#ede1c7;margin:16px 0 22px;font:26px/1.25 Georgia,serif}.book-cover h2 em{font-size:30px;font-style:italic;font-weight:400;display:block}.book-cover>span{letter-spacing:2px;font-family:Arial,Helvetica,sans-serif;font-size:7px}.cover-bottom{letter-spacing:6px;margin-top:25px;font:12px Georgia,serif}.art-caption{letter-spacing:4px;color:var(--muted);margin-top:36px;font-family:Arial,Helvetica,sans-serif;font-size:11px}.library{border-top:1px solid var(--line);width:100%;max-width:1136px;margin:0 auto;padding:55px 40px 85px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:35px;display:flex}.section-heading h2{color:var(--ink-heading);margin:8px 0 0;font:400 42px Georgia,serif}.search{flex-direction:column;display:flex}.search span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:7px;font-family:Arial,Helvetica,sans-serif;font-size:10px}.search input{border:0;border-bottom:1px solid var(--line);width:280px;color:var(--ink);background:0 0;border-radius:0;outline:none;padding:9px 0;font-size:14px}.search input:focus{border-bottom-color:var(--accent)}.translation-note{border-left:2px solid var(--accent);background:var(--soft);color:var(--ink);margin:10px 0 28px;padding:16px 20px;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.7}.volume{border-top:1px solid var(--line);grid-template-columns:280px 1fr;gap:50px;padding:34px 0;display:grid}.volume-heading{gap:16px;display:flex}.volume-no{color:var(--accent);font:32px Georgia,serif}.volume-heading h3{color:var(--ink-heading);margin:0 0 8px;font:20px/1.4 Georgia,serif}.volume-heading p{color:var(--muted);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.6}.chapter-list{margin:0;padding:0;list-style:none}.chapter-list li+li{border-top:1px solid var(--line)}.chapter-list a{color:var(--ink);align-items:center;gap:18px;padding:16px 0;transition:color .15s;display:flex}.chapter-list a:hover{color:var(--accent)}.chapter-no{color:var(--muted);flex-shrink:0;width:22px;font:12px Georgia,serif}.chapter-name{flex:1;font:16px/1.5 Georgia,serif}.chapter-name small{color:var(--muted);margin-top:3px;font:12px/1.5 Arial,sans-serif;display:block}.chapter-time{color:var(--muted);white-space:nowrap;flex-direction:column;align-items:flex-end;font-family:Arial,Helvetica,sans-serif;font-size:11px;display:flex}.translation-badge{letter-spacing:.8px;color:var(--accent);margin-bottom:3px;font-size:9px;font-weight:700;display:inline-block}.arrow{color:var(--accent);font-size:16px}.reader{width:100%;max-width:1200px;margin:auto;padding:40px 40px 70px}.back{color:var(--muted);margin-bottom:12px;font-family:Arial,Helvetica,sans-serif;font-size:13px;transition:color .2s;display:inline-block}.back:hover{color:var(--accent)}.reader-heading h1{max-width:900px;color:var(--ink-heading);margin:10px 0;font:400 38px/1.3 Georgia,Times New Roman,serif}.reader-toolbar{z-index:50;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 28px;padding:14px 0;display:flex;position:sticky;top:0}.toolbar-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.view-switch{background:var(--surface);border:1px solid var(--line);border-radius:4px;gap:4px;padding:2px;display:flex}.view-switch button{color:var(--muted);background:0 0;border-radius:3px;padding:7px 12px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;transition:all .2s}.view-switch button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.font-controls{gap:4px;display:flex}.font-controls button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:3px;padding:6px 10px;font:14px Georgia,serif}.font-controls button:hover{background:var(--soft)}.action-pill-btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:4px;align-items:center;gap:6px;padding:7px 14px;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.action-pill-btn:hover{background:var(--soft);border-color:var(--accent)}.action-pill-btn.primary{background:var(--accent);color:var(--paper);border-color:var(--accent)}.action-pill-btn.primary:hover{background:var(--accent-hover)}.language-headings{letter-spacing:2px;color:var(--muted);border-bottom:none;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:16px;padding:10px 0 16px;font-family:Arial,Helvetica,sans-serif;font-size:10px;display:grid}.parallel-text{flex-direction:column;display:flex}.text-pair{border:none;grid-template-columns:1fr 1fr;gap:60px;padding:8px 0;scroll-margin-top:100px;transition:background-color .2s;display:grid;position:relative}.text-pair:hover{background:#ede2ca66;border-radius:4px}.text-pair p{font:var(--reading-size)/1.85 Georgia, "Times New Roman", serif;overflow-wrap:anywhere;color:var(--ink);margin:0 0 20px}.text-pair h2{color:var(--ink-heading);margin:12px 0 20px;font:400 24px/1.5 Georgia,serif}.text-en{color:#3a3530;padding-left:28px;position:relative}.text-en .paragraph-anchor{color:var(--muted);opacity:.6;font:9px Arial,sans-serif;position:absolute;top:6px;left:0}.text-pair:hover .paragraph-anchor{opacity:1;color:var(--accent)}.text-vi{color:#111}.text-pair .pending{color:var(--muted);padding-top:6px;font:italic 13px/1.8 Arial,sans-serif}.para-inline-actions{opacity:0;gap:6px;margin-top:-10px;margin-bottom:12px;transition:opacity .2s;display:flex}.text-pair:hover .para-inline-actions{opacity:1}.mini-btn{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:2px 7px;font-family:Arial,sans-serif;font-size:10px}.mini-btn:hover{background:var(--accent);color:var(--paper);border-color:var(--accent)}.reader[data-mode=vi] .text-en,.reader[data-mode=en] .text-vi{display:none}.reader[data-mode=vi] .text-pair,.reader[data-mode=en] .text-pair{max-width:740px;margin:auto;display:block}.reader[data-mode=vi] .language-headings,.reader[data-mode=en] .language-headings{display:none}.chapter-pagination{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;margin-top:50px;padding-top:30px;display:grid}.chapter-pagination a:last-child{text-align:right}.chapter-pagination small{letter-spacing:1.6px;color:var(--accent);margin-bottom:8px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:700;display:block}.chapter-pagination span{color:var(--ink);font:18px/1.5 Georgia,serif}.chapter-pagination a:hover span{color:var(--accent)}.site-footer{border-top:1px solid var(--line);max-width:1216px;color:var(--muted);letter-spacing:.5px;justify-content:space-between;width:100%;margin:auto;padding:35px 40px 45px;font-family:Arial,Helvetica,sans-serif;font-size:11px;display:flex}.modal-backdrop{backdrop-filter:blur(4px);z-index:200;background:#1e191699;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-backdrop.open{display:flex}.modal-box{background:var(--paper);border:1px solid var(--line);border-radius:6px;width:100%;max-width:580px;max-height:90vh;padding:28px;overflow-y:auto;box-shadow:0 16px 32px #0003}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;display:flex}.modal-header h3{color:var(--ink-heading);margin:0;font:22px Georgia,serif}.form-group{margin-bottom:18px}.form-label{letter-spacing:1px;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;display:block}.form-control{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;outline:none;padding:10px 12px;font-size:14px}.form-control:focus{border-color:var(--accent)}@media (width<=900px){.hero{grid-template-columns:1fr;gap:30px;padding:30px 24px}.book-art{display:none}.volume{grid-template-columns:1fr;gap:20px}.reader-toolbar{margin:16px 0 20px;padding:10px 0;position:static;top:auto}.text-pair{border-bottom:none;grid-template-columns:1fr;gap:16px;padding-bottom:8px}.text-vi{border-left:none;padding-left:0}.language-headings{display:none}.topbar{height:75px;padding:0 20px}.library,.shelf-section,.reader{padding-left:20px;padding-right:20px}}
