:root{color-scheme:light;--fg:#1a1a1a;--bg:#ffffff;--accent:#0b5fff;--danger:#b3261e;--border:#c9c9c9;}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
body{margin:0;font-family:system-ui,-apple-system,'Noto Sans TC',sans-serif;color:var(--fg);background:var(--bg);line-height:1.5;overflow-x:hidden;}
.app{max-width:720px;margin:0 auto;padding:12px;}
.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
h1{font-size:1.25rem;margin:0;}
.badge{padding:4px 10px;border-radius:999px;font-weight:bold;font-size:0.85rem;}
.badge-unknown{background:#eee;color:#555;}
.badge-paper{background:#fff3cd;color:#8a6d00;border:2px solid #d4a300;}
.badge-live{background:#ffd6d6;color:#8a0000;border:2px solid #b3261e;}
.panel{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:16px;}
label{display:block;font-weight:bold;margin-top:8px;}
input,textarea,button{font-size:1rem;padding:8px;border-radius:6px;border:1px solid var(--border);width:100%;margin-top:4px;}
textarea{font-family:monospace;resize:vertical;}
button{cursor:pointer;background:var(--accent);color:#fff;border:none;width:auto;padding:10px 16px;margin-top:8px;}
button:disabled{background:#999;cursor:not-allowed;}
.row{display:flex;gap:8px;flex-wrap:wrap;}
.row button{width:auto;}
.error{color:var(--danger);font-weight:bold;min-height:1.2em;}
.warning{color:#8a6d00;font-weight:bold;}
.confirm-row{display:flex;align-items:center;gap:8px;margin-top:8px;}
.confirm-row input{width:auto;}
.confirm-row label{margin:0;font-weight:normal;}
.preview-card{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;}
.preview-card dt{font-weight:bold;}
.preview-card dd{margin:0;word-break:break-word;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--border);border-radius:6px;margin-top:8px;}
.table-scroll:focus{outline:3px solid var(--accent);outline-offset:2px;}
table{width:100%;min-width:720px;border-collapse:collapse;font-size:0.9rem;table-layout:auto;margin-top:0;}
th,td{border:1px solid var(--border);padding:6px;text-align:left;}
th:nth-child(1),td:nth-child(1){min-width:190px;white-space:nowrap;}
th:nth-child(2),td:nth-child(2),
th:nth-child(3),td:nth-child(3),
th:nth-child(5),td:nth-child(5),
th:nth-child(6),td:nth-child(6),
th:nth-child(7),td:nth-child(7){white-space:nowrap;}
th:nth-child(4),td:nth-child(4){min-width:180px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;}
a:focus,button:focus,input:focus,textarea:focus{outline:3px solid var(--accent);outline-offset:2px;}
@media (max-width:375px){
  .app{padding:8px;}
  h1{font-size:1.05rem;}
  .row{flex-direction:column;}
  .row button{width:100%;}
  button{width:100%;}
  .preview-card{grid-template-columns:1fr;}
  .preview-card dt{margin-top:8px;}
  .preview-card dd{margin-bottom:4px;}
}
h3{font-size:1rem;margin:14px 0 6px;}
.notice{color:#8a6d00;font-weight:bold;background:#fff3cd;padding:8px;border-radius:6px;border:1px solid #d4a300;}
.notice-small{color:#555;font-size:0.85rem;margin-top:4px;}
.meta{color:#0b3d91;font-size:0.9rem;background:#eef4ff;padding:6px 8px;border-radius:6px;}
details{margin-top:14px;border:1px dashed var(--border);border-radius:6px;padding:8px;}
details summary{cursor:pointer;font-weight:bold;}
details textarea,details .row{margin-top:8px;}
