:root{--primitive-cream-50: #fffdf8;--primitive-cream-100: #faf9f5;--primitive-cream-200: #f1efe7;--primitive-cream-300: #dedcd1;--primitive-ink-900: #141413;--primitive-ink-800: #1f1e1d;--primitive-ink-700: #3d3d3a;--primitive-ink-600: #73726c;--primitive-ink-500: #9c9a92;--primitive-ink-950: #10100f;--primitive-ink-925: #171614;--primitive-ink-915: #1f1e1b;--primitive-ink-905: #232220;--primitive-ink-880: #2a2926;--primitive-ink-850: #393632;--primitive-ink-450: #6f6a61;--primitive-cream-400: #a8a196;--primitive-cream-500: #d8d2c7;--primitive-cream-600: #f4f1ea;--primitive-cream-700: #ffffff;--primitive-clay-500: #d97757;--primitive-clay-400: #e89373;--primitive-clay-100: #f4dfd2;--primitive-clay-200: #e6c1ad;--primitive-clay-700: #7a3e22;--primitive-clay-900: #3e261c;--primitive-clay-800: #6b3d2a;--primitive-clay-300: #f0c2a8;--primitive-teal-500: #5d7a92;--primitive-teal-300: #ccdbe8;--primitive-teal-100: #e7edf1;--primitive-teal-700: #303d47;--primitive-teal-900: #1e2a33;--primitive-teal-800: #2f4250;--primitive-teal-200: #b3cbdb;--primitive-amber-50: #fffbeb;--primitive-amber-100: #f2e6c8;--primitive-amber-200: #dfc990;--primitive-amber-500: #f59e0b;--primitive-amber-600: #b87a1d;--primitive-amber-700: #5f4a27;--primitive-amber-800: #78350f;--primitive-amber-900: #2a1f0a;--primitive-amber-850: #2f2814;--primitive-amber-750: #4d4123;--primitive-amber-300: #f5d491;--primitive-amber-250: #e9d49a;--primitive-red-50: #fef2f2;--primitive-red-200: #fecaca;--primitive-red-500: #ef4444;--primitive-red-700: #b91c1c;--primitive-red-900: #2a0d10;--primitive-green-50: #f0fdf4;--primitive-green-200: #bbf7d0;--primitive-green-500: #22c55e;--primitive-green-700: #15803d;--primitive-green-900: #14271c;--primitive-white: #ffffff;--primitive-black: #000000;--primitive-radius-sm: 14px;--primitive-radius-md: 14px;--primitive-radius-lg: 14px;--primitive-space-1: 8px;--primitive-space-2: 16px;--primitive-space-3: 24px;--primitive-space-4: 32px;--primitive-space-5: 40px;--primitive-space-6: 48px;--primitive-space-8: 64px;--primitive-font-sans: "Noto Sans TC", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", sans-serif}:root,html[data-theme=light],[data-theme-scope=light]{--bg-page: var(--primitive-cream-100);--bg-card: var(--primitive-cream-100);--bg-elevated: var(--primitive-cream-50);--bg-input: var(--primitive-white);--bg-muted: var(--primitive-cream-200);--text-primary: var(--primitive-ink-900);--text-secondary: var(--primitive-ink-700);--text-muted: var(--primitive-ink-600);--text-disabled: var(--primitive-ink-500);--border-soft: var(--primitive-cream-300);--border-strong: rgba(31, 30, 29, .3);--border-focus: var(--primitive-clay-500);--accent-warm: var(--primitive-clay-500);--accent-cool: var(--primitive-teal-300);--cta-bg: var(--primitive-ink-900);--cta-text: var(--primitive-white);--cta-bg-hover: var(--primitive-ink-800);--badge-default-bg: var(--primitive-cream-200);--badge-default-text: var(--text-secondary);--badge-default-border: var(--border-soft);--badge-required-bg: var(--primitive-clay-100);--badge-required-text: var(--primitive-clay-700);--badge-required-border: var(--primitive-clay-200);--badge-official-bg: var(--primitive-teal-100);--badge-official-text: var(--primitive-teal-700);--badge-official-border: var(--primitive-teal-300);--badge-recommended-bg: var(--badge-default-bg);--badge-recommended-text: var(--badge-default-text);--badge-recommended-border: var(--badge-default-border);--badge-experience-bg: var(--primitive-amber-100);--badge-experience-text: var(--primitive-amber-700);--badge-experience-border: var(--primitive-amber-200);--alert-warn-bg: var(--primitive-amber-50);--alert-warn-text: var(--primitive-amber-800);--alert-warn-border: var(--primitive-amber-500);--status-success-bg: var(--primitive-green-50);--status-success-text: var(--primitive-green-700);--status-success-border: var(--primitive-green-500);--status-warn-bg: var(--alert-warn-bg);--status-warn-text: var(--alert-warn-text);--status-warn-border: var(--alert-warn-border);--status-error-bg: var(--primitive-red-50);--status-error-text: var(--primitive-red-700);--status-error-border: var(--primitive-red-500);--status-info-bg: var(--primitive-teal-100);--status-info-text: var(--primitive-teal-700);--status-info-border: var(--primitive-teal-300);--progress-weak-bg: color-mix(in srgb, var(--primitive-clay-100) 92%, var(--bg-card));--progress-weak-text: var(--primitive-clay-800);--progress-weak-border: var(--primitive-clay-500);--progress-needs-work-bg: color-mix(in srgb, var(--primitive-teal-100) 88%, var(--bg-card));--progress-needs-work-text: var(--primitive-teal-800);--progress-needs-work-border: var(--primitive-teal-500);--progress-mastered-bg: var(--status-success-bg);--progress-mastered-text: var(--status-success-text);--progress-mastered-border: var(--status-success-border);--progress-unstarted-bg: var(--bg-card);--progress-unstarted-text: var(--text-muted);--progress-unstarted-border: var(--border-soft);--progress-selection-bg: var(--cta-bg);--progress-selection-text: var(--cta-text);--progress-selection-muted: color-mix(in srgb, var(--cta-text) 72%, transparent);--progress-link: var(--primitive-teal-700);--progress-link-hover: var(--primitive-teal-800);--progress-bar-track: color-mix(in srgb, var(--text-primary) 10%, var(--bg-card));--progress-bar-fill: var(--progress-needs-work-border);--subject-senior-bg: var(--primitive-teal-100);--radius-sm: var(--primitive-radius-sm);--radius-md: var(--primitive-radius-md);--radius-lg: var(--primitive-radius-lg);--space-1: var(--primitive-space-1);--space-2: var(--primitive-space-2);--space-3: var(--primitive-space-3);--space-4: var(--primitive-space-4);--space-5: var(--primitive-space-5);--space-6: var(--primitive-space-6);--space-8: var(--primitive-space-8);--font-sans: var(--primitive-font-sans);--font-serif: var(--font-sans);--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px}html.dark,html[data-theme=dark],[data-theme-scope=dark]{--bg-page: var(--primitive-ink-950);--bg-card: var(--primitive-ink-925);--bg-elevated: var(--primitive-ink-915);--bg-input: var(--primitive-ink-915);--bg-muted: var(--primitive-ink-905);--text-primary: var(--primitive-cream-600);--text-secondary: var(--primitive-cream-500);--text-muted: var(--primitive-cream-400);--text-disabled: var(--primitive-ink-450);--border-soft: var(--primitive-ink-850);--border-strong: rgba(244, 241, 234, .32);--border-focus: var(--primitive-clay-400);--accent-warm: var(--primitive-clay-400);--accent-cool: var(--primitive-teal-500);--cta-bg: var(--primitive-cream-600);--cta-text: var(--primitive-ink-900);--cta-bg-hover: var(--primitive-cream-700);--badge-default-bg: var(--primitive-ink-880);--badge-default-text: var(--text-secondary);--badge-default-border: var(--border-soft);--badge-required-bg: var(--primitive-clay-900);--badge-required-text: var(--primitive-clay-300);--badge-required-border: var(--primitive-clay-800);--badge-official-bg: var(--primitive-teal-900);--badge-official-text: var(--primitive-teal-200);--badge-official-border: var(--primitive-teal-800);--badge-recommended-bg: var(--badge-default-bg);--badge-recommended-text: var(--badge-default-text);--badge-recommended-border: var(--badge-default-border);--badge-experience-bg: var(--primitive-amber-850);--badge-experience-text: var(--primitive-amber-250);--badge-experience-border: var(--primitive-amber-750);--alert-warn-bg: var(--primitive-amber-900);--alert-warn-text: var(--primitive-amber-300);--alert-warn-border: var(--primitive-amber-600);--status-success-bg: var(--primitive-green-900);--status-success-text: var(--primitive-green-200);--status-success-border: var(--primitive-green-500);--status-warn-bg: var(--alert-warn-bg);--status-warn-text: var(--alert-warn-text);--status-warn-border: var(--alert-warn-border);--status-error-bg: var(--primitive-red-900);--status-error-text: var(--primitive-red-200);--status-error-border: var(--primitive-red-500);--status-info-bg: var(--primitive-teal-900);--status-info-text: var(--primitive-teal-200);--status-info-border: var(--primitive-teal-500);--progress-weak-bg: color-mix(in srgb, var(--primitive-clay-900) 92%, var(--bg-card));--progress-weak-text: var(--primitive-clay-250);--progress-weak-border: var(--primitive-clay-500);--progress-needs-work-bg: color-mix(in srgb, var(--primitive-teal-900) 92%, var(--bg-card));--progress-needs-work-text: var(--primitive-teal-200);--progress-needs-work-border: var(--primitive-teal-500);--progress-mastered-bg: var(--status-success-bg);--progress-mastered-text: var(--status-success-text);--progress-mastered-border: var(--status-success-border);--progress-unstarted-bg: var(--bg-card);--progress-unstarted-text: var(--text-muted);--progress-unstarted-border: var(--border-soft);--progress-selection-bg: var(--cta-bg);--progress-selection-text: var(--cta-text);--progress-selection-muted: color-mix(in srgb, var(--cta-text) 68%, transparent);--progress-link: var(--primitive-teal-300);--progress-link-hover: var(--primitive-teal-200);--progress-bar-track: color-mix(in srgb, var(--text-primary) 18%, var(--bg-card));--progress-bar-fill: var(--progress-needs-work-border);--subject-senior-bg: var(--primitive-teal-900)}:root,[data-theme-scope]{--button-primary-bg: var(--cta-bg);--button-primary-text: var(--cta-text);--button-primary-border: var(--cta-bg);--button-primary-bg-hover: var(--cta-bg-hover);--button-secondary-bg: transparent;--button-secondary-text: var(--text-primary);--button-secondary-border: var(--border-strong);--button-secondary-bg-hover: color-mix(in srgb, var(--text-primary) 5%, transparent);--interactive-hover-bg: color-mix(in srgb, var(--text-primary) 4%, var(--bg-card));--interactive-hover-border: var(--border-strong);--interactive-focus-ring: var(--border-focus);--interactive-active-translate: 1px;--shape-radius: var(--radius-md);--shape-control-radius: var(--shape-radius);--shape-panel-radius: var(--shape-radius);--shape-feature-radius: var(--shape-radius);--card-bg: var(--bg-card);--card-text: var(--text-primary);--card-border: var(--border-soft);--card-shadow: none;--card-bg-hover: var(--interactive-hover-bg);--card-border-hover: var(--interactive-hover-border);--pack-card-bg: var(--card-bg);--pack-card-border: var(--card-border);--quiz-option-bg: var(--bg-card);--quiz-option-text: var(--text-primary);--quiz-option-border: var(--border-soft);--quiz-option-hover-bg: var(--bg-muted);--icon-tile-bg: var(--bg-muted);--icon-tile-border: var(--border-soft);--icon-tile-bg-warm: color-mix(in srgb, var(--accent-warm) 14%, var(--bg-card));--icon-tile-bg-cool: color-mix(in srgb, var(--accent-cool) 28%, var(--bg-card));--icon-tile-bg-status: var(--alert-warn-bg);--thumbnail-bg: var(--bg-muted);--thumbnail-border: var(--border-soft);--thumbnail-overlay: color-mix(in srgb, var(--text-primary) 22%, transparent);--thumbnail-icon-bg: var(--bg-card);--thumbnail-warm-bg: color-mix(in srgb, var(--accent-warm) 12%, var(--bg-card));--thumbnail-cool-bg: color-mix(in srgb, var(--accent-cool) 30%, var(--bg-card));--thumbnail-status-bg: var(--alert-warn-bg);--mobile-menu-row-bg: var(--bg-card);--mobile-menu-row-bg-hover: var(--interactive-hover-bg);--mobile-menu-row-border: var(--border-soft);--mobile-menu-active-bg: var(--bg-muted);--nav-bg: rgba(250, 249, 245, .92);--nav-text: var(--text-secondary);--nav-text-hover: var(--text-primary);--nav-active-bg: var(--cta-bg);--nav-active-text: var(--cta-text);--bottom-nav-bg: var(--bg-page);--bottom-nav-text: var(--text-secondary);--bottom-nav-active: var(--accent-warm);--footer-bg: var(--bg-page);--footer-text: var(--text-secondary);--progress-panel-bg: var(--bg-muted);--progress-panel-border: var(--border-soft);--progress-selected-bg: var(--progress-selection-bg);--progress-selected-text: var(--progress-selection-text);--progress-selected-muted: var(--progress-selection-muted);--progress-link-color: var(--progress-link);--progress-link-hover-color: var(--progress-link-hover);--progress-bar-track-color: var(--progress-bar-track);--progress-bar-fill-color: var(--progress-bar-fill);--field-neutral-border: var(--border-soft);--field-neutral-text: var(--text-primary);--field-focus-border: var(--border-focus);--field-valid-border: var(--status-success-border);--field-valid-text: var(--status-success-text);--field-invalid-border: var(--status-error-border);--field-invalid-text: var(--status-error-text)}html.dark,html[data-theme=dark],[data-theme-scope=dark]{--nav-bg: rgba(16, 16, 15, .92)}[data-refero],.refero-scope{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans)}[data-refero] :is(h1,h2,h3,.display-title){font-family:var(--font-sans);color:var(--text-primary);font-weight:500;letter-spacing:-.015em}[data-refero] h1,[data-refero] .display-title{font-size:clamp(40px,5vw,56px);line-height:1.18}[data-refero] h2{font-size:clamp(28px,3vw,36px);line-height:1.25}[data-refero] h3{font-size:24px;line-height:1.33}[data-refero] :is(p,li,td){font-family:var(--font-sans);font-size:16px;line-height:1.75;font-weight:400;color:var(--text-secondary)}[data-refero] :is(button,input,nav){font-family:var(--font-sans)}[data-refero] .ipas-container{max-width:1440px;margin-inline:auto;padding-inline:24px}[data-refero] .section{margin-block:40px}[data-refero] .section+.section{margin-top:48px}.ref-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--shape-radius);padding:24px;box-shadow:var(--card-shadow)}.ref-card:hover{border-color:var(--border-strong)}.ref-btn-primary,.ref-btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--shape-radius);padding:12px 20px;font-size:15px;line-height:1.4;text-decoration:none;transition:background .12s ease,border-color .12s ease,color .12s ease;cursor:pointer}.ref-btn-primary{background:var(--button-primary-bg);color:var(--button-primary-text);border:1px solid var(--button-primary-border);font-weight:500}.ref-btn-primary:hover{background:var(--button-primary-bg-hover)}.ref-btn-secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);font-weight:400}.ref-btn-secondary:hover{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.ref-badge{display:inline-flex;align-items:center;border-radius:var(--shape-radius);padding:4px 10px;font-size:13px;font-weight:500;line-height:1.3;border:1px solid var(--badge-default-border);background:var(--badge-default-bg);color:var(--badge-default-text)}.ref-badge-required{color:var(--badge-required-text);background:var(--badge-required-bg);border-color:var(--badge-required-border)}.ref-badge-official{color:var(--badge-official-text);background:var(--badge-official-bg);border-color:var(--badge-official-border)}.ref-badge-recommended{color:var(--badge-recommended-text);background:var(--badge-recommended-bg);border-color:var(--badge-recommended-border)}.ref-badge-experience{color:var(--badge-experience-text);background:var(--badge-experience-bg);border-color:var(--badge-experience-border)}[data-refero] .subject-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--shape-radius);padding:24px;text-decoration:none;display:block;transition:border-color .12s ease}[data-refero] .subject-card:hover{border-color:var(--border-strong)}[data-refero] .subject-code{display:inline-flex;border-radius:var(--shape-radius);padding:4px 10px;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--badge-default-bg);border:1px solid var(--border-soft)}[data-refero] .subject-code[data-level=senior]{background:var(--subject-senior-bg)}[data-refero] .subject-card h3{margin-top:16px;font-family:var(--font-serif);font-size:24px;font-weight:400;line-height:1.33}[data-refero] .subject-card p{margin-top:8px;font-size:14px;color:var(--text-muted);line-height:1.6}[data-refero] .info-table{width:100%;table-layout:auto;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--shape-radius);overflow:hidden}[data-refero] .info-table th,[data-refero] .info-table td{padding:18px 20px;border-bottom:1px solid var(--border-soft);vertical-align:top;word-break:normal;overflow-wrap:break-word;white-space:normal;text-align:left;color:var(--text-secondary)}[data-refero] .info-table tr:last-child :is(th,td){border-bottom:0}[data-refero] .info-table th:first-child,[data-refero] .info-table td:first-child{width:120px;min-width:120px;white-space:nowrap;color:var(--text-primary);font-weight:500}[data-refero] .page-hero{margin-top:24px;margin-bottom:32px}[data-refero] .page-hero .eyebrow{display:inline-block;font-size:13px;font-weight:500;color:var(--text-muted);letter-spacing:.02em;margin-bottom:12px;font-family:var(--font-sans)}[data-refero] .page-hero h1{margin:0}[data-refero] .page-hero p{max-width:960px;margin-top:16px;font-size:17px;line-height:1.7;color:var(--text-secondary)}[data-refero] .mode-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--shape-radius);padding:24px;text-decoration:none;display:block;transition:border-color .12s ease}[data-refero] .mode-card:hover{border-color:var(--border-strong)}[data-refero] .mode-card h3{margin:0;font-size:22px;line-height:1.33;color:var(--text-primary)}[data-refero] .mode-card .meta{display:block;margin-top:8px;font-size:13px;color:var(--text-muted)}[data-refero] .mode-card p{margin-top:12px;font-size:15px;color:var(--text-secondary)}[data-refero] .mode-card[data-status=building]{opacity:.65;cursor:not-allowed}.ref-btn-secondary[aria-current=page]{background:var(--cta-bg);color:var(--cta-text);border-color:var(--cta-bg)}.ref-btn-secondary{flex-shrink:0;white-space:nowrap}*:focus-visible{outline:2px solid var(--border-focus, var(--accent-warm));outline-offset:3px;border-radius:var(--shape-radius)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:focus-visible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
