@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/cinzel-latin-ext-500-normal.1Z8Q-7rh.woff2) format("woff2"),url(/_astro/cinzel-latin-ext-500-normal.BxIh9iwm.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/cinzel-latin-500-normal.B-2dbOfA.woff2) format("woff2"),url(/_astro/cinzel-latin-500-normal.DMNTwV-V.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cinzel-latin-ext-700-normal.C24KFjuG.woff2) format("woff2"),url(/_astro/cinzel-latin-ext-700-normal.CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/cinzel-latin-700-normal.Dkw14w9r.woff2) format("woff2"),url(/_astro/cinzel-latin-700-normal.C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/cinzel-latin-ext-900-normal.CWXxiu5r.woff2) format("woff2"),url(/_astro/cinzel-latin-ext-900-normal.BlZZvP7K.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/cinzel-latin-900-normal.BI3z7Tow.woff2) format("woff2"),url(/_astro/cinzel-latin-900-normal.t_fSDEbn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-cyrillic-ext-400-normal.o8fRvAFQ.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-ext-400-normal.DG8lny6_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-cyrillic-400-normal.DDLP67lu.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-400-normal.C0kVTdou.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-greek-ext-400-normal.K8pwR3tn.woff2) format("woff2"),url(/_astro/eb-garamond-greek-ext-400-normal.BaZl8BIK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-greek-400-normal.CVAbzS9p.woff2) format("woff2"),url(/_astro/eb-garamond-greek-400-normal.d4JlP2QH.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-vietnamese-400-normal.CLvJdMEL.woff2) format("woff2"),url(/_astro/eb-garamond-vietnamese-400-normal.ifvNSiWx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-latin-ext-400-normal.o4A__6QZ.woff2) format("woff2"),url(/_astro/eb-garamond-latin-ext-400-normal.B4EmgUmt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-latin-400-normal.BCNrxLz_.woff2) format("woff2"),url(/_astro/eb-garamond-latin-400-normal.maQnHeKB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-cyrillic-ext-400-italic.Bz1w3xqM.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-ext-400-italic.CYS3phfl.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-cyrillic-400-italic.BGIwiowF.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-400-italic.BZInx2ys.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-greek-ext-400-italic.CHZOQEtG.woff2) format("woff2"),url(/_astro/eb-garamond-greek-ext-400-italic.BL1XYHtS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-greek-400-italic.Dqr5KC66.woff2) format("woff2"),url(/_astro/eb-garamond-greek-400-italic.BamGE6QP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-vietnamese-400-italic.DQ8HKnks.woff2) format("woff2"),url(/_astro/eb-garamond-vietnamese-400-italic.ORtyMVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-latin-ext-400-italic.V7s3nWfX.woff2) format("woff2"),url(/_astro/eb-garamond-latin-ext-400-italic.DUSsnRSD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/eb-garamond-latin-400-italic.DSEbMgZu.woff2) format("woff2"),url(/_astro/eb-garamond-latin-400-italic.CDFyLPXJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-cyrillic-ext-600-normal.cjIjEMm6.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-ext-600-normal.b6vuEf1e.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-cyrillic-600-normal.CHfC3jm-.woff2) format("woff2"),url(/_astro/eb-garamond-cyrillic-600-normal.koFutDBv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-greek-ext-600-normal.B6KG6Acg.woff2) format("woff2"),url(/_astro/eb-garamond-greek-ext-600-normal.DzPSPp8W.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-greek-600-normal.-vWuDlyL.woff2) format("woff2"),url(/_astro/eb-garamond-greek-600-normal.JScKXZBq.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-vietnamese-600-normal.Dmi8L14S.woff2) format("woff2"),url(/_astro/eb-garamond-vietnamese-600-normal.DgZMCD0h.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-latin-ext-600-normal.CrweTMKz.woff2) format("woff2"),url(/_astro/eb-garamond-latin-ext-600-normal.CoWPx8v4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/eb-garamond-latin-600-normal.DHwxsLHv.woff2) format("woff2"),url(/_astro/eb-garamond-latin-600-normal.xCe6GkOx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IM Fell English SC;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/im-fell-english-sc-latin-400-normal.CW_nhHm4.woff2) format("woff2"),url(/_astro/im-fell-english-sc-latin-400-normal.DPW2r_p4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper-bg: #d8c59d;--paper: #e6d8b5;--paper-light: #f5edd6;--paper-edge: #a3864f;--ink: #1e1208;--ink-soft: #3c2a18;--ink-dim: #65503a;--ink-rule: rgba(60, 42, 24, .45);--ink-rule-soft: rgba(60, 42, 24, .22);--rubric: #8a1c1c;--rubric-bright: #a52828;--gold: #a2781a;--gold-bright: #c9971f;--ok: #3a7a3a;--shadow: rgba(50, 32, 10, .35);--radius: 2px;--font-display: "Cinzel", "Times New Roman", serif;--font-body: "EB Garamond", Georgia, serif;--font-caps: "IM Fell English SC", Georgia, serif;--ease: cubic-bezier(.4, 0, .2, 1);--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.30 0 0 0 0 0.18 0 0 0 0 0.05 0 0 0 0.30 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*{box-sizing:border-box}html{background:var(--paper-bg);-webkit-text-size-adjust:100%}body{margin:0;background:transparent;color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.5;min-height:100vh;border-top:6px solid;border-image:linear-gradient(90deg,#d04a1c,#c0781a,#b8961a,#6a8f1a,#1f8a8a,#2a6fb0,#4b5fc6,#8e44ad,#c03a7a) 1}body:before{content:"";position:fixed;inset:-40%;z-index:-3;pointer-events:none;background-image:radial-gradient(ellipse 38% 32% at 50% 42%,rgba(255,246,214,.55),transparent 70%),radial-gradient(ellipse 55% 48% at 50% 45%,rgba(255,235,190,.28),transparent 75%);animation:candle 22s ease-in-out infinite alternate;will-change:transform}@keyframes candle{0%{transform:translate(-2%,-1%) scale(1)}50%{transform:translate(1.5%,1%) scale(1.04)}to{transform:translate(-1%,2%) scale(1.01)}}body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:var(--grain),radial-gradient(ellipse 120% 95% at 50% 50%,transparent 55%,rgba(70,45,15,.28) 100%),radial-gradient(ellipse 70% 40% at 0% 100%,rgba(120,80,30,.16),transparent 70%),radial-gradient(ellipse 60% 45% at 100% 0%,rgba(120,80,30,.14),transparent 70%);opacity:.9}a{color:var(--rubric);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--rubric-bright)}:focus-visible{outline:2px solid var(--rubric);outline-offset:2px}.container{max-width:960px;margin:0 auto;padding:16px}.container.wide{max-width:1600px;padding:16px 30px}@media(max-width:900px){.container.wide{padding:14px}}header.site{position:relative;border-bottom:3px double var(--ink-rule);background:linear-gradient(180deg,#f5edd68c,#f5edd600)}header.site .container{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding-top:16px;padding-bottom:12px}header.site h1{margin:0;font-family:var(--font-display);font-weight:900;font-size:1.4rem;letter-spacing:.08em;color:var(--rubric)}header.site h1 a{color:inherit;text-decoration:none}header.site h1 a:before{content:"❦ ";color:var(--gold);font-family:Georgia,serif}header.site nav a{margin-left:18px;font-family:var(--font-caps);font-size:1.05rem;letter-spacing:.05em;color:var(--ink-soft);text-decoration:none}header.site nav a:first-child{margin-left:0}header.site nav a[aria-current=page]{color:var(--rubric);border-bottom:1px solid var(--rubric)}header.site nav a:hover{color:var(--rubric)}h2{margin:24px 0 8px;font-family:var(--font-display);font-weight:700;font-size:1.75rem;letter-spacing:.05em;color:var(--rubric)}h3{margin:0 0 12px;font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rubric)}h4{margin:14px 0 4px;font-family:var(--font-display);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.card{position:relative;background-image:var(--grain),linear-gradient(180deg,var(--paper-light) 0%,#efe4c8 100%);border:1px solid var(--paper-edge);border-radius:var(--radius);padding:20px 22px;margin-bottom:18px;box-shadow:inset 0 0 24px #78501e1f,0 1px #ffffff80,0 6px 16px var(--shadow)}.card:before{content:"";position:absolute;inset:6px;border:1px solid var(--ink-rule-soft);pointer-events:none}label{display:block;margin:12px 0 4px;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}input,select,textarea{width:100%;padding:9px 11px;border-radius:var(--radius);border:1px solid var(--ink-dim);background:var(--paper-light);color:var(--ink);font:inherit;font-size:1rem;text-transform:none;letter-spacing:normal;box-shadow:inset 0 1px 3px #3c280a26}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rubric);box-shadow:inset 0 1px 3px #3c280a26,0 0 0 2px #8a1c1c2e}input::placeholder{color:var(--ink-dim);opacity:.8}button{margin-top:16px;padding:10px 18px;border-radius:var(--radius);border:1px solid var(--rubric);background:linear-gradient(180deg,var(--rubric-bright),var(--rubric));color:var(--paper-light);font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 2px 6px #8a1c1c4d}button:hover{filter:brightness(1.08)}button.secondary{background:var(--paper-light);border-color:var(--ink-soft);color:var(--ink-soft);box-shadow:0 1px 3px #3c280a26}button.secondary:hover{border-color:var(--rubric);color:var(--rubric);filter:none}button.danger{background:transparent;border:1px dashed var(--rubric);color:var(--rubric);box-shadow:none}button.danger:hover{background:#8a1c1c14;filter:none}button:disabled{opacity:.6;cursor:wait}.error{color:var(--rubric);font-style:italic;margin-top:12px}.muted{color:var(--ink-dim)}.hidden{display:none}code{background:#3c280a14;padding:1px 6px;border-radius:3px}.text{white-space:pre-wrap;margin:4px 0 8px}ul.list{list-style:none;padding:0;margin:0 0 8px}ul.list li{padding:10px 0;border-bottom:1px dotted var(--ink-rule);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}ul.list li:last-child{border-bottom:0}ul.list button{margin:0 0 0 6px;padding:5px 10px;font-size:.7rem}ul.traits li{align-items:flex-start}.trait{flex:1;min-width:0}.badge{display:inline-block;font-family:var(--font-display);font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border:1px solid var(--ink-dim);border-radius:var(--radius);color:var(--ink-soft);background:#fffaeb99;white-space:nowrap;margin-left:4px;vertical-align:middle}.row-form{flex-basis:100%;margin:6px 0 10px;padding:12px 14px;border:1px solid var(--ink-rule);border-radius:var(--radius);background:#fffaeba6}.row-form label{margin-top:8px}.row-form button{margin:10px 6px 0 0;padding:9px 16px;font-size:.75rem}.row-form p{margin:0 0 6px}.grid{display:grid;gap:8px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.grid label{margin:0;font-size:.66rem}.grid input,.grid select{padding:6px 8px;margin-top:3px}.checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0}.checks label{display:inline-flex;align-items:center;gap:5px;margin:0;font-family:var(--font-body);font-size:.98rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink)}.checks input{width:auto;box-shadow:none;accent-color:var(--rubric)}table.skills{width:100%;border-collapse:collapse;font-size:.95rem}table.skills th,table.skills td{padding:3px 6px;border-bottom:1px solid var(--ink-rule-soft);text-align:left}table.skills th{font-family:var(--font-display);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rubric)}table.skills th:not(:first-child),table.skills td:not(:first-child){text-align:center;width:80px}table.skills input{width:auto;box-shadow:none;accent-color:var(--rubric)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:12px 0}.stat{text-align:center;border:1px solid var(--paper-edge);border-radius:var(--radius);padding:8px;background:#fffaeb99;box-shadow:inset 0 0 10px #78501e1a}.stat .label{font-family:var(--font-display);font-size:.72rem;font-weight:700;color:var(--ink-soft);letter-spacing:.1em}.stat .value{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--rubric)}.stat .mod{font-size:.9rem;color:var(--ink-dim)}.portrait{width:160px;height:160px;object-fit:cover;border:1px solid var(--paper-edge);border-radius:var(--radius);padding:4px;background:var(--paper-light);box-shadow:0 4px 12px var(--shadow);float:right;margin:0 0 12px 16px}.prof{color:var(--rubric)}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.two table.skills td:last-child{text-align:right;color:var(--rubric);white-space:nowrap;width:auto}.rich{line-height:1.55;overflow-wrap:anywhere;margin:6px 0 8px}.rich ul{margin:4px 0 6px;padding-left:22px}.rich strong{color:#000;font-weight:600}.table-wrap{overflow-x:auto;margin:8px 0;-webkit-overflow-scrolling:touch}.rich table,table.progression{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.35}.rich th,table.progression th{font-family:var(--font-display);font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--rubric);text-align:left;vertical-align:bottom;padding:5px 6px;border-bottom:1px solid var(--ink-rule)}.rich td,table.progression td{padding:4px 6px;border-bottom:1px solid var(--ink-rule-soft);vertical-align:top}.rich tbody tr:nth-child(2n) td,table.progression tbody tr:nth-child(2n) td{background:#3c280a0f}table.progression th,table.progression td{text-align:center;white-space:nowrap}table.progression td.features{text-align:left;white-space:normal;min-width:200px}table.progression th.group{text-align:center;border-bottom:1px solid var(--ink-rule-soft)}table.attributes th{width:34%;vertical-align:top}table.attributes th,table.attributes td{text-align:left!important;width:auto}details.feature{flex:1;min-width:0}details.feature>summary{cursor:pointer;list-style:none}details.feature>summary::-webkit-details-marker{display:none}details.feature>summary:before{content:"▸";display:inline-block;width:1em;color:var(--rubric);transition:transform .2s var(--ease)}details.feature[open]>summary:before{transform:rotate(90deg)}details.feature>summary .badge{margin:0 4px 0 0}ul.traits li.editable{position:relative}ul.traits li.editable>.row-edit{position:absolute;top:8px;right:0}ul.traits li.editable>details.feature>summary{padding-right:84px}.marks{margin-left:6px}.act{font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.04em;color:var(--rubric);white-space:nowrap;margin-right:6px}textarea.mono{font-family:Consolas,Courier New,monospace;font-size:.85rem;white-space:pre;overflow-x:auto}@media(max-width:600px){.grid-6{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:1fr}.portrait{float:none;display:block}header.site nav a{margin-left:12px}h2{font-size:1.45rem}}@media(hover:none),(pointer:coarse){body:before{animation:none;inset:0;will-change:auto}}@media(prefers-reduced-motion:reduce){body:before{animation:none}}@media print{body:before,body:after{display:none}html,body{background:#fff;color:#000;border:0}}
