:root{--page-bg: #d9dfeb;--page-stripe: #d2d9e7;--panel: #ffffff;--panel-alt: hsl(220 34% 95.5%);--panel-alt-2: hsl(221 30% 92.8%);--text: #151515;--text-2: #3f4658;--border: #8f9bb3;--border-dark: #4f5f82;--roc-blue: #000095;--blue: #1d3fa8;--red: #c8001a;--yellow: hsl(52 94% 78%);--yellow-2: hsl(52 96% 73.6%);--yellow-border: #c9a400;--link: #0033cc;--link-visited: #551a8b;--cyan: #7fe9ff;--bar-top: #3563d1;--bar-bottom: #000095;--font-body: "PMingLiU", "MingLiU", "新細明體", "細明體", "Songti TC", "Noto Serif CJK TC", serif;--font-kai: "DFKai-SB", "標楷體", "BiauKai", "Kaiti TC", "STKaiti", "AR PL UKai TW", serif;--font-hei: "Microsoft JhengHei", "微軟正黑體", "PingFang TC", "Heiti TC", "Noto Sans TC", Arial, sans-serif;--font-ui: Tahoma, Verdana, Arial, "Microsoft JhengHei", "微軟正黑體", sans-serif;--font-mono: "Courier New", Courier, "MingLiU", monospace;color-scheme:light}:root[data-theme=dark]{--page-bg: #070b18;--page-stripe: #0a1022;--panel: #121a33;--panel-alt: hsl(226 38% 16.4%);--panel-alt-2: hsl(225 34% 19.2%);--text: #eef1f8;--text-2: #c2cae0;--border: #3f5082;--border-dark: #6a7fb8;--red: #ff8a96;--link: #7fe9ff;--link-visited: #d6a8ff;--bar-top: #22408f;--bar-bottom: #000060;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100svh;background:repeating-linear-gradient(0deg,var(--page-bg) 0 3px,var(--page-stripe) 3px 4px);background-color:var(--page-bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.62;text-rendering:geometricPrecision}h1,h2,h3,h4{margin:0;line-height:1.3}h3{font-family:var(--font-hei);font-size:15.4px;font-weight:700}p{margin:0}strong{font-weight:700;color:var(--red)}a{color:var(--link);text-decoration:underline}a:visited{color:var(--link-visited)}a:hover{color:var(--red)}:focus-visible{outline:2px dotted var(--text);outline-offset:2px}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:6px 10px;background:var(--yellow);color:#000;border:2px solid #000}.skip-link:focus{left:8px;top:8px}.portal{max-width:1000px;margin:0 auto;background:var(--panel);border-left:1px solid var(--border-dark);border-right:2px solid var(--border-dark);box-shadow:0 0 6px #00002859}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 10px;padding:3.4px 9.2px 3px 11px;background:var(--roc-blue);color:#fff;font-family:var(--font-ui);font-size:12px}.topbar a,.topbar a:visited{color:var(--cyan)}.topbar a:hover{color:#fff}.topbar-tools{display:flex;align-items:center;gap:8px}.masthead{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12.6px 14px 11.2px 13px;background:linear-gradient(180deg,#fff,#e9edf5 46%,#d4dbe8 52%,#eef1f7);background-color:#e9edf5;border-bottom:1px solid #9aa6bf;color:#151515}:root[data-theme=dark] .masthead{background:linear-gradient(180deg,#3a4668,#28324f 46%,#1c2440 52%,#2b3556);background-color:#28324f;border-bottom-color:#5a6a99;color:#eef1f8}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-logo{display:block;height:36px;width:auto;transform:translateY(-.7px)}.brand-logo.logo-dark{display:none}:root[data-theme=dark] .brand-logo.logo-light{display:none}:root[data-theme=dark] .brand-logo.logo-dark{display:block}.masthead-name{font-family:var(--font-kai);font-size:26px;font-weight:700;letter-spacing:.08em;color:var(--roc-blue);text-decoration:none;text-shadow:1px 1px 0 #fff,2px 2px 0 #b8c3dc;transform:scaleX(1.08) skew(-6deg);transform-origin:left center}a.masthead-name:visited{color:var(--roc-blue)}:root[data-theme=dark] .masthead-name,:root[data-theme=dark] a.masthead-name:visited{color:#ffe45c;text-shadow:1px 1px 0 #000,2px 2px 0 #1b2240}.mainnav{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;background:linear-gradient(180deg,#4d7ae6 0%,var(--bar-top) 45%,var(--bar-bottom) 55%,#1a2fa0 100%);background-color:var(--bar-bottom);border-top:1px solid #7fa0f0;border-bottom:2px solid #00005a;font-family:var(--font-hei);font-size:14.6px}.mainnav li{border-right:1px solid #6f8fe0;box-shadow:1px 0 #00005a}.mainnav a,.mainnav a:visited{display:block;padding:6.4px 15.2px 5.8px 14px;color:#fff;font-weight:700;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,.55)}.mainnav a:hover{background:#ffe45c;color:#000;text-shadow:none}.mainnav a[aria-current=page]{color:#ffe45c;text-decoration:underline}.mainnav a[aria-current=page]:hover{color:#000}.mainnav .nav-cta{margin-left:auto;border-right:0;box-shadow:none;padding:3px 6px 2px}.mainnav .nav-back{padding:3px 7.4px 2px 5px}.mainnav .nav-cta a.btn,.mainnav .nav-cta a.btn:visited,.mainnav .nav-back a.btn,.mainnav .nav-back a.btn:visited{padding:3.6px 12px 4px 11px;color:#151515;font-size:14px;text-shadow:0 1px 0 #fff}.mainnav .nav-cta a.btn:hover,.mainnav .nav-back a.btn:hover{background:linear-gradient(180deg,#fffbe0,#ffe45c)}:root[data-theme=dark] .mainnav .nav-cta a.btn,:root[data-theme=dark] .mainnav .nav-cta a.btn:visited,:root[data-theme=dark] .mainnav .nav-back a.btn,:root[data-theme=dark] .mainnav .nav-back a.btn:visited{color:#fff;text-shadow:0 -1px 0 #000}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;padding:0;border:1px solid #8fa3d9;border-radius:2px;background:linear-gradient(180deg,#3a5bc4,#0c1f8a);color:#fff;cursor:pointer;box-shadow:inset 0 1px #ffffff59}.icon-btn:hover{background:linear-gradient(180deg,#5b7ee0,#1b34a8)}.icon-btn .icon{display:block;width:14px;height:14px}:root[data-theme=dark] .icon-btn .sun{display:none}:root:not([data-theme=dark]) .icon-btn .moon{display:none}.portal-body{display:grid;grid-template-columns:minmax(0,1fr);gap:9px 11px;padding:10.4px 9.6px 12px 10px}@media(min-width:760px){.portal-body{grid-template-columns:208px minmax(0,1fr);grid-template-areas:"side main"}.portal-main{grid-area:main}.portal-side{grid-area:side;margin-top:1.4px}}.portal-main{display:grid;gap:10.6px;align-content:start;min-width:0}.portal-side{display:grid;gap:8.2px;align-content:start;min-width:0}.box{border:1px solid var(--border);background:var(--panel);min-width:0}.box-title{margin:0;padding:4.2px 9.4px 3.6px 8px;background:linear-gradient(180deg,#5a84e8 0%,var(--bar-top) 48%,var(--bar-bottom) 100%);background-color:var(--bar-bottom);border-bottom:1px solid #00005a;color:#fff;font-family:var(--font-kai);font-size:18.2px;font-weight:700;letter-spacing:.04em;text-shadow:1px 1px 0 #00003a}.box-title:before{content:"【" / "";color:#ffe45c}.box-title:after{content:"】" / "";color:#ffe45c}.box-body{padding:9.4px 11.2px 10.8px 10.6px}.box-body>*+*{margin-top:8.6px}.portal-main>.box:nth-of-type(2n) .box-body{padding:10.2px 9.8px 11.6px 12px}.portal-main>.box:nth-of-type(3n) .box-title{padding-left:10.2px;font-size:17.6px}.portal-main>.box:nth-of-type(4){border-width:1px 2px 2px 1px}.side-box{border:1px solid var(--border-dark);background:var(--panel-alt)}.side-box-title{margin:0;padding:3px 7.2px 2.6px;background:linear-gradient(180deg,#f4f6fa,#c9d1e0);background-color:#d8dee9;border-bottom:1px solid var(--border-dark);color:#101a4a;font-family:var(--font-hei);font-size:14px;font-weight:700}:root[data-theme=dark] .side-box-title{background:linear-gradient(180deg,#34406a,#1d2546);background-color:#283258;color:#ffe45c}.side-box ul{margin:0;padding:5.6px 6px 6.4px 7px;list-style:none;font-size:14px;line-height:1.5}.side-box li{padding:3.2px 0 3px;border-bottom:1px dashed var(--border)}.side-box li:last-child{border-bottom:0}.side-box li:before{content:"◆ " / "";color:var(--red);font-size:10px;vertical-align:1px}.side-box p{padding:6.2px 8px 7px;font-size:13.6px;overflow-wrap:anywhere}.wordart{position:relative;margin:0;font-family:var(--font-hei);font-size:clamp(24px,4.4vw,36px);font-weight:900;line-height:1.32;letter-spacing:-.01em;color:var(--roc-blue)}.wordart-line{display:inline-block;position:relative;z-index:1;background:linear-gradient(180deg,#000095,#3a2bb8 38%,#c8001a 62%,#6a0010);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 1px 0 #ffffff) drop-shadow(2px 2px 0 #9fb0d8)}.wordart-line:nth-child(1){transform:skew(-8deg) scaleY(1.1);transform-origin:left bottom}.wordart-line:nth-child(2){transform:scaleX(1.04) translateY(.8px);transform-origin:left center;letter-spacing:.01em}:root[data-theme=dark] .wordart{color:#ffe45c}:root[data-theme=dark] .wordart-line{background:linear-gradient(180deg,#fff,#ffe45c 45%,#ffb04a 70%,#ffd0d6);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(1px 1px 0 #000030) drop-shadow(2px 2px 0 #3a2b8f)}.wordart-shadow{position:absolute;inset:12px 0 0 10px;z-index:0;color:var(--roc-blue);opacity:.08;transform:skew(-22deg) scaleY(1.3);transform-origin:left top;pointer-events:none;user-select:none}:root[data-theme=dark] .wordart-shadow{color:#ffe45c;opacity:.1}.btn,.btn:visited{display:inline-flex;align-items:center;gap:4px;padding:6.6px 15.4px 7.4px 13.8px;border:1px solid #6b7a99;border-radius:3px;background:linear-gradient(180deg,#fff,#eceff5 48%,#d5dae5 52%,#f1f3f7);background-color:#e3e7ef;color:#151515;font-family:var(--font-hei);font-size:15px;font-weight:700;line-height:1.3;text-decoration:none;text-shadow:0 1px 0 #fff;box-shadow:inset 0 1px #fff,0 1px 1px #0000004d;cursor:pointer}.btn:hover{color:#151515;filter:brightness(1.06);border-color:#3d4b6b}.btn:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #00000059}.btn-primary,.btn-primary:visited{border-color:#0a237a;background:linear-gradient(180deg,#5d88ec,#2452c4 48%,#0c33a0 52%,#2657cc);background-color:#1a45b8;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.45);box-shadow:inset 0 1px #ffffff73,0 1px 2px #00002873}.btn-primary:hover{color:#ffe45c;filter:brightness(1.12)}:root[data-theme=dark] .btn:not(.btn-primary){border-color:#6a7fb8;background:linear-gradient(180deg,#4a5680,#323d63 48%,#232c4c 52%,#353f66);background-color:#323d63;color:#fff;text-shadow:0 -1px 0 #000;box-shadow:inset 0 1px #fff3,0 1px 1px #000}.ext{display:inline-block;margin-left:2px;vertical-align:-1px}.notice{padding:7.6px 10.2px 8.2px 9.4px;border:1px dashed var(--yellow-border);border-left:5px solid #e0a800;background:var(--yellow);color:#151515}.notice>*{background:var(--yellow-2)}.notice>:first-child:before{content:"※ " / "";font-weight:700;color:#a00015}.notice a,.notice a:visited{color:#03c}.notice strong{color:#a00015}table{width:100%;border-collapse:collapse;border:2px solid var(--border-dark);font-size:14.4px;line-height:1.5}caption{padding:3px 2px 4.6px;color:var(--text-2);font-family:var(--font-hei);font-size:13.4px;font-weight:700;text-align:left}caption:before{content:"◎ " / "";color:var(--red)}th,td{padding:5.2px 7.6px 4.8px 7px;border:1px solid var(--border);text-align:left;vertical-align:top}thead th{background:linear-gradient(180deg,#5a84e8,var(--bar-bottom));background-color:var(--blue);color:#fff;font-family:var(--font-hei);font-weight:700;white-space:nowrap}tbody tr:nth-child(odd){background:var(--panel-alt)}tbody tr:nth-child(2n){background:var(--panel-alt-2)}tbody th{font-family:var(--font-hei);font-weight:700;color:var(--text)}tbody tr:hover{background:#fbf3bb}:root[data-theme=dark] tbody tr:hover{background:#253056}.site-footer{margin-top:2px;padding:7.8px 12px 9.4px 11px;border-top:3px double #7fa0f0;background:var(--roc-blue);color:#e8ecff;font-family:var(--font-ui);font-size:12.4px;line-height:1.55;text-align:center}.site-footer a,.site-footer a:visited{color:var(--cyan)}.site-footer a:hover{color:#fff}.site-footer p{margin:0}.social{display:flex;justify-content:center;gap:6px;margin-bottom:4.4px}.social a,.social a:visited{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;border:1px solid #7fa0f0;border-radius:2px;background:linear-gradient(180deg,#2a4cc0,#00006a);color:#fff}.social a:hover{background:#ffe45c;color:#000}.mourning-notice{display:none;max-width:1000px;margin:0 auto;padding:6.4px 12px 6px;border:1px solid #444;border-bottom-width:2px;background:#f2f2f2;color:#111;font-family:var(--font-hei);font-size:15px;font-weight:700;text-align:center}:root[data-mourning] body{filter:grayscale(1)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
