:root{--bg: #f6f7f9;--card: #ffffff;--ink: #1f2933;--muted: #6b7280;--line: #e5e7eb;--brand: #0f766e;--brand-ink: #ffffff;--warn-bg: #fff7ed;--warn: #c2410c;--danger: #b91c1c;--danger-bg: #fef2f2;--ok: #166534;--ok-bg: #f0fdf4;--info-bg: #eff6ff;--radius: 12px;font-family:-apple-system,Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif;font-size:16px;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--brand)}h1,h2,h3{margin:0 0 8px;line-height:1.3}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}p{margin:0 0 8px;line-height:1.55}button,input,select,textarea{font:inherit}textarea,input[type=text],input[type=password],input[type=date],select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}textarea{min-height:88px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;font-weight:600}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.danger{background:var(--danger-bg);color:var(--danger);border-color:#fecaca}.btn.block{width:100%}.btn.big{min-height:64px;font-size:18px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.stack{display:flex;flex-direction:column;gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef2f7;color:#374151}.tag.ai{background:#fef3c7;color:#92400e;font-weight:700}.tag.mock{background:#fee2e2;color:#991b1b}.tag.ok{background:var(--ok-bg);color:var(--ok)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.danger{background:var(--danger-bg);color:var(--danger)}.notice{padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5}.notice.warn{background:var(--warn-bg);color:var(--warn)}.notice.danger{background:var(--danger-bg);color:var(--danger)}.notice.ok{background:var(--ok-bg);color:var(--ok)}.notice.info{background:var(--info-bg);color:#1e3a8a}.page{max-width:640px;margin:0 auto;padding:12px 12px 90px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--brand);color:#fff}.topbar a{color:#fff;text-decoration:none}.tabbar{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}.tabbar a{text-align:center;font-size:12px;color:var(--muted);text-decoration:none;padding:4px 0}.tabbar a.active{color:var(--brand);font-weight:700}.tabbar .icon{display:block;font-size:20px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid a{display:flex;flex-direction:column;gap:6px;padding:18px 12px;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius);min-height:96px}.menu-grid .icon{font-size:28px}.rec-dot{width:14px;height:14px;border-radius:50%;background:var(--danger);display:inline-block;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.seg{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.seg .time{font-size:12px;color:var(--muted)}.seg textarea{min-height:56px}.seg.uncertain{background:var(--warn-bg)}.claim{padding:8px 0;border-top:1px solid var(--line)}.cite{border-left:3px solid var(--brand);padding:8px 10px;background:#f8fafc;border-radius:6px}.cite .title{font-weight:700}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600}.admin{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.admin nav{background:#0b3d3a;color:#fff;padding:16px 12px}.admin nav a{display:block;color:#cfe8e5;text-decoration:none;padding:8px 10px;border-radius:8px}.admin nav a.active{background:#ffffff26;color:#fff;font-weight:700}.admin main{padding:20px;max-width:1100px}.metric{padding:12px}.metric .value{font-size:26px;font-weight:700}.metric .def{font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.mode-banner{background:#fee2e2;color:#991b1b;font-size:13px;padding:6px 12px;text-align:center}@media (max-width: 720px){.admin{grid-template-columns:1fr}.admin nav{display:flex;flex-wrap:wrap;gap:4px}}.report-prototype .btn{min-height:56px;white-space:normal;text-align:left}.prototype-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prototype-services .btn{flex-direction:column;align-items:flex-start;justify-content:flex-start}.prototype-path{padding:12px;background:var(--info-bg);border-radius:var(--radius);overflow-wrap:anywhere}.prototype-description{white-space:pre-wrap;overflow-wrap:anywhere}.prototype-pagination{justify-content:space-between}@media (max-width: 360px){.prototype-services{grid-template-columns:1fr}}.liff-shell{--bg: #F8FAF9;--brand: #176B5B;--brand-ink: #fff;--muted: #4b5563;--line: #b6c5bf;--warn: #7c3a12;--warn-bg: #fff4e8;--info-bg: #edf6f2;--radius: 16px;min-height:100vh;min-height:100svh;background:var(--bg);color:#1f2933;font-size:1.125rem;line-height:1.6;overflow-wrap:anywhere}.liff-shell h1{font-size:1.5rem;line-height:1.4}.liff-shell h2{font-size:1.25rem;line-height:1.5}.liff-shell h3{font-size:1.125rem}.liff-shell .page{padding:20px 16px calc(8rem + env(safe-area-inset-bottom))}.liff-shell .stack{gap:16px}.liff-shell .row{gap:12px}.liff-shell .card{padding:18px;border-color:var(--line)}.liff-shell .muted{font-size:1rem;color:var(--muted)}.liff-shell .small,.liff-shell .tag,.liff-shell .seg .time{font-size:.875rem}.liff-shell table{font-size:1rem}.liff-shell .notice{font-size:1rem;padding:14px;line-height:1.6}.liff-shell .notice.info{color:#234c40}.liff-shell .notice.warn{border-left:4px solid #E59A55}.liff-shell :is(a,button,summary){min-width:44px;min-height:44px;touch-action:manipulation;scroll-margin-block:1rem 9rem}.liff-shell a{overflow-wrap:anywhere}.liff-shell .page a:not(.btn):not(.card):not(.menu-grid a){display:inline-flex;align-items:center}.liff-shell .btn{min-height:52px;padding:12px 16px;font-size:1.125rem;line-height:1.5;white-space:normal;text-align:center;border-color:#8ca79d}.liff-shell .btn.big{min-height:64px}.liff-shell .btn.primary{background:#176b5b;border-color:#176b5b;color:#fff}.liff-shell .btn:disabled{opacity:1;background:#edf0ee;color:#52615a;border:1px dashed #8c9c94;cursor:not-allowed}.liff-shell :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #176B5B;outline-offset:3px;box-shadow:0 0 0 2px #fff}.liff-shell :is(textarea,input[type=text],input[type=password],input[type=date],select){min-height:52px;font-size:1.125rem;line-height:1.6;border-color:#8ca79d}.liff-shell textarea{min-height:120px}.liff-shell label{display:block;min-height:44px;line-height:1.6}.liff-shell input[type=checkbox],.liff-shell input[type=radio]{width:24px;height:24px;accent-color:#176B5B;vertical-align:middle}.liff-shell .topbar{padding:12px 16px;gap:8px;flex-wrap:wrap;align-items:center}.liff-shell .topbar a{display:flex;align-items:center;flex:1 1 15rem;font-size:1rem}.liff-shell .topbar .small{color:#fff;font-size:1rem}.liff-shell .tabbar{z-index:30;grid-template-columns:repeat(5,minmax(0,1fr));min-height:4.5rem;padding:8px 0 calc(8px + env(safe-area-inset-bottom));border-color:#b6c5bf;box-shadow:0 -2px 10px #1f29330d}.liff-shell .tabbar a{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:2px;font-size:.875rem;line-height:1.3;color:#46554e;overflow-wrap:anywhere}.liff-shell .tabbar a.active{color:#145b4e;background:#edf6f2;border-radius:10px}.liff-shell .tabbar .icon{font-size:1.5rem;line-height:1.2}.liff-shell .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.liff-shell .menu-grid a{min-width:0;min-height:136px;padding:18px;border-color:var(--line);gap:8px}.liff-shell .menu-grid strong{font-size:1.125rem}.liff-shell .menu-grid .icon{font-size:2rem;line-height:1.1}.liff-shell .home-help{font-size:1rem;margin-top:4px}.liff-shell .report-steps{font-size:1rem;font-weight:700;color:#234c40;padding:12px;border-radius:12px;background:#edf6f2;border-left:4px solid #4F9B8A}.liff-shell .prototype-path{font-size:1rem;line-height:1.6;background:#edf6f2}.liff-shell .prototype-services .btn{text-align:left}.liff-shell .prototype-pagination{gap:12px}.liff-shell .prototype-pagination .btn{padding-inline:12px}@media (max-width: 360px){.liff-shell .menu-grid{grid-template-columns:1fr}.liff-shell .menu-grid a{min-height:112px}}@media (prefers-reduced-motion: reduce){.liff-shell *{animation:none!important;scroll-behavior:auto!important}}.admin{color:#1f2933;background:#f8faf9}.admin main{min-width:0;width:100%}.admin h1{font-size:24px}.admin .btn,.admin nav a,.admin summary{min-height:48px}.admin .btn{font-size:17px}.admin .row{flex-wrap:wrap}.admin input,.admin select{max-width:100%;min-height:48px}.admin input[type=checkbox]{min-height:initial}.admin summary{padding:12px;cursor:pointer;font-weight:700}.admin table{display:block;max-width:100%;overflow-x:auto}.admin :focus-visible{outline:3px solid #9c4a00;outline-offset:3px}@media (max-width: 430px){.admin main{padding:12px}.admin .row>label{max-width:100%}}
