@import"https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;700;900&display=swap";:root{--color-primary: #c93e2e;--color-secondary: #e85545;--color-cta: #bc955b;--color-background: #fffdf8;--color-text: #3f2e2d;--color-brand-hover: #ff6b5a;--color-brand-glow: rgba(201, 62, 46, .3);--color-gold-dark: #7f5430;--color-ochre: #d4a574;--color-success: #10B981;--color-warning: #d4a574;--color-error: #c93e2e;--color-info: #e85545;--color-primary-rgb: 201, 62, 46;--color-cta-rgb: 188, 149, 91;--color-success-rgb: 16, 185, 129;--color-error-rgb: 201, 62, 46;--color-white: #FFFFFF;--color-surface: #f5f1ea;--color-surface-elevated: #ffffff;--color-gray-50: #f5f1ea;--color-gray-100: #e8e4dd;--color-gray-200: #d8d4cc;--color-gray-300: #c4beb5;--color-gray-400: #9a8f83;--color-gray-500: #746a5e;--color-gray-600: #746a5e;--color-gray-700: #3f2e2d;--color-gray-800: #2a211f;--color-gray-900: #1a1614;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--shadow-sm: 0 2px 8px rgba(60, 46, 45, .08);--shadow-md: 0 4px 16px rgba(60, 46, 45, .12);--shadow-lg: 0 8px 32px rgba(60, 46, 45, .16);--shadow-xl: 0 12px 48px rgba(60, 46, 45, .2);--shadow-glow: 0 0 24px var(--color-brand-glow);--shadow-glow-strong: 0 0 36px var(--color-brand-glow), 0 4px 16px rgba(201, 62, 46, .25);--font-heading: "Noto Sans TC", sans-serif;--font-body: "Noto Sans TC", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--glass-bg: rgba(255, 255, 255, .85);--glass-bg-hover: rgba(255, 255, 255, .9);--glass-bg-strong: rgba(255, 255, 255, .92);--glass-bg-nested: rgba(255, 255, 255, .5);--glass-bg-input: rgba(255, 255, 255, .6);--glass-blur: 12px;--glass-blur-strong: 16px;--glass-blur-subtle: 8px;--glass-border: 1px solid rgba(255, 253, 248, .2);--glass-border-strong: 1px solid rgba(255, 253, 248, .3);--glass-border-nested: 1px solid rgba(255, 253, 248, .15);--bg-gradient: linear-gradient(135deg, #fffdf8 0%, #f5ebe0 100%);--shadow-glass: 0 8px 32px rgba(60, 46, 45, .08), inset 0 1px 0 rgba(255, 255, 255, .3);--shadow-glass-hover: 0 12px 40px rgba(60, 46, 45, .12), 0 4px 16px rgba(201, 62, 46, .08), inset 0 1px 0 rgba(255, 255, 255, .4);--shadow-glass-strong: 0 24px 64px rgba(60, 46, 45, .2)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-weight:500;color:var(--color-text);background:var(--bg-gradient);background-attachment:fixed;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;margin-bottom:var(--space-md)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-cta);color:var(--color-white)}.btn-primary:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 12px #bc955b4d}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover:not(:disabled){background:#c93e2e14;color:var(--color-primary);transform:translateY(-1px)}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 12px #c93e2e4d}.btn-sm{padding:8px 16px;font-size:var(--text-sm)}.btn-lg{padding:16px 32px;font-size:var(--text-lg)}.btn:active:not(:disabled){transform:scale(.98);transition:transform .1s ease-out}.card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-glass);transition:all var(--transition-slow)}.card-hover{cursor:pointer}.card-hover:hover{background:var(--glass-bg-hover);box-shadow:var(--shadow-glass-hover);transform:translateY(-2px)}.card-header{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-200)}.card-title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-xs)}.card-subtitle{font-size:var(--text-sm);color:var(--color-gray-600)}.input{width:100%;padding:14px 18px;border:1px solid rgba(201,62,46,.15);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:500;color:var(--color-text);background:var(--glass-bg-input);backdrop-filter:blur(var(--glass-blur-subtle));-webkit-backdrop-filter:blur(var(--glass-blur-subtle));transition:all var(--transition-base)}.input:focus{outline:none;background:#fffc;border-color:#c93e2e80;box-shadow:0 0 0 3px #c93e2e1a}.input:disabled{background:var(--color-gray-100);cursor:not-allowed}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.label{display:block;margin-bottom:var(--space-xs);font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.input-helper{margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-gray-600)}.input-error-text{margin-top:var(--space-xs);font-size:var(--text-xs);color:var(--color-error)}.modal-overlay{position:fixed;inset:0;background:#3f2e2d99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-md)}.modal{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:var(--glass-border-strong);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-glass-strong);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;z-index:var(--z-modal)}.modal-header{margin-bottom:var(--space-lg)}.modal-title{font-size:var(--text-2xl);font-weight:600}.modal-footer{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-gray-200);display:flex;gap:var(--space-md);justify-content:flex-end}.table-container{overflow-x:auto;border-radius:var(--radius-lg);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);box-shadow:var(--shadow-glass)}.table{width:100%;border-collapse:collapse}.table th{background:#f5f1eacc;padding:var(--space-md);text-align:left;font-size:var(--text-sm);font-weight:600;color:var(--color-gray-700);border-bottom:1px solid rgba(60,46,45,.08)}.table td{padding:var(--space-md);border-bottom:1px solid rgba(60,46,45,.05)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background:#ffffff80;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.badge-primary{background:#c93e2e1f;color:var(--color-primary);border:1px solid rgba(201,62,46,.25)}.badge-success{background:#10b9811f;color:var(--color-success);border:1px solid rgba(16,185,129,.25)}.badge-warning{background:#d4a5741f;color:var(--color-warning);border:1px solid rgba(212,165,116,.25)}.badge-error{background:#c93e2e1f;color:var(--color-error);border:1px solid rgba(201,62,46,.25)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--radius-xl);transition:all var(--transition-slow)}.glass:hover{background:var(--glass-bg-hover);box-shadow:var(--shadow-glass-hover)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:blur(var(--glass-blur-strong));-webkit-backdrop-filter:blur(var(--glass-blur-strong));border:var(--glass-border-strong);box-shadow:var(--shadow-glass-strong);border-radius:var(--radius-xl)}.glass-nested{background:var(--glass-bg-nested);backdrop-filter:blur(var(--glass-blur-subtle));-webkit-backdrop-filter:blur(var(--glass-blur-subtle));border:var(--glass-border-nested);border-radius:var(--radius-md)}@supports not (backdrop-filter: blur(12px)){.glass,.glass-strong{background:#fffffff2}}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.glass,.glass-strong,.card,.modal{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffffff2}}@media(max-width:768px){.modal{padding:var(--space-lg)}.btn{padding:10px 20px}}
