:root { color-scheme: light; --ink:#172a25; --muted:#6e7b75; --paper:#f4f1e8; --card:#fffdf7; --line:#dcd8cc; --accent:#e56b45; --green:#2f6556; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; min-height:100vh; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.25; background-image:radial-gradient(#455b53 0.55px,transparent .55px); background-size:7px 7px; }
.shell { position:relative; width:min(720px,100%); margin:auto; padding:max(22px,env(safe-area-inset-top)) 18px calc(40px + env(safe-area-inset-bottom)); }
header,.section-title,.composer-foot,.item-head,.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.header-actions { display:flex; align-items:center; gap:8px; }
.apk-link { color:var(--green); font-size:12px; font-weight:800; text-decoration:none; padding:9px 10px; border:1px solid var(--line); border-radius:99px; background:var(--card); }
header { margin:6px 2px 22px; }
h1 { margin:0; font-family:Georgia,"Songti SC",serif; font-size:42px; letter-spacing:-2px; }
h2,h3,h4,p { margin-top:0; }
.eyebrow { margin:0 0 3px; color:var(--accent); font-size:10px; font-weight:800; letter-spacing:1.8px; }
.card { background:rgba(255,253,247,.94); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 32px rgba(28,45,39,.06); }
.composer { padding:8px 16px 14px; }
input,textarea { width:100%; border:0; border-bottom:1px solid var(--line); outline:0; background:transparent; padding:14px 2px; color:var(--ink); font:inherit; font-size:16px; resize:vertical; }
textarea { line-height:1.65; }
input:focus,textarea:focus { border-color:var(--green); }
.composer-foot { padding-top:12px; }
.file-picker { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 2px 3px; color:var(--green); cursor:pointer; font-size:13px; font-weight:800; }
.file-picker input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.file-picker small { color:var(--muted); font-weight:500; text-align:right; }
#charCount,time { color:var(--muted); font-size:12px; }
button { border:0; font:inherit; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.primary { min-height:44px; padding:0 19px; border-radius:12px; background:var(--ink); color:#fff; font-weight:700; }
.icon-btn { width:44px; height:44px; border-radius:50%; background:var(--card); color:var(--ink); border:1px solid var(--line); }
.text-btn { padding:8px; background:transparent; color:var(--green); font-weight:700; }
.section-title { margin:28px 3px 12px; }
.section-title h2 { margin:0; font:700 16px Georgia,"Songti SC",serif; }
.items { display:grid; gap:12px; }
.item { padding:17px; }
.item h3 { margin-bottom:4px; font-size:16px; line-height:1.35; }
.item-head { align-items:flex-start; }
.status,.chips span { white-space:nowrap; padding:5px 8px; border-radius:99px; background:#e6ece8; color:var(--green); font-size:11px; font-weight:800; }
.status.processing { background:#fff0d5; color:#9b5d00; }
.status.failed,.priority-urgent { background:#ffe1dc!important; color:#a63421!important; }
.status.done { background:#dcece5; }
details { margin-top:13px; }
summary { color:var(--muted); cursor:pointer; font-size:12px; }
.raw { margin:9px 0 0; color:#3f4a46; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.55; font-size:14px; }
.result { margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.chips { display:flex; gap:6px; margin-bottom:10px; }
.summary { font:600 17px/1.55 Georgia,"Songti SC",serif; }
.result h4 { margin:14px 0 5px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.result ul,.result ol { margin:0; padding-left:22px; line-height:1.6; font-size:14px; }
.draft { padding:12px; border-left:3px solid var(--accent); background:#f8f2e8; white-space:pre-wrap; font-size:14px; line-height:1.55; }
.attachments { margin-top:14px; display:grid; gap:7px; }
.attachments h4 { margin:0; color:var(--muted); font-size:11px; letter-spacing:1px; }
.attachment { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#f8f5ed; color:var(--ink); text-align:left; overflow-wrap:anywhere; }
.attachment small { float:right; color:var(--muted); }
.update-banner { position:fixed; z-index:9; left:50%; bottom:calc(20px + env(safe-area-inset-bottom)); width:min(520px,calc(100% - 28px)); transform:translateX(-50%); padding:13px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.update-banner small { display:block; margin-top:3px; color:var(--muted); }
.error { margin:10px 0; color:#a63421; font-size:13px; }
.empty { padding:40px 15px; text-align:center; color:var(--muted); }
dialog { width:min(480px,calc(100% - 28px)); border:0; padding:0; background:transparent; }
dialog::backdrop { background:rgba(12,25,21,.55); backdrop-filter:blur(4px); }
.settings { padding:22px; }
.settings p { color:var(--muted); line-height:1.55; font-size:14px; }
.dialog-actions { justify-content:flex-end; margin-top:18px; }
#toast { position:fixed; left:50%; bottom:calc(22px + env(safe-area-inset-bottom)); z-index:10; max-width:calc(100% - 32px); padding:11px 16px; border-radius:99px; background:var(--ink); color:#fff; transform:translate(-50%,20px); opacity:0; pointer-events:none; transition:.22s; font-size:13px; }
#toast.show { opacity:1; transform:translate(-50%,0); }
@media (min-width:700px) { .shell { padding-top:48px; } }
