:root { color-scheme:light; font-family:"Noto Sans JP", "Malgun Gothic", sans-serif; color:#283d34; background:#eeece5; --ink:#283d34; --green:#355d49; --muted:#6d756c; --line:#d9dcd1; --paper:#f6f4ed; }

* { box-sizing: border-box; }

body { margin:0; min-height:100vh; line-height:1.6; -webkit-font-smoothing:antialiased; }
.site-header { border-bottom:1px solid var(--line); background:var(--paper); }
.site-header__inner { display:flex; align-items:center; justify-content:space-between; width:min(1100px,calc(100% - 40px)); height:70px; margin:auto; }
.site-header__tools { display:flex; align-items:center; gap:16px; }
.lang-toggle { display:inline-flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:999px; background:#f3f4ed; font-size:.8rem; }
.lang-toggle__current { padding:5px 10px; border-radius:999px; font-weight:700; color:var(--green); background:var(--paper); box-shadow:0 1px 4px #283d3410; }
.lang-toggle__link { padding:5px 10px; color:var(--muted); text-decoration:none; }
.lang-toggle__link:hover { color:var(--green); }
.brand { display:flex; gap:9px; align-items:center; color:inherit; font-weight:700; letter-spacing:-.03em; text-decoration:none; }
.brand__mark { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#fff; background:var(--green); font-size:1rem; }
.header-link { color:var(--muted); font-size:.82rem; text-decoration:none; }

.page-shell { width:min(1040px,calc(100% - 48px)); margin:52px auto 90px; }

.page-shell--narrow { max-width: 760px; }
.page-shell--study { max-width:860px; }
.hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 28px; border:1px solid #d3dacb; border-radius:16px; background:linear-gradient(120deg,#e2e8da,#eeeee3); }
.hero h1 { margin:7px 0 6px; font-size:clamp(1.4rem,3vw,1.9rem); font-weight:650; line-height:1.45; letter-spacing:-.045em; word-break:keep-all; }
.hero-copy { min-width:0; }
.hero-copy > p:last-child { margin:0; color:var(--muted); font-size:.88rem; line-height:1.7; word-break:keep-all; }
.eyebrow { margin:0; color:var(--green); font-size:.68rem; font-weight:700; letter-spacing:.18em; }
.page-eyebrow { margin-top:25px; }
.button { display:inline-flex; gap:18px; align-items:center; justify-content:center; min-height:44px; padding:12px 20px; border:0; border-radius:12px; color:#fff; background:var(--green); font:inherit; font-size:.9rem; font-weight:700; text-decoration:none; cursor:pointer; transition:background .15s,transform .15s; }
.button:hover { background:#284b39; transform:translateY(-1px); }
.secondary-button { margin-left:8px; border:0; padding:12px 4px; color:#666; background:transparent; font:inherit; text-decoration:underline; cursor:pointer; }.secondary-button:disabled { color:#aaa; cursor:wait; }
.analysis-loading { display:flex; align-items:center; justify-content:center; gap:8px; min-height:156px; }.analysis-loading__orb { width:9px; height:9px; border-radius:50%; background:#a06b47; animation:analysis-bounce .9s ease-in-out infinite; }.analysis-loading__orb:nth-child(2) { animation-delay:.12s; }.analysis-loading__orb:nth-child(3) { animation-delay:.24s; }@keyframes analysis-bounce { 0%,60%,100% { transform:translateY(0); opacity:.35; } 30% { transform:translateY(-9px); opacity:1; } }
.back-link { display:inline-flex; padding:6px 0; color:var(--muted); font-size:.84rem; text-decoration:none; }
.description, .field-help { color:var(--muted); line-height:1.85; font-size:.9rem; word-break:keep-all; }
.field-help { margin-top: 8px; font-size: .9rem; }
.surface { padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--paper); box-shadow:0 8px 28px #283d3405; }
.lyrics-form { display: grid; gap: 10px; margin-top: 30px; }
.lyrics-form label { margin-top: 12px; font-weight: 700; }
.lyrics-form input, .lyrics-form textarea, .lyrics-form select { width:100%; padding:13px 14px; border:1px solid #d5dccf; border-radius:10px; background:#fff; color:inherit; font:inherit; }
.lang-radios { margin: 12px 0 0; padding: 0; border: 0; }
.lang-radios legend { margin: 0 0 10px; font-weight: 700; }
.lang-radios__option { display: inline-flex; align-items: center; gap: 8px; margin: 0 18px 0 0; font-weight: 500; cursor: pointer; }
.lang-radios__option input { width: auto; margin: 0; }
.button:disabled { opacity:.55; cursor:wait; transform:none; }
.translation { margin:20px 0; padding:18px 20px; border-radius:14px; background:#e2e8da; }
.translation p { margin:8px 0 0; line-height:1.7; }
.lyrics-form textarea { resize: vertical; line-height: 1.7; }
.form-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:12px; }
.form-actions .button { justify-content:center; min-height:48px; line-height:1.4; }
.button--cancel { color:#555; background:#f6f5f1; box-shadow:inset 0 0 0 1px #d4d0c8; }
.button--cancel:hover { color:#252522; background:#eae7e0; }
.form-actions .button:focus-visible { outline:2px solid #8d4520; outline-offset:3px; }
.alert { margin-top: 24px; padding: 12px 16px; border-radius: 6px; color: #842029; background: #f8d7da; }
.alert ul { margin: 0; padding-left: 20px; }
.sentence-list { list-style:none; margin:24px 0 0; padding:16px; border:1px solid var(--line); border-radius:20px; background:var(--paper); counter-reset:lyric-line; }
.sentence-list li, .sentence-row { position:relative; display:flex; align-items:center; gap:16px; padding:4px 16px; border-radius:10px; counter-increment:lyric-line; transition:background .15s; }
.sentence-button { flex:1; min-width:0; border:0; padding:14px 0; color:inherit; background:transparent; font:inherit; font-size:1.02rem; line-height:1.9; text-align:left; cursor:pointer; white-space:pre-line; overflow-wrap:anywhere; }
.sentence-button:hover, .sentence-button:focus-visible { color:var(--green); text-decoration:none; }
.units-panel { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e4e1da; }
.units-panel__head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:end; }
.units-panel__title { margin:0; font-size:1.1rem; }
.units-panel__actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.units-panel__actions .secondary-button { margin-left:0; }
.units-list { list-style:none; margin:16px 0 0; padding:0; display:grid; gap:10px; }
.units-list__item { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; padding:12px 14px; border:1px solid #e4e1da; border-radius:8px; background:#fbfaf7; }
.units-list__item--proposal { background:#f4e6d2; }
.units-list__text { margin:0; flex:1; white-space:pre-line; line-height:1.7; }
.units-list__actions { display:flex; flex-direction:column; gap:8px; align-items:flex-end; }
.units-proposal { margin-top:18px; padding:16px; border-radius:10px; background:#f7efd8; }
.units-proposal h3 { margin:0 0 10px; font-size:1rem; }
@media (max-width: 600px) { .units-list__item { flex-direction:column; } .units-list__actions { align-items:flex-start; flex-direction:row; } }
.sentence-ai { display:inline-flex; flex:none; align-items:center; gap:5px; padding:5px 7px; border-radius:999px; color:#46664f; background:#e2e8da; font-size:.65rem; font-weight:600; line-height:1.2; white-space:nowrap; }
.sentence-ai[hidden] { display:none; }
.sentence-ai--pending { color:#826625; background:#f6efdb; }
.sentence-ai__orb, .analysis-queue__orb { width:8px; height:8px; border-radius:50%; background:#a06b47; animation:analysis-bounce .9s ease-in-out infinite; }
.sentence-ai__spark { width:11px; height:11px; border-radius:3px; background:
    linear-gradient(135deg,#8d5a37 40%,transparent 41%) top left / 4px 4px no-repeat,
    linear-gradient(135deg,transparent 40%,#a06b47 41% 60%,transparent 61%) center / 11px 11px no-repeat,
    linear-gradient(135deg,#8d5a37 40%,transparent 41%) bottom right / 4px 4px no-repeat,
    #d9b48a; box-shadow:inset 0 0 0 1px rgba(141,90,55,.18); }
.sentence-ai__check { color:var(--green); font-size:.8rem; }
.analysis-queue { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 18px; padding:12px 14px; border-radius:8px; color:#6d4a2e; background:#f4e6d2; font-size:.92rem; }
.analysis-queue[hidden] { display:none; }
.analysis-queue__body { display:flex; align-items:center; gap:10px; min-width:0; }
.analysis-queue.is-stale { color:#7a3b1e; background:#f3d9c4; }
.button--compact { padding:9px 12px; font-size:.86rem; white-space:nowrap; }
#continue-analysis[hidden] { display:none; }
@media (max-width: 600px) {
    .analysis-queue { align-items:flex-start; flex-direction:column; }
}
.lyrics-list__pending { display:inline-flex; align-items:center; gap:6px; margin-left:8px; color:#7a5a17; font-size:.82rem; font-weight:700; }
.lyrics-list__pending-orb { width:7px; height:7px; border-radius:50%; background:#a06b47; animation:analysis-bounce .9s ease-in-out infinite; }
.empty-state { margin-top:36px; padding:42px 0; color:#77736c; border-top:1px solid #dedbd3; border-bottom:1px solid #dedbd3; }
.library-section { margin-top:44px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin:0 0 20px; gap:12px; }
.section-heading h2 { margin:7px 0 0; font-size:1.45rem; letter-spacing:-.04em; }.section-heading span,.sentence-count { color:#77736c; font-size:.88rem; }
.lyrics-list { border:1px solid var(--line); border-radius:18px; background:var(--paper); counter-reset:song; overflow:hidden; }
.lyrics-list__item { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:24px; border-bottom:1px solid var(--line); counter-increment:song; }
.lyrics-list h2 { margin:0; font-size:1.08rem; letter-spacing:-.025em; line-height:1.6; overflow-wrap:anywhere; }
.lyrics-list h2 a { color: inherit; text-decoration: none; }
.lyrics-list h2 a:hover { text-decoration: underline; }
.lyrics-list p { margin:8px 0 0; color:var(--muted); font-size:.78rem; }
.lyrics-list__actions { display:flex; align-items:center; gap:16px; white-space:nowrap; font-size:.8rem; }
.lyrics-list__actions form { margin: 0; }
.text-button { border:0; padding:4px 0; color:var(--muted); background:transparent; font:inherit; font-size:.84rem; text-decoration:none; cursor:pointer; }
.text-button--danger { color: #a33; }
@media (max-width: 600px) { .lyrics-list__item { align-items: flex-start; flex-direction: column; gap: 10px; } }
.modal[hidden] { display: none; }
.modal { position:fixed; z-index:10; inset:0; display:grid; place-items:center; padding:20px; }
.modal__backdrop { position:absolute; inset:0; background:rgba(29,44,36,.4); backdrop-filter:blur(4px); }
.modal__content { position:relative; width:min(600px,100%); height:min(760px,calc(100vh - 40px)); height:min(760px,calc(100dvh - 40px)); overflow-y:auto; scrollbar-gutter:stable; overscroll-behavior-y:contain; overflow-anchor:none; padding:0; border:1px solid #d3dacb; border-radius:22px; background:var(--paper); box-shadow:0 24px 90px #1d2c362b; scrollbar-width:thin; scrollbar-color:#b8c5b2 transparent; }
.modal__close { position:absolute; top:21px; right:18px; z-index:2; width:40px; height:40px; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:var(--paper); font-size:1.5rem; line-height:1; cursor:pointer; }
.modal__close:hover { color: #252522; background: #f0ebe3; }
.modal__eyebrow { margin:0 0 12px; color:var(--green); font-size:.68rem; font-weight:700; letter-spacing:.1em; }
.modal__title-row { display:flex; align-items:flex-start; gap:8px; margin:0 0 8px; padding-right:0; }
.modal__title-row h2 { flex:1; min-width:0; margin:0; font-size:1.6rem; line-height:1.9; letter-spacing:-.03em; overflow-wrap:anywhere; }
.modal-more { position: relative; flex: none; margin-top: 2px; }
.modal-more__toggle {
    display: grid; place-items: center;
    width: 34px; height: 34px; margin: 0; padding: 0;
    border: 0; border-radius: 999px;
    color: #6a6358; background: transparent;
    font-size: 1.25rem; line-height: 1; letter-spacing: .04em; cursor: pointer;
}
.modal-more__toggle:hover,
.modal-more__toggle[aria-expanded="true"] { color: #2f3731; background: #f0ebe3; }
.modal-more__menu {
    position: absolute; top: calc(100% + 6px); right: 0; z-index: 3;
    min-width: 132px; padding: 6px;
    border-radius: 10px; background: #fff;
    box-shadow: 0 12px 28px rgba(45, 42, 35, .16), 0 0 0 1px rgba(45, 42, 35, .06);
}
.modal-more__menu[hidden] { display: none; }
.modal-more__item {
    display: block; width: 100%; margin: 0; padding: 10px 12px;
    border: 0; border-radius: 7px;
    color: #2f3731; background: transparent;
    font: inherit; font-size: .92rem; font-weight: 600; text-align: left; cursor: pointer;
}
.modal-more__item:hover { background: #f4efe7; }
.modal__actions { display:flex; margin-top:22px; }
.modal__actions .button { width:100%; justify-content:center; color:var(--green); background:#e2e8da; box-shadow:inset 0 0 0 1px #dce5d6; }
.modal-nav { display:grid; grid-template-columns:40px 1fr 40px; align-items:center; gap:12px; margin:0; padding:4px; border:1px solid var(--line); border-radius:14px; background:#f1f4eb; }
.modal-nav__btn { display:grid; place-items:center; width:40px; height:40px; margin:0; padding:0; border:0; border-radius:10px; color:var(--green); background:var(--paper); font-size:1.55rem; line-height:1; cursor:pointer; }
.modal-nav__btn span { display: block; margin-top: -2px; }
.modal-nav__btn:hover:not(:disabled) { color: #fff; background: #2f3731; }
.modal-nav__btn:disabled { opacity: .35; cursor: default; box-shadow: none; }
.modal-nav__position { margin:0; color:var(--green); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-align:center; font-variant-numeric:tabular-nums; }
.sentence-row.is-active .sentence-button { color:var(--green); font-weight:600; }
@media (max-width: 600px) {
    .modal__panel { padding:22px 20px 28px; }
    .modal__toolbar { padding:14px 66px 14px 20px; }
}
.analysis-placeholder { display:grid; gap:12px; margin-top:24px; padding-top:0; border-top:0; }
.analysis-placeholder h3 { margin:0; color:var(--muted); font-size:.73rem; font-weight:600; letter-spacing:.03em; }
.analysis-placeholder p { margin:10px 0 0; color:var(--ink); font-size:.93rem; line-height:1.9; overflow-wrap:anywhere; }
.similar-sentences { margin-top:24px; padding-top:24px; border-top:1px solid var(--line); }
.similar-sentences__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.similar-sentences__head h3 { margin:0; font-size:.95rem; }
.similar-sentences__hint { margin: 10px 0 0; color: #77736c; font-size: .86rem; }
.similar-sentences__list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 14px; }
.similar-sentences__list:empty { display: none; }
.similar-card { margin: 0; padding: 14px 14px 12px; border-radius: 10px; background: #f7f4ee; }
.similar-card__line { display: flex; align-items: flex-start; gap: 10px; }
.similar-card__ja { margin: 0; flex: 1; color: #2f2922; line-height: 1.55; font-weight: 600; }
.similar-card__reading { color: #6b645a; font-weight: 500; }
.similar-card__speak {
    flex: 0 0 auto;
    border: 0;
    padding: 2px 6px;
    border-radius: 6px;
    background: transparent;
    font: inherit;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
}
.similar-card__speak:hover { background: #ece6db; }
.similar-card__meaning { margin: 8px 0 0; color: #55524c; line-height: 1.55; }
.analysis-placeholder.is-skeleton section { margin: 0 0 18px; }
.skeleton-bone {
    display: block;
    height: 1.05em;
    margin-top: 10px;
    border-radius: 6px;
    background: linear-gradient(90deg, #ebe6dc 20%, #f7f3ec 45%, #ebe6dc 70%);
    background-size: 200% 100%;
    animation: skeleton-shimmer 1.15s ease-in-out infinite;
}
.skeleton-bone--long { height: 3.1em; }
.skeleton-bone--inline {
    display: inline-block;
    width: min(100%, 220px);
    height: 1.1em;
    margin-top: 0;
    vertical-align: -0.15em;
}
@keyframes skeleton-shimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}
@media (prefers-reduced-motion: reduce) {
    .skeleton-bone { animation: none; background: #ebe6dc; }
}
.pronunciation-line { white-space:pre-wrap; }
.pronunciation-word { display:inline; border:0; border-radius:4px; padding:3px 2px; color:inherit; background:transparent; font:inherit; line-height:inherit; cursor:pointer; text-decoration:underline dotted #b7aa96; text-underline-offset:4px; }
.pronunciation-word.is-matched { color:#513318; background:#f5dfaa; text-decoration-color:#805e25; }
.pronunciation-word:focus-visible { outline:2px solid #8d4520; outline-offset:2px; }
.analysis-placeholder .pronunciation-hint { color:#77736c; font-size:.8rem; margin-top:-4px; }
.study-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; margin:22px 0 18px; padding:32px; border:1px solid #d3dacb; border-radius:20px; background:linear-gradient(120deg,#e2e8da,#eeeee3); }
.study-heading h1 { margin:12px 0; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.35; letter-spacing:-.055em; overflow-wrap:anywhere; }
.study-heading__aside { display:flex; flex:none; flex-direction:column; align-items:flex-end; gap:10px; padding-top:6px; }
.study-heading__aside .button { white-space:nowrap; }
.study-heading__aside .button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.site-footer { width:min(1040px,calc(100% - 48px)); margin:0 auto; padding:24px 0 36px; color:var(--muted); border-top:1px solid var(--line); font-size:.75rem; }
@media (max-width: 700px) {
    .study-heading { align-items:flex-start; flex-direction:column; }
    .study-heading__aside { align-items:flex-start; width:100%; }
}

h1 { font-size: 2rem; }

.status { margin-top: 32px; }
.status--ready { color: #216b43; }
.status--pending { color: #7a5a17; }

.sentence-row.is-excluded { color: #73766e; }
.sentence-row.is-excluded .sentence-text { flex: 1; min-width: 0; padding: 14px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.sentence-excluded-label { flex: none; font-size: .7rem; color: #666b62; background: #eeeee8; border-radius: 6px; padding: 4px 6px; }
.study-exclusion-note { color: #62685e; font-size: .85rem; line-height: 1.6; }

/* Quiet paper surfaces, with the study controls always in reach. */
:where(a,button,input,textarea,select):focus-visible { outline:2px solid var(--green); outline-offset:4px; }
.header-link:hover,.text-button:hover,.back-link:hover { color:var(--green); text-decoration:underline; text-underline-offset:4px; }
.page-eyebrow { margin-top:0; }
.hero .button { flex:none; min-height:42px; padding:10px 16px; font-size:.82rem; white-space:nowrap; box-shadow:none; }
.lyrics-list__item:last-child { border-bottom:0; }
.lyrics-list__item::before { content:counter(song,decimal-leading-zero); display:grid; place-items:center; flex:0 0 42px; height:48px; border:1px solid #e0e6d9; border-radius:12px; color:#64765e; background:#e2e8da; font-size:.8rem; font-variant-numeric:tabular-nums; }
.lyrics-list__item > div:first-of-type { flex:1; min-width:0; }
.lyrics-list__item:hover { background:#eeeee3; }
.lyrics-list__actions > a:nth-child(2) { padding:8px 14px; border-radius:9px; color:var(--green); background:#e2e8da; font-weight:700; }
.study-heading > div:first-child { min-width:0; }
.study-heading .description { margin-bottom:0; max-width:440px; }
.study-heading__aside .button { min-height:38px; padding:9px 12px; background:var(--paper); color:var(--green); border:1px solid #d5decd; font-size:.77rem; }
.study-heading__aside small { max-width:190px; color:var(--muted); font-size:.68rem; text-align:right; }
.sentence-count { font-variant-numeric:tabular-nums; }
.sentence-row::before { content:counter(lyric-line,decimal-leading-zero); flex:0 0 24px; align-self:flex-start; padding-top:19px; color:#8a9584; font-size:.65rem; font-variant-numeric:tabular-nums; }
.sentence-row:hover:not(.is-excluded),.sentence-row.is-active { background:#e2e8da; }
.sentence-ai:not(.sentence-ai--pending) .sentence-ai__spark,.sentence-ai:not(.sentence-ai--pending) .sentence-ai__text { display:none; }
.sentence-excluded-label { padding:4px 8px; background:#f0f1e9; font-size:.65rem; }
.modal__toolbar { position:sticky; top:0; z-index:4; padding:16px 72px 16px 28px; border-bottom:1px solid var(--line); background:var(--paper); }
.modal__panel { padding:28px 28px 32px; }
.analysis-placeholder > section { margin:0; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:#f0f0e8; }
.analysis-placeholder > section:nth-child(3) { border-color:#d5e0cd; background:#e2e8da; }
.analysis-placeholder > section:nth-child(3) p { font-size:1.03rem; font-weight:600; }
.analysis-placeholder ul { padding-left:18px; font-size:.88rem; line-height:1.85; }
.similar-card { border:1px solid var(--line); background:#eeeee3; }
.pronunciation-word { text-decoration-color:#a5b59b; }
.pronunciation-word.is-matched { color:#274b35; background:#dce9c8; text-decoration-color:#6d8e53; }
@media (max-width:700px) {
 .study-heading__aside { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 16px; padding-top:0; }
 .study-heading__aside small { max-width:none; text-align:left; flex-basis:100%; }
 .study-heading__aside .sentence-count { margin-left:auto; }
}
@media (max-width:600px) {
 .site-header__inner { width:calc(100% - 32px); }
 .brand { font-size:.9rem; }
 .page-shell { width:calc(100% - 32px); margin:28px auto 60px; }
 .hero { align-items:flex-start; flex-direction:column; gap:16px; padding:22px; }
 .hero h1 { font-size:1.45rem; }
 .hero .button { align-self:flex-start; }
 .library-section { margin-top:32px; }
 .lyrics-list__item { display:grid; grid-template-columns:34px minmax(0,1fr); gap:14px; padding:20px 16px; }
 .lyrics-list__item::before { width:34px; height:40px; }
 .lyrics-list__actions { grid-column:2; flex-wrap:wrap; gap:18px; }
 .section-heading h2 { font-size:1.25rem; }
 .study-heading { padding:24px; gap:20px; }
 .sentence-list { padding:8px; border-radius:16px; }
 .sentence-list li { gap:10px; padding:4px 10px; }
 .sentence-row::before { flex-basis:18px; }
 .sentence-button { font-size:.94rem; }
 .sentence-ai--pending { font-size:.6rem; }
 .modal { padding:12px; }
 .modal__content { height:min(760px,calc(100vh - 24px)); height:min(760px,calc(100dvh - 24px)); border-radius:18px; }
 .modal__toolbar { padding:12px 64px 12px 20px; }
 .modal__close { top:17px; right:14px; }
 .modal__panel { padding:24px 20px 28px; }
 .modal__title-row h2 { font-size:1.35rem; }
 .analysis-placeholder > section { padding:16px; }
 .similar-sentences__head { flex-wrap:wrap; }
 .surface { padding:22px; }
 .site-footer { width:calc(100% - 32px); }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}

.page-shell--library { margin-top:32px; }
.page-shell--library .library-section { margin-top:28px; }
@media(max-width:600px) { .page-shell--library { margin-top:24px; } .page-shell--library .library-section { margin-top:24px; } }
