:root{--teal:#086b76;--ink:#293640;--heading:#172e3b;--border:#d5e0e4;--link:#1859a9;--surface:#fff;--page:#f3f6f7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;-webkit-text-size-adjust:100%}
a{color:var(--link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--link);outline-offset:3px}
.skip-link{position:absolute;top:-100px;left:16px;background:white;padding:8px;z-index:10}.skip-link:focus{top:8px}
.site-header{background:var(--teal);color:#fff}.header-inner{max-width:1160px;margin:auto;min-height:78px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:25px;font-weight:750;color:#fff;text-decoration:none;letter-spacing:.02em}.site-header nav{display:flex;gap:24px;flex-wrap:wrap}.site-header nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:650}.site-header nav a:hover{text-decoration:underline}
.page-wrap{max-width:1160px;margin:0 auto;padding:30px 24px 70px}.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:30px;align-items:start}.main-column{min-width:0}.panel{background:var(--surface);border-radius:12px;padding:30px 32px;margin-bottom:24px}.panel h1,.panel h2,.panel h3{color:var(--heading);line-height:1.45}.panel h1{font-size:30px;margin:0 0 12px;letter-spacing:0}.panel h2{font-size:22px;margin:0 0 18px}.panel p{margin:0 0 18px}.panel p:last-child{margin-bottom:0}
.breadcrumb{display:flex;gap:10px;font-size:13px;margin:0 0 20px}.breadcrumb span{color:#87989e}.overline{font-size:12px;font-weight:700;color:var(--teal);margin:0 0 8px!important}.person-header h1{border-bottom:1px solid var(--border);padding-bottom:22px;margin-bottom:24px}.person-header h2{font-size:18px;margin:0 0 9px}.person-header p{font-size:15px;line-height:1.9}.bio-source{font-size:12px!important;margin-top:18px!important}
.home-intro h1{font-size:30px}.home-intro p{max-width:690px}.home-intro label{display:block;font-size:13px;font-weight:700;margin:22px 0 7px}.home-intro input{width:100%;max-width:680px;height:52px;padding:0 15px;border:1px solid #78959f;border-radius:7px;background:#fff;color:var(--ink)}.home-intro input::placeholder{color:#7a8589}
.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:2px solid #c7d0d8;padding-bottom:8px;margin-bottom:8px}.section-title h2{margin:0}.section-title span,.result-count{font-size:12px;color:#5d6d73}.person-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 4px;border-bottom:1px solid var(--border);text-decoration:none}.person-row strong{display:block;font-size:18px;color:var(--heading)}.person-row small{display:block;color:#5d6d73;margin-top:1px}.person-row:hover strong{text-decoration:underline}.no-results{font-size:14px;padding-top:15px}
.side-panel{padding:24px}.side-panel h2{font-size:17px;border-bottom:2px solid #c7d0d8;padding-bottom:10px;margin:0 0 14px}.side-panel p{font-size:13px;line-height:1.9}.side-panel a{display:block;font-size:13px;margin:10px 0}
.quotes-section h2{border-bottom:2px solid #c7d0d8;padding-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 6px}.filters button{border:1px solid #a8b9bf;border-radius:6px;background:#fff;color:var(--heading);padding:6px 13px;min-height:38px;cursor:pointer;font-size:13px}.filters button:hover{background:#e9eef2}.filters button[aria-pressed="true"]{background:var(--teal);border-color:var(--teal);color:#fff}.result-count{margin-bottom:16px!important}
.quote-list{list-style:none;padding:0;margin:0;display:grid;gap:15px}.quote-card{border:1px solid var(--border);border-radius:7px;padding:20px 22px;scroll-margin-top:18px}.quote-card[hidden],.person-row[hidden]{display:none}.quote-card-top{display:flex;align-items:center;gap:10px;font-size:12px;color:#60747a}.category{font-size:11px;background:#eef4f5;border-radius:3px;padding:1px 8px;color:#33636c}.quote-card blockquote{font-size:20px;font-weight:650;line-height:1.8;color:var(--heading);margin:15px 0 17px;overflow-wrap:anywhere;white-space:pre-line}.pronunciation{font-size:12px;color:#54656b;margin:-5px 0 14px!important}.pronunciation strong{margin-right:7px;color:var(--teal)}
.explanation{border-top:1px solid var(--border);margin:0;padding-top:14px}.explanation>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;margin-bottom:11px}.explanation>div:last-child{margin-bottom:0}.explanation dt{font-size:12px;font-weight:700;color:var(--teal)}.explanation dd{margin:0;font-size:13px;line-height:1.85}.source{border-top:1px solid var(--border);padding-top:11px;margin-top:16px!important;font-size:12px}.other-words ul{list-style:none;margin:0;padding:0}.other-words li{border-top:1px solid var(--border);padding:15px 0}.other-words li p{font-size:13px;margin:4px 0!important}.other-words li a{font-size:12px}.source-note{font-size:12px;color:#5d6d73;padding:0 6px}.source-note summary{cursor:pointer;font-weight:700}.source-note p{max-width:690px;line-height:1.9}
.site-footer{background:#455158;color:#f1f3f4;margin-top:28px}.footer-inner{max-width:1160px;margin:auto;display:flex;gap:18px;align-items:center;padding:23px 24px;font-size:12px}.footer-inner a{color:#fff;text-decoration:none;font-weight:700;font-size:18px}
.footer-inner .privacy-link{font-size:12px;font-weight:400;margin-left:auto;text-decoration:underline}
@media(max-width:800px){.page-grid{grid-template-columns:1fr}.side-column{display:none}.page-wrap{padding:20px 16px 55px}.panel{padding:24px 20px}.header-inner{padding:12px 16px}.brand{font-size:21px}}
@media(max-width:500px){body{font-size:15px}.site-header nav{gap:13px}.site-header nav a{font-size:11px}.panel h1,.home-intro h1{font-size:25px}.panel h2{font-size:20px}.quote-card{padding:17px}.quote-card blockquote{font-size:18px}.explanation>div{grid-template-columns:1fr;gap:0}.footer-inner{display:block}.footer-inner span{display:block;margin-top:7px}}
