:root{--ink:#263b36;--muted:#66766e;--paper:#fffef9;--bg:#f0f0e8;--line:#d8dfd5;--accent:#245e50}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Arial,sans-serif}a{color:var(--accent);text-underline-offset:4px}a:hover{color:#132e27}a:focus-visible,summary:focus-visible{outline:3px solid #aa7444;outline-offset:5px}.notice{padding:9px 20px;background:#263b36;color:white;text-align:center;font-size:13px}.shell{max-width:1190px;margin:auto;padding:0 40px}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:4px 0;border-bottom:1px solid var(--line)}.brand{font:bold 25px Georgia,serif;text-decoration:none}.brand small{display:block;font:13px Arial,sans-serif;color:var(--muted);margin-top:4px;line-height:1.35;max-width:360px}.nav{display:flex;gap:24px;flex-wrap:wrap}.nav a{font-size:15px;text-decoration:none}.nav .active{border-bottom:2px solid var(--accent)}.crumbs{padding-top:14px;font-size:13px;color:var(--muted)}.intro{padding:14px 0;max-width:820px}.intro h2{font:32px Georgia,serif;margin:0 0 14px}.intro p{font-size:15px;color:var(--muted);text-align:justify;margin:0}.promotion{border:1px dashed #adbcb0;border-radius:10px;padding:13px 20px;color:var(--muted);font-size:14px}.random{display:flex;gap:24px;padding:10px 0 14px;font-size:14px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--muted)}h1{font:clamp(30px,3.5vw,46px)/1.16 Georgia,serif;overflow-wrap:anywhere;margin:14px 0 20px}.authors{font-size:18px}.details{color:var(--muted);font-size:14px;margin-top:9px}.player{margin:16px 0;padding:16px;background:#edf2eb;border-radius:12px}.player strong{display:block;margin-bottom:12px}audio{display:block;width:100%}.player small{display:block;margin-top:10px;color:var(--muted)}.reading h2{font:27px Georgia,serif;margin:34px 0 15px}.reading p{margin:0 0 20px}.excerpt{white-space:pre-line;font:19px/1.85 Georgia,serif}.aside{border-left:1px solid var(--line);padding-left:25px;font-size:14px}.aside h2{font:20px Georgia,serif;margin:0 0 16px}.aside a{display:block;margin-bottom:15px}.aside p{color:var(--muted)}.footer{padding:14px 0 20px;color:var(--muted);font-size:13px}.original{display:inline-block;margin-top:25px;border:1px solid var(--line);padding:10px 15px;border-radius:8px;text-decoration:none}.tag{color:var(--muted);font-size:13px}.source{overflow-wrap:anywhere}@media(max-width:800px){.shell{padding:0 18px}.header{align-items:flex-start;flex-direction:column;padding:12px 0}.nav{gap:20px}.layout{grid-template-columns:1fr;padding:25px 20px;gap:32px}.aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.random{gap:15px;flex-wrap:wrap}.excerpt{font-size:18px}.intro h2{font-size:28px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.excerpt { white-space: normal; text-align: justify; hyphens: auto; }
.search-help { margin:18px 0;padding:12px 18px;border:1px solid var(--line);border-radius:10px;max-width:820px; }
.search-help summary { cursor:pointer;min-height:44px;display:list-item;align-content:center; }
.search-help p { text-align:justify;hyphens:auto;margin:12px 0 0;font-size:15px; }
.library-nav { display:flex;flex-wrap:wrap;gap:8px 24px;padding:4px 0;border-bottom:1px solid var(--line); }
.library-nav a,.nav a { display:inline-flex;align-items:center;min-height:44px; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #aa7444;outline-offset:3px; }
@media(max-width:800px) { .nav { gap:4px 20px; }.library-nav { gap:4px 20px; } }
.excerpt p { margin: 0 0 0.65em; }
.excerpt p:last-child { margin-bottom: 0; }
.excerpt div:empty,.excerpt p:empty { display:none; }
.excerpt h2,.excerpt h3,.excerpt h4 { text-align:left;line-height:1.35; }
.excerpt img,.promotion img { max-width:100%;height:auto; }
.excerpt table { display:block;overflow:auto;max-width:100%; }
.excerpt blockquote { margin:20px 0;padding-left:20px;border-left:3px solid var(--line); }
.reading { min-width:0; }
.promotion { border:1px solid var(--line);background:#e7ede0; }
.channel-invitation { margin:10px 0;padding:10px 14px;font-size:15px;line-height:1.5;overflow-wrap:break-word; }
.channel-invitation p { margin:0; }
.channel-invitation a { display:inline-block; }
.controls { display:flex;gap:8px;flex-wrap:wrap;margin-top:15px;align-items:center; }
button,.controls a { border:1px solid var(--line);border-radius:7px;padding:8px 12px;background:var(--paper);color:var(--accent);font:14px Arial,sans-serif;cursor:pointer;text-decoration:none; }
button[aria-pressed="true"] { background:var(--accent);color:white; }
.rsya-slot { margin:25px 0;padding:25px 12px;background:#eef1ea;border:1px dashed #a5b4a7;border-radius:12px;text-align:center;font:14px/1.5 Arial,sans-serif;color:var(--muted); }
.bottom-ad { margin:20px 0;background:var(--paper);border-radius:18px;padding:15px; }
.bottom-ad .rsya-slot { margin:0; }
.feedback { margin-top:20px;border-top:1px solid var(--line);padding-top:10px; }
.feedback form { display:grid;gap:14px;margin:18px 0; }
.feedback label { display:grid;gap:5px;font-size:14px; }
.feedback input,.feedback select,.feedback textarea { width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:16px/1.5 Arial,sans-serif; }
.feedback textarea { min-height:120px;resize:vertical; }
.feedback summary { cursor:pointer;color:var(--accent); }
.feedback .trap { position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden; }
.feedback article { padding:15px 0;border-top:1px solid var(--line); }
.error { color:#9d3024; }.success { color:var(--accent); }
button:focus-visible { outline:3px solid #aa7444;outline-offset:3px; }
.reading p:not(.tag):not(.details), .card-summary, .feedback article p { text-align:justify;hyphens:auto; }
.catalog-search { display:grid;grid-template-columns:minmax(0,1fr) 240px auto;gap:16px;align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px; }
.catalog-search label { display:grid;gap:7px;font-size:14px;min-width:0; }
.catalog-search input,.catalog-search select { width:100%;min-width:0;font:16px Arial,sans-serif;border:1px solid var(--line);border-radius:7px;padding:12px;background:white;color:var(--ink); }
.catalog-search button { min-height:44px;background:var(--accent);color:white; }
.catalog-query { min-width:0; }
.catalog-search .catalog-exact { display:flex;align-items:center;gap:8px;min-height:32px;margin-top:4px;cursor:pointer; }
.catalog-search .catalog-exact input { width:18px;height:18px;margin:0;padding:0;accent-color:var(--accent); }
.catalog-search { align-items:start; }
.catalog-search > button { margin-top:30px; }
@media(max-width:800px) { .catalog-search > button { margin-top:0; }.catalog-search .catalog-exact { min-height:44px; } }
.catalog-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.lecture-card { min-width:0;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:16px; }
.lecture-card h2 { font:26px/1.3 Georgia,serif;margin:12px 0;overflow-wrap:anywhere; }
.lecture-card h2 a { text-decoration:none; }
.card-authors { display:flex;gap:8px 15px;flex-wrap:wrap;font-size:15px; }
.card-summary { font-size:16px; }
.card-open { display:inline-block;padding:8px 0; }
.pagination { display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:14px 0; }
.pagination a { min-width:44px;min-height:44px;padding:8px 12px;text-align:center;border:1px solid var(--line);border-radius:7px;text-decoration:none; }
.pagination a[aria-current] { background:var(--accent);color:white; }
.author-intro { padding:10px 0 30px; }.author-intro h2 { font:32px Georgia,serif;margin:10px 0; }
@media(max-width:800px) {
    .catalog-list { grid-template-columns:1fr; }
    .catalog-search { grid-template-columns:1fr; }
    .lecture-card { padding:22px; }
    .nav a,.random a,.aside a { display:inline-flex;align-items:center;min-height:44px; }
    .nav { gap:4px 18px; }
    .random { gap:4px 18px;padding:8px 0 12px; }
    button,.controls a { min-height:44px; }
    .aside a { display:flex; }
    .player { padding:14px; }
    .layout { padding:22px 16px; }
    .reading .excerpt { overflow-wrap:break-word; }
    .promotion { overflow-wrap:anywhere;overflow:auto; }
    #share-fallback { width:100%;min-width:0;font-size:16px; }
    .aside { margin-top:0; }
}
@media(max-width:380px) { .shell { padding:0 12px; }.brand { font-size:23px; }h1 { font-size:28px; }.lecture-card h2 { font-size:24px; } }
.page-nav-buttons { position:fixed;right:max(calc((100vw - 1190px)/2 - 59px),12px);bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:1000;display:flex;flex-direction:column;gap:10px; }
.page-nav-button { position:relative;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;border-radius:14px;background:rgba(43,130,183,.92);color:white;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.18);opacity:.88;transition:opacity .2s,background .2s; }
.page-nav-button:hover { background:rgba(27,129,206,.98);opacity:1; }
.page-nav-button.is-hidden { visibility:hidden;opacity:0;pointer-events:none; }
.page-nav-button svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round; }
.page-nav-label { position:absolute;right:56px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:8px 10px;border-radius:9px;background:rgba(24,34,46,.92);color:white;font:13px/1 Arial,sans-serif;opacity:0;pointer-events:none; }
.page-nav-button:hover .page-nav-label,.page-nav-button:focus-visible .page-nav-label { opacity:1; }
@media(max-width:640px) { .page-nav-buttons { right:8px;bottom:calc(12px + env(safe-area-inset-bottom,0px)); }.page-nav-button { width:44px;height:44px;border-radius:12px; }.page-nav-label { display:none; } }
.home-hero { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:70px;padding:26px 0;align-items:center; }
.home-hero h1 { font-size:clamp(40px,5.6vw,70px);line-height:1.08;margin:8px 0 14px; }
.home-lead { max-width:620px;text-align:justify;hyphens:auto;color:var(--muted);font-size:18px; }
.home-actions { display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px; }
.home-actions a { min-height:44px;display:inline-flex;align-items:center; }
.home-primary { padding:12px 18px;background:var(--accent);color:white;border-radius:9px;text-decoration:none; }
.home-primary:hover { color:white;background:var(--ink); }
.home-guide { background:#e3e9df;padding:20px;border-radius:18px; }
.home-guide a { display:block;padding:10px 0;border-bottom:1px solid #c5d1c5;text-decoration:none; }
.home-guide a:last-child { border:0;padding-bottom:0; }
.home-guide strong { font:24px Georgia,serif;display:block; }
.home-guide span:not(.eyebrow) { display:block;font-size:14px;color:var(--muted);margin-top:5px; }
.home-section { padding:10px 0;border-top:1px solid var(--line);scroll-margin-top:20px; }
.section-heading { display:flex;align-items:end;justify-content:space-between;gap:8px 20px;flex-wrap:wrap;margin-bottom:8px; }
.section-heading .eyebrow { margin:0; }
.section-heading h2 { font:36px/1.2 Georgia,serif;margin:3px 0 0; }
.section-heading h3 { font:28px Georgia,serif;margin:0; }
.home-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px; }
.home-card { padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:16px;min-width:0; }
.home-card h3 { font:25px/1.3 Georgia,serif;overflow-wrap:anywhere;margin:6px 0 10px; }
.home-card h3 a { text-decoration:none; }
.home-card p,.section-intro { text-align:justify;hyphens:auto;font-size:16px; }
.home-card p { color:var(--muted);margin:6px 0; }.section-intro { max-width:760px;margin:0 0 8px; }
.subsection { margin-top:12px; }.home-more { margin:10px 0 0; }
.home-lead { margin:8px 0 0; }
.site-footer { display:flex;align-items:baseline;justify-content:space-between;gap:4px 16px;flex-wrap:nowrap;padding:8px 0;border-top:1px solid var(--line); }
.site-footer > div { flex-shrink:0;white-space:nowrap; }
.site-footer nav { display:flex;justify-content:flex-end;align-items:baseline;gap:4px 14px;flex-wrap:wrap;min-width:0; }
.site-footer nav a { display:inline-block;white-space:nowrap; }
@media(max-width:800px) { .home-hero { grid-template-columns:1fr;gap:12px;padding:12px 0; }.home-grid { grid-template-columns:1fr; }.home-guide { padding:12px; }.home-section { padding:8px 0; }.section-heading h2 { font-size:29px; }.home-card { padding:12px; }.site-footer { padding-right:44px; } }
