.account-shell{min-height:calc(100dvh - var(--header-height));flex-direction:column;display:flex}.text-link{align-items:center;gap:6px;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.account-main{flex:1}.account-loading{text-align:center;color:var(--muted);padding:80px 24px}.auth-panel{width:min(460px,100% - 40px);margin:64px auto 36px}.auth-heading{text-align:center}.auth-heading h1{letter-spacing:-1.8px;font-size:clamp(34px,3.5vw,46px);line-height:1.25}.auth-form{gap:20px;margin-top:36px;display:grid}.form-field label{margin-bottom:8px;font-size:13px;font-weight:500;display:block}.form-field input{width:100%;height:52px;color:var(--foreground);font:inherit;background:#fff;border:1px solid #d8caba;border-radius:10px;padding:13px 16px;font-size:14px}.form-field input::placeholder{color:#95887b}.form-field input:focus-visible{outline-offset:2px;outline:2px solid #a07855}.field-hint{color:var(--muted);margin-top:6px;font-size:11px}.password-field{position:relative}.password-field input{padding-right:52px}.password-field button{background:var(--secondary);width:36px;height:36px;color:var(--foreground);border:0;place-items:center;padding:0;display:grid;position:absolute;top:8px;right:8px}.password-field button:hover{background:var(--secondary-hover)}.auth-submit{width:100%;margin-top:4px}button:disabled{opacity:.6;cursor:not-allowed}.form-error{color:#8c3029;background:#fff0ec;border:1px solid #eecbc2;border-radius:8px;padding:12px 16px;font-size:13px;line-height:1.7}.auth-switch{text-align:center;color:var(--muted);margin-top:28px;font-size:13px}.auth-switch a,.text-link{color:var(--color-walnut-brown);font-weight:500}.auth-switch a{text-underline-offset:4px;margin-left:5px;text-decoration:underline}.interests-panel{width:min(760px,100% - 40px);margin:70px auto 40px}.genre-form{text-align:center;margin-top:38px}.genre-form fieldset{border:0;margin:0;padding:0}.genre-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.genre-choice{cursor:pointer;text-align:left;position:relative}.genre-choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.genre-choice-body{background:#fff;border:1px solid #d8caba;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;height:100%;min-height:80px;padding:20px;transition:background .18s,border-color .18s;display:flex}.genre-choice:hover .genre-choice-body{border-color:#a07855}.genre-choice input:checked+.genre-choice-body{background:#eee3d6;border-color:#3e2712}.genre-choice input:focus-visible+.genre-choice-body{outline-offset:4px;outline:2px solid #3e2712}.genre-check{width:25px;height:25px;color:var(--color-walnut-brown);border:1px solid #d8caba;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.genre-choice input:checked+.genre-choice-body .genre-check{color:#fff;background:var(--color-walnut-brown);border-color:var(--color-walnut-brown)}.genre-choice strong{font-size:15px;font-weight:500}.genre-count{color:var(--muted);margin:24px 0;font-size:12px}.genre-form>.button{min-width:240px;margin-top:4px}.genre-form>.form-error{margin-bottom:20px}.library-welcome{justify-content:space-between;align-items:center;gap:24px;display:flex}.library-welcome h1{letter-spacing:-2px;overflow-wrap:anywhere;font-size:clamp(36px,4vw,54px);line-height:1.25}.logout-control{flex-shrink:0}.logout-control .button{min-height:42px;padding:10px 22px;font-size:12px}.interest-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.interest-tags span{border:1px solid var(--border);border-radius:var(--radius-buttons);padding:5px 12px;font-size:12px}.library-account-actions{align-items:center;gap:10px;display:flex}.library-account-actions>.button{min-height:42px;padding:10px 20px;font-size:12px}.form-field select,.form-field textarea{width:100%;color:var(--foreground);font:inherit;background:#fff;border:1px solid #d8caba;border-radius:10px;padding:13px 16px;font-size:14px;display:block}.form-field select{min-height:52px}.form-field textarea{resize:vertical;min-height:130px}.form-field select:focus-visible,.form-field textarea:focus-visible{outline-offset:2px;outline:2px solid #a07855}.book-page{padding-top:36px;padding-bottom:64px}.book-page>.text-link{font-size:12px}.book-detail{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:56px;margin-top:34px;display:grid}.detail-cover{aspect-ratio:.64;object-fit:cover;border-radius:16px;width:100%;height:auto}.detail-copy .interest-tags{margin-top:0}.detail-copy h1{letter-spacing:-1.8px;overflow-wrap:anywhere;margin-top:20px;font-size:clamp(32px,4vw,50px);line-height:1.25}.detail-author{color:var(--muted);margin-top:12px;font-size:15px}.book-rating-summary{flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;display:flex}.book-rating-summary>svg{color:var(--color-walnut-brown)}.book-rating-summary strong{font-size:20px;font-weight:500}.book-rating-summary>span:last-child{color:var(--muted);margin-left:7px;font-size:12px}.detail-description{max-width:620px;margin-top:20px;font-size:14px;line-height:1.9}.detail-copy>.button{margin-top:26px}.detail-copy>.field-hint{margin-top:10px}.book-community{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:48px;margin-top:64px;display:grid}.reviews-section h2,.reading-form h2,.signin-to-review h2,.admin-section h2{letter-spacing:-1px;font-size:26px;line-height:1.4}.reading-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:28px}.reading-form{gap:22px;display:grid}.reading-form h2,.signin-to-review h2{font-size:23px}.star-picker{border:0;min-width:0;margin:0;padding:0}.star-picker legend{margin-bottom:5px;font-size:13px;font-weight:500}.star-options{width:max-content;max-width:100%;display:flex}.star-options label{cursor:pointer;place-items:center;width:44px;height:46px;display:grid;position:relative}.star-options input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.star-options label>svg{color:#c4b4a5;border-radius:4px}.star-options input:focus-visible+svg{outline:2px solid var(--color-walnut-brown);outline-offset:3px}:is(.star-options label:has(input:checked)>svg,.star-options label:has(~label input:checked)>svg){color:var(--color-walnut-brown);fill:currentColor}.display-stars .star-filled{color:var(--color-walnut-brown)}.no-rating{color:var(--muted);cursor:pointer;align-items:center;gap:7px;margin-top:7px;font-size:11px;display:inline-flex}.no-rating input{accent-color:var(--color-walnut-brown)}.optional-label{color:var(--muted);font-weight:400}.form-success{color:#4d613f;background:#f1f4ed;border:1px solid #dce4d2;border-radius:8px;padding:12px 16px;font-size:12px}.signin-to-review>.button{gap:12px;width:100%;margin-top:24px;padding-inline:16px;font-size:12px}.reader-review{border-bottom:1px solid var(--border);padding:24px 0}.review-meta{flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:13px;display:flex}.review-meta strong{font-weight:500}.review-meta>span{color:var(--muted);font-size:11px}.display-stars{color:#d8caba;gap:2px;font-size:20px;line-height:1.2;display:inline-flex}.display-stars svg{width:1em;height:1em}.reader-review .display-stars{margin-top:10px}.review-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:14px;font-size:14px;line-height:1.85}.empty-notes{border:1px solid var(--border);color:var(--muted);background:#fff;border-radius:12px;margin-top:22px;padding:24px;font-size:13px;line-height:1.8}.profile-panel{max-width:960px;padding-block:60px}.profile-header{justify-content:space-between;align-items:center;gap:28px;display:flex}.profile-identity{align-items:center;gap:24px;min-width:0;display:flex}.profile-avatar{width:88px;height:88px;color:var(--color-walnut-brown);background:#eee3d6;border:1px solid #e2d3c2;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.profile-identity h1{letter-spacing:-1.5px;overflow-wrap:anywhere;font-size:clamp(28px,3.2vw,40px);line-height:1.3}.profile-username{color:var(--muted);overflow-wrap:anywhere;margin-top:8px;font-size:14px}.profile-header .library-account-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end}.profile-interests{border-bottom:1px solid var(--border);margin-top:12px;padding-block:32px}.profile-interests h2{letter-spacing:0;font-size:14px}.profile-muted{color:var(--muted);margin-top:12px;font-size:13px}.profile-activity{margin-top:34px}.profile-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.profile-section-heading h2{letter-spacing:-1px;font-size:26px;line-height:1.4}.profile-section-heading .text-link{font-size:12px}.profile-privacy{color:var(--muted);align-items:center;gap:7px;margin-top:14px;font-size:12px;display:flex}.activity-list{margin-top:24px}.activity-entry{border-bottom:1px solid var(--border);gap:22px;padding-block:26px;display:flex}.activity-entry:first-child{padding-top:0}.activity-cover{flex-shrink:0;width:72px}.activity-cover img{aspect-ratio:.64;object-fit:cover;border-radius:8px;width:100%;height:auto}.activity-copy{flex:1;min-width:0}.activity-title{justify-content:space-between;align-items:baseline;gap:10px 22px;display:flex}.activity-title h3{letter-spacing:0;font-size:16px;font-weight:500;line-height:1.5}.activity-title a:hover{text-underline-offset:4px;text-decoration:underline}.activity-title time{color:var(--muted);flex-shrink:0;font-size:11px}.activity-author{color:var(--muted);margin-top:4px;font-size:12px}.activity-meta{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px;display:flex}.activity-meta>span:first-child{color:var(--muted);font-size:11px}.activity-meta .display-stars{font-size:16px}.activity-copy .review-text{margin-top:12px;font-size:13px}.profile-edit-panel{width:min(640px,100% - 40px);margin:44px auto 60px}.profile-edit-panel>.text-link{font-size:12px}.profile-edit-panel h1{letter-spacing:-1.5px;margin-top:24px;font-size:36px;line-height:1.3}.profile-edit-form{gap:24px;margin-top:32px;display:grid}.profile-edit-form fieldset{border:0;min-width:0;margin:0;padding:0}.profile-edit-form>fieldset{gap:26px;display:grid}.profile-genre-fieldset>legend{margin-bottom:12px;font-size:13px;font-weight:500}.profile-edit-form .genre-grid{gap:10px}.profile-edit-form .genre-choice-body{min-height:64px;padding:16px}.profile-edit-form .genre-choice strong{font-size:13px}.profile-visibility{cursor:pointer;align-items:flex-start;gap:12px;font-size:13px;line-height:1.7;display:flex}.profile-visibility input{accent-color:var(--color-walnut-brown);flex-shrink:0;width:18px;height:18px;margin:2px 0 0}.profile-visibility span>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.profile-form-actions{flex-wrap:wrap;gap:12px;display:flex}.profile-form-actions .button{font-size:13px}.admin-panel{padding-top:50px;padding-bottom:60px}.admin-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px 24px;margin-top:22px;padding:22px 0;font-size:13px;display:flex}.admin-nav a,.admin-table th a{align-items:center;gap:6px;display:inline-flex}.admin-nav a:hover{text-underline-offset:5px;text-decoration:underline}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:30px;display:grid}.admin-metric{border:1px solid var(--border);background:#fff;border-radius:16px;flex-direction:column;gap:12px;padding:24px;display:flex}.admin-metric>span{color:var(--muted);font-size:12px}.admin-metric>strong{color:var(--color-walnut-brown);font-size:36px;font-weight:400;line-height:1.1}.admin-section{margin-top:44px;scroll-margin-top:110px}.table-scroll{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:22px;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;min-width:600px;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);padding:17px 22px}.admin-table thead{background:#eee5d9}.admin-table th{font-weight:500}.admin-table tr:last-child>td,.admin-table tr:last-child>th{border-bottom:0}.admin-table tbody th a:hover{text-underline-offset:4px;text-decoration:underline}.role-badge{border:1px solid var(--border);border-radius:var(--radius-buttons);padding:4px 12px;font-size:11px;display:inline-block}.admin-reviews{border:1px solid var(--border);background:#fff;border-radius:12px;margin-top:22px;padding:0 24px}.admin-reviews .reader-review:last-child{border-bottom:0}.admin-reviews .text-link{width:fit-content;margin-top:10px;font-size:12px;display:flex}@media (max-width:800px){.book-detail{grid-template-columns:200px minmax(0,1fr);gap:30px}.book-community{grid-template-columns:minmax(0,1fr);gap:32px}.reading-card{grid-row:1}}@media (max-width:600px){.profile-panel{padding-block:36px}.profile-header{flex-direction:column;align-items:flex-start;gap:24px}.profile-identity{gap:16px;width:100%}.profile-avatar{width:68px;height:68px}.profile-avatar svg{width:32px;height:32px}.profile-identity h1{letter-spacing:-1px;font-size:27px}.profile-username{font-size:12px}.profile-interests{margin-top:0;padding-block:28px}.profile-section-heading h2{font-size:24px}.profile-section-heading .text-link{gap:5px;font-size:11px}.activity-entry{gap:16px;padding-block:22px}.activity-cover{width:56px}.activity-title{flex-direction:column;gap:5px}.activity-title h3{font-size:14px}.activity-title time{font-size:10px}.activity-author{font-size:11px}.activity-copy .review-text{font-size:12px}.profile-edit-panel{margin-top:30px}.profile-edit-panel h1{font-size:32px}.auth-panel{margin-top:40px}.auth-heading h1{letter-spacing:-1.5px;font-size:34px}.auth-form{gap:18px;margin-top:30px}.interests-panel{margin-top:42px}.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.genre-choice-body{min-height:76px;padding:16px}.genre-choice strong{font-size:14px}.genre-form>.button{min-width:0}.library-welcome{flex-wrap:wrap;align-items:center;gap:14px}.library-welcome h1{letter-spacing:-1.5px;flex-shrink:0;font-size:32px}.library-account-actions{flex-wrap:wrap;align-items:center}.library-account-actions>.button{width:auto;padding-inline:14px;font-size:10px}.book-page{padding-top:26px}.book-detail{grid-template-columns:minmax(0,1fr);gap:24px;margin-top:28px}.detail-cover{width:160px;margin-inline:auto}.detail-copy h1{font-size:32px}.detail-copy .interest-tags{justify-content:center}.detail-copy{text-align:center}.detail-author{font-size:13px}.book-rating-summary{justify-content:center}.book-rating-summary>span:last-child{margin-left:0}.detail-description{text-align:left;font-size:13px}.book-community{margin-top:40px}.reading-card{padding:24px 20px}.reading-form h2{font-size:23px}.admin-panel{padding-top:36px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-metric{padding:20px}.admin-nav{gap:12px 18px;font-size:12px}}
