.reading-journal{--journal-accent:#c0a3f5;padding:clamp(16px,3vw,34px);border:1px solid #a884e833;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#59367b30,transparent 45%),#0d111cf2;color:#e9edf8;overflow:hidden}.journal-header{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #ffffff12}.journal-header h3{font-size:clamp(26px,4vw,38px);margin:8px 0;line-height:1.15}.journal-header p,.journal-help{font-size:13px;color:#a7b0c6;line-height:1.65;margin:6px 0 16px}.journal-stats{display:flex;gap:24px;flex-wrap:wrap}.journal-stats span{display:grid;gap:5px;font-size:12px;color:#a7b0c6}.journal-stats b{font-size:29px;color:#e9dcff;line-height:1}
.journal-tools{display:flex;justify-content:space-between;gap:8px;margin:22px 0 12px;flex-wrap:wrap}.journal-tools>div{display:flex;gap:8px}.journal-tools button{padding:11px 17px;min-height:44px;border:1px solid #a884e83d;border-radius:12px;color:#b9c1d6;background:#131827;font:inherit;font-size:13px;cursor:pointer}.journal-tools button[aria-pressed=true]{background:#57388166;color:#f4eaff;border-color:#bd98f5}.journal-tools button:focus-visible,.journal-entry:focus-visible{outline:2px solid #d7b8ff;outline-offset:3px}
.journal-group{margin-top:18px;border:1px solid #ffffff0d;border-radius:16px;background:#0b101a66}.journal-group>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:16px 18px;list-style:none}.journal-group>summary::-webkit-details-marker{display:none}.journal-group>summary i:before{content:"＋";color:#c0a3f5;font-style:normal}.journal-group[open]>summary i:before{content:"−"}.journal-group h4{font-size:18px;text-transform:none;margin:0}.journal-group h4 span{font-size:12px;color:#b6a1d5;border:1px solid #a884e844;border-radius:20px;padding:3px 9px;margin-left:8px}.journal-list{list-style:none!important;margin:0!important;padding:0 12px 12px!important;display:grid;gap:9px;position:relative}.journal-list:before{content:"";position:absolute;left:39px;top:30px;bottom:30px;width:1px;background:linear-gradient(#9972d9,#6b8aa544);pointer-events:none}
.journal-entry{position:relative;display:grid;grid-template-columns:32px 52px minmax(0,1fr) 184px 16px;align-items:center;gap:15px;padding:13px 12px;width:100%;min-width:0;text-align:left;border:1px solid #ffffff12;border-radius:14px;background:#151b298f;color:inherit;font:inherit;cursor:pointer;transition:background .16s,border-color .16s}.journal-entry:hover{background:#211c36;border-color:#a884e877}.journal-number{position:relative;border:1px solid #a884e85e;background:#1c1930;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:12px;color:#d7b8ff;font-variant-numeric:tabular-nums}.journal-cover{display:grid;place-items:center;width:52px;height:76px;overflow:hidden;border-radius:3px;background:#0a0d16;color:#c0a3f5;font-size:24px}.journal-cover img{max-width:100%;max-height:100%;object-fit:contain}.journal-copy{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}.journal-copy strong{font-size:15px;line-height:1.35}.journal-copy>span{font-size:13px;color:#b6c0d7}.journal-review{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#99a4bd;font-size:11px;line-height:1.45}.journal-score{display:inline-grid;place-items:center;min-width:30px;margin-left:6px;padding:2px 6px;border-radius:20px;background:#a884e829;border:1px solid #b997ec66;color:#e9dcff;font-size:11px;font-variant-numeric:tabular-nums}.journal-dates{display:grid;gap:5px;font-size:12px;line-height:1.5;color:#a7b0c6}.journal-dates b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8eddb6}.journal-arrow{color:#c0a3f5}.journal-empty{padding:28px 0;color:#b6c0d7}
.reading-fields{margin:20px 0 12px;padding:16px;border:1px solid #ac80df55;border-radius:14px;min-width:0;background:#6a448211}.reading-fields legend{padding:0 8px;font-weight:700;color:#dcc5ff}.reading-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reading-fields .field{min-width:0}.reading-fields input,.reading-fields textarea{width:100%;min-width:0;box-sizing:border-box;color-scheme:dark}.reading-review{margin-top:14px}.reading-review textarea{resize:vertical;min-height:82px}.rating-field small{display:block;margin-top:5px;color:#bba3df;font-size:11px}.rating-details{margin-top:14px;border-top:1px solid #ffffff12;padding-top:12px}.rating-details summary{cursor:pointer;color:#d9c4f7;font-size:13px}.rating-details summary span{color:#8995ae;font-weight:400}.rating-grid{margin-top:12px}.reading-fields p{font-size:12px;line-height:1.6;color:#a7b0c6;margin:14px 0 0}
.journal-calendar{margin-top:18px}.journal-calendar>header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-bottom:12px}.journal-calendar>header h4{text-align:center;text-transform:capitalize;margin:0;font-size:18px}.journal-calendar>header button{height:40px;border:1px solid #a884e844;border-radius:12px;background:#131827;color:#d9c4f7;font-size:18px;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays span{text-align:center;padding:8px;color:#8e99b1;font-size:11px}.calendar-cell{position:relative;min-height:104px;padding:8px;text-align:left;border:1px solid #ffffff12;border-radius:11px;background:#111725;color:#e7ebf5;font:inherit;overflow:hidden}.calendar-cell:disabled{opacity:.65}.calendar-cell.has-events{cursor:pointer;border-color:#a884e84d;background:#17172a}.calendar-cell b{display:block;font-size:12px;margin-bottom:7px}.calendar-cell small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#bac3d7;font-size:9px;line-height:1.5}.calendar-cell em{font-size:9px;color:#c9a9f5}.calendar-marks{position:absolute;right:7px;top:8px;display:flex;gap:3px}.calendar-marks i{width:6px;height:6px;border-radius:50%}.calendar-marks .start{background:#6fb4ff}.calendar-marks .finish{background:#68dca2}.calendar-marks .both{background:#d4a5ff;box-shadow:0 0 0 2px #d4a5ff33}.calendar-day-panel{margin-top:14px;padding:14px;border:1px solid #ffffff12;border-radius:14px;background:#0b101a}.calendar-day-panel h5{margin:0 0 12px;font-size:16px}.calendar-event{display:grid;gap:6px;margin-top:10px}.calendar-event>span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9eb0cb}.calendar-event .journal-entry{grid-template-columns:32px 42px minmax(0,1fr) 120px 14px}.calendar-event .journal-cover{width:42px;height:60px}
@media(max-width:640px){.journal-stats{gap:20px}.journal-header{gap:12px}.journal-stats b{font-size:24px}.journal-tools{display:grid}.journal-entry{grid-template-columns:27px 44px minmax(0,1fr) 12px;gap:10px;padding:11px 8px}.journal-number{width:27px;height:27px;font-size:11px}.journal-cover{width:44px;height:66px;grid-row:1/3;grid-column:2}.journal-copy{grid-column:3;grid-row:1}.journal-dates{grid-column:3;grid-row:2;gap:2px}.journal-dates b{font-size:10px}.journal-number{grid-column:1;grid-row:1/3}.journal-arrow{grid-column:4;grid-row:1/3}.journal-list:before{left:27px}.journal-copy strong{font-size:14px}.journal-copy>span{font-size:12px}.reading-fields-grid{grid-template-columns:1fr}.calendar-weekdays,.calendar-grid{gap:3px}.calendar-cell{min-height:66px;padding:5px}.calendar-cell small{display:none}.calendar-cell b{margin-bottom:4px}.calendar-event .journal-entry{grid-template-columns:27px 44px minmax(0,1fr) 12px}}
@media(prefers-reduced-motion:reduce){.journal-entry{transition:none}}
