:root{font-family:system-ui,"Noto Sans TC",sans-serif;color:#284852;background:#f7f5ef;line-height:1.65}*{box-sizing:border-box}body{margin:0}header{padding:28px max(6vw,20px);border-top:8px solid #587b8a;background:#e7eeec}.brand{font-size:26px;font-weight:700}.brand span{font-size:16px;font-weight:400;margin-left:16px}header p{color:#587b8a;font-size:14px}main{max-width:1400px;margin:36px auto;padding:0 22px}section{padding:28px;border:1px solid #d9e1df;background:#fff;border-radius:16px;margin:20px 0}h1{font-size:30px;line-height:1.4}h2{font-size:21px}label{display:block;font-weight:600}input,textarea{display:block;width:100%;border:1px solid #bbc9cb;padding:12px;border-radius:8px;margin:8px 0 16px;font:inherit}textarea{font-family:ui-monospace,monospace;font-size:14px}button,a{cursor:pointer}button{border:0;border-radius:8px;background:#587b8a;color:white;padding:12px 18px;font:inherit}button:hover{background:#3a5a65}button:disabled{opacity:.45;cursor:default}.secondary{background:#e5ecec;color:#284852}a{color:#426b7b}nav,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.columns{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.columns section{min-width:0}.badges{display:flex;flex-wrap:wrap;gap:8px}.badge{padding:6px 12px;border-radius:30px;background:#edf2ef}.off{background:#f6ead9}.item{padding:14px 0;border-bottom:1px solid #e5ecec;overflow-wrap:anywhere}.item button{margin:8px 8px 0 0;font-size:13px;padding:7px 12px}pre{white-space:pre-wrap;overflow-wrap:anywhere}#preview{width:100%;margin-top:20px;border:1px solid #d9e1df}#message{position:sticky;bottom:12px;background:#284852;color:white;border-radius:9px;padding:14px;white-space:pre-wrap}#message:empty{display:none}footer{text-align:center;color:#587b8a;padding:35px;font-size:13px}[hidden]{display:none!important}@media(max-width:850px){.columns{grid-template-columns:1fr}section{padding:20px}h1{font-size:25px}}

.directory-scroll{overflow:auto;max-height:480px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:8px;border-bottom:1px solid #d5dfdd}th{position:sticky;top:0;background:#edf2f0}td input{min-width:110px;max-width:240px}select{font:inherit;padding:8px;border:1px solid #b8c8c7;border-radius:6px}
