*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 -apple-system,"PingFang SC","Noto Sans SC",system-ui,sans-serif;background:#0f1115;color:#e8e8ea}
header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#151821;border-bottom:1px solid #262a35}
h1{font-size:17px;margin:0}h2{font-size:15px;margin:18px 0 8px}
main{max-width:980px;margin:0 auto;padding:12px}
.sub{color:#aab;margin:4px 0 12px}.muted{color:#8a8f9c;font-size:13px}
.card{background:#171a22;border:1px solid #262a35;border-radius:12px;padding:12px;margin-bottom:12px}
textarea{width:100%;font:inherit;font-size:16px;background:#0f1115;color:#e8e8ea;border:1px solid #333847;border-radius:8px;padding:10px;resize:vertical}
label{display:block;margin-bottom:6px}fieldset{border:0;padding:0;margin:10px 0}legend{margin-bottom:6px}
.opt{display:flex;gap:10px;align-items:flex-start;min-height:48px;padding:8px 10px;border:1px solid #2c3140;border-radius:10px;margin:6px 0}
.opt input{width:22px;height:22px;margin-top:2px;flex:none}.opt small{display:block;color:#8a8f9c}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
button{font:inherit;min-height:44px;min-width:44px;border-radius:10px;border:1px solid #3a4052;background:#222736;color:#e8e8ea;padding:0 14px}
.primary{width:100%;background:#e0533d;border-color:#e0533d;font-weight:600}.primary:disabled{opacity:.6}
.pill{border-radius:22px}.ghost{background:transparent}
.shot{background:#171a22;border:1px solid #262a35;border-radius:10px;padding:10px;margin:8px 0}
.shot .h{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#ffb39f}.shot .cam{color:#9fd0ff}
.shot p{margin:6px 0;word-break:break-word}.shot .d{color:#ffe08a}.shot .v{color:#9aa;font-size:13px}
table{display:none}
@media(min-width:760px){.shots-cards{display:none}table{display:table;width:100%;border-collapse:collapse;font-size:13px}
th,td{border:1px solid #2a2f3c;padding:6px;vertical-align:top;text-align:left}th{background:#1c2030}}
pre{white-space:pre-wrap;word-break:break-word;font-size:12.5px;max-height:60vh;overflow:auto}
.ok{color:#7ddc8a}.bad{color:#ff8a7a}.warn{color:#ffd27a}code{word-break:break-all}
.meta{font-size:13px;color:#aab}a{color:#9fd0ff}
.opt[hidden]{display:none}
