:root { color-scheme: light dark; --paper:#faf8f3; --ink:#302f2b; --muted:#716e65; --line:#ddd9cf; font-family:system-ui,sans-serif; background:var(--paper); color:var(--ink); }
* { box-sizing:border-box; }
body { margin:0; }
[hidden] { display:none!important; }
main { width:100%; max-width:800px; margin:auto; padding: max(12px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); }
#writer { height:100vh; height:100dvh; height:var(--visible-height,100dvh); display:flex; flex-direction:column; }
header { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-shrink:0; }
#status { font-size:14px; color:var(--muted); }
button,summary,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button,summary { min-height:44px; padding:10px 12px; font:inherit; font-size:16px; cursor:pointer; }
button { background:transparent; color:var(--ink); border:1px solid var(--line); border-radius:8px; }
button:hover { background:var(--line); }
button:focus-visible,summary:focus-visible,a:focus-visible { outline:2px solid var(--muted); outline-offset:3px; }
textarea { resize:none; display:block; width:100%; flex:1; min-height:100px; border:0; outline:0; border-radius:0; background:transparent; color:inherit; font:20px/1.65 Georgia,serif; padding:24px 0; overflow-y:auto; -webkit-overflow-scrolling:touch; }
textarea::placeholder { color:#999489; }
footer { position:relative; display:flex; align-items:center; gap:12px; flex-shrink:0; font-size:12px; color:var(--muted); }
summary { font-size:13px; padding-left:0; }
#drafts[open] { position:absolute; bottom:0; left:0; right:0; max-height:65vh; overflow:auto; padding:12px; background:var(--paper); border:1px solid var(--line); border-radius:10px; box-shadow:0 0 30px #0001; }
#draft-list { display:grid; gap:8px; }
#draft-list button { text-align:left; overflow-wrap:anywhere; }
#detail { overflow-wrap:anywhere; }
#provision { padding-top:10vh; max-width:480px; }
#provision form { display:grid; gap:16px; }
input { min-height:48px; font:16px system-ui; padding:12px; width:100%; }
a { color:inherit; display:inline-block; padding:12px 0; }
@media (prefers-color-scheme:dark) { :root { --paper:#20211f; --ink:#e8e6df; --muted:#b1afa5; --line:#43443e; } }
