:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fb;--surface:#fff;--surface-2:#eaeef3;--hover:#1b23300d;--text:#1b2330;--text-2:#3d4757;--text-3:#5c6677;--divider:#dce2e9;--divider-strong:#c0c9d4;--brand:#1e3a5f;--accent:#1f4d8a;--accent-soft:#e3ebf5;--danger:#c0262d}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1722;--surface:#152131;--surface-2:#1c2a3c;--hover:#e3e9f10d;--text:#e3e9f1;--text-2:#bfcad8;--text-3:#91a0b3;--divider:#22324a;--divider-strong:#34475f;--brand:#e3e9f1;--accent:#8fb8ee;--accent-soft:#1b3150;--danger:#ff9c93}:root{--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--font-serif:"Noto Serif TC", "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif CJK TC", "PMingLiU", serif;--fs-label:11.5px;--fs-meta:13.5px;--fs-body:15px;--fs-heading:17px;--fs-title:22px;--fs-numeral:34px;--fw-regular:400;--fw-strong:600;--fw-title:700;--lh-tight:1.25;--lh-base:1.5;--lh-read:1.75;--shell-max:1240px;--page-pad:16px;--radius-sm:6px;--radius-pill:999px;--touch:44px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (width>=640px){:root{--page-pad:24px}}@media (width>=1000px){:root{--page-pad:40px}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-base);margin:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex:none;width:20px;height:20px}.text-button{min-height:var(--touch);font-size:var(--fs-meta);color:var(--accent);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.text-button .icon{width:16px;height:16px}.icon-button{width:var(--touch);height:var(--touch);color:var(--text-2);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--hover);color:var(--accent)}.hint{font-size:var(--fs-meta);color:var(--text-3);padding:24px 0}.page{max-width:760px;padding:16px var(--page-pad) 48px;margin:0 auto}.page.is-wide{max-width:var(--shell-max)}.overview{margin-top:12px}.overview-stage{border-top:1px solid var(--divider-strong);border-bottom:1px solid var(--divider);height:clamp(320px,66vh,680px);position:relative;overflow:hidden}.overview-bar{min-height:var(--touch);align-items:center;gap:16px;display:flex}.overview-title{font-size:var(--fs-heading);font-weight:var(--fw-strong)}.overview-chooser{z-index:2;border:1px solid var(--divider-strong);border-radius:var(--radius-sm);background:var(--surface);width:min(420px,100% - 24px);padding:10px 14px 4px;position:absolute;top:12px;left:12px}.overview-chooser-title{font-size:var(--fs-heading);font-weight:var(--fw-strong);margin-bottom:8px}.overview-chooser .row{min-height:var(--touch);padding:8px 0}.overview-terms{margin-left:auto}.site-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--brand);width:34px;height:34px;-webkit-mask:url(../marks/whale.svg) 50%/contain no-repeat;mask:url(../marks/whale.svg) 50%/contain no-repeat}.brand-text{flex-direction:column;display:flex}.brand-name{font-size:var(--fs-title);font-weight:var(--fw-title);letter-spacing:.12em;line-height:var(--lh-tight);color:var(--brand)}.brand-en{font-size:var(--fs-meta);letter-spacing:.06em;color:var(--text-3)}.page-title{font-size:var(--fs-title);font-weight:var(--fw-title);margin-top:4px}.section{margin-top:28px}.section-title{font-size:var(--fs-meta);font-weight:var(--fw-strong);letter-spacing:.08em;color:var(--text-2);margin-bottom:8px}.rows{border-top:1px solid var(--divider-strong)}.row{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:baseline;gap:2px 16px;min-height:56px;padding:14px 0;display:flex}a.row:hover{background:var(--hover)}a.row .row-name{color:var(--accent)}.row-name{font-size:var(--fs-heading);font-weight:var(--fw-strong)}.row-meta{font-size:var(--fs-meta);color:var(--text-2)}.row-status{font-size:var(--fs-meta);color:var(--text-3);margin-left:auto}.row.is-pending .row-name,.row.is-pending .row-meta{color:var(--text-3)}.player{background:var(--bg);flex-direction:column;height:100dvh;display:flex}.player-top{padding:2px var(--page-pad);border-bottom:1px solid var(--divider);align-items:center;gap:16px;display:flex}.player-title{min-width:0;font-size:var(--fs-heading);font-weight:var(--fw-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-tools{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.stage{flex:1;min-height:0;position:relative;overflow:hidden}.stage-canvas{touch-action:none;width:100%;height:100%;display:block}.stage-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.stage-fade{background:var(--bg);opacity:0;pointer-events:none;position:absolute;inset:0}.stage-overlay{left:var(--page-pad);border:1px solid var(--divider-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:calc(var(--fs-meta) * var(--text-scale,1));opacity:0;pointer-events:none;transition:opacity .25s var(--ease);padding:8px 12px;position:absolute;top:12px}.stage-overlay.is-visible{opacity:1}.stage-overlay-table{border-collapse:collapse;line-height:var(--lh-tight)}.stage-overlay-table th,.stage-overlay-table td{text-align:left;border-bottom:1px solid var(--divider);padding:4px 10px}.stage-overlay-table thead th{color:var(--text);font-weight:var(--fw-strong);border-bottom-color:var(--divider-strong)}.stage-overlay-table tbody th{color:var(--text-3);font-weight:var(--fw-regular)}.stage-overlay-table tbody tr:last-child th,.stage-overlay-table tbody tr:last-child td{border-bottom:0}.stage-overlay-figure{width:calc(248px * var(--text-scale,1));max-width:60vw;height:auto;display:block}.geo-label{opacity:0;width:0;height:0;transition:opacity .25s var(--ease);position:absolute;top:0;left:0}.geo-label.is-visible{opacity:1}.geo-label-text{border:1px solid var(--divider-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:calc(var(--fs-body) * var(--text-scale,1));font-weight:var(--fw-strong);white-space:nowrap;padding:.07em .5em;position:absolute;bottom:24px;left:0;transform:translate(-50%)}.geo-label-text.is-button{pointer-events:auto;color:var(--accent);cursor:pointer}.geo-label-text.is-button:hover{background:var(--accent-soft)}.geo-label-line{background:var(--text-2);width:1px;height:24px;position:absolute;bottom:0;left:-.5px}.geo-label.is-below .geo-label-text{top:24px;bottom:auto}.geo-label.is-below .geo-label-line{top:0;bottom:auto}.geo-label-dot{border:1px solid var(--text);background:var(--surface);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-3px}.player-panel{padding:10px var(--page-pad) 12px;border-top:1px solid var(--divider)}.panel-head{align-items:flex-start;gap:16px;display:flex}.caption{flex:1;align-items:baseline;gap:16px;min-width:0;min-height:34px;display:flex}.caption-title{font-size:calc(var(--fs-title) * var(--text-scale,1));font-weight:var(--fw-title);flex:none}.caption-text{font-size:calc(var(--fs-heading) * var(--text-scale,1));color:var(--text-2)}.text-size{height:34px;color:var(--text-3);flex:none;align-items:center;gap:6px;display:flex}.text-size-small{font-size:var(--fs-label)}.text-size-large{font-size:var(--fs-heading)}.text-size-slider{width:96px;height:var(--touch);appearance:none;cursor:pointer;background:0 0;margin:0}.text-size-slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--progress,0%), var(--divider-strong) var(--progress,0%));border-radius:2px;height:4px}.text-size-slider::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--progress,0%), var(--divider-strong) var(--progress,0%));border-radius:2px;height:4px}.text-size-slider::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:18px;height:18px;margin-top:-7px}.text-size-slider::-moz-range-thumb{border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:14px;height:14px}.timeline{align-items:flex-start;gap:14px;margin-top:8px;display:flex}.play-button{border:1px solid var(--accent);width:44px;height:44px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.play-button:hover{background:var(--accent-soft)}.track{flex:1;min-width:0}.slider{width:100%;height:var(--touch);appearance:none;cursor:pointer;background:0 0;margin:0;display:block}.slider::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--progress,0%), var(--divider-strong) var(--progress,0%));border-radius:2px;height:4px}.slider::-moz-range-track{background:linear-gradient(to right, var(--accent) var(--progress,0%), var(--divider-strong) var(--progress,0%));border-radius:2px;height:4px}.slider::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:22px;height:22px;margin-top:-9px}.slider::-moz-range-thumb{border:2px solid var(--accent);background:var(--surface);border-radius:50%;width:18px;height:18px}.chapters{height:28px;margin:0 11px;position:relative}.chapter{border-left:1px solid var(--divider-strong);height:28px;font-size:var(--fs-meta);color:var(--text-3);text-align:left;white-space:nowrap;padding:0 4px;position:absolute;top:0;overflow:hidden}.chapter:hover{color:var(--accent)}.chapter.is-current{color:var(--accent);font-weight:var(--fw-strong)}.compare-page{background:var(--bg)}.compare-page:fullscreen{overflow-y:auto}.compare-top{z-index:5;background:var(--bg);position:sticky;top:0}.compare-top .text-size{margin-right:8px}.compare-section{padding:20px var(--page-pad) 28px;border-bottom:1px solid var(--divider)}.compare-heading{font-size:calc(var(--fs-title) * min(var(--text-scale,1), 1.5));font-weight:var(--fw-title)}.compare-body{justify-content:center;margin-top:12px;display:flex}.player.is-embedded{border-bottom:1px solid var(--divider);height:88dvh;min-height:560px}.compare-table{border-collapse:collapse;width:min(100%,960px);font-size:calc(var(--fs-title) * var(--text-scale,1));line-height:var(--lh-tight)}.compare-table th,.compare-table td{border-bottom:1px solid var(--divider);text-align:left;padding:16px 14px}.compare-table thead th{border-bottom-color:var(--divider-strong);font-weight:var(--fw-strong)}.compare-table tbody th{color:var(--text-3);font-weight:var(--fw-regular);white-space:nowrap}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:0}.stage-group{background:var(--divider);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;height:100%;display:grid}.stage-cell{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.stage-cell-head{flex:none;padding:8px 12px 6px;position:relative}.stage-cell-name{font-size:calc(var(--fs-heading) * var(--text-scale,1));font-weight:var(--fw-strong)}.stage-cell-note{font-size:calc(var(--fs-body) * var(--text-scale,1));color:var(--text-2);line-height:var(--lh-tight)}.stage-cell-view{flex:1;min-height:0;position:relative;overflow:hidden}.stage-cell-view .stage-canvas{position:absolute;inset:0}@media (width<=699px){.stage-group{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:minmax(0,1fr)}.stage-cell-head{padding:4px 10px 2px}.stage-cell-view .geo-label-text{font-size:calc(var(--fs-label) * var(--text-scale,1))}.player.is-embedded{height:auto}.player.is-embedded .stage{flex:none;height:660px}.compare-top .text-size{margin-right:0}}@media (width<=899px){.caption{flex-direction:column;gap:2px;min-height:74px}.caption-title{font-size:calc(var(--fs-heading) * var(--text-scale,1))}.caption-text{font-size:calc(var(--fs-body) * var(--text-scale,1))}.text-size-slider{width:72px}.chapter{color:#0000;height:16px}.chapters{height:16px}.chapter.is-current{color:#0000;border-left:2px solid var(--accent)}.player-tools{gap:2px}.player-top{gap:8px}.player-top .back span{display:none}}@media (prefers-reduced-motion:reduce){.geo-label{transition:none}}
