:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#283b34;background:#f6f7f2;line-height:1.6;font-size:16px;--green:#193f35;--line:#dce2d8;--muted:#647768}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}a{color:var(--green)}button,.button{font:inherit;font-weight:600;cursor:pointer;background:var(--green);color:white;border:1px solid var(--green);border-radius:.55rem;padding:.65rem 1rem;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}button:disabled{opacity:.5;cursor:wait}button.quiet,.button.quiet{background:white;color:var(--green);border-color:var(--line)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #91ad82;outline-offset:3px}input{font:inherit;color:inherit;background:#fff;border:1px solid #acbcae;border-radius:.45rem;width:100%;min-height:48px;padding:.7rem .8rem}label{display:block;font-weight:600;margin:1rem 0 .4rem}p{margin:.5rem 0 1rem}h1,h2,h3{line-height:1.25;margin:.5rem 0 1rem;overflow-wrap:anywhere}h1{font-size:clamp(1.7rem,4vw,2.2rem);letter-spacing:-.04em}h2{font-size:1.3rem}h3{font-size:1.05rem}small,.note{font-size:.85rem;color:var(--muted)}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.site-header{background:#fff;border-bottom:1px solid var(--line);padding:1rem max(1rem,calc((100vw - 1000px)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-size:1.3rem;font-weight:750;line-height:1.2}.brand small{display:block;font-size:.7rem;font-weight:500;letter-spacing:.02em;margin-top:.3rem}.brand-icon{display:grid;place-items:center;background:var(--green);color:#e4eedc;width:44px;height:44px;border-radius:12px;font-family:Georgia,serif;font-size:2rem}#account{display:flex;align-items:center;gap:.75rem;max-width:55%;font-size:.85rem}#accountName{overflow-wrap:anywhere}main{max-width:1032px;margin:0 auto;padding:1.5rem 1rem;min-height:70vh}main:focus{outline:0}.card{background:white;border:1px solid var(--line);border-radius:.8rem;padding:1.5rem}.login{max-width:470px;margin:2rem auto}.login button{width:100%;margin:1.3rem 0 1rem}.login .note{margin-bottom:0}#message:empty{display:none}#message{padding:1rem;border-radius:.5rem;background:#e8eee2;color:var(--green);overflow-wrap:anywhere}#message.error{background:#f7e9e4;color:#873e2d}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;justify-content:space-between;margin-bottom:1.25rem}.toolbar .actions{display:flex;flex-wrap:wrap;gap:.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.item{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;min-width:0;text-decoration:none;transition:border-color .15s,background .15s}.item:hover{border-color:#8da17f;background:#fcfdf9}.item h2,.item h3{margin:0}.item p{margin:0}.code{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--muted);overflow-wrap:anywhere}.pager{display:flex;gap:.6rem;margin:1.25rem 0;flex-wrap:wrap}.device-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem;margin-bottom:1.5rem}.device-summary .description{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}dl{margin:0}dt{font-size:.75rem;color:var(--muted);margin-top:.7rem}dd{margin:0;overflow-wrap:anywhere}.badge{display:inline-flex;font-size:.75rem;background:#edf2e7;border-radius:.3rem;padding:.2rem .55rem;color:#365a3c}.badge.archived{background:#f4ead6;color:#805c27}.history{display:grid;gap:1rem}.entry-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.7rem;flex-wrap:wrap}.entry h3{margin:.35rem 0}.entry .prose{white-space:pre-wrap;overflow-wrap:anywhere}details{border-top:1px solid var(--line);padding-top:.8rem;margin-top:1rem}summary{cursor:pointer;min-height:44px;display:list-item;padding:.4rem 0;font-weight:600}.parts{display:grid;gap:.7rem;margin:.5rem 0}.part{padding:.9rem;background:#f5f7f1;border-radius:.5rem}.part p{margin:.25rem 0;white-space:pre-wrap;overflow-wrap:anywhere}.part dl{display:flex;flex-wrap:wrap;gap:1rem}.empty{padding:1.5rem;border:1px dashed #c9d2c2;border-radius:.7rem;color:var(--muted)}footer{font-size:.75rem;color:var(--muted);text-align:center;padding:1.5rem 1rem;border-top:1px solid var(--line)}[hidden]{display:none!important}
textarea,select{font:inherit;color:inherit;background:#fff;border:1px solid #acbcae;border-radius:.45rem;width:100%;max-width:100%;min-height:48px;padding:.7rem .8rem}textarea{resize:vertical}textarea:focus-visible,select:focus-visible{outline:3px solid #91ad82;outline-offset:3px}.work-editor{margin-bottom:1.5rem;min-width:0}.work-editor details{border-top:0;margin:0;padding:0}.work-editor input{min-width:0;max-width:100%}.work-editor .prose{white-space:pre-wrap;overflow-wrap:anywhere}.work-fields{border:0;padding:0;margin:0;min-width:0}.work-fields>h3{margin-top:1.5rem}.work-parts{display:grid;gap:1rem;margin-bottom:1rem}.work-part{min-width:0;border:1px solid var(--line);border-radius:.6rem;padding:1rem;margin:0}.work-part legend{padding:0 .4rem;font-weight:650}.work-part button{margin-top:1rem}.work-editor form>button{margin-top:1.25rem}.work-notice{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}.work-notice.error{background:#f7e9e4;color:#873e2d;padding:.8rem;border-radius:.5rem}.work-editor[data-state=pending] .work-notice:not(.error){background:#f4ead6;color:#805c27;padding:.8rem;border-radius:.5rem}.work-editor[data-state=confirmed] .work-notice{color:#365a3c}.work-field{min-width:0}.work-fields:disabled{opacity:.8}
@media(max-width:600px){.site-header{align-items:flex-start;padding:.85rem 1rem}.brand{font-size:1.15rem}.brand small{font-size:.6rem}.brand-icon{width:38px;height:38px}.site-header #account{flex-direction:column;align-items:flex-end;gap:.25rem;max-width:48%;font-size:.75rem}.site-header #signOut{padding:.35rem .65rem;font-size:.75rem}.card{padding:1.15rem}.login{margin:1rem auto}.device-summary{grid-template-columns:1fr;gap:.75rem}main{padding-top:1rem}.toolbar{align-items:flex-start}.toolbar .actions{width:100%}.toolbar .actions>*{flex:1}}
