:root{--paper: oklch(.973 .007 76);--paper-2: oklch(.952 .01 74);--paper-3: oklch(.921 .013 72);--surface: oklch(.995 .003 80);--surface-hi: oklch(1 0 0);--deep: oklch(.235 .014 58);--deep-2: oklch(.295 .014 58);--ink-1: oklch(.255 .016 56);--ink-2: oklch(.455 .018 54);--ink-3: oklch(.525 .016 54);--on-deep-1: oklch(.945 .008 78);--on-deep-2: oklch(.79 .012 74);--on-deep-3: oklch(.674 .014 70);--ember: oklch(.588 .142 44);--ember-ink: oklch(.505 .132 42);--ember-deep: oklch(.445 .118 40);--ember-lift: oklch(.72 .128 50);--ember-wash: oklch(.588 .142 44 / .09);--ember-edge: oklch(.588 .142 44 / .28);--olive: oklch(.505 .062 128);--olive-wash: oklch(.505 .062 128 / .1);--line: oklch(.255 .016 56 / .14);--line-soft: oklch(.255 .016 56 / .08);--line-firm: oklch(.255 .016 56 / .26);--line-on-deep: oklch(.945 .008 78 / .16);--input-bg: oklch(.988 .004 78);--input-line: oklch(.63 .016 56);--shadow-sm: 0 1px 1px oklch(.255 .03 56 / .04), 0 1px 3px oklch(.255 .03 56 / .05);--shadow-md: 0 1px 2px oklch(.255 .03 56 / .04), 0 4px 10px -2px oklch(.255 .03 56 / .07);--shadow-lg: 0 2px 4px oklch(.255 .03 56 / .04), 0 12px 28px -6px oklch(.255 .03 56 / .11);--r-xs: 3px;--r-sm: 5px;--r-md: 8px;--r-lg: 11px;--r-full: 999px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--space-4xl: 96px;--display: "Alegreya", "Iowan Old Style", Georgia, serif;--ui: "Alegreya Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--prose: "Alegreya", "Iowan Old Style", Georgia, serif;--t-2xs: .6875rem;--t-xs: .75rem;--t-sm: .875rem;--t-base: 1.0625rem;--t-lg: 1.375rem;--t-xl: 1.75rem;--t-2xl: 2.25rem;--t-3xl: 2.875rem;--rail-w: 258px;--content-max: 1140px;--bar-h: 64px;--ease: cubic-bezier(.32, .72, 0, 1);--ink: var(--ink-1);--bone: var(--paper);--bone-2: var(--paper-2);--bone-3: var(--paper-3);--charcoal: var(--deep);--ember-dark: var(--ember-ink);--ember-darker: var(--ember-deep);--ember-light: var(--ember-lift);--muted: var(--ink-2);--muted-2: var(--ink-3);--on-dark: var(--on-deep-2);--on-dark-2: var(--on-deep-2);--on-dark-mute: var(--on-deep-3);--line-2: var(--line-soft);--line-strong: var(--line-firm);--line-dark: var(--line-on-deep);--input: var(--input-bg);--body: var(--ui);--mono: var(--ui);--text: var(--ink-1);--text-muted: var(--ink-2);--text-faint: var(--ink-3);--accent: var(--ember);--border: var(--line);--border-soft: var(--line-soft)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink-1);font-family:var(--ui);font-size:var(--t-base);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}::selection{background:var(--ember-wash);color:var(--ink-1)}img,svg{max-width:100%}svg{display:block}a{color:var(--ember-ink);text-decoration:none}a:hover{color:var(--ember-deep)}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--ember);outline-offset:2px;border-radius:var(--r-xs)}.skip-link{position:absolute;left:12px;top:-56px;z-index:90;background:var(--deep);color:var(--on-deep-1);font-size:var(--t-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:12px 18px;border-radius:var(--r-sm);transition:top .18s var(--ease)}.skip-link:focus{top:12px;color:var(--on-deep-1)}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}h1,h2,h3,h4{font-family:var(--display);color:var(--ink-1);margin:0;font-weight:600;line-height:1.15;letter-spacing:-.005em;text-wrap:balance}h1{font-size:var(--t-2xl);line-height:1.08;letter-spacing:-.015em}h2{font-size:var(--t-xl);line-height:1.12;letter-spacing:-.01em}h3{font-size:var(--t-lg)}h4{font-size:var(--t-base);font-weight:700}p{margin:0 0 1rem}p:last-child{margin-bottom:0}.prose{font-family:var(--prose);font-size:1.1875rem;line-height:1.72;color:var(--ink-1);max-width:68ch}.prose p{margin:0 0 1.15em}.prose h2,.prose h3{margin:1.9em 0 .5em}.prose blockquote{margin:1.6em 0;padding:var(--space-md) var(--space-lg);background:var(--ember-wash);border:1px solid var(--ember-edge);border-radius:var(--r-md);font-style:italic;color:var(--ink-1)}.prose blockquote p:last-child{margin-bottom:0}.kicker{font-family:var(--ui);font-size:var(--t-xs);font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ember-ink);margin:0}.kicker-rule{display:flex;align-items:center;gap:12px}.kicker-rule:after{content:"";height:1px;flex:1 1 auto;max-width:48px;background:var(--ember-edge)}.eyebrow{margin-bottom:10px}.index{font-family:var(--ui);font-size:var(--t-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-ink)}.ink .kicker,.charcoal .kicker,.auth-main .kicker,.ink .index,.charcoal .index,.on-deep .kicker{color:var(--ember-lift)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.display{font-family:var(--display)}.mono{font-family:var(--ui);font-variant-numeric:tabular-nums}.nums{font-variant-numeric:tabular-nums}.app{min-height:100vh}.rail{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--rail-w);display:flex;flex-direction:column;padding:var(--space-lg) var(--space-md) var(--space-md);background:var(--paper-2);border-right:1px solid var(--line)}.rail-brand{display:flex;align-items:center;gap:10px;padding:0 var(--space-sm) var(--space-lg);color:var(--ink-1)}.rail-brand:hover{color:var(--ink-1)}.rail-brand .mark{width:36px;height:36px;flex:none}.rail-brand .name{font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:-.01em;line-height:1.1}.rail-nav{display:flex;flex-direction:column;gap:1px;overflow-y:auto}.rail-nav a{display:flex;align-items:center;gap:11px;padding:9px var(--space-sm);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--t-sm);font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease)}.rail-nav a svg{color:var(--ink-3);transition:color .15s var(--ease)}.rail-nav a:hover{background:var(--ember-wash);color:var(--ink-1)}.rail-nav a:hover svg{color:var(--ember-ink)}.rail-nav a[aria-current=page]{background:var(--surface);color:var(--ink-1);font-weight:600;box-shadow:var(--shadow-sm)}.rail-nav a[aria-current=page] svg{color:var(--ember)}.rail-section{margin-top:var(--space-lg);padding:0 var(--space-sm) var(--space-xs);font-size:var(--t-2xs);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}.rail-foot{margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:1px}.app-main{margin-left:var(--rail-w);min-height:100vh;padding:clamp(28px,4vw,52px) 0 var(--space-4xl)}.app-main.ground2{background:var(--paper-2)}.wrap{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 clamp(20px,3.5vw,40px)}.wrap.narrow{max-width:720px}.wrap.wide{max-width:1240px}main:not(.app-main):not(.auth-main){padding:clamp(28px,4vw,52px) 0 var(--space-4xl)}.page-head{margin-bottom:clamp(24px,3.5vw,38px)}.page-head h1{margin-top:8px}.page-head .sub{color:var(--ink-2);font-size:var(--t-lg);line-height:1.5;margin:10px 0 0;max-width:56ch;font-weight:400}.tabbar,.rail-scrim,.rail-check{display:none}@media (max-width: 900px){.rail-check{display:block;position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}}@media (max-width: 900px){.app-main{margin-left:0;padding-bottom:calc(var(--bar-h) + var(--space-2xl))}.rail{width:min(300px,84vw);transform:translate(-101%);visibility:hidden;transition:transform .28s var(--ease),visibility .28s;box-shadow:var(--shadow-lg);z-index:70}.rail-check:checked~.rail{transform:translate(0);visibility:visible}.rail-check:checked~.rail-scrim{display:block;position:fixed;inset:0;z-index:60;background:#231d1870}.rail-check:focus-visible~.tabbar .tab-more{outline:2px solid var(--ember);outline-offset:-2px}.tabbar{position:fixed;inset:auto 0 0;z-index:50;height:calc(var(--bar-h) + env(safe-area-inset-bottom,0px));display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:start;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar a,.tabbar label{height:var(--bar-h)}.tabbar a,.tabbar label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;color:var(--ink-3);font-size:var(--t-2xs);font-weight:600;letter-spacing:.02em}.tabbar a[aria-current=page]{color:var(--ember-ink)}.tabbar a[aria-current=page] svg{color:var(--ember)}}.auth-main{min-height:100vh;background:var(--deep);color:var(--on-deep-1);display:grid;place-items:center;padding:clamp(32px,8vh,80px) var(--space-lg)}.auth-main h1,.auth-main h2,.auth-main h3{color:var(--on-deep-1)}.auth-main p{color:var(--on-deep-2)}.auth-main a{color:var(--ember-lift)}.auth-main .card{background:var(--deep-2);border-color:var(--line-on-deep);box-shadow:var(--shadow-lg)}.auth-main label{color:var(--on-deep-3)}.auth-main input[type=text],.auth-main input[type=email]{background:var(--deep);border-color:#f0ece757;color:var(--on-deep-1)}.auth-main input::placeholder{color:var(--on-deep-3)}.on-deep{background:var(--deep);color:var(--on-deep-1)}.on-deep h1,.on-deep h2,.on-deep h3{color:var(--on-deep-1)}.on-deep p{color:var(--on-deep-2)}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}a.card,.card.hover{cursor:pointer;display:block;color:inherit}a.card:hover,.card.hover:hover{box-shadow:var(--shadow-md);border-color:var(--line);transform:translateY(-1px)}a.card:hover h2,a.card:hover h3{color:var(--ember-ink)}.card.feature{padding:clamp(22px,3vw,34px);background:var(--surface);box-shadow:var(--shadow-md)}.card.quiet{box-shadow:none;background:transparent;border-color:var(--line)}.card.tint{background:var(--ember-wash);border-color:var(--ember-edge);box-shadow:none}.hairline{height:1px;background:var(--line-soft);margin:var(--space-lg) 0;border:0}.stack{display:grid;gap:var(--space-md);align-content:start}.stack-sm{display:grid;gap:var(--space-sm);align-content:start}.stack-lg{display:grid;gap:var(--space-lg);align-content:start}.stack>*,.stack-sm>*,.stack-lg>*{min-width:0}.row{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.row-between{display:flex;gap:var(--space-md);align-items:baseline;justify-content:space-between}.center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ui);font-size:var(--t-sm);font-weight:600;letter-spacing:.005em;padding:10px 18px;border:1px solid transparent;border-radius:var(--r-md);background:none;color:var(--ink-1);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.btn:active{transform:translateY(.5px)}.btn-ember{background:var(--ember-ink);border-color:var(--ember-ink);color:#fdfbf9;box-shadow:var(--shadow-sm)}.btn-ember:hover{background:var(--ember-deep);border-color:var(--ember-deep);color:#fdfbf9;box-shadow:var(--shadow-md)}.btn-ink{background:var(--deep);border-color:var(--deep);color:var(--on-deep-1)}.btn-ink:hover{background:var(--deep-2);border-color:var(--deep-2);color:var(--on-deep-1)}.btn-ghost{border-color:var(--line);color:var(--ink-1);background:var(--surface)}.btn-ghost:hover{border-color:var(--line-firm);color:var(--ink-1);background:var(--surface);box-shadow:var(--shadow-sm)}.btn-plain{color:var(--ink-2);padding-inline:10px}.btn-plain:hover{color:var(--ink-1);background:var(--paper-2)}.ink .btn-ghost,.charcoal .btn-ghost,.auth-main .btn-ghost,.on-deep .btn-ghost{border-color:var(--line-on-deep);color:var(--on-deep-1);background:transparent}.ink .btn-ghost:hover,.charcoal .btn-ghost:hover,.auth-main .btn-ghost:hover,.on-deep .btn-ghost:hover{border-color:var(--on-deep-2);background:#f0ece70f;color:var(--on-deep-1)}.btn-sm{padding:6px 12px;font-size:var(--t-xs);border-radius:var(--r-sm)}.btn-lg{padding:13px 24px;font-size:var(--t-base)}.btn-block{display:flex;width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.card-link{display:inline-flex;align-items:center;gap:5px;color:var(--ember-ink);font-size:var(--t-sm);font-weight:600;margin-top:var(--space-md)}.card-link:hover{color:var(--ember-deep);gap:8px}.card-link svg{transition:transform .15s var(--ease)}.card-link.inline{margin-top:0}label{display:block;font-family:var(--ui);font-size:var(--t-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=search],textarea,select{width:100%;font-family:var(--ui);font-size:var(--t-base);line-height:1.5;color:var(--ink-1);background:var(--input-bg);border:1px solid var(--input-line);border-radius:var(--r-md);padding:10px 13px;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input::placeholder,textarea::placeholder{color:var(--ink-3)}textarea{resize:vertical;min-height:104px;line-height:1.6}select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-wash)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}.field{margin-bottom:var(--space-md)}.form-note{color:var(--ink-3);font-size:var(--t-sm);margin-top:8px}.msg{font-size:var(--t-sm);margin-top:var(--space-sm)}.msg.error{color:var(--ember-deep)}.msg.ok{color:var(--olive)}.choice{text-transform:none;letter-spacing:normal;margin-bottom:0;display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);font-size:var(--t-sm);font-weight:500;color:var(--ink-2);cursor:pointer;transition:border-color .15s var(--ease),background-color .15s var(--ease),color .15s var(--ease)}.choice:hover{border-color:var(--line-firm);color:var(--ink-1)}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice:has(input:checked){background:var(--ember-wash);border-color:var(--ember);color:var(--ember-deep);font-weight:600}.choice:has(input:focus-visible){outline:2px solid var(--ember);outline-offset:2px}.tag{display:inline-flex;align-items:center;font-size:var(--t-2xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ember-ink);background:var(--ember-wash);border:1px solid var(--ember-edge);border-radius:var(--r-full);padding:3px 10px}.pill{display:inline-flex;align-items:center;font-size:var(--t-2xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r-full);padding:3px 10px}.pill.active{color:var(--ember-ink);background:var(--ember-wash);border-color:var(--ember-edge)}.pill.answered{color:var(--olive);background:var(--olive-wash);border-color:transparent}.pill.invited{color:var(--ink-3)}.pill.inactive{color:var(--ink-2)}.empty-state .kicker{margin-bottom:10px}.empty-state h3{font-size:var(--t-lg);margin:0 0 6px}.empty-state p{color:var(--ink-2);margin:0 0 var(--space-md);max-width:52ch}.empty-state p:last-child{margin-bottom:0}.book{display:flex;gap:var(--space-lg);align-items:flex-start}.book .cover{width:104px;aspect-ratio:2 / 3;flex:none;position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--paper-3) center / cover no-repeat;box-shadow:var(--shadow-md);display:flex;align-items:flex-end}.book .cover.cover--fallback{background:var(--deep);align-items:flex-start}.book .cover .cover-title{font-family:var(--display);font-weight:600;font-size:.8rem;line-height:1.25;color:var(--on-deep-1);padding:12px 11px}.book h3{font-size:var(--t-lg)}.by{font-family:var(--prose);font-style:italic;color:var(--ink-2);margin:4px 0 0}.cover-plate{display:grid;place-items:center;background:var(--paper-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:clamp(20px,3vw,30px)}.cover-plate img{width:100%;max-width:190px;height:auto;border-radius:var(--r-xs);box-shadow:var(--shadow-lg)}.prog{height:6px;max-width:100%;background:var(--paper-3);border-radius:var(--r-full);overflow:hidden}.prog>span{display:block;height:100%;background:var(--ember);border-radius:var(--r-full)}.prog-cap{color:var(--ink-3);font-size:var(--t-sm);margin:10px 0 0}.meta-list{list-style:none;padding:0;margin:0}.meta-list li{display:flex;justify-content:space-between;gap:var(--space-md);padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-sm)}.meta-list li:last-child{border-bottom:none;padding-bottom:0}.meta-list .lbl{color:var(--ink-3)}.meta-list .val{color:var(--ink-1);text-align:right;font-weight:600}.table-scroll{overflow-x:auto;margin-inline:calc(var(--space-lg) * -1);padding-inline:var(--space-lg)}table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}th{text-align:left;font-weight:700;color:var(--ink-3);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;padding:0 var(--space-md) 10px 0;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px var(--space-md) 12px 0;border-bottom:1px solid var(--line-soft);vertical-align:top}tr:last-child td{border-bottom:none}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.reveal{animation:rise .5s var(--ease) both;animation-delay:calc(var(--i, 0) * 60ms)}@media (prefers-reduced-motion: reduce){.reveal{animation:none}}.rail-signout[data-astro-cid-j3tygqaf]{margin:0}.rail-signout[data-astro-cid-j3tygqaf] button[data-astro-cid-j3tygqaf]{display:flex;align-items:center;gap:11px;width:100%;padding:9px var(--space-sm);border:0;border-radius:var(--r-md);background:none;cursor:pointer;font-family:var(--ui);font-size:var(--t-sm);font-weight:500;color:var(--ink-2);text-align:left;transition:background-color .15s var(--ease),color .15s var(--ease)}.rail-signout[data-astro-cid-j3tygqaf] button[data-astro-cid-j3tygqaf] svg{color:var(--ink-3);flex:none}.rail-signout[data-astro-cid-j3tygqaf] button[data-astro-cid-j3tygqaf]:hover{background:var(--ember-wash);color:var(--ink-1)}.rail-signout[data-astro-cid-j3tygqaf] button[data-astro-cid-j3tygqaf]:hover svg{color:var(--ember-ink)}
