:root{--bg: #F5F3EF;--surface: #FFFFFF;--surface-2: #FAF8F4;--ink: #1E1A16;--muted: #625749;--faint: #7A6E60;--line: #E3DDD3;--accent: #7A4F0E;--accent-soft: #F3E8D4;--on-accent: #FFFFFF;--gold: #946517;--gold-hi: #7A4F0E;--hero: #F6EEDF;--hero-ink: #1E1A16;--hero-muted: #625749;--hero-track: rgba(122, 79, 14, .14);--hero-good: #16794A;--hero-bad: #BE3328;--good: #16794A;--good-soft: #DFF1E7;--warn: #B4540A;--warn-soft: #FBE7D6;--bad: #BE3328;--bad-soft: #FAE3E0;--badge-bg: #C42F24;--ref: #B0915C;--bar: #2E2721;--bar-now: #C99A3E;--mix-1: #2E2721;--mix-2: #8A6A3A;--mix-3: #C99A3E;--mix-4: #E3CB8F;--mix-5: #6F7D5C;--mix-6: #A89C8A;--cmp-1: #2E2721;--cmp-2: #A8701A;--cmp-3: #3F6C9E;--shadow: 0 1px 1px rgba(30, 26, 22, .04), 0 8px 22px -14px rgba(30, 26, 22, .25);--f-num: "Archivo", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;--f-ui: "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, -apple-system, sans-serif;--f-head: "Noto Serif TC", "Songti TC", "PMingLiU", serif;--tabbar-h: 64px;--heat-rgb: 138 106 58;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--f-ui)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:.2em}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,input,a,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1,h2,h3{font-family:var(--f-head);line-height:1.4;margin:0}h1{font-size:clamp(26px,5vw,38px);letter-spacing:.06em}h2{font-size:21px}p{margin:0;overflow-wrap:anywhere}strong{font-weight:650}.muted{color:var(--muted)}.numeric{font-family:var(--f-num);font-variant-numeric:tabular-nums}.app-shell{min-height:100dvh;margin-inline:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.app-shell--mobile{max-width:560px}.app-shell--single{max-width:800px}.brand-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 14px;background:var(--surface);color:var(--ink);border-top:4px solid var(--gold);border-bottom:1px solid var(--line)}.brand-name{display:grid;gap:2px;color:var(--ink);text-decoration:none;font-family:var(--f-head);font-size:22px;letter-spacing:.12em}.brand-name span{color:var(--muted);font-family:var(--f-ui);font-size:13px;letter-spacing:.06em}.brand-stage{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 8px;white-space:nowrap}.demo-ribbon{background:var(--accent-soft);color:var(--accent);padding:10px 20px;font-size:13px;text-align:center}.shell-body{min-width:0}.brand-actions{display:flex;align-items:center;gap:10px}.nav-toggle{min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);font:inherit;font-size:15px;cursor:pointer}.feature-nav{display:none;gap:0;padding:12px 16px;border-bottom:1px solid var(--line)}.feature-nav--open{display:grid}.nav-group{border-bottom:1px solid var(--line)}.nav-group:last-child{border-bottom:0}.nav-group summary{cursor:pointer;padding:12px 4px;min-height:48px;font-weight:650;color:var(--accent)}.nav-group ul{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.nav-group a{display:flex;align-items:center;min-height:48px;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--muted);overflow-wrap:anywhere}.nav-group a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:650;box-shadow:inset 3px 0 0 var(--accent)}.page-content{padding:28px 20px 40px;display:grid;align-content:start;gap:20px;min-width:0}.page-heading{display:grid;gap:10px}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em}.notice{background:var(--accent-soft);color:var(--accent);border-left:3px solid var(--accent);padding:12px 14px;font-size:14px}.notice--warning{background:var(--warn-soft);color:var(--warn);border-color:var(--warn)}.panel{background:var(--surface);padding:20px;border-radius:14px;box-shadow:var(--shadow);min-width:0}.stack{display:grid;gap:18px}.section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}.badge{color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:6px;font-size:12px}.data-list{list-style:none;padding:0;margin:0}.data-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}.data-list li:last-child{border-bottom:0}.data-list p{font-size:14px;margin-top:4px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:9px;border:1px solid transparent;font-weight:650;text-decoration:none;cursor:pointer}.button--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.button--secondary{background:var(--surface);color:var(--accent);border-color:var(--line)}.button--danger{background:var(--bad-soft);color:var(--bad);border-color:var(--bad)}.button:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:10px}.actions>*{flex:1 1 auto}.field{display:grid;gap:7px}.field label{font-weight:650}.field label span{font-size:13px;font-weight:400;color:var(--muted)}.field input{width:100%;min-height:48px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.field input[aria-invalid=true]{border-color:var(--bad)}.field p{font-size:13px}.field-error{color:var(--bad)}.status-panel{display:grid;justify-items:center;gap:14px;text-align:center;padding:40px 20px;border:1px dashed var(--line);border-radius:14px;background:var(--surface)}.status-panel--error{border-color:var(--warn)}.status-mark{font-family:var(--f-head);font-size:30px;color:var(--accent)}.status-panel--error .status-mark{color:var(--warn)}.spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%}@media(prefers-reduced-motion:no-preference){.spinner{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}.state-preview,.mode-selector{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.state-preview a,.mode-selector a{display:inline-flex;align-items:center;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:7px 12px;text-decoration:none;font-size:14px}.state-preview a[aria-current=page],.mode-selector a[aria-current=page]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.mode-selector{padding:12px 20px}.mode-selector span{padding-right:8px;color:var(--muted);font-size:14px}.component-preview{border-top:1px solid var(--line);padding-top:10px}.component-preview summary{padding-block:10px;min-height:48px;cursor:pointer;color:var(--accent)}.confirm-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:24px;width:min(440px,calc(100% - 32px));max-height:85dvh}.confirm-dialog::backdrop{background:#0f0d0ba6}.confirm-dialog h2{margin-bottom:12px}.confirm-dialog .actions{margin-top:24px}.text-link{display:inline-flex;align-items:center;min-height:48px;justify-self:start}.shell-footer{color:var(--faint);font-size:12px;padding:16px 20px 24px;text-align:center}.skip-link{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link:focus-visible{position:fixed;left:12px;top:12px;z-index:100;width:auto;height:auto;margin:0;padding:12px 16px;overflow:visible;clip:auto;clip-path:none;background:var(--surface);color:var(--accent);border:2px solid var(--accent);border-radius:9px;font-weight:650;box-shadow:var(--shadow)}@media(min-width:768px){.app-shell--desktop .shell-body,.app-shell--tablet .shell-body{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1440px;margin-inline:auto}.app-shell--desktop .feature-nav,.app-shell--tablet .feature-nav{display:block;align-self:start;border-bottom:0;border-right:1px solid var(--line);padding:20px 14px}.app-shell--desktop .nav-group ul,.app-shell--tablet .nav-group ul{grid-template-columns:1fr}.app-shell--desktop .nav-toggle,.app-shell--tablet .nav-toggle{display:none}.app-shell--desktop .page-content,.app-shell--tablet .page-content{padding:36px clamp(24px,4vw,64px)}.app-shell--tablet .button{min-height:56px}}.role-preview-control{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;color:var(--muted);font-size:.85rem}.role-preview-control select{max-width:11rem;min-height:44px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:.4rem}.role-preview-ribbon{padding:12px 18px;background:var(--warn-soft);color:var(--warn);font-weight:700;text-align:center;border-bottom:1px solid var(--warn)}@media(max-width:600px){.brand-actions{flex-wrap:wrap;justify-content:flex-end}.role-preview-control{justify-content:flex-end}}.menu-trail{margin:0 0 8px;color:var(--muted);font-size:13px;letter-spacing:.06em}.menu-tabs{min-width:0;margin:0 0 4px;border-bottom:1px solid var(--line)}.menu-tabs__row{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin}.menu-tabs__row a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;white-space:nowrap;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent}.menu-tabs__row a[aria-current=page]{color:var(--ink);border-bottom-color:var(--gold);font-weight:650}.menu-tabs__row--sub{padding-block:6px}.menu-tabs__row--sub a{min-height:40px;border:1px solid var(--line);border-radius:999px;font-size:14px}.menu-tabs__row--sub a[aria-current=page]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.maintenance-list{display:grid;gap:18px}.maintenance-list ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.maintenance-list a{display:flex;align-items:center;min-height:44px;padding:6px 10px;border-radius:8px;text-decoration:none}.maintenance-list a:hover{background:var(--accent-soft)}.time24{display:inline-flex;align-items:center;gap:6px;max-width:100%}.time24 .time24__select{width:auto;min-width:4.6em;min-height:48px;padding:8px 10px;font-size:1.15rem;font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:8px;background:var(--surface-2, var(--surface));color:var(--ink)}.time24 .time24__select[aria-invalid=true]{border-color:var(--bad)}.time24 .time24__select:disabled{opacity:.6}.time24__colon{font-size:1.25rem;font-weight:700;color:var(--muted)}.field .time24{width:100%}.lang-toggle{min-height:40px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent);font:inherit;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap}.lang-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}html[lang=vi] .app-shell,html[lang=vi] .app-shell *{font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,PingFang TC,Microsoft JhengHei,sans-serif!important}@media(max-width:600px){.brand-bar{padding:calc(10px + env(safe-area-inset-top,0px)) 14px 10px}.brand-name{font-size:18px;letter-spacing:.08em;white-space:nowrap}.brand-name span{font-size:12px}.brand-actions{gap:6px}.lang-toggle,.nav-toggle{min-height:38px;padding:4px 10px;font-size:14px}}.staff-tabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 16px;padding:0 0 6px;border-bottom:1px solid var(--line);scrollbar-width:thin}.staff-tabs__tab{flex:0 0 auto;display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:8px 8px 0 0;color:var(--muted);text-decoration:none;font-weight:600;white-space:nowrap}.staff-tabs__tab:hover{color:var(--accent);background:var(--accent-soft)}.staff-tabs__tab[aria-current=page]{color:var(--gold-hi);background:var(--hero);box-shadow:inset 0 -3px 0 var(--gold)}.staff-tabs__tab:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
