@charset "UTF-8";
:root{--paper:#f5f1e7;--paper-deep:#eae5d8;--ink:#243f40;--body:#3f4b47;--muted:#748078;--line:#cdd1c1;--accent:#a8583e;--white:#fffdf7;--serif:"Songti TC","Noto Serif TC","PMingLiU",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC",sans-serif;--font-size:20px;color-scheme:light}
:root[data-theme="dark"]{--paper:#17272a;--paper-deep:#203236;--ink:#e6e4d6;--body:#c7d0c8;--muted:#9aaea6;--line:#3a5151;--accent:#d79b7d;--white:#203236;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.8}body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238d8976' filter='url(%23n)' opacity='.4' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#cbd9cc;color:#173d3a}p{margin:0 0 1.4em}h1,h2,h3{margin:0;color:var(--ink);font-family:var(--serif);font-weight:500}img{max-width:100%;display:block}.shell{width:min(1200px,calc(100% - 112px));margin:auto}.skip{position:fixed;top:-80px;left:16px;z-index:99;background:var(--ink);color:var(--paper);padding:10px 20px}.skip:focus{top:10px}
.masthead{height:108px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:var(--serif);color:var(--ink);font-size:19px;letter-spacing:.13em;display:flex;align-items:center;gap:14px;line-height:1.45}.brand-mark{width:31px;height:39px;border:1px solid var(--ink);border-radius:2px 5px 5px 2px;position:relative;transform:rotate(-7deg)}.brand-mark::before{content:"";position:absolute;left:6px;top:0;height:100%;border-left:1px solid var(--line)}.brand-mark::after{content:"";position:absolute;width:12px;border-top:1px solid var(--ink);left:12px;top:17px}.brand small{display:block;font-family:Georgia,serif;font-size:9px;letter-spacing:.27em;margin-top:6px;color:var(--muted)}.header-nav{display:flex;align-items:center;gap:30px;font-size:12px;letter-spacing:.08em}.header-nav a{padding:10px 0}.header-nav a:hover{color:var(--accent)}.text-button{border:0;background:transparent;font-size:12px;letter-spacing:.06em;padding:10px 0;display:flex;gap:7px;align-items:center}.theme-glyph{width:13px;height:13px;border-radius:50%;border:1px solid currentColor;box-shadow:inset 5px 0 currentColor;display:inline-block}.external{font-family:var(--sans);margin-left:5px;font-size:11px}.eyebrow{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px}.eyebrow::before{content:"";width:25px;border-top:1px solid var(--accent)}
.hero{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;position:relative;padding:66px 0 55px;min-height:650px}.hero-text{position:relative;z-index:1;padding-bottom:34px}.hero h1{font-size:clamp(44px,4.8vw,68px);letter-spacing:.08em;line-height:1.47;margin:27px 0 25px}.hero h1 span{color:var(--accent)}.hero-intro{font-family:var(--serif);font-size:16px;line-height:2.2;color:var(--muted);max-width:360px;margin-bottom:30px}.hero-illustration{margin:0 -36px 0 -35px;position:relative;align-self:center}.hero-illustration img{width:100%;max-height:600px}.hero-illustration figcaption{text-align:center;font-family:var(--serif);font-size:12px;color:var(--muted);letter-spacing:.15em;position:relative;margin-top:-30px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:13px 21px;background:var(--ink);color:var(--paper);font-size:13px;letter-spacing:.08em;min-height:50px;transition:background .2s}.primary-link:hover{background:var(--accent);color:var(--white)}.primary-link .arrow{font-size:22px;line-height:1}.hero-footnote{margin-top:17px;font-size:10px;letter-spacing:.1em;color:var(--muted)}.serial-strip{border-block:1px solid var(--line);padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.1em}.serial-strip b{font-weight:500;color:var(--ink)}.green-dot{height:5px;width:5px;border-radius:50%;background:#678777;display:inline-block;margin-right:10px}.serif{font-family:var(--serif)}
.collection{padding:76px 0 85px;display:grid;grid-template-columns:220px 1fr;gap:65px}.collection-label .eyebrow{margin-bottom:15px}.collection-label h2{font-size:30px;letter-spacing:.15em;line-height:1.7}.collection-label p{font-size:12px;line-height:2.1;color:var(--muted);margin-top:18px;max-width:180px}.letter-row{border-block:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:60px 1fr 36px;gap:21px;align-items:start;transition:padding .2s}.letter-row:hover{padding-inline:9px}.letter-no{font-family:Georgia,serif;font-size:42px;color:#a5afa0;line-height:1.25;font-style:italic}.letter-meta{font-size:10px;letter-spacing:.1em;color:var(--muted);display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin:0 0 8px}.new-label{color:var(--accent);font-size:9px;border:1px solid var(--accent);padding:0 6px;line-height:1.8}.letter-row h3{font-size:25px;letter-spacing:.12em;margin-bottom:10px}.letter-row p{font-family:var(--serif);font-size:14px;line-height:2;color:var(--muted);max-width:520px;margin-bottom:0}.row-arrow{padding-top:30px;font-size:22px;color:var(--ink)}.next-letter{padding:23px 0;font-size:11px;letter-spacing:.08em;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.postcard{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:56px 0 65px;gap:90px}.postcard h2{font-size:28px;line-height:1.8;letter-spacing:.07em;margin-bottom:18px}.postcard p{font-family:var(--serif);font-size:15px;line-height:2.2;max-width:460px;margin:0}.rules{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.rules li{display:flex;align-items:baseline;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line);font-size:12px}.rules span{font-family:Georgia,serif;font-size:12px;color:var(--accent);font-style:italic}.rules em{font-style:normal;color:var(--muted);font-size:10px;margin-left:auto;padding-left:10px;white-space:nowrap}.footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted);letter-spacing:.04em}.footer p{margin:0;max-width:660px}.footer-links{display:flex;gap:20px;white-space:nowrap}.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.reading-nav{height:82px}.reading-nav .brand{font-size:15px}.reading-nav .brand small{display:none}.reading-nav .brand-mark{width:24px;height:31px}.reading-nav .brand-mark::after{left:10px;top:14px;width:9px}.reading-nav .header-nav{gap:25px}.reading-header{text-align:center;padding:70px 20px 43px;max-width:800px;margin:auto}.reading-header .eyebrow{justify-content:center}.reading-header .eyebrow::after{content:"";width:25px;border-top:1px solid var(--accent)}.reading-header h1{font-size:60px;letter-spacing:.24em;padding-left:.24em;margin:20px 0 15px}.reading-subtitle{font-family:var(--serif);font-size:17px;color:var(--muted);line-height:2;max-width:500px;margin:0 auto 24px}.reading-byline{font-size:10px;letter-spacing:.12em;color:var(--muted)}.reading-toolbar{position:sticky;top:0;z-index:10;background:var(--paper);border-block:1px solid var(--line);box-shadow:0 8px 18px -18px var(--ink)}.toolbar-inner{max-width:690px;margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:57px;gap:16px;padding:0 16px}.toolbar-right{display:flex;align-items:center;gap:24px}.reading-world{font-size:10px;color:var(--muted);letter-spacing:.08em}.type-controls{display:flex;gap:13px;align-items:center}.type-controls button{background:transparent;border:0;padding:6px 3px;font-family:Georgia,serif;line-height:1}.type-controls button:first-child{font-size:16px}.type-controls button:last-child{font-size:23px}.rain-button{border:0;background:transparent;font-size:11px;padding:10px 0;display:flex;align-items:center;gap:7px}.rain-button[aria-pressed="true"]{color:var(--accent)}.rain-symbol{font-size:16px}.progress{height:2px;position:absolute;bottom:-1px;left:0;background:var(--accent);width:0;transition:width .1s linear}.story{max-width:640px;margin:0 auto;padding:59px 28px 45px;font-size:var(--font-size);font-family:var(--serif);line-height:2.05;letter-spacing:.045em;overflow-wrap:break-word}.story p{margin-bottom:1.25em}.story .dialogue{padding-left:1em;color:var(--ink)}.story .letter{font-size:1.18em;font-family:var(--serif);padding:26px 23px 26px 30px;margin:33px -10px;color:var(--ink);border-left:2px solid var(--accent);background:var(--paper-deep);line-height:1.8;letter-spacing:.075em;transform:rotate(-.4deg)}.story-break{text-align:center;margin:42px 0;color:var(--muted);font-size:13px;letter-spacing:1em}.story-end{text-align:center;margin:58px 0 0!important;font-size:12px;letter-spacing:.28em;color:var(--muted)}.sources{max-width:820px;margin:0 auto 65px;padding:43px 38px 35px;border:1px solid var(--line);position:relative}.sources::before{content:"ORIGIN / 靈感的來處";position:absolute;top:-12px;left:24px;padding:0 13px;background:var(--paper);font-size:10px;letter-spacing:.1em;color:var(--accent)}.sources h2{font-size:25px;letter-spacing:.09em;margin-bottom:15px}.sources-intro{font-size:12px;line-height:2;color:var(--muted);max-width:600px;margin-bottom:26px}.source-link{display:block;border-top:1px solid var(--line);padding:19px 0 3px;margin-top:15px}.source-link:hover h3{color:var(--accent)}.source-link h3{font-size:17px;letter-spacing:.05em;display:flex;justify-content:space-between;gap:15px}.source-link p{font-size:12px;line-height:2;margin:9px 0;color:var(--muted)}.source-date{font-family:Georgia,serif;font-size:10px;color:var(--muted);margin-bottom:4px;display:block;letter-spacing:.1em}.story-finish{max-width:820px;margin:0 auto 60px;display:flex;align-items:center;justify-content:space-between;gap:20px}.outline-button{font-size:12px;letter-spacing:.08em;border:1px solid var(--line);padding:12px 20px;background:transparent;min-height:46px}.outline-button:hover{border-color:var(--ink)}.finish-links{display:flex;gap:24px;font-size:12px}.finish-links a{text-decoration:underline;text-underline-offset:5px}.next-note{font-family:var(--serif);text-align:center;color:var(--muted);font-size:15px;line-height:2.2;border-top:1px solid var(--line);padding:35px 20px 45px;max-width:820px;margin:auto}.next-note small{font-family:var(--sans);font-size:10px;letter-spacing:.1em;display:block;margin-top:10px}.resume-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 21px;background:var(--ink);color:var(--paper);font-size:12px;z-index:40;box-shadow:0 5px 20px #0002;max-width:calc(100% - 32px);width:max-content;display:flex;align-items:center;gap:18px}.resume-toast button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:2px}.resume-toast[hidden]{display:none}.reader-theme .hero-illustration{opacity:.9}
@media(min-width:1450px){.hero{min-height:710px}.hero-illustration img{max-height:650px}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero{min-height:560px;padding-top:48px}.hero h1{font-size:48px}.hero-illustration{margin-inline:-30px}.collection{grid-template-columns:180px 1fr;gap:35px}.postcard{gap:50px}.rules em{display:none}}
@media(max-width:700px){.shell{width:calc(100% - 40px)}.masthead{height:86px;gap:12px}.brand{font-size:16px;gap:11px}.brand small{font-size:8px}.brand-mark{width:25px;height:33px}.brand-mark::after{left:10px;top:14px;width:10px}.header-nav{gap:19px;font-size:11px}.header-nav .desktop-link{display:none}.text-button{font-size:11px}.hero{grid-template-columns:1fr;padding:39px 0 28px;min-height:0}.hero-text{padding-bottom:0}.hero h1{font-size:47px;line-height:1.46;margin:24px 0 21px}.hero-intro{font-size:15px;max-width:320px;margin-bottom:25px}.hero-illustration{margin:-35px -15px -15px 30px;max-width:470px;justify-self:end;pointer-events:none;width:100%;z-index:0}.hero-illustration img{max-height:370px}.hero-illustration figcaption{font-size:10px;margin-top:-8px;margin-bottom:16px}.eyebrow{font-size:9px;letter-spacing:.12em}.primary-link{gap:45px;font-size:12px}.hero-footnote{font-size:9px}.serial-strip{padding:14px 0;align-items:flex-start;font-size:10px;gap:15px}.serial-strip>span:last-child{text-align:right;font-size:9px}.collection{padding:43px 0 35px;grid-template-columns:1fr;gap:25px}.collection-label{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:20px}.collection-label .eyebrow{grid-column:1/-1;margin-bottom:9px}.collection-label h2{font-size:27px}.collection-label p{margin:0 0 3px;font-size:10px;max-width:155px}.letter-row{padding:23px 0;grid-template-columns:40px 1fr 19px;gap:12px}.letter-no{font-size:32px}.letter-meta{font-size:9px;gap:11px}.letter-row h3{font-size:23px}.letter-row p{font-size:13px}.row-arrow{font-size:20px}.next-letter{font-size:10px;gap:12px}.postcard{grid-template-columns:1fr;padding:35px 0 40px;gap:30px}.postcard h2{font-size:25px}.postcard p{font-size:14px}.rules li{gap:20px;font-size:11px}.rules em{display:inline;font-size:9px}.footer{font-size:9px;flex-direction:column;gap:15px;padding:22px 0 26px}.footer-links{gap:22px}.reading-nav{height:75px}.reading-nav .header-nav{gap:18px}.reading-nav .brand{font-size:14px;gap:9px}.reading-nav .brand-mark{display:none}.reading-header{padding:44px 20px 32px}.reading-header h1{font-size:49px;margin:17px 0 13px}.reading-subtitle{font-size:15px;max-width:290px}.reading-byline{font-size:9px;letter-spacing:.06em}.toolbar-inner{min-height:54px;padding-inline:20px}.toolbar-right{gap:21px}.reading-world{font-size:9px}.type-controls{gap:11px}.rain-button{font-size:10px}.story{font-size:calc(var(--font-size) - 1px);padding:35px 24px 35px;line-height:2.05;letter-spacing:.025em}.story .letter{padding:23px 19px;margin:29px -4px;font-size:1.08em}.story-break{margin:34px 0}.sources{margin:10px 20px 35px;padding:33px 22px 22px}.sources h2{font-size:23px}.sources-intro{font-size:11px}.source-link h3{font-size:16px}.source-link p{font-size:11px}.story-finish{margin:0 20px 36px;flex-wrap:wrap;gap:20px}.finish-links{gap:20px;font-size:11px}.outline-button{font-size:11px;padding:10px 15px}.next-note{margin:0 20px;padding:28px 10px 34px;font-size:14px}.next-note small{font-size:9px}.resume-toast{font-size:11px;bottom:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
