:root{--p:#0f766e;--bg:#f6f7f8;--card:#fff;--bd:#d6dbe0;--tx:#1b2430;--mu:#5b6676;--warn:#fff4d6}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,sans-serif;background:var(--bg);color:var(--tx)}
header{background:var(--p);color:#fff;padding:12px 16px}
h1{margin:0;font-size:1.2rem}.sub{margin:0;opacity:.85;font-size:.85rem}
main{max-width:760px;margin:0 auto;padding:12px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px;margin:12px 0}
.warn{background:var(--warn);border-color:#e8c76a}
label{display:block;font-weight:600;margin:8px 0 4px}
input[type=text],input[type=date],select,textarea{width:100%;font:inherit;padding:10px;border:1px solid var(--bd);border-radius:8px;background:#fff}
textarea{min-height:90px;resize:vertical}
button{font:inherit;padding:10px 14px;border-radius:8px;border:1px solid var(--p);background:#fff;color:var(--p);cursor:pointer}
button.pri{background:var(--p);color:#fff}
.row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.rolebtn{display:block;width:100%;text-align:left;margin:6px 0}
.rolebtn small{display:block;color:var(--mu)}
.q{border-left:4px solid var(--bd)}
.q.key{border-left-color:var(--p)}
.q.done{background:#f0faf8}
.qn{color:var(--mu);font-size:.8rem}
.qt{font-weight:600;margin:2px 0}
.hint{background:#eef6ff;border-radius:8px;padding:8px;margin:6px 0;font-size:.92rem}
.opt{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--bd);border-radius:8px;margin:6px 0}
.opt input{width:22px;height:22px;margin-top:2px;flex:none}
.tags{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.tags label{display:inline-flex;gap:4px;align-items:center;font-weight:400;font-size:.85rem;margin:0}
.bar{position:sticky;top:0;background:var(--bg);padding:6px 0;z-index:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.prog{flex:1;min-width:120px;height:8px;background:var(--bd);border-radius:4px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--p)}
.big .qt{font-size:1.6rem}.big .hint{font-size:1.25rem}.big .qn,.big textarea,.big .opt{font-size:1.1rem}
.mu{color:var(--mu);font-size:.85rem}
.filebtn{display:inline-block;font:inherit;padding:10px 14px;border-radius:8px;border:1px solid var(--p);color:var(--p);cursor:pointer;margin:0;font-weight:400}
.rolebtn.pri small{color:#d6f3ef}
