:root{--bg:#fff;--fg:#1c1c22;--muted:#62626e;--line:#e3e3ea;--card:#f6f6f9;--accent:#9b2335;--accent-fg:#fff;--serif:Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--rail-w:68px;--rail-w-open:248px;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131318;--fg:#ececf1;--muted:#a0a0ad;--line:#2b2b34;--card:#1c1c24;--accent:#e5737f;--accent-fg:#1a0b0e;color-scheme:dark}}:root[data-theme=dark]{--bg:#131318;--fg:#ececf1;--muted:#a0a0ad;--line:#2b2b34;--card:#1c1c24;--accent:#e5737f;--accent-fg:#1a0b0e;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-text-size-adjust:100%;margin:0;line-height:1.65}html.i18n-pending body{visibility:hidden}a{color:var(--accent)}h1{margin:0 0 .5rem;font-size:2rem;line-height:1.25}h2{margin:2rem 0 .5rem;font-size:1.25rem}p{margin:.6rem 0}.muted{color:var(--muted)}.ico{flex:none;width:22px;height:22px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content{margin-left:var(--rail-w);min-height:100vh;padding:72px 32px 64px}.page{max-width:820px;margin:0 auto}.home{text-align:center;place-items:center;min-height:calc(100vh - 136px);display:grid}.home h1{margin:0;font-size:clamp(2rem,6vw,3.6rem)}.home h1 span{display:block}.home h1 .en{color:var(--muted);margin-top:.3em;font-size:.55em;font-weight:500}.rail{--r-bg:#14141a;--r-fg:#b9b9c6;--r-hi:#fff;--r-line:#272731;width:var(--rail-w);background:var(--r-bg);color:var(--r-fg);z-index:50;flex-direction:column;transition:width .22s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.rail nav{flex-direction:column;height:100%;padding:12px 0;display:flex}.rail ul{margin:0;padding:0;list-style:none}.rail .nav.bottom{border-top:1px solid var(--r-line);margin-top:auto;padding-top:8px}.rail a{height:46px;color:var(--r-fg);white-space:nowrap;align-items:center;gap:18px;padding:0 23px;text-decoration:none;display:flex}.rail a:hover,.rail .item.current>a{color:var(--r-hi)}.rail .item.current>a{box-shadow:inset 3px 0 0 var(--accent);background:#23232d}.rail .lbl{opacity:0;transition:opacity .15s}.sub{max-height:0;transition:max-height .25s;overflow:hidden}.sub a{gap:14px;height:38px;padding-left:64px;font-size:.92rem}.sub .dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;margin-left:2px;margin-right:2px}.sub .logo{width:20px;height:20px;-webkit-mask:var(--logo) center / contain no-repeat;mask:var(--logo) center / contain no-repeat;background:currentColor;flex:none}.burger,.backdrop{display:none}@media (hover:hover) and (pointer:fine) and (width>=641px){.rail:hover,.rail:focus-within{width:var(--rail-w-open)}.rail:hover .lbl,.rail:focus-within .lbl{opacity:1}.rail .item:hover>.sub,.rail .item:focus-within>.sub,.rail .item.current>.sub{max-height:200px}}@media (width<=640px),(hover:none),(pointer:coarse){.content{margin-left:0;padding:64px 16px 48px}.rail{width:var(--rail-w-open);transition:transform .22s;transform:translate(-100%)}.rail.open{transform:none}.rail .lbl{opacity:1}.sub{max-height:none}.burger{z-index:40;border:1px solid var(--line);background:var(--bg);width:44px;height:44px;color:var(--fg);cursor:pointer;border-radius:10px;place-items:center;display:grid;position:fixed;top:10px;left:10px}.backdrop.show{z-index:45;background:#00000080;display:block;position:fixed;inset:0}h1{font-size:1.7rem}}.lang{z-index:40;position:fixed;top:10px;right:10px}.langbtn{border:1px solid var(--line);background:var(--bg);height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-weight:600;display:flex}.langmenu{background:var(--bg);border:1px solid var(--line);border-radius:10px;min-width:190px;margin:0;padding:6px;list-style:none;position:absolute;top:50px;right:0;box-shadow:0 8px 24px #0000002e}.langmenu[hidden]{display:none}.langmenu button{text-align:left;width:100%;color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px}.langmenu button:hover{background:var(--card)}.langmenu button[aria-checked=true]{color:var(--accent);font-weight:700}.loader{z-index:100;color:var(--fg);font-family:var(--serif);display:none;position:fixed;inset:0}html.loading .loader{display:block}html.loading.open .loader{pointer-events:none}.loader .panel{background:var(--bg);width:50%;transition:transform .9s cubic-bezier(.7,0,.2,1);position:absolute;top:0;bottom:0}.loader .panel.l{left:0}.loader .panel.r{right:0}html.loading.open .loader .panel.l{transform:translate(-100%)}html.loading.open .loader .panel.r{transform:translate(100%)}.loader .center{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100%;transition:opacity .4s;display:flex;position:relative}html.loading.open .loader .center{opacity:0}.loader .char{width:200px;height:auto;color:var(--accent);animation:1.6s ease-in-out infinite bob;display:block}.loader .egg{cursor:pointer;display:block}.ltext{letter-spacing:.02em;flex-direction:column;align-items:center;font-size:1.5rem;display:flex}.ltext .greet{font-family:var(--sans);font-size:1.15rem;font-weight:700;display:none}html[lang=zh-TW] .ltext{align-items:flex-start}html[lang=zh-TW] .ltext .greet{display:block}html[lang=zh-TW] .ltext .now{margin-left:2.4em}.dots i{font-style:normal;animation:1.2s infinite both blink}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.15}40%{opacity:1}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}html.loading .shell{opacity:0;transform:scale(.98)}html.loading.open .shell{opacity:1;transition:opacity .9s,transform .9s;transform:none}@media (prefers-reduced-motion:reduce){.loader .char,.dots i{animation:none}.loader .panel{transition:opacity .6s}html.loading.open .loader .panel.l,html.loading.open .loader .panel.r{opacity:0;transform:none}html.loading .shell{transform:none}html.loading.open .shell{transition:opacity .6s}}.entry-list{gap:12px;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.entry-card{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:14px 16px}.entry-card h3{margin:0;font-size:1.1rem}.entry-card h3 a{color:var(--fg);text-decoration:none}.entry-card h3 a:hover{color:var(--accent)}.entry-card p{color:var(--muted);margin:.3rem 0 0}.meta{color:var(--muted);font-size:.85rem}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{border:1px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;border-radius:999px;padding:2px 10px;font-family:inherit;font-size:.8rem;text-decoration:none;display:inline-block}a.chip:hover,button.chip:hover{color:var(--accent);border-color:var(--accent)}button.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.subtabs{flex-wrap:wrap;gap:8px;margin:1rem 0 0;display:flex}.subtabs a{border:1px solid var(--line);color:var(--fg);border-radius:8px;padding:6px 14px;text-decoration:none}.subtabs a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.empty{color:var(--muted);padding:1rem 0}[hidden]{display:none!important}.search{width:100%;font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:10px;margin-top:1rem;padding:11px 14px}.filters{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.downloads{gap:8px;margin-top:.6rem;display:grid}.dl{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.dl .tag{color:var(--muted);font-size:.8rem}.btn{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);cursor:pointer;border-radius:8px;padding:8px 16px;text-decoration:none;display:inline-block}.btn.ghost{color:var(--accent);background:0 0}.btn:disabled{opacity:.6;cursor:default}.prose img{max-width:100%;height:auto}dialog{border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:14px;width:min(440px,100vw - 32px);padding:20px}dialog::backdrop{background:#00000080}.field{gap:4px;margin:12px 0;display:grid}.field label{font-size:.9rem;font-weight:600}.field input,.field textarea{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:9px 12px}.hp{width:1px;height:1px;left:-9999px;overflow:hidden;position:absolute!important}.form-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.msg-err{color:#c0392b;min-height:1.4em}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .msg-err{color:#ff8a7a}}:root[data-theme=dark] .msg-err{color:#ff8a7a}.timeline{border-left:2px solid var(--line);margin:1.4rem 0 0;padding:0 0 0 20px;list-style:none}.timeline li{padding:0 0 22px 16px;position:relative}.timeline li:before{content:"";background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:7px;left:-27px}.timeline .year{font-weight:700}.contact-list{gap:4px;margin:1.2rem 0 0;padding:0;list-style:none;display:grid}.contact-list a{color:var(--muted);border-radius:8px;align-items:center;gap:14px;padding:10px 6px;text-decoration:none;display:flex}.contact-list a:hover{color:var(--accent)}.contact-list .ico{width:26px;height:26px}.tiles{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:.8rem;display:grid}.tiles input{opacity:0;pointer-events:none;position:absolute}.tile{text-align:center;border:2px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;font-size:.92rem;display:flex}.tile .ico{width:28px;height:28px}.tiles input:checked+.tile{border-color:var(--accent);color:var(--accent)}.tiles input:focus-visible+.tile{outline:2px solid var(--accent);outline-offset:2px}.help li{margin:.4rem 0}@media (width<=420px){.tile{padding:12px 4px;font-size:.8rem}}
