.public-root{--ink:#121014;--ink-2:#191620;--paper:#efe9df;--dim:#8d8496;--ember:#e8b873;--line:#efe9df24;background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;min-height:100svh;font-family:Fraunces,Georgia,serif;font-weight:340}.public-root *{box-sizing:border-box;margin:0;padding:0}.public-root .wrap{width:min(720px,100% - 3rem);margin:0 auto;padding:3.5rem 0 4rem}.public-root .mono{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem}.public-root a{color:var(--ember);text-decoration:none}.public-root a:hover{text-decoration:underline}.public-root h1{margin:1rem 0 .4rem;font-size:clamp(2rem,6vw,3.2rem);font-weight:560;line-height:1.05}.public-root h1 em{color:var(--ember);font-style:italic;font-weight:340}.public-root .sub{color:var(--dim);margin-bottom:2.5rem;font-style:italic}.public-root .entry{border-top:1px solid var(--line);padding:1.6rem 0}.public-root .entry h2{margin:.2rem 0 .5rem;font-size:1.35rem;font-weight:560}.public-root .entry h2 a{color:inherit}.public-root article{margin-top:2rem;font-size:1.125rem;display:block}.public-root article h2{text-wrap:balance;margin:1.8rem 0 .7rem;font-size:1.35rem;font-weight:560}.public-root article h3{text-wrap:balance;margin:1.3rem 0 .5rem;font-size:1.1rem;font-weight:560}.public-root article p,.public-root article li{color:#efe9dfdb;text-wrap:pretty;margin-bottom:.9em;line-height:1.7}.public-root article ul,.public-root article ol{padding-left:1.2rem}.public-root article code{background:var(--ink-2);border-radius:4px;padding:.06em .28em;font-family:IBM Plex Mono,monospace;font-size:.82em}.public-root article pre{background:var(--ink-2);border:1px solid var(--line);border-radius:10px;margin:0 0 1rem;padding:1rem;line-height:1.55;overflow-x:auto}.public-root article pre code{background:0 0;padding:0;font-size:.82rem;display:block}.public-root article pre.mermaid{background:0 0;border:0;justify-content:center;display:flex;overflow-x:auto}.public-root article img{border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto;margin:.4rem 0 1rem;display:block}.public-root article figure{margin:0 0 1.2rem}.public-root article figcaption{color:var(--dim);margin-top:-.6rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.public-root article figure.phone-shots{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.public-root article figure.phone-shots img{max-width:min(272px,44%);margin:0}.public-root article figure.phone-shots figcaption{text-align:center;flex-basis:100%;margin-top:.5rem}.public-root article blockquote{border-left:3px solid var(--ember);color:var(--dim);margin:0 0 1rem;padding:.15rem 0 .15rem 1rem;font-style:italic}.public-root article table{border-collapse:collapse;width:100%;margin:0 0 1rem;font-size:.92rem}.public-root article th,.public-root article td{border:1px solid var(--line);text-align:left;padding:.5rem .7rem;line-height:1.5}.public-root article th{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-family:IBM Plex Mono,monospace;font-size:.72rem}.public-root .tags{flex-wrap:wrap;gap:.45rem;margin:.9rem 0 0;display:flex}.public-root .tag{letter-spacing:.09em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line);border-radius:999px;padding:.18rem .62rem;font-family:IBM Plex Mono,monospace;font-size:.66rem}.public-root a.tag:hover{color:var(--ember);border-color:var(--ember);text-decoration:none}.public-root .entry .tags{margin:.5rem 0 0}.public-root .back{margin-bottom:2rem;display:inline-block}.public-root footer{border-top:1px solid var(--line);justify-content:space-between;margin-top:3rem;padding-top:1.2rem;display:flex}.public-root .rvbar{z-index:9;background:var(--ink-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:2rem;padding:.8rem;display:flex;position:sticky;top:0}.public-root .rvbar form{display:inline}.public-root .btn{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);color:var(--paper);cursor:pointer;background:0 0;border-radius:8px;padding:.55rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.75rem}.public-root .btn:hover{border-color:var(--ember)}.public-root .btn-ship{background:var(--ember);color:var(--ink);border-color:var(--ember);font-weight:600}.public-root .btn-danger:hover{color:#e87373;border-color:#e87373}.public-root textarea{background:var(--ink-2);width:100%;min-height:16rem;color:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1rem;font-family:IBM Plex Mono,monospace;font-size:.85rem;line-height:1.5}.public-root .draftflag{letter-spacing:.15em;color:var(--ink);background:var(--ember);vertical-align:middle;border-radius:6px;margin-left:.6rem;padding:.15rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.7rem;display:inline-block}#adminnav{z-index:99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);background:#191620e0;border-radius:999px;gap:.15rem;padding:.3rem .5rem;display:flex;position:fixed;top:.9rem;right:1rem}#adminnav a{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-radius:999px;padding:.25rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.64rem;text-decoration:none}#adminnav a:hover{color:var(--ember);background:#e8b87314;text-decoration:none}.public-root .ideas{border:1px solid var(--line);border-radius:10px;margin-top:2.5rem;padding:1.2rem}.public-root .ideas h2{margin-bottom:.8rem;font-size:1.1rem;font-weight:560}.public-root .idea{border-top:1px solid var(--line);padding:.8rem 0}.public-root .idea p{color:#efe9dfe0;line-height:1.5}.public-root .idea .why{color:var(--dim);font-size:.9rem;font-style:italic}.public-root .drag-row{align-items:flex-start;gap:.6rem;display:flex}.public-root .drag-row.dragging{opacity:.5}.public-root .drag-handle{cursor:grab;color:var(--dim);touch-action:none;-webkit-user-select:none;user-select:none;padding:0 .3rem;font-family:IBM Plex Mono,monospace;font-size:.9rem;line-height:1.6}.public-root .drag-handle:hover{color:var(--ember)}.public-root .drag-row>.drag-body{flex:1;min-width:0}article img[src$=\.svg]{max-width:min(1100px,100vw - 3rem);position:relative;left:50%;transform:translate(-50%)}.public-root article .diagram{overflow-x:auto}.public-root article .diagram svg{cursor:zoom-in;max-width:min(1100px,100vw - 3rem);height:auto;margin-inline:auto;display:block}.diagram-zoom-overlay{z-index:999;cursor:zoom-out;background:#121014eb;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.diagram-zoom-overlay svg{cursor:zoom-out;width:auto;max-width:92vw;height:auto;max-height:92vh}
