.library-nav{display:flex;gap:8px;margin-left:auto;margin-right:24px}.library-nav .library-link{margin-left:0;min-height:44px}.library-link[aria-current="page"]{background:var(--blue-soft);color:var(--blue)}
.journal-screen{max-width:1080px}.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 32px}.journal-heading h1{margin-bottom:12px}.journal-heading p{margin-bottom:0}.journal-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.journal-metrics>div{display:grid;gap:12px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.journal-metrics strong{font-size:2rem}.journal-metrics span{color:var(--muted);font-size:.875rem}.journal-empty{padding:28px;background:var(--surface-soft);border-radius:var(--radius)}.journal-empty h2{font-size:1.25rem}.journal-details{margin:16px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:8px 24px}.journal-details>summary{min-height:52px;display:list-item;align-content:center;font-weight:600}.journal-details p{margin-bottom:8px}.journal-history article,.journal-word{border-top:1px solid var(--line);padding:20px 0}.journal-history article p,.journal-word small{font-size:.875rem;color:var(--muted)}.journal-statistics{padding:12px 0}.journal-review{max-width:850px;margin:auto}.journal-review-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.journal-review-card{padding:32px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.journal-review-card h1{font-size:1.75rem}.journal-review-card [lang="ja"]{font-family:'Noto Sans JP',sans-serif;line-height:1.9;overflow-wrap:anywhere}.journal-review-card .stem{margin:28px 0}.journal-passage{border-block:1px solid var(--line);padding:20px 0;margin-bottom:20px}.journal-passage .passage-text{white-space:pre-wrap}.journal-passage td{white-space:pre-wrap}.journal-answers{display:grid;gap:12px;margin-bottom:24px}.journal-answers .option{display:flex;gap:16px;flex-wrap:wrap;min-height:56px;text-align:left}.journal-answers .option[aria-pressed="true"]{border-color:var(--blue);background:var(--blue-soft)}.journal-answers strong{font-size:.875rem}.journal-grades{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.journal-grades .button{flex:1;min-width:100px}.journal-note{margin-top:24px;border-top:1px solid var(--line);padding-top:12px}.journal-note summary{min-height:44px;align-content:center}.journal-note label{display:grid;gap:8px;margin:16px 0;font-size:.875rem}.journal-note select,.journal-note textarea{font:inherit;min-height:44px;padding:12px;max-width:100%;width:100%;border:1px solid var(--control);background:var(--surface);color:var(--ink);border-radius:8px}.history-save{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0}.history-save p{width:100%;font-size:.875rem;color:var(--muted);margin-bottom:0}.journal-screen button{min-height:44px}.journal-backup-actions{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0}.journal-backup-actions input{max-width:100%}
@media(max-width:640px){.library-nav{gap:4px;margin-right:0}.library-nav .library-link{padding:8px 12px;font-size:.875rem}.journal-heading{align-items:stretch;flex-direction:column;gap:16px}.journal-heading .button{width:100%}.journal-metrics{gap:12px}.journal-metrics>div{padding:16px}.journal-metrics strong{font-size:1.5rem}.journal-details{padding:8px 16px}.journal-review-card{padding:20px 16px}.journal-grades{gap:8px}.journal-review-top{font-size:.875rem}.journal-screen{padding-bottom:32px}}
.journal-backup-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.journal-backup-dialog::backdrop{background:rgb(20 30 35 / .35)}.journal-backup-dialog h2{font-size:1.25rem}.journal-import-label{display:grid;gap:8px;font-size:.875rem}.journal-import-label input::file-selector-button{min-height:44px;border:1px solid var(--control);border-radius:8px;background:var(--surface);color:var(--ink);padding:8px 12px;margin-right:8px;font:inherit}
