:root{--dina-paper:#f8f2e9;--dina-paper-strong:#efe4d2;--dina-ink:#2a211b;--dina-muted:#756557;--dina-line:rgba(84, 63, 46, 0.18);--dina-accent:#a15c38;--dina-accent-soft:rgba(161, 92, 56, 0.12);--dina-shadow:0 24px 60px rgba(42, 33, 27, 0.12)}html[data-theme=dark]{--dina-paper:#151618;--dina-paper-strong:#202327;--dina-ink:#f3ede4;--dina-muted:#b7ab9e;--dina-line:rgba(243, 237, 228, 0.12);--dina-accent:#d39a6d;--dina-accent-soft:rgba(211, 154, 109, 0.18);--dina-shadow:0 24px 60px rgba(0, 0, 0, 0.35)}body.dina-site{background:radial-gradient(circle at top,rgba(161,92,56,8%),transparent 32%),linear-gradient(180deg,var(--dina-paper) 0%,#fff 22%,var(--dina-paper) 100%);color:var(--dina-ink)}body.dina-site .site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--dina-paper) 82%,transparent);border-bottom-color:var(--dina-line)}body.dina-site .site-nav a,body.dina-site .lang-link,body.dina-site .theme-toggle,body.dina-site .sidebar-item a,body.dina-site .timeline-list li a,body.dina-site .toc-item a,body.dina-site .section-article-preview p,body.dina-site article time,body.dina-site .prev-label,body.dina-site .next-label{color:var(--dina-muted)}body.dina-site .site-nav a:hover,body.dina-site .sidebar-item.active>a,body.dina-site .timeline-list li.active>a,body.dina-site .prev-title,body.dina-site .next-title,body.dina-site a,body.dina-site .breadcrumbs a{color:var(--dina-accent)}body.dina-site .lang-switcher,body.dina-site .theme-toggle,body.dina-site .sidebar,body.dina-site .prev-next a,body.dina-site .sidebar-mode-switch,body.dina-site .sidebar-graph-frame{border-color:var(--dina-line)}body.dina-site .lang-link.is-active,body.dina-site .sidebar-mode-btn.is-active{background:var(--dina-accent)}body.dina-site .lang-link.is-active{color:#fff}body.dina-site .site-layout{align-items:flex-start;gap:18px;padding:24px 20px 40px}body.dina-site .sidebar,body.dina-site .toc{border-radius:24px;background:color-mix(in srgb,var(--dina-paper-strong) 88%,transparent);box-shadow:var(--dina-shadow)}body.dina-site .sidebar{max-height:calc(100vh - 104px)}body.dina-site .toc{margin-top:0}body.dina-site .site-content{max-width:900px;padding:36px clamp(20px,4vw,46px);background:color-mix(in srgb,#fff 84%,var(--dina-paper));border:1px solid var(--dina-line);border-radius:30px;box-shadow:var(--dina-shadow)}html[data-theme=dark] body.dina-site .site-content{background:color-mix(in srgb,#17191d 84%,var(--dina-paper))}body.dina-site article h1{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.03em;margin-bottom:14px}body.dina-site article .content{font-size:1.03rem}body.dina-site article .content h2,body.dina-site article .content h3{letter-spacing:-.02em}body.dina-site article .content blockquote{border-left-color:var(--dina-accent);background:var(--dina-accent-soft);color:var(--dina-ink)}body.dina-site .site-footer.piano-footer{margin:0 20px 24px;padding:10px 12px 12px;border:1px solid var(--dina-line);border-radius:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--dina-paper-strong) 92%,transparent),color-mix(in srgb,var(--dina-paper) 96%,transparent)),linear-gradient(135deg,rgba(161,92,56,8%),transparent 42%);box-shadow:var(--dina-shadow);text-align:left}.piano{position:relative;display:flex;align-items:flex-start;gap:0;padding:8px 7px 7px;overflow-x:auto;border-radius:14px;background:linear-gradient(180deg,#46352b 0%,#2d211b 100%);box-shadow:inset 0 2px rgba(255,255,255,8%),inset 0 -10px 18px rgba(0,0,0,.28)}.piano-key{position:relative;border:0;margin:0;padding:0;cursor:pointer;user-select:none;touch-action:manipulation;transition:transform 90ms ease,box-shadow 90ms ease,background 90ms ease}.piano-key span,.piano-key strong{pointer-events:none}.piano-key-hint{position:absolute;left:50%;transform:translateX(-50%);opacity:0;transition:opacity 120ms ease;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}.piano-note-label{position:absolute;left:50%;transform:translateX(-50%);opacity:0;transition:opacity 120ms ease;font-size:.62rem;font-weight:600;letter-spacing:.01em;pointer-events:none;white-space:nowrap}[data-piano-footer].show-shortcuts .piano-key-hint,[data-piano-footer].show-shortcuts .piano-note-label{opacity:1}.piano-key-white{width:min(4.5vw,38px);min-width:29px;height:110px;margin-right:1px;border-radius:0 0 9px 9px;background:linear-gradient(180deg,#fff 0%,#f6f0ea 72%,#e4d8cb 100%);box-shadow:inset 0 0 0 1px rgba(42,33,27,8%),0 3px rgba(42,33,27,.18);color:#352921}.piano-key-white .piano-key-hint{bottom:8px;color:rgba(53,41,33,.72)}.piano-key-white .piano-note-label{top:10px;color:rgba(53,41,33,.68)}.piano-key-black{width:min(3vw,26px);min-width:21px;height:68px;margin:0 -11px;z-index:2;border-radius:0 0 7px 7px;background:linear-gradient(180deg,#4d4d52 0%,#16181b 70%,#060708 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,6%),0 2px rgba(0,0,0,.36)}.piano-key-black .piano-key-hint{bottom:8px;color:rgba(248,242,234,.82);font-size:.64rem}.piano-key-black .piano-note-label{top:8px;color:rgba(248,242,234,.78);font-size:.5rem}.piano-key:hover{transform:translateY(1px)}.piano-key:focus-visible{outline:3px solid var(--dina-accent);outline-offset:2px}.piano-key.is-active{transform:translateY(3px)}.piano-key-white.is-active{background:linear-gradient(180deg,#ffd8be 0%,#f3c9a6 76%,#dca77b 100%);box-shadow:inset 0 0 0 1px rgba(90,49,25,.14),0 1px rgba(42,33,27,.16)}.piano-key-black.is-active{background:linear-gradient(180deg,#f2b27f 0%,#c6763d 78%,#8b4f24 100%);box-shadow:inset 0 0 0 1px rgba(255,244,235,.12),0 1px rgba(0,0,0,.3)}@media(max-width:1200px){body.dina-site .site-layout{padding-inline:14px}body.dina-site .site-footer.piano-footer{margin-inline:14px}}@media(max-width:768px){body.dina-site .site-header{padding:14px}body.dina-site .header-left{gap:10px}body.dina-site .site-nav{gap:10px;flex-wrap:wrap}body.dina-site .site-layout{display:block;padding:14px}body.dina-site .site-content{padding:24px 18px;border-radius:22px}.piano{padding:7px 6px 6px}.piano-key-white{min-width:24px;height:92px}.piano-key-black{min-width:17px;height:56px;margin:0 -9px}.piano-key-white .piano-key-hint{bottom:6px;font-size:.62rem}.piano-key-white .piano-note-label{top:8px;font-size:.52rem}.piano-key-black .piano-key-hint{bottom:6px;font-size:.54rem}.piano-key-black .piano-note-label{top:6px;font-size:.44rem}}