/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.table{display:table}.resize{resize:both}}@font-face{font-family:testType trackpad;src:url(../fonts/testtype-trackpad/testtype-trackpad.woff)format("woff");font-display:swap}@font-face{font-family:Fusion Pixel;src:url(../fonts/fusion-pixel-12px/fusion-pixel-12px-proportional-zh_hans.ttf.woff2)format("woff2");font-display:swap}:root{--ink:#22211d;--paper:#fff;--font:"testType trackpad", "Courier New", monospace;--pixel:"Fusion Pixel", "Courier New", monospace}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;margin:0}button{font:inherit}.particle-rain{background:linear-gradient(102deg, #5f574506, transparent 29%, #f4f2eb33 51%, transparent 77%), var(--paper);color:var(--ink);font-family:var(--font);height:100svh;position:relative;overflow:hidden}.book-page{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.book-page:after{content:"";mix-blend-mode:soft-light;opacity:.22;background-image:radial-gradient(#312c2238 .45px,#0000 .55px),radial-gradient(#fff9 .45px,#0000 .65px);background-position:0 0,7px 9px;background-size:9px 9px,13px 13px;position:absolute;inset:0}.cathedral-ascii{font-family:var(--font);opacity:.46;text-align:center;z-index:1;width:min(65vw,760px);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-47%)}.cathedral-ascii img{mix-blend-mode:multiply;width:100%;height:auto;display:block}.cathedral-ascii p{letter-spacing:.22em;opacity:.56;text-transform:uppercase;margin:12px 0 0;font-size:8px}.helicopter-ascii{height:auto;image-rendering:pixelated;mix-blend-mode:multiply;opacity:.82;pointer-events:none;z-index:2;width:clamp(220px,23vw,310px);animation:12s linear infinite helicopter-flight;position:absolute;top:clamp(5px,2vh,20px);left:50%;transform:translate(-50%)scaleX(1)}@keyframes helicopter-flight{0%{transform:translate(calc(39vw - 50%))scaleX(1)}47%{transform:translate(calc(-50% - 39vw))translateY(7px)scaleX(1)}50%{transform:translate(calc(-50% - 39vw))translateY(7px)scaleX(-1)}to{transform:translate(calc(39vw - 50%))scaleX(-1)}}.background-poem{color:#1e1d1947;font-smooth:never;letter-spacing:.16em;text-rendering:geometricprecision;z-index:1;font-family:SFMono-Regular,Consolas,PingFang SC,monospace;font-size:clamp(10px,.8vw,13px);line-height:1.8;position:absolute;inset:0}.background-poem:before,.background-poem:after{content:"";pointer-events:none;position:absolute}.layout-1:before{border:1px dashed #0000;border-top-color:#1d1c182b;border-radius:50%;width:clamp(250px,41vw,560px);height:clamp(120px,22vw,270px);top:11%;left:17%;transform:rotate(12deg)}.layout-1:after{border:1px dashed #0000;border-bottom-color:#1d1c1821;border-radius:50%;width:clamp(160px,28vw,390px);height:clamp(100px,17vw,210px);top:29%;left:35%;transform:rotate(-18deg)}.layout-3:before{border:1px dashed #0000;border-top-color:#1d1c1829;border-radius:50%;width:clamp(340px,56vw,720px);height:clamp(110px,20vw,240px);top:18%;left:15%;transform:rotate(27deg)}.background-piece{image-rendering:pixelated;text-shadow:1px 0 #ffffff7a,-1px 0 #231f1914;white-space:nowrap;margin:0;animation:4.2s steps(5,end) both typeset-arrive;position:absolute}.background-piece.large{letter-spacing:.28em;font-size:1.35em}.background-piece.small{letter-spacing:.08em;opacity:.72;font-size:.72em}.background-piece.muted{opacity:.46;font-size:.75em}.background-piece.echo{letter-spacing:.3em;opacity:.76;font-size:1.1em}.background-piece.wide{letter-spacing:.35em}.background-piece.vertical{letter-spacing:.32em;writing-mode:vertical-rl;line-height:1.45}.background-piece:nth-child(3n){animation-delay:.18s}.background-piece:nth-child(4n){animation-delay:.34s}@keyframes typeset-arrive{0%{filter:blur(1.5px);opacity:0;translate:-7px 5px}30%{filter:blur();opacity:.12;translate:3px -1px}63%{opacity:.32;translate:-1px 1px}to{opacity:.46;translate:0}}.particle-title,.particle-hint,.particle-note{font-family:var(--font);letter-spacing:.08em;z-index:2;margin:0;font-size:10px;position:absolute}.particle-title{top:21px;left:23px}.particle-hint{opacity:.44;top:21px;left:50%;transform:translate(-50%)}.particle-note{opacity:.43;bottom:20px;left:50%;transform:translate(-50%)}.mobile-guide{display:none}.sound-toggle{color:var(--ink);cursor:pointer;font-family:var(--font);letter-spacing:.08em;opacity:.54;z-index:3;background:0 0;border:0;padding:4px;font-size:10px;position:absolute;top:17px;right:19px}.sound-toggle[aria-pressed=true]{opacity:1;text-underline-offset:3px;text-decoration:underline}.particle-field{cursor:grab;touch-action:none;z-index:1;width:100%;height:100%;position:absolute;inset:0}.particle-field:active{cursor:grabbing}.is-reading .particle-field{opacity:.22;transition:opacity .25s}.poem-overlay{z-index:5;background:#f8f7f1ad;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.poem-sheet{box-shadow:none;background-color:#fffefa;background-image:radial-gradient(circle at 15% 20%,#d5cdbd1f 0 1px,#0000 1.5px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:11px 13px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:0;border-radius:1% 2.2% 1.6% 2.6%;width:100%;max-width:700px;min-height:470px;padding:49px 52px 42px;animation:.4s cubic-bezier(.18,.9,.2,1) land;position:relative;transform:rotate(-.45deg)}.poem-sheet:before,.poem-sheet:after{content:"";pointer-events:none;z-index:-1;position:absolute}.poem-sheet:before{border:1px solid #22211dc7;border-radius:1.5% 2.8% 1.6% 2.2%;inset:-3px 2px 2px -3px;transform:rotate(.42deg)}.poem-sheet:after{border:1px solid #22211d61;border-radius:2.5% 1.5% 2.4% 1.2%;inset:3px -3px -2px 4px;transform:rotate(-.32deg)}.close{cursor:pointer;font-family:var(--font);background:0 0;border:0;padding:4px;font-size:21px;line-height:1;position:absolute;top:17px;right:19px}.author{font-family:var(--font);letter-spacing:.04em;opacity:.6;margin:0 0 29px;font-size:11px}.poem-sheet h1{font-family:var(--font);letter-spacing:-.04em;margin:0 0 30px;font-size:31px;font-weight:400;line-height:1}.bilingual-verse{grid-template-columns:1fr 1fr;gap:34px;display:grid}.verse-column+.verse-column{border-left:1px dashed #22211d52;padding-left:34px}.translation-label{font-family:var(--pixel);letter-spacing:.08em;opacity:.5;margin:0 0 15px;font-size:10px}.verse-column:first-child .translation-label,.verse-column:first-child .verse{font-family:var(--font)}.verse{font-family:var(--pixel);font-size:15px;line-height:1.8}.verse p{margin:0 0 .38em}.verse.is-translation{font-family:var(--pixel);letter-spacing:.02em;font-size:15px;line-height:1.84}.release{border:0;border-bottom:1px solid var(--ink);cursor:pointer;font-family:var(--font);background:0 0;padding:0 0 3px;font-size:12px;position:absolute;bottom:31px;right:48px}@keyframes land{0%{opacity:0;transform:translateY(-30px)rotate(8deg)}}@media (width<=800px){.cathedral-ascii{width:min(78vw,670px)}}@media (width<=600px){html,body{overscroll-behavior:none}.particle-rain{height:100dvh;min-height:100svh}.book-page:after{opacity:.14}.cathedral-ascii{opacity:.38;width:min(112vw,500px);top:53%}.cathedral-ascii p{display:none}.helicopter-ascii{top:calc(env(safe-area-inset-top) + 2px);width:min(48vw,180px)}.particle-title{left:calc(env(safe-area-inset-left) + 16px);top:calc(env(safe-area-inset-top) + 15px)}.particle-hint{display:none}.sound-toggle{min-width:44px;min-height:44px;right:calc(env(safe-area-inset-right) + 10px);top:calc(env(safe-area-inset-top) + 4px);padding:10px 6px}.particle-note{bottom:calc(env(safe-area-inset-bottom) + 15px);text-align:center;width:100%;font-size:9px}.desktop-guide{display:none}.mobile-guide{display:inline}.particle-field{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.poem-overlay{padding:calc(env(safe-area-inset-top) + 16px) 22px calc(env(safe-area-inset-bottom) + 16px);align-items:center}.poem-sheet{width:min(88vw,350px);min-height:0;max-height:72dvh;padding:32px 22px 72px;overflow-y:auto}.poem-sheet h1{margin-bottom:24px;font-size:21px}.close{min-width:42px;min-height:42px;padding:9px;top:4px;right:5px}.bilingual-verse{grid-template-columns:1fr;gap:20px}.verse-column+.verse-column{border-top:1px dashed #22211d52;border-left:0;padding-top:17px;padding-left:0}.verse,.verse.is-translation{font-size:13px}.author{margin-bottom:23px}.release{bottom:22px;right:22px}}
