:root{--color-ink: oklch(33.303381097% .0427957688 212.129955936);--color-paper: oklch(94.646734904% .0139832922 88.685205761);--color-teal: oklch(54.665994016% .0665488268 192.71272399);--color-brass: oklch(71.387110807% .0963786402 75.106732644);--color-signal: oklch(89.554122541% .096153363 115.878679703);--color-sage: oklch(80.413465454% .0689014272 123.478258517);--color-slate: oklch(66.859887635% .0290773108 211.109162761);--color-walnut: oklch(48.379442647% .0554948711 52.700113056);--color-wood: oklch(75.329017744% .0658461527 76.672344336);--color-chalk: oklch(88.4309349% .0273748742 85.667250249);--color-muted: oklch(49.812318669% .0259442758 210.481603965);--color-line: oklch(81.212450263% .0163415254 160.53213208);--color-developer-wall: oklch(77.142390263% .0286069666 179.432620544);--color-piano-wall: oklch(88.4309349% .0273748742 85.667250249);--color-blog-wall: oklch(78.436043292% .0226947854 211.058133395);--color-ai-wall: oklch(82.177439667% .0478911665 127.373308575);--color-shadow: oklch(39.3915555% .0326456485 210.891428544);--color-glow: oklch(90.113059203% .0815172619 87.961598169);--color-transparent: color-mix(in oklch, var(--color-paper) 0%, transparent);--color-bg: var(--color-paper);--color-surface: var(--color-paper);--color-surface-hover: color-mix(in oklch, var(--color-paper) 75%, var(--color-chalk));--color-surface-translucent: color-mix(in oklch, var(--color-surface) 96%, transparent);--color-text: var(--color-ink);--color-text-muted: var(--color-muted);--color-border: color-mix(in oklch, var(--color-muted) 80%, var(--color-paper));--color-border-subtle: var(--color-line);--color-border-strong: var(--color-muted);--color-accent: color-mix(in oklch, var(--color-teal) 80%, var(--color-ink));--color-on-accent: var(--color-paper);--color-accent-ink: var(--color-on-accent);--color-focus: var(--color-teal);--color-shadow-soft: color-mix(in oklch, var(--color-ink) 12%, transparent);--color-shadow-deep: color-mix(in oklch, var(--color-ink) 28%, transparent);--color-scrim: color-mix(in oklch, var(--color-ink) 48%, transparent);--color-hotspot: var(--color-paper);--color-hotspot-ink: var(--color-ink);--color-on-brass: var(--color-ink);--color-on-signal: var(--color-ink);--color-on-sage: var(--color-ink);--color-room-developer: var(--color-teal);--color-room-piano: var(--color-brass);--color-room-blog: var(--color-slate);--color-room-ai: var(--color-sage);--color-game-pad-0: var(--color-teal);--color-game-pad-1: var(--color-brass);--color-game-pad-2: var(--color-slate);--color-game-pad-3: var(--color-sage);--font-body: "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-display: "Clash Display", "Wanted Sans Variable", "Apple SD Gothic Neo", sans-serif;--font-prose: "General Sans", "Noto Serif KR", "AppleMyungjo", serif;--font-mono: "SFMono-Regular", Menlo, Monaco, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-brand: 18px;--text-heading: 28px;--text-bio-name: 28px;--text-bio-name-desktop: 32px;--line-height-prose: 1.85;--scene-left: 0px;--bio-width: 232px;--guide-width: 256px;--text-display: clamp(28px, 4vw, 40px);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-body: 1.6;--line-height-tight: 1.2;--space-0: 0;--space-half: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-11: 44px;--space-12: 48px;--space-16: 64px;--radius-small: 8px;--radius-control: 12px;--radius-panel: 20px;--radius-round: 999px;--dur-fast: .12s;--dur-normal: .15s;--dur-loading: 1.2s;--dur-tooltip-delay: .8s;--ease-standard: cubic-bezier(.4, 0, .2, 1);--rule-width: 1px;--rule-focus: 2px;--z-base: 1;--z-overlay: 10;--z-popover: 20}body[data-night=true]{--color-bg: var(--color-ink);--color-surface: var(--color-shadow);--color-surface-hover: color-mix(in oklch, var(--color-shadow) 84%, var(--color-muted));--color-surface-translucent: color-mix(in oklch, var(--color-surface) 96%, transparent);--color-text: var(--color-paper);--color-text-muted: var(--color-line);--color-border: var(--color-slate);--color-border-subtle: color-mix(in oklch, var(--color-slate) 42%, transparent);--color-border-strong: var(--color-line);--color-accent: var(--color-glow);--color-on-accent: var(--color-ink);--color-accent-ink: var(--color-on-accent);--color-focus: var(--color-brass);--color-shadow-soft: color-mix(in oklch, var(--color-ink) 42%, transparent);--color-shadow-deep: color-mix(in oklch, var(--color-ink) 72%, transparent);--color-scrim: color-mix(in oklch, var(--color-ink) 72%, transparent)}.rhythm-ui{--rhythm-ink: #5c422d;--rhythm-muted: #725b43;--rhythm-paper: #eadcc0;--rhythm-surface: rgba(242, 230, 206, .97);--rhythm-line: #bdab8c;--rhythm-accent: #60452f;--rhythm-on-accent: #eadcc0;--rhythm-held: rgba(96, 69, 47, .08);--rhythm-hit-halo: rgba(96, 69, 47, .15);--rhythm-error: #8a3636;--rhythm-board-width: min(560px, calc(100vw - 48px));position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:max(18px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));color:var(--rhythm-ink);font-family:Wanted Sans Variable,Pretendard Variable,sans-serif;pointer-events:none;gap:14px}.rhythm-ui[data-night=true]{color-scheme:dark;--rhythm-ink: #d8d4ca;--rhythm-muted: #aaa79e;--rhythm-paper: #050607;--rhythm-surface: rgba(14, 16, 17, .97);--rhythm-line: #777970;--rhythm-accent: #d8d4ca;--rhythm-on-accent: #050607;--rhythm-held: rgba(216, 212, 202, .1);--rhythm-hit-halo: rgba(216, 212, 202, .18);--rhythm-error: #f0a49b}body[data-art-theme=classic] .rhythm-ui{--rhythm-ink: #183c43;--rhythm-muted: #52676b;--rhythm-paper: #f1ede3;--rhythm-surface: rgba(249, 247, 240, .96);--rhythm-line: rgba(73, 99, 102, .24);--rhythm-accent: #3c7d7b;--rhythm-on-accent: #fff;--rhythm-held: rgba(217, 244, 234, .07);--rhythm-error: #f6aa9f}body[data-art-theme=classic][data-night=true] .rhythm-ui{--rhythm-ink: #e1e9dd;--rhythm-muted: #aebdb4;--rhythm-paper: #172c31;--rhythm-surface: rgba(24, 44, 47, .97);--rhythm-line: rgba(173, 197, 184, .24);--rhythm-accent: #9bc5b8;--rhythm-on-accent: #183c43}.rhythm-ui,.rhythm-back,.rhythm-scorebar,.rhythm-highway,.rhythm-board-message,.rhythm-progress,.rhythm-timing-content,.rhythm-buffering,.rhythm-highway:before,.rhythm-back kbd,.rhythm-primary,.rhythm-restart,.rhythm-music-error,.rhythm-music-error button,.rhythm-timing>summary,.rhythm-timing-content :where(button,input,output,p),.rhythm-track-heading :where(h1,p),.rhythm-scorebar :where(dt,dd),.rhythm-board-message>:where(strong,span){transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--theme-duration, 1.1s);transition-timing-function:var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.rhythm-lane,.rhythm-note,.rhythm-receptor,.rhythm-pad,.rhythm-key-glyph,.rhythm-hit-effect,.rhythm-hit-effect *,.rhythm-judgement,.rhythm-judgement *,.rhythm-countdown,.rhythm-combo-milestone{transition:none}.rhythm-ui button,.rhythm-ui a{pointer-events:auto;touch-action:manipulation}.rhythm-ui button:focus-visible,.rhythm-ui a:focus-visible{outline:3px solid var(--rhythm-accent);outline-offset:3px}.rhythm-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.rhythm-back{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;min-height:44px;border-radius:7px;background:var(--rhythm-surface);border:1px solid var(--rhythm-line);font-size:13px}.rhythm-back>span{font-size:22px;line-height:1}.rhythm-back kbd{border:1px solid var(--rhythm-line);border-radius:3px;padding:2px 4px;font-size:10px}.rhythm-scorebar{display:flex;align-items:center;gap:28px;margin:0;padding:8px 16px;background:var(--rhythm-surface);border-radius:8px}.rhythm-scorebar>div{text-align:right}.rhythm-scorebar dt{color:var(--rhythm-muted);font-size:10px;line-height:1.3}.rhythm-scorebar dd{margin:2px 0 0;font-size:27px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.04em}.rhythm-score-unit{margin-left:2px;font-size:.55em;font-weight:500}.rhythm-body{position:relative;min-height:0}.rhythm-play-area{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:var(--rhythm-board-width);max-width:100%;height:100%;min-height:0;margin-inline:auto;gap:9px}.rhythm-stage-area{position:absolute;bottom:0;left:0;width:clamp(100px,calc((100% - var(--rhythm-board-width)) / 2 - 20px),320px);height:min(320px,64%)}.rhythm-character-window{width:100%;height:100%}.rhythm-track-heading{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 20px;padding:0 4px 2px;text-align:center}.rhythm-track-heading h1{margin:0;font-size:clamp(18px,2.1vw,25px);font-weight:650;line-height:1.2;letter-spacing:-.04em}.rhythm-track-heading p{margin:4px 0 0;color:var(--rhythm-muted);font-size:11px;line-height:1.4}.rhythm-track-heading p>span{padding-left:9px}.rhythm-music-error{flex-basis:100%;padding:6px 10px;background:var(--rhythm-surface);border-radius:6px}.rhythm-music-error p{margin:0;font-size:11px}.rhythm-music-error button{min-height:32px;color:var(--rhythm-accent);font-size:11px;text-decoration:underline;text-underline-offset:3px}.rhythm-highway{min-height:0;position:relative;background:var(--rhythm-paper);border:1px solid var(--rhythm-ink);border-radius:14px;overflow:hidden;box-shadow:0 3px 0 var(--rhythm-ink),0 10px 30px #00000014;isolation:isolate}.rhythm-highway:focus{outline:none}.rhythm-highway:before{content:"";position:absolute;top:var(--rhythm-hit-line);left:0;right:0;z-index:1;height:1px;background:var(--rhythm-ink);pointer-events:none}.rhythm-lanes{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.rhythm-lane{position:relative;min-width:0;height:100%;color:var(--rhythm-ink);border-left:1px solid var(--rhythm-line)}.rhythm-lane:first-child{border-left:0}.rhythm-lane:nth-child(odd){background:rgba(0,0,0,.02)}.rhythm-lane[data-held=true]{background:var(--rhythm-held)}.rhythm-receptor,.rhythm-note{position:absolute;left:50%;top:var(--rhythm-hit-line);display:grid;place-items:center;width:68%;max-width:78px;height:48px;border-radius:7px;transform:translate(-50%,-50%)}.rhythm-key-glyph{font-family:inherit;font-size:27px;font-weight:750;line-height:1}.rhythm-receptor{z-index:2;border:2px solid currentColor;background:var(--rhythm-paper);box-shadow:0 3px #0003}.rhythm-receptor[data-hit=true],.rhythm-lane[data-held=true] .rhythm-receptor{background:var(--rhythm-accent);color:var(--rhythm-on-accent);box-shadow:0 0 0 3px var(--rhythm-hit-halo)}.rhythm-receptor[data-hit=true] .rhythm-key-glyph{animation:rhythm-receptor-pulse .34s ease-out}.rhythm-note{z-index:3;color:var(--rhythm-paper);background:var(--rhythm-ink);border:1px solid var(--rhythm-ink);border-bottom:4px solid #725b43;box-shadow:0 3px #00000026}.rhythm-lane:nth-child(3){border-left-width:2px;border-left-color:#9a8060}.rhythm-hit-effect{color:var(--rhythm-accent);position:absolute;inset:0;z-index:2;pointer-events:none}.rhythm-hit-beam{position:absolute;top:0;bottom:calc(100% - var(--rhythm-hit-line));left:6%;right:6%;background:linear-gradient(0deg,currentColor 0%,transparent 85%);opacity:0;transform-origin:bottom center;animation:rhythm-hit-beam .48s ease-out forwards}.rhythm-hit-ring{position:absolute;left:50%;top:var(--rhythm-hit-line);width:48px;height:48px;border:2px solid currentColor;border-radius:50%;transform:translate(-50%,-50%);animation:rhythm-hit-ring .52s ease-out forwards}.rhythm-hit-particle{position:absolute;top:var(--rhythm-hit-line);left:50%;width:5px;height:9px;background:currentColor;border-radius:1px;animation:rhythm-hit-particle .58s ease-out forwards}.rhythm-judgement{position:absolute;top:34%;left:50%;z-index:4;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;color:var(--rhythm-ink);pointer-events:none}.rhythm-judgement strong{font-size:clamp(26px,3.2vw,42px);font-weight:750;line-height:1;letter-spacing:-.06em;text-shadow:0 2px 0 var(--rhythm-paper),1px 0 0 var(--rhythm-paper),-1px 0 0 var(--rhythm-paper);animation:rhythm-judgement-pop .23s ease-out}.rhythm-judgement span{color:var(--rhythm-muted);font-size:16px;font-weight:500;white-space:nowrap}.rhythm-judgement[data-judgement=Perfect] strong,.rhythm-judgement[data-judgement=Great] strong{color:var(--rhythm-accent)}.rhythm-judgement[data-judgement=Good] strong{color:var(--rhythm-ink)}.rhythm-judgement[data-judgement=Miss] strong{color:var(--rhythm-error);font-size:27px;animation:none}.rhythm-combo-milestone{position:absolute;left:50%;bottom:22%;z-index:4;min-width:140px;padding:9px 22px;border-block:1px solid var(--rhythm-line);color:var(--rhythm-accent);background:var(--rhythm-surface);text-align:center;font-size:15px;white-space:nowrap;animation:rhythm-milestone 1.1s ease-out forwards}.rhythm-combo-milestone strong{margin-right:5px;font-size:26px;font-weight:700}.rhythm-board-message{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:25px;text-align:center;color:var(--rhythm-ink);background:var(--rhythm-surface)}.rhythm-board-message>strong{font-size:clamp(24px,2.3vw,32px);font-weight:650;letter-spacing:-.035em}.rhythm-board-message>span{max-width:30em;color:var(--rhythm-muted);font-size:12px;line-height:1.6}.rhythm-ready-keys{display:flex;gap:8px;margin-bottom:12px}.rhythm-ready-keys kbd{display:grid;place-items:center;width:48px;height:52px;border:1px solid var(--rhythm-ink);border-bottom-width:4px;border-radius:7px;color:var(--rhythm-ink);font-family:inherit;font-size:25px;font-weight:700;line-height:1}.rhythm-ready-keys kbd:nth-child(2){margin-right:12px}.rhythm-board-message[data-finished=true]{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}.rhythm-countdown{position:absolute;inset:30% 0 auto;z-index:5;text-align:center;font-size:clamp(52px,7vw,82px);font-weight:750;line-height:1;color:var(--rhythm-accent);text-shadow:0 3px 0 var(--rhythm-paper)}.rhythm-buffering{position:absolute;inset:auto 16px 24%;z-index:5;padding:12px;border-radius:6px;text-align:center;background:var(--rhythm-surface);color:var(--rhythm-ink);border:1px solid var(--rhythm-line);font-size:12px}.rhythm-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding-top:4px}.rhythm-pad{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:6px;border:1px solid var(--rhythm-ink);border-bottom:4px solid var(--rhythm-ink);border-radius:8px;background:var(--rhythm-paper);color:var(--rhythm-ink);touch-action:none!important;user-select:none;-webkit-user-select:none}.rhythm-pad>kbd{color:inherit;font-family:inherit;font-size:22px;font-weight:700;line-height:1}.rhythm-pad[data-held=true]{color:var(--rhythm-on-accent);background:var(--rhythm-accent);border-color:var(--rhythm-accent);border-bottom-width:2px;transform:translateY(2px)}.rhythm-pad:disabled{cursor:default;opacity:.65}.rhythm-footer{position:relative;display:grid;grid-template-columns:minmax(70px,1fr) auto auto;align-items:center;gap:10px 18px;width:var(--rhythm-board-width);max-width:100%;margin-inline:auto}.rhythm-footer[data-timing-open=true]{padding-bottom:84px}.rhythm-progress{grid-column:1;grid-row:1;display:flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;background:var(--rhythm-surface);border-radius:5px;color:var(--rhythm-muted);font-size:11px;font-variant-numeric:tabular-nums}.rhythm-progress progress{min-width:0;flex:1;height:4px;accent-color:var(--rhythm-accent)}.rhythm-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:7px}.rhythm-actions button{min-height:44px;padding:10px 18px;border-radius:7px;font-size:13px}.rhythm-primary{background:var(--rhythm-accent);color:var(--rhythm-on-accent)}.rhythm-restart{background:var(--rhythm-surface);border:1px solid var(--rhythm-line)}.rhythm-primary:disabled,.rhythm-restart:disabled{opacity:.6;cursor:default}.rhythm-timing{grid-column:2;grid-row:1}.rhythm-timing>summary{display:flex;align-items:center;min-height:44px;color:var(--rhythm-muted);font-size:12px;cursor:pointer;pointer-events:auto;list-style:none}.rhythm-timing>summary:after{content:"+";margin-left:7px}.rhythm-timing[open]>summary:after{content:"\2212"}.rhythm-timing>summary::-webkit-details-marker{display:none}.rhythm-timing>summary:focus-visible,.rhythm-timing input:focus-visible{outline:3px solid var(--rhythm-accent);outline-offset:3px}.rhythm-timing-content{position:absolute;left:0;right:0;bottom:0;min-height:76px;display:grid;grid-template-columns:auto minmax(80px,1fr) auto auto;align-items:center;gap:5px 10px;padding:8px 10px;background:var(--rhythm-surface);border:1px solid var(--rhythm-line);border-radius:7px;font-size:11px;pointer-events:auto}.rhythm-timing:not([open])>.rhythm-timing-content{display:none}.rhythm-timing-content input{min-width:0;width:100%;margin:0;accent-color:var(--rhythm-accent)}.rhythm-timing-content output{min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.rhythm-timing-content button{min-height:32px;padding:4px;color:var(--rhythm-accent);text-decoration:underline;text-underline-offset:3px}.rhythm-timing-content p{grid-column:1 / -1;margin:0;color:var(--rhythm-muted);font-size:10px;line-height:1.4}body[data-art-theme=classic] .rhythm-highway{background:linear-gradient(180deg,#173d45,#09272f);border-color:#527a7d;box-shadow:0 5px #09262b,0 10px 30px #0c262933}body[data-art-theme=classic][data-night=true] .rhythm-highway{background:linear-gradient(180deg,#112d35,#071e26);border-color:#3c6268}body[data-art-theme=classic] .rhythm-highway:before{background:rgba(227,253,248,.32);box-shadow:0 0 12px #9ae2d033}body[data-art-theme=classic] .rhythm-lane{color:var(--lane-color);border-left-color:#bee0df29}body[data-art-theme=classic] .rhythm-lane:nth-child(odd){background:rgba(192,224,217,.025)}body[data-art-theme=classic] .rhythm-lane[data-held=true]{background:var(--rhythm-held)}body[data-art-theme=classic] .rhythm-lane:nth-child(3){border-left-color:#bee0df59}body[data-art-theme=classic] .rhythm-receptor{background:#12323b;box-shadow:0 4px #000c1273}body[data-art-theme=classic] .rhythm-receptor[data-hit=true],body[data-art-theme=classic] .rhythm-lane[data-held=true] .rhythm-receptor{background:var(--lane-color);color:#103039;box-shadow:0 0 18px var(--lane-color)}body[data-art-theme=classic] .rhythm-note{color:#103039;background:var(--lane-color);border-color:#fffff58c;border-bottom-color:#05181f59;box-shadow:0 3px #00080d8c,0 0 9px color-mix(in srgb,var(--lane-color) 35%,transparent)}body[data-art-theme=classic] .rhythm-hit-effect{color:var(--lane-color)}body[data-art-theme=classic] .rhythm-judgement{color:#eff8e8}body[data-art-theme=classic] .rhythm-judgement strong{text-shadow:0 3px 0 rgba(0,15,22,.45)}body[data-art-theme=classic] .rhythm-judgement span{color:#b8dbd5}body[data-art-theme=classic] .rhythm-judgement[data-judgement=Perfect] strong{color:#e4f5a4}body[data-art-theme=classic] .rhythm-judgement[data-judgement=Great] strong{color:#8ae5d1}body[data-art-theme=classic] .rhythm-judgement[data-judgement=Good] strong{color:#a8d4fc}body[data-art-theme=classic] .rhythm-judgement[data-judgement=Miss] strong{color:#f6aa9f}body[data-art-theme=classic] .rhythm-combo-milestone{border-block-color:rgba(227,246,173,.55);color:#e3f6ad;background:rgba(7,28,34,.86)}body[data-art-theme=classic] .rhythm-board-message{--rhythm-ink: #edf5e9;--rhythm-muted: #b1ccca;--rhythm-paper: #12333b;--rhythm-line: rgba(189, 222, 211, .32);--rhythm-accent: #c6e89a;--rhythm-on-accent: #143d3a;background:rgba(10,37,45,.92)}body[data-art-theme=classic] .rhythm-ready-keys kbd{border-color:var(--lane-color);color:var(--lane-color)}body[data-art-theme=classic] .rhythm-countdown{color:#e4f5a4;text-shadow:0 4px 0 #09252c}body[data-art-theme=classic] .rhythm-buffering{background:#123640;color:#d7ece3;border-color:#3c6268}body[data-art-theme=classic] .rhythm-pad{border-color:#50737b;border-bottom-color:#08252d;background:#173d46;color:var(--lane-color)}body[data-art-theme=classic] .rhythm-pad[data-held=true]{border-color:var(--lane-color)}@keyframes rhythm-receptor-pulse{0%{scale:.8;filter:drop-shadow(0 0 12px currentColor)}45%{scale:1.15}to{scale:1;filter:none}}@keyframes rhythm-hit-beam{0%{opacity:.5;scale:.65 1}to{opacity:0;scale:1.05 1}}@keyframes rhythm-hit-ring{0%{opacity:.9;scale:.7}to{opacity:0;scale:2.3}}@keyframes rhythm-hit-particle{0%{opacity:1;transform:translate(-50%,-50%) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)),calc(-50% + var(--particle-y))) rotate(var(--particle-turn))}}@keyframes rhythm-judgement-pop{0%{scale:.72;opacity:.6}60%{scale:1.08}to{scale:1;opacity:1}}@keyframes rhythm-milestone{0%{transform:translate(-50%,8px) scale(.85);opacity:0}14%,75%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%,-5px) scale(1);opacity:0}}@media (max-width: 999px){.rhythm-ui{--rhythm-board-width: min(560px, calc(100vw - 32px));padding-inline:16px;gap:10px}.rhythm-body{display:grid;grid-template-rows:minmax(0,1fr) min(100px,12vh);gap:4px}.rhythm-play-area{grid-row:1}.rhythm-stage-area{grid-row:2;position:static;justify-self:center;width:min(240px,44vw);height:100%}.rhythm-track-heading h1{font-size:20px}.rhythm-track-heading p{font-size:10px}.rhythm-scorebar dd{font-size:22px}.rhythm-judgement strong{font-size:30px}}@media (max-width: 600px){.rhythm-ui{--rhythm-board-width:calc(100vw - 24px);padding:max(10px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom));gap:8px}.rhythm-topbar{gap:8px}.rhythm-back{padding:8px 10px;font-size:11px}.rhythm-back kbd{display:none}.rhythm-scorebar{gap:12px;padding:7px 9px}.rhythm-scorebar dt{font-size:9px}.rhythm-scorebar dd{font-size:19px}.rhythm-play-area{gap:6px}.rhythm-track-heading h1{font-size:18px}.rhythm-track-heading p{margin-top:2px}.rhythm-pad{min-height:46px;gap:8px}.rhythm-pad>kbd{font-size:20px}.rhythm-receptor,.rhythm-note{width:70%;max-width:62px;height:42px}.rhythm-key-glyph{font-size:24px}.rhythm-judgement strong{font-size:28px}.rhythm-judgement span{font-size:13px}.rhythm-board-message{gap:8px;padding:18px}.rhythm-board-message>strong{font-size:24px}.rhythm-board-message>span{font-size:11px}.rhythm-footer{grid-template-columns:minmax(40px,1fr) auto auto;gap:6px 8px}.rhythm-progress{gap:5px;font-size:10px;padding-inline:5px}.rhythm-timing>summary{min-height:40px;font-size:11px}.rhythm-timing-content{gap:3px 7px;padding:5px 8px;font-size:10px}.rhythm-actions{gap:5px}.rhythm-actions button{min-height:40px;padding:8px 12px;font-size:12px}}@media (max-height: 540px){.rhythm-ui{gap:6px;padding-block:8px}.rhythm-body{grid-template-rows:minmax(0,1fr) 54px}.rhythm-scorebar dd{font-size:18px}.rhythm-track-heading h1{font-size:16px}.rhythm-track-heading p{display:none}.rhythm-pad{min-height:38px}.rhythm-board-message{padding:14px}}.rhythm-ui[data-reduced-motion=true] .rhythm-receptor .rhythm-key-glyph,.rhythm-ui[data-reduced-motion=true] .rhythm-hit-beam,.rhythm-ui[data-reduced-motion=true] .rhythm-hit-ring,.rhythm-ui[data-reduced-motion=true] .rhythm-judgement strong,.rhythm-ui[data-reduced-motion=true] .rhythm-combo-milestone{animation:none}.rhythm-ui[data-reduced-motion=true] .rhythm-hit-beam{opacity:.12}.rhythm-ui[data-reduced-motion=true] .rhythm-hit-ring{opacity:.6}.rhythm-ui[data-reduced-motion=true] .rhythm-combo-milestone{transform:translate(-50%)}.rhythm-ui[data-reduced-motion=true] .rhythm-pad[data-held=true]{transform:none}@media (prefers-reduced-motion: reduce){.rhythm-ui,.rhythm-ui *,.rhythm-highway:before{transition:none}.rhythm-hit-particle{display:none}.rhythm-receptor .rhythm-key-glyph,.rhythm-hit-beam,.rhythm-hit-ring,.rhythm-judgement strong,.rhythm-combo-milestone{animation:none!important}.rhythm-hit-beam{opacity:.12}.rhythm-hit-ring{opacity:.6}.rhythm-combo-milestone{transform:translate(-50%)}.rhythm-pad[data-held=true]{transform:none}}.info-menu{position:relative;flex:0 0 auto;pointer-events:auto}.info-menu-trigger{color:var(--color-text-muted)}.info-menu-trigger[aria-expanded=true]{color:var(--color-text);background:var(--color-surface-hover)}.info-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:var(--z-popover);min-width:150px;padding:5px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface);box-shadow:0 5px 18px var(--color-shadow-soft)}.info-menu-panel>a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:9px 12px;border-radius:var(--radius-small);font-size:13px}.info-menu-panel>a:hover,.info-menu-panel>a:focus-visible{background:var(--color-surface-hover)}.room-interface--seated .info-menu-trigger{background:var(--color-surface-translucent);border:1px solid var(--color-border-subtle)}.piano-asset-stack{position:absolute;top:calc(max(16px,env(safe-area-inset-top)) + 56px);right:max(16px,env(safe-area-inset-right));width:min(236px,calc(100vw - 32px));display:grid;gap:8px;pointer-events:none;z-index:5}.piano-asset-progress{padding:12px 14px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-surface-translucent);color:var(--color-text);font-size:12px;line-height:1.4;pointer-events:none;z-index:5}.piano-asset-progress,.piano-asset-progress :where(button,small){transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--theme-duration, 1.1s);transition-timing-function:var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.piano-asset-progress progress::-webkit-progress-bar,.piano-asset-progress progress::-webkit-progress-value{transition:background-color var(--theme-duration, 1.1s) var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.piano-asset-progress progress::-moz-progress-bar{transition:background-color var(--theme-duration, 1.1s) var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.piano-asset-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.piano-asset-heading>span:last-child{font-variant-numeric:tabular-nums}.piano-asset-progress progress{display:block;width:100%;height:4px;margin:10px 0 6px;border:0;border-radius:3px;overflow:hidden;accent-color:var(--color-accent)}.piano-asset-progress progress::-webkit-progress-bar{background:var(--color-border-subtle)}.piano-asset-progress progress::-webkit-progress-value{background:var(--color-accent)}.piano-asset-progress progress::-moz-progress-bar{background:var(--color-accent)}.piano-asset-progress small{color:var(--color-text-muted);font-size:11px;font-variant-numeric:tabular-nums}.piano-asset-progress button{pointer-events:auto;min-height:36px;padding:6px 10px;border:1px solid var(--color-border-subtle);border-radius:6px;color:var(--color-text);background:var(--color-surface)}@media (max-width: 600px){.piano-asset-stack{top:calc(max(16px,env(safe-area-inset-top)) + 148px);width:210px}.piano-asset-progress button{min-height:40px;padding:8px 12px}}@media (prefers-reduced-motion: reduce){.piano-asset-progress,.piano-asset-progress *{transition:none}.piano-asset-progress progress::-webkit-progress-bar,.piano-asset-progress progress::-webkit-progress-value{transition:none}.piano-asset-progress progress::-moz-progress-bar{transition:none}}.guestbook-reader{color:inherit;margin-top:32px}.guestbook-reader-form,.guestbook-reader :where(input,button,label,span,p,time,li,strong){transition-property:color,background-color,border-color,box-shadow;transition-duration:var(--theme-duration, 1.1s);transition-timing-function:var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.guestbook-reader input::placeholder{transition:color var(--theme-duration, 1.1s) var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.guestbook-reader h1{margin:0 0 10px;font-size:24px}.guestbook-reader-intro{margin:0 0 25px;color:var(--meadow-muted, #725b43);font-size:15px;line-height:1.8}.guestbook-reader-form{display:grid;gap:10px;padding:24px;border:1px solid var(--meadow-border, #bdab8c);border-radius:12px;background:var(--meadow-reader-heading, #e8d9bc)}.guestbook-reader-form label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;font-weight:600}.guestbook-reader-form label:not(:first-child){margin-top:8px}.guestbook-reader-form label span{color:var(--meadow-muted, #725b43);font-size:12px;font-weight:400}.guestbook-reader input{box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--meadow-reader-line, #bdab8c);border-radius:6px;padding:11px 13px;background:var(--meadow-reader-paper, #eadcc0);color:var(--meadow-ink, #5c422d);font:inherit;font-size:16px}.guestbook-reader input::placeholder{color:var(--meadow-muted, #725b43)}.guestbook-reader input:focus-visible,.guestbook-reader button:focus-visible{outline:3px solid var(--meadow-focus, #60452f);outline-offset:3px}.guestbook-reader button{min-height:42px;border:1px solid var(--meadow-accent, #60452f);border-radius:6px;padding:10px 15px;background:var(--meadow-accent, #60452f);color:var(--meadow-accent-ink, #eadcc0);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.guestbook-reader button:hover:not(:disabled){filter:brightness(.91)}.guestbook-reader button:disabled{opacity:.6;cursor:wait}.guestbook-reader-submit{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:6px}.guestbook-reader-submit p{flex:1;margin:0;font-size:12px;color:var(--meadow-muted, #725b43);line-height:1.7}.guestbook-reader-submit button{flex-shrink:0}.guestbook-reader-error{margin:8px 0 0;color:#9e3f37;font-size:13px;line-height:1.7}.guestbook-reader-notice{margin:0;color:var(--meadow-accent, #60452f);font-size:13px;line-height:1.7}.guestbook-reader-notice:empty{display:none}.guestbook-reader-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 13px}.guestbook-reader-list-heading h3{margin:0;font-size:16px}.guestbook-reader-list-heading button{padding:6px 11px;min-height:36px;background:transparent;color:var(--meadow-accent, #60452f);border-color:var(--meadow-reader-line, #bdab8c);font-size:12px}.guestbook-reader-list-heading button:hover:not(:disabled){background:var(--meadow-reader-heading, #e8d9bc)}.guestbook-reader-empty,.guestbook-reader-limit{font-size:13px;color:var(--meadow-muted, #725b43);line-height:1.8}.guestbook-reader-entries{list-style:none;padding:0;margin:0}.guestbook-reader-entries li{padding:20px 0;border-bottom:1px solid var(--meadow-border, #bdab8c)}.guestbook-reader-entries header{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.guestbook-reader-entries strong{font-size:14px;overflow-wrap:anywhere}.guestbook-reader-entries time{flex-shrink:0;font-size:11px;color:var(--meadow-muted, #725b43)}.guestbook-reader-entries li p{margin:9px 0 0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}@media (max-width: 600px){.guestbook-reader-form{padding:17px}.guestbook-reader-submit{align-items:stretch;flex-direction:column;gap:10px}.guestbook-reader-entries header{flex-wrap:wrap;gap:6px 12px}}body[data-night=true] .guestbook-reader-error{color:#f0a49b}body[data-art-theme=classic][data-night=true] .guestbook-reader-error{color:#f4aca1}@container (max-width: 470px){.guestbook-reader-form{padding:17px}.guestbook-reader-submit{align-items:stretch;flex-direction:column;gap:10px}.guestbook-reader-entries header{flex-wrap:wrap;gap:6px 12px}}@media (prefers-reduced-motion: reduce){.guestbook-reader *,.guestbook-reader input::placeholder{transition:none}}.tour-entry{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;margin-top:16px;padding:8px 13px;color:var(--color-text);background:var(--control-surface, var(--color-surface));box-shadow:0 1px 3px var(--color-shadow-soft, rgba(0, 0, 0, .08));border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);font-size:13px;pointer-events:auto}.tour-entry>svg{width:16px;height:16px}.tour-entry:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.meadow-interface,.meadow-record{--meadow-ink: #5c422d;--meadow-muted: #725b43;--meadow-paper: rgba(242, 230, 206, .97);--meadow-accent: #60452f;--meadow-accent-ink: #f2e6ce;--meadow-border: #bdab8c;--meadow-reader-paper: #f2e6ce;--meadow-reader-heading: #e8d9bc;--meadow-reader-strip: #e8d9bc;--meadow-reader-line: #bdab8c;--meadow-focus: #60452f}body[data-night=true] .meadow-interface,body[data-night=true] .meadow-record{--meadow-ink: #d8d4ca;--meadow-muted: #aaa79e;--meadow-paper: rgba(14, 16, 17, .97);--meadow-accent: #d8d4ca;--meadow-accent-ink: #050607;--meadow-border: #414440;--meadow-reader-paper: #0e1011;--meadow-reader-heading: #181a1a;--meadow-reader-strip: #050607;--meadow-reader-line: #414440;--meadow-focus: #d8d4ca}body[data-art-theme=classic] :is(.meadow-interface,.meadow-record){--meadow-ink: #254035;--meadow-muted: #526658;--meadow-paper: rgba(250, 252, 241, .94);--meadow-accent: #426e66;--meadow-accent-ink: #fff;--meadow-border: rgba(64, 87, 63, .2);--meadow-reader-paper: #f8faef;--meadow-reader-heading: #e8eedb;--meadow-reader-strip: #e8eedb;--meadow-reader-line: #ccd7c3;--meadow-focus: #193e50}body[data-art-theme=classic] :is(.meadow-interface,.meadow-record)[data-room=piano]{--meadow-accent: #81622c}body[data-art-theme=classic] :is(.meadow-interface,.meadow-record)[data-room=blog]{--meadow-accent: #53647c}body[data-art-theme=classic] :is(.meadow-interface,.meadow-record)[data-room=ai]{--meadow-accent: #56713e}body[data-art-theme=classic][data-night=true] :is(.meadow-interface,.meadow-record){--meadow-ink: #e0e9de;--meadow-muted: #acbcad;--meadow-paper: rgba(24, 36, 31, .94);--meadow-accent: #a0cbb9;--meadow-accent-ink: #1a3028;--meadow-border: rgba(164, 187, 165, .25);--meadow-reader-paper: #1b2722;--meadow-reader-heading: #28372d;--meadow-reader-strip: #28372d;--meadow-reader-line: #425347;--meadow-focus: #a0d6cf}body[data-art-theme=classic][data-night=true] :is(.meadow-interface,.meadow-record)[data-room=piano]{--meadow-accent: #d5bd87}body[data-art-theme=classic][data-night=true] :is(.meadow-interface,.meadow-record)[data-room=blog]{--meadow-accent: #aec6dc}body[data-art-theme=classic][data-night=true] :is(.meadow-interface,.meadow-record)[data-room=ai]{--meadow-accent: #b7cb95}.tour-entry,.meadow-interface,.meadow-record,.meadow-back,.meadow-location,.meadow-nearby,.meadow-map,.meadow-list,.meadow-sector,.meadow-map-house,.meadow-map-robot,.meadow-location-dot,.meadow-walk-controls>p,.meadow-support-icon,.meadow-record-context,.meadow-record-navigation,.meadow-video,.meadow-interface :where(a,button:not(.meadow-walk-key),p,h1,h2,h3,span,kbd,li),.meadow-record :where(a,button,input,label,p,h1,h2,h3,span,time,small,dt,blockquote,pre,th,td){transition-property:color,background-color,border-color,box-shadow,fill,stroke;transition-duration:var(--theme-duration, 1.1s);transition-timing-function:var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.meadow-walk-key,.meadow-walk-key *{transition:none}.meadow-interface{position:absolute;inset:0;color:var(--meadow-ink);pointer-events:none}.meadow-interface:focus{outline:none}.meadow-interface button,.meadow-interface a,.meadow-record button,.meadow-record a{touch-action:manipulation}.meadow-interface button:focus-visible,.meadow-interface a:focus-visible,.meadow-record :focus-visible{outline:3px solid var(--meadow-focus);outline-offset:3px}.meadow-heading{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));display:flex;flex-direction:column;align-items:flex-start;gap:12px}.meadow-back{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 15px;background:var(--meadow-paper);border:1px solid var(--meadow-border);border-radius:7px;pointer-events:auto;font-size:13px}.meadow-back>span:first-child{font-size:20px}.meadow-interface kbd{padding:2px 5px;border:1px solid currentColor;border-radius:3px;font-family:inherit;font-size:10px;line-height:1.2;opacity:.65}.meadow-location{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--meadow-paper);border-radius:5px}.meadow-location h1{margin:0;font-size:14px;font-weight:600;line-height:1.3}.meadow-location>span:last-child{font-size:11px;color:var(--meadow-muted)}.meadow-location-dot{width:8px;height:8px;background:var(--meadow-accent);border-radius:50%}.meadow-nearby{position:absolute;bottom:max(29px,calc(env(safe-area-inset-bottom) + 16px));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:22px;max-width:min(530px,calc(100% - 390px));padding:14px 16px 14px 19px;background:var(--meadow-paper);border:1px solid var(--meadow-border);border-radius:8px}.meadow-nearby p{margin:0;font-size:11px;line-height:1.5;color:var(--meadow-muted)}.meadow-nearby h2{margin:4px 0 0;font-size:16px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;word-break:keep-all}.meadow-read{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:44px;padding:9px 13px;background:var(--meadow-accent);color:var(--meadow-accent-ink);border-radius:5px;font-size:13px;pointer-events:auto}.meadow-map{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(22px,calc(env(safe-area-inset-bottom) + 10px));width:146px;padding:7px 7px 0;background:var(--meadow-paper);border:1px solid var(--meadow-border);border-radius:8px;pointer-events:auto}.meadow-map-grid{position:relative;display:grid;grid-template:1fr 1fr / 1fr 1fr;gap:3px;height:104px}.meadow-sector{min-width:0;position:relative;font-size:11px;color:var(--meadow-ink);background:var(--meadow-reader-heading);border:1px solid var(--meadow-reader-line);border-radius:2px}.meadow-sector[data-room=developer]{grid-area:2 / 2}.meadow-sector[data-room=piano]{grid-area:1 / 2}.meadow-sector[data-room=blog]{grid-area:1 / 1}.meadow-sector[data-room=ai]{grid-area:2 / 1}.meadow-sector[aria-current=location]{box-shadow:inset 0 0 0 2px var(--meadow-accent);font-weight:650}.meadow-map-house{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:23px;height:23px;background:var(--meadow-reader-paper);border:1px solid var(--meadow-reader-line);color:var(--meadow-ink);border-radius:3px;font-size:22px;line-height:1;pointer-events:none}.meadow-map-robot{position:absolute;width:7px;height:7px;margin:-3.5px;background:var(--meadow-accent);border:1.5px solid var(--meadow-reader-paper);border-radius:50%;pointer-events:none}.meadow-map>p{margin:6px 0 0;font-size:10px;text-align:center;color:var(--meadow-muted)}.meadow-list-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:35px;font-size:11px;padding:0 4px}.meadow-list-toggle>span{font-size:18px}.meadow-list{position:absolute;left:0;bottom:calc(100% + 10px);width:315px;max-height:min(390px,calc(100dvh - 330px));padding:12px 14px 8px;display:flex;flex-direction:column;background:var(--meadow-reader-paper);border:1px solid var(--meadow-reader-line);border-radius:8px;box-shadow:0 8px 24px #000c0626}.meadow-list>header{display:flex;justify-content:space-between;align-items:center;gap:16px}.meadow-list h2{margin:0;font-size:14px;font-weight:600}.meadow-list>header>button{display:grid;place-items:center;min-width:36px;min-height:36px;font-size:23px}.meadow-list>p{margin:0 0 10px;color:var(--meadow-muted);font-size:11px;line-height:1.5}.meadow-list-groups{min-height:0;overflow-y:auto;overscroll-behavior:contain}.meadow-list-group+.meadow-list-group{margin-top:16px}.meadow-list-group>h3{margin:0 0 4px;padding-bottom:6px;color:var(--meadow-muted);font-size:11px;font-weight:600;border-bottom:1px solid var(--meadow-reader-line)}.meadow-list ol{list-style:none;margin:0;padding:0}.meadow-list li+li{border-top:1px solid var(--meadow-border)}.meadow-list li>button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;width:100%;text-align:left;white-space:normal;line-height:1.45;padding:7px 3px;font-size:12px}.meadow-list li>button[aria-current=location]{font-weight:650;color:var(--meadow-accent)}.meadow-list-read{flex-shrink:0;font-size:10px;color:var(--meadow-muted)}.meadow-walk-controls{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(22px,calc(env(safe-area-inset-bottom) + 10px));display:flex;flex-direction:column;align-items:center;gap:9px}.meadow-walk-controls>p{margin:0;padding:5px 9px;border-radius:4px;background:var(--meadow-paper);font-size:11px;color:var(--meadow-muted);text-align:center;line-height:1.6}.meadow-walk-controls>p>span{display:block}.meadow-walk-pad{display:grid;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:3px}.meadow-walk-key{display:grid;place-items:center;background:var(--meadow-paper);border:1px solid var(--meadow-border);border-radius:7px;font-size:22px;font-weight:400;pointer-events:auto;touch-action:none!important;user-select:none;-webkit-user-select:none}.meadow-walk-key:active:not(:disabled){background:var(--meadow-reader-heading)}.meadow-walk-key--up{grid-area:1 / 2}.meadow-walk-key--left{grid-area:2 / 1}.meadow-walk-key--down{grid-area:2 / 2}.meadow-walk-key--right{grid-area:2 / 3}.meadow-record{container-type:inline-size;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;color:var(--meadow-ink);background:var(--meadow-reader-paper);font-family:var(--font-body, sans-serif);overflow:hidden;border-radius:4px}.meadow-record-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--meadow-muted) var(--meadow-reader-heading);scrollbar-width:thin;padding:1.2em 1.35em;font-size:clamp(13px,1.8cqw,20px)}.meadow-record-scroll>article{max-width:44em;margin-inline:auto}.meadow-record-date{margin:0 0 .65em;color:var(--meadow-muted);font-size:.78em;line-height:1.4}.meadow-record h1{margin:0 0 .55em;max-width:26em;font-size:clamp(22px,4cqw,43px);line-height:1.24;letter-spacing:-.035em;font-weight:650;overflow-wrap:anywhere;word-break:keep-all}.meadow-record-text{max-width:40em;margin:0;font-size:1em;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}.meadow-record-text+.meadow-record-text{margin-top:1em}.meadow-record-links{display:flex;flex-wrap:wrap;align-items:center;column-gap:1.4em;row-gap:.2em;margin-top:.8em}.meadow-record-links>a,.meadow-record-links>button{display:inline-flex;align-items:center;min-height:2.8em;color:var(--meadow-accent);font-size:.85em;font-weight:600;text-decoration:underline;text-underline-offset:.25em;white-space:normal;text-align:left}.meadow-record-links:empty{display:none}.meadow-record-context{margin-top:1.4em;padding-top:.95em;border-top:1px solid var(--meadow-reader-line)}.meadow-record-context h2{margin:0 0 .4em;color:var(--meadow-muted);font-size:.8em;font-weight:600}.meadow-record-context p{margin:0;max-width:47em;color:var(--meadow-muted);font-size:.8em;line-height:1.7;word-break:keep-all}.meadow-record-navigation{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:1em;padding:.4em 1.3em;border-top:1px solid var(--meadow-reader-line);font-size:clamp(11px,1.5cqw,16px);line-height:1.35}.meadow-record-navigation>button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:2.8em;font-size:1em;color:var(--meadow-accent)}.meadow-record-navigation>span{color:var(--meadow-muted);font-size:.78em}.meadow-support{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:20em;padding:1.8em 1em;text-align:center}.meadow-support-icon{width:5.5em;height:5.5em;margin-bottom:1.35em;color:var(--meadow-accent)}.meadow-support h1{margin-bottom:.6em}.meadow-support .meadow-record-text{max-width:25em}.meadow-support-action{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:44px;padding:.8em 1.1em;border:1px solid transparent;border-radius:6px;background:var(--meadow-accent);color:var(--meadow-accent-ink);font-size:.9em;font-weight:600;text-decoration:none;white-space:normal;text-align:center;pointer-events:auto;line-height:1.4}.meadow-support>.meadow-support-action{margin-top:1.65em}.meadow-support-action:disabled,.meadow-support-action[aria-disabled=true]{color:var(--meadow-muted);background:var(--meadow-reader-heading);border-color:var(--meadow-reader-line);cursor:default}.meadow-support-action:hover:not(:disabled):not([aria-disabled="true"]){filter:brightness(1.08)}.meadow-nearby .meadow-support-action{max-width:210px;font-size:13px}.meadow-music-credits{display:grid;gap:.35em;margin:.8em 0 1.1em;font-size:.82em;line-height:1.65}.meadow-music-credits>div{display:grid;grid-template-columns:5.4em minmax(0,1fr);gap:.6em}.meadow-music-credits dt{color:var(--meadow-muted)}.meadow-music-credits dd{margin:0;word-break:keep-all;overflow-wrap:anywhere}.meadow-performance{margin-top:1.4em;max-width:39em}.meadow-video{width:100%;aspect-ratio:16 / 9;overflow:hidden;background:var(--meadow-reader-heading);border:1px solid var(--meadow-reader-line);border-radius:4px}.meadow-video>iframe,.meadow-video-open{display:flex;width:100%;height:100%;min-height:0;border:0}.meadow-video-open{align-items:center;justify-content:center;gap:.8em;padding:1em;color:var(--meadow-ink);white-space:normal;text-align:left}.meadow-video-play{display:grid;place-items:center;flex:0 0 auto;width:1.7em;height:1.7em;color:var(--meadow-accent);border:1px solid var(--meadow-reader-line);border-radius:50%;font-size:1.6em}.meadow-video-open>span:last-child{font-size:.92em;line-height:1.55}.meadow-video-open small{display:block;margin-top:.2em;color:var(--meadow-muted);font-size:.75em}.meadow-video-link{display:inline-flex;align-items:center;min-height:2.8em;gap:.3em;margin-top:.2em;color:var(--meadow-accent);font-size:.78em;text-decoration:underline;text-underline-offset:.2em}@container (max-width: 470px){.meadow-record-scroll{padding:.85em 1em}.meadow-record h1{font-size:23px}.meadow-record-navigation{padding:.3em 1em}.meadow-record-navigation>span{display:none}.meadow-support{min-height:18em;padding:1.25em .2em}.meadow-support-icon{width:4.5em;height:4.5em;margin-bottom:1em}}@media (max-width: 760px){.tour-entry{margin-top:4px;min-height:38px;gap:13px;padding:6px 10px;font-size:12px}.meadow-heading{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));gap:8px}.meadow-back{min-height:42px;padding-inline:12px;font-size:12px}.meadow-location{padding:7px 10px}.meadow-location h1{font-size:13px}.meadow-location>span:last-child{font-size:10px}.meadow-nearby{bottom:max(200px,calc(env(safe-area-inset-bottom) + 185px));max-width:calc(100% - 28px);width:max-content;gap:14px;padding:11px 12px}.meadow-nearby h2{font-size:14px}.meadow-nearby p{font-size:10px}.meadow-read{min-height:42px;padding:8px 11px;font-size:12px}.meadow-nearby .meadow-support-action{max-width:155px;font-size:12px}.meadow-read kbd{display:none}.meadow-map{left:max(12px,env(safe-area-inset-left));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:138px}.meadow-map-grid{height:94px}.meadow-list{width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 300px);bottom:calc(100% + 8px);z-index:2}.meadow-walk-controls{right:max(12px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))}.meadow-walk-controls>p{font-size:10px;padding-inline:6px}.meadow-walk-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}}@media (max-height: 480px) and (min-width: 600px){.meadow-heading{top:10px;left:12px;gap:5px}.meadow-map{left:12px;bottom:10px;width:130px}.meadow-map-grid{height:82px}.meadow-nearby{bottom:18px;max-width:calc(100% - 320px)}.meadow-list{left:calc(100% + 8px);bottom:0;width:280px;max-height:calc(100dvh - 100px)}.meadow-walk-controls{bottom:10px;right:12px}}@media (prefers-reduced-motion: reduce){.meadow-interface,.meadow-record,.meadow-interface *,.meadow-record *{scroll-behavior:auto;transition:none}}.reader-article{line-height:1.85;overflow-wrap:anywhere}.reader-article p{margin:0 0 1.2em}.reader-article h2{margin:1.6em 0 .7em;font-size:1.35em;line-height:1.45;letter-spacing:-.02em}.reader-article h3{margin:1.4em 0 .65em;font-size:1.12em}.reader-article img{display:block;max-width:100%;height:auto;margin:1.2em auto}.reader-article a{white-space:normal;color:var(--meadow-accent);text-decoration:underline;text-underline-offset:3px}.reader-article ul,.reader-article ol{padding-left:1.6em}.reader-article li{margin-bottom:.65em}.reader-article blockquote{margin:1em 0;padding:.6em 1em;border-left:3px solid var(--meadow-accent);color:var(--meadow-muted)}.reader-article pre{max-width:100%;padding:16px;overflow:auto;background:var(--meadow-reader-strip);border:1px solid var(--meadow-reader-line);border-radius:6px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.reader-article table{display:block;overflow-x:auto;max-width:100%;border-collapse:collapse}.reader-article th,.reader-article td{padding:8px;border:1px solid var(--meadow-reader-line)}.atlas-compass{position:fixed;right:max(28px,env(safe-area-inset-right));bottom:max(32px,calc(env(safe-area-inset-bottom) + 24px));width:144px;height:144px;z-index:var(--z-overlay);color:var(--color-ink);pointer-events:none;isolation:isolate}body[data-art-theme=classic] .atlas-compass{color:var(--color-text);--color-paper: var(--color-surface)}.atlas-compass,.atlas-compass:before,.atlas-compass-link,.atlas-compass-cardinal,.atlas-compass-current,.atlas-compass-tooltip,.atlas-compass-rose,.atlas-compass-rose *{transition-property:color,background-color,border-color,box-shadow,text-shadow,fill,stroke;transition-duration:var(--theme-duration, 1.1s);transition-timing-function:var(--theme-ease, cubic-bezier(.65, 0, .35, 1))}.atlas-compass:before{content:"";position:absolute;inset:15%;z-index:-1;border-radius:50%;background:var(--color-paper);box-shadow:0 1px 4px var(--color-shadow-soft, rgba(0, 0, 0, .08));opacity:.84;transition-property:background-color,box-shadow,opacity}.atlas-compass-rose{display:block;width:100%;height:100%;overflow:visible;stroke:currentColor;stroke-width:.9}.atlas-compass-fine,.atlas-compass-tick{stroke-width:.55;opacity:.65}.atlas-compass-secondary{fill:var(--color-paper);stroke-width:.65;opacity:.75}.atlas-compass-point{stroke-width:.65;stroke-linejoin:round}.atlas-compass-point--ink{fill:currentColor}.atlas-compass-point--paper,.atlas-compass-hub{fill:var(--color-paper)}.atlas-compass-selected{stroke:currentColor;stroke-width:2.8;stroke-linecap:round}.atlas-compass-link{position:absolute;width:32px;height:32px;display:grid;place-items:center;transform:translate(-50%,-50%);color:inherit;background:transparent;border-radius:50%;pointer-events:auto}.atlas-compass-cardinal{font:17px/1 Georgia,Times New Roman,serif;text-shadow:0 1px 2px var(--color-paper)}.atlas-compass-link[aria-current=page] .atlas-compass-cardinal{font-weight:700}.atlas-compass-link:focus-visible{outline:1px solid currentColor;outline-offset:2px;background:var(--color-paper)}.atlas-compass-tooltip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);padding:3px 7px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:3px;opacity:0;visibility:hidden;pointer-events:none;font:11px/1.4 var(--font-body)}.atlas-compass-link:focus-visible .atlas-compass-tooltip{opacity:1;visibility:visible}.atlas-compass-current{position:absolute;top:calc(100% + 1px);left:50%;transform:translate(-50%);font:11px/1.3 var(--font-body);color:var(--color-text-muted);text-shadow:0 1px 2px var(--color-paper)}body[data-night=true] .atlas-compass:before{opacity:.7}@media (hover: hover) and (pointer: fine){.atlas-compass-link:hover:not(:disabled){background:color-mix(in srgb,var(--color-paper) 80%,transparent)}.atlas-compass-link:hover:not(:disabled) .atlas-compass-tooltip{opacity:1;visibility:visible}}@media (max-width: 760px){.atlas-compass{width:104px;height:104px;right:max(14px,env(safe-area-inset-right));bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))}.atlas-compass-cardinal{font-size:14px}.atlas-compass-current{font-size:10px}.atlas-compass-tooltip{display:none}}@media (max-width: 600px){.room-interface:not(.room-interface--seated) .gallery-dock{inset-inline-start:max(12px,env(safe-area-inset-left));inset-inline-end:144px;width:auto;margin-inline:0;bottom:max(32px,calc(env(safe-area-inset-bottom) + 24px))}.room-interface:not(.room-interface--seated) .room-navigation{display:none}.room-interface:not(.room-interface--seated) .room-actions{justify-content:flex-start;flex-wrap:wrap}.room-interface:not(.room-interface--seated) .room-actions .room-action{flex:0 1 auto}.room-interface:not(.room-interface--seated) .piano-toolbar{justify-content:flex-start;gap:8px}.room-interface:not(.room-interface--seated) .piano-toolbar .keyboard-control{padding-inline:8px}.room-interface:not(.room-interface--seated) .piano-keyboard{width:calc(100vw - 24px);inset-inline-start:0;inset-inline-end:auto}}@media (max-width: 380px){.atlas-compass{width:88px;height:88px;right:13px}.room-interface:not(.room-interface--seated) .gallery-dock{inset-inline-end:128px}}@media (prefers-reduced-motion: reduce){.atlas-compass,.atlas-compass:before,.atlas-compass *{transition:none}}.bio-scene-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:16px}.bio-scene-controls .tour-entry{margin-top:0}.art-theme-toggle{position:relative;flex:0 0 auto;pointer-events:auto}.art-theme-symbol{display:none}body[data-view=courtyard] .room-interface .header-controls{gap:8px}.art-theme-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;width:124px;min-height:44px;padding:6px 12px;color:var(--color-text);background:var(--control-surface, var(--color-surface));border:1px solid var(--control-border, var(--color-border-subtle));border-radius:var(--radius-control);box-shadow:0 2px 8px var(--control-shadow)}.art-theme-title{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.art-theme-title>span{font-size:10px;line-height:1.15;color:var(--color-text-muted)}.art-theme-title>strong{font-size:12px;line-height:1.3;font-weight:500}.art-theme-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:var(--z-popover);width:164px;padding:5px;border:1px solid var(--color-border-subtle);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface);box-shadow:0 5px 18px var(--color-shadow-soft)}.art-theme-menu>button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;padding:9px 11px;border-radius:var(--radius-small);font-size:13px;text-align:left}.art-theme-menu>button[aria-checked=true]{color:var(--color-accent);font-weight:600}.art-theme-menu>button:hover:not(:disabled),.art-theme-menu>button:focus-visible{background:var(--color-surface-hover)}.art-theme-trigger,.art-theme-title>span,.art-theme-menu,.art-theme-menu>button{transition:color var(--theme-duration, 1.1s) var(--theme-ease, ease),background-color var(--theme-duration, 1.1s) var(--theme-ease, ease),border-color var(--theme-duration, 1.1s) var(--theme-ease, ease),box-shadow var(--theme-duration, 1.1s) var(--theme-ease, ease)}@media (max-width: 760px){.bio-scene-controls{margin-top:4px}.header-controls .art-theme-trigger{width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.header-controls .art-theme-title,.header-controls .art-theme-chevron{display:none}.header-controls .art-theme-symbol{display:block}}@media (max-width: 480px){.personal-bio .bio-scene-controls{position:absolute;top:0;right:0;margin-top:0}.personal-bio .profile-links{margin-top:60px}.room-interface:not(.room-interface--seated) .gallery-header:not(.gallery-header--reading){inset-block-start:calc(max(16px,env(safe-area-inset-top)) + 52px);inset-inline-end:max(16px,env(safe-area-inset-right))}body[data-view=courtyard] .room-interface .header-controls{gap:4px}.room-interface--seated .gallery-header{display:block}.room-interface--seated .header-controls{justify-content:flex-end;margin-top:8px}.room-interface--seated .piano-seat-hint{top:calc(max(var(--space-16),calc(env(safe-area-inset-top) + var(--space-16))) + 48px)}.room-interface:not(.room-interface--seated) .piano-asset-stack{top:calc(max(16px,env(safe-area-inset-top)) + 164px)}.room-interface--seated .piano-asset-stack{top:calc(max(16px,env(safe-area-inset-top)) + 182px)}}@media (max-width: 380px){.header-controls .art-theme-trigger{width:36px;height:40px;min-height:40px}}@media (prefers-reduced-motion: reduce){.art-theme-toggle,.art-theme-toggle *{transition:none}}@font-face{font-family:Allura;src:url(/fonts/Allura-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}.room-interface[data-onboarding]:not([data-onboarding="done"])>:not(.room-onboarding):not(.gallery-stage){visibility:hidden;pointer-events:none}.room-onboarding{--onboarding-ink: #30271f;--onboarding-paper: #eadcc0;position:absolute;inset:0;z-index:30;pointer-events:auto;color:var(--onboarding-ink);isolation:isolate;touch-action:pinch-zoom}.room-onboarding[data-phase=writing]{cursor:pointer}body[data-art-theme=classic] .room-onboarding{--onboarding-ink: #254b4e;--onboarding-paper: #f1ede3}body[data-night=true] .room-onboarding{--onboarding-ink: #efe0bd;--onboarding-paper: #151412}body[data-art-theme=classic][data-night=true] .room-onboarding{--onboarding-paper: #183c43}.onboarding-heading{position:absolute;top:max(8px,env(safe-area-inset-top));left:20px;right:20px;text-align:center}.onboarding-heading h1{margin:0;font:400 clamp(40px,4vw,57px)/1.1 "Allura",cursive;font-synthesis:none}.onboarding-wordmark{font-family:var(--font-display);font-size:.72em;font-weight:var(--font-weight-bold);font-style:normal;line-height:var(--line-height-tight);letter-spacing:-.045em}.onboarding-heading p{margin:4px 0 0;font:13px/1.45 var(--font-body, sans-serif)}.onboarding-heading,.onboarding-footer{text-shadow:0 0 8px var(--onboarding-paper),0 0 8px var(--onboarding-paper)}.onboarding-plan{position:absolute}.onboarding-annotation{position:absolute;width:var(--annotation-width);transform:translate(-50%,-50%);opacity:0;transition:opacity .16s}.onboarding-annotation[data-visible=true]{opacity:1}.onboarding-handwriting{position:relative;text-align:center;font-family:Allura,Apple Chancery,cursive;font-weight:400;font-synthesis:none;font-kerning:normal;font-variant-ligatures:common-ligatures contextual}.onboarding-handwriting:before{content:"";position:absolute;z-index:-1;inset:-13px -12px;border-radius:45% 40% 44% 39%;background:var(--onboarding-paper);filter:blur(12px);opacity:.88}.onboarding-handwriting h2{min-height:41px;margin:0;font:inherit;font-size:min(clamp(31px,3vw,42px),calc(var(--annotation-width) * .21));line-height:1.08}.onboarding-handwriting p{min-height:79px;margin:4px 0 0;font:inherit;font-size:clamp(24px,2.2vw,29px);line-height:1.04}.handwritten-text{display:block}.handwritten-line-svg{display:block;max-width:100%;height:auto;margin-inline:auto;overflow:visible}.handwritten-outline{stroke:none}.handwritten-nib{fill:none;stroke:currentColor;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.onboarding-underline{display:block;width:85px;height:8px;margin:0 auto 3px;fill:none;stroke:currentColor;stroke-width:.9;stroke-linecap:round}.onboarding-underline path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .45s ease-out}.onboarding-underline[data-drawn=true] path{stroke-dashoffset:0}.onboarding-footer{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-progress{margin:0;font:400 24px/1.2 Allura,cursive}.onboarding-next{min-height:44px;padding:6px 8px;border:0;border-radius:3px;background:transparent;color:inherit;cursor:pointer;text-align:inherit}.onboarding-next:hover{text-decoration:underline;text-underline-offset:4px}.onboarding-next:focus-visible{outline:2px solid currentColor;outline-offset:3px}.onboarding-controls{display:flex;align-items:center;gap:14px}.onboarding-skip,.onboarding-continue{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 12px;border:1px solid transparent;border-radius:3px;color:inherit;background:transparent;font:13px/1.3 var(--font-body, sans-serif);cursor:pointer}.onboarding-skip span{margin-left:9px;opacity:.65;font-size:10px;border:1px solid currentColor;border-radius:3px;padding:2px 3px}.onboarding-skip:hover,.onboarding-continue:hover{background:var(--onboarding-paper);border-color:currentColor}.onboarding-skip:focus-visible,.onboarding-continue:focus-visible{outline:2px solid currentColor;outline-offset:3px}.onboarding-continue{background:var(--onboarding-paper);border-color:currentColor}.room-onboarding[data-phase=tour] .onboarding-plan,.room-onboarding[data-phase=tour] .onboarding-heading{opacity:0;transition:opacity .25s}.room-onboarding[data-landscape=true] .onboarding-heading{top:8px}.room-onboarding[data-landscape=true] .onboarding-heading h1{font-size:34px}.room-onboarding[data-landscape=true] .onboarding-heading p{display:none}.room-onboarding[data-landscape=true] .onboarding-annotation[data-column="0"]{left:calc(var(--annotation-width) / -2 - 12px)!important}.room-onboarding[data-landscape=true] .onboarding-annotation[data-column="1"]{left:calc(100% + var(--annotation-width) / 2 + 12px)!important}.room-onboarding[data-landscape=true] .onboarding-handwriting h2{min-height:30px;font-size:min(30px,calc(var(--annotation-width) * .21))}.room-onboarding[data-landscape=true] .onboarding-handwriting p{min-height:62px;font-size:22px}.room-onboarding[data-landscape=true] .onboarding-footer{bottom:4px}@media (max-width: 600px){.onboarding-heading{top:max(18px,env(safe-area-inset-top))}.onboarding-handwriting h2{min-height:35px;font-size:min(32px,calc(var(--annotation-width) * .21))}.onboarding-handwriting p{min-height:74px;font-size:24px}.onboarding-handwriting:before{inset:-9px -6px;filter:blur(8px)}.onboarding-footer{flex-direction:column;gap:5px}.onboarding-progress{font-size:23px}.onboarding-controls{gap:5px}}@media (prefers-reduced-motion: reduce){.onboarding-underline path,.onboarding-annotation{transition:none}}
