@font-face{font-family:"Geist";src:url(geist.woff2?v=nvfx3z) format("woff2");font-weight:100 900;font-display:swap}
:root{--font:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--h:185;--r:14px;--r-sm:10px;--gutter:1rem;--gap:1rem;--pad:1rem;--tap:2.75rem;
--bg:oklch(.975 .004 260);--surface:oklch(1 0 0);--surface-2:oklch(.962 .006 260);--border:oklch(.9 .008 260);--text:oklch(.21 .02 260);--muted:oklch(.47 .02 260);
--accent:oklch(.5 .12 var(--h));--accent-strong:oklch(.42 .12 var(--h));--accent-ink:#fff;--accent-soft:oklch(.953 .035 var(--h));--accent-soft-ink:oklch(.38 .1 var(--h));
--good:oklch(.45 .12 150);--good-soft:oklch(.95 .045 150);--warn:oklch(.46 .1 70);--warn-soft:oklch(.955 .06 90);--bad:oklch(.5 .17 25);--bad-soft:oklch(.955 .03 25);
--ring:oklch(.58 .15 var(--h));--shadow:0 1px 2px oklch(.2 .02 260/.06),0 10px 28px -14px oklch(.2 .02 260/.18);color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:oklch(.16 .008 260);--surface:oklch(.205 .01 260);--surface-2:oklch(.245 .012 260);--border:oklch(.3 .012 260);--text:oklch(.96 .006 260);--muted:oklch(.74 .015 260);
--accent:oklch(.8 .12 var(--h));--accent-strong:oklch(.86 .1 var(--h));--accent-ink:oklch(.2 .03 var(--h));--accent-soft:oklch(.3 .06 var(--h));--accent-soft-ink:oklch(.9 .06 var(--h));
--good:oklch(.8 .14 150);--good-soft:oklch(.3 .07 150);--warn:oklch(.85 .12 90);--warn-soft:oklch(.32 .07 80);--bad:oklch(.78 .13 25);--bad-soft:oklch(.3 .08 25);--ring:oklch(.8 .12 var(--h));--shadow:0 1px 2px #0006,0 10px 28px -14px #000a;color-scheme:dark}}
:root[data-theme=dark]{--bg:oklch(.16 .008 260);--surface:oklch(.205 .01 260);--surface-2:oklch(.245 .012 260);--border:oklch(.3 .012 260);--text:oklch(.96 .006 260);--muted:oklch(.74 .015 260);
--accent:oklch(.8 .12 var(--h));--accent-strong:oklch(.86 .1 var(--h));--accent-ink:oklch(.2 .03 var(--h));--accent-soft:oklch(.3 .06 var(--h));--accent-soft-ink:oklch(.9 .06 var(--h));
--good:oklch(.8 .14 150);--good-soft:oklch(.3 .07 150);--warn:oklch(.85 .12 90);--warn-soft:oklch(.32 .07 80);--bad:oklch(.78 .13 25);--bad-soft:oklch(.3 .08 25);--ring:oklch(.8 .12 var(--h));--shadow:0 1px 2px #0006,0 10px 28px -14px #000a;color-scheme:dark}
html[data-accent=blue]{--h:255}html[data-accent=violet]{--h:295}html[data-accent=rose]{--h:10}html[data-accent=amber]{--h:75}html[data-accent=green]{--h:150}
html[data-density=compact]{--gap:.7rem;--pad:.75rem;--tap:2.5rem}html[data-size=large]{font-size:112.5%}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:4.5rem}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.55 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.02em;line-height:1.2;text-wrap:balance}h1{font-size:1.65rem}h2{font-size:1.1rem}h3{font-size:1rem}
p{margin:0 0 .9rem;text-wrap:pretty}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-strong)}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:6px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:.5rem;top:-4rem;z-index:50;background:var(--accent);color:var(--accent-ink);padding:.6rem 1rem;border-radius:var(--r-sm);font-weight:600}.skip:focus{top:.5rem}
.ic{width:1.25rem;height:1.25rem;flex:none}.muted{color:var(--muted)}.small{font-size:.86rem}.nowrap{white-space:nowrap}
.wrap{width:calc(100% - 2*var(--gutter));max-width:72rem;margin:0 auto}
header.top{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top)}
.bar{display:flex;align-items:center;gap:.5rem;height:3.5rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:750;letter-spacing:-.02em;color:var(--text);text-decoration:none;margin-right:auto}
.mark{width:1.7rem;height:1.7rem;border-radius:.5rem;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}.mark .ic{width:1rem;height:1rem}
.icon-btn{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--text)}
.bar form{margin:0}
nav.tabs{position:fixed;inset:auto 0 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border);padding:.3rem .5rem calc(.3rem + env(safe-area-inset-bottom))}
nav.tabs a{display:grid;justify-items:center;align-content:center;gap:.1rem;min-height:3rem;border-radius:var(--r-sm);color:var(--muted);font-size:.72rem;font-weight:600;text-decoration:none}
nav.tabs a[aria-current=page]{color:var(--accent-soft-ink);background:var(--accent-soft)}
main{padding:1.25rem 0 calc(6rem + env(safe-area-inset-bottom));outline:none}
.stack{display:grid;gap:var(--gap)}.cluster{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.head{display:grid;gap:.6rem;margin-bottom:1.1rem}.head .sub{color:var(--muted);margin:0}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:var(--pad);box-shadow:var(--shadow)}
.card>h2,.card>.row>h2{margin-bottom:.7rem}.row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);padding:0 1rem;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font:600 .95rem var(--font);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.btn:hover{background:var(--surface-2);color:var(--text)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink)}
.btn-danger{color:var(--bad);border-color:color-mix(in oklch,var(--bad) 45%,var(--border))}.btn-danger:hover{background:var(--bad-soft);color:var(--bad)}.btn-sm{min-height:2.25rem;padding:0 .75rem;font-size:.88rem}
.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-block{width:100%}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.actions form{margin:0}
.badge{display:inline-flex;align-items:center;padding:.12rem .6rem;border-radius:999px;font-size:.76rem;font-weight:650;white-space:nowrap;background:var(--surface-2);color:var(--muted)}
.badge-accent{background:var(--accent-soft);color:var(--accent-soft-ink)}.badge-good{background:var(--good-soft);color:var(--good)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-bad{background:var(--bad-soft);color:var(--bad)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.stats>:last-child:nth-child(odd){grid-column:1/-1}.tile{display:block;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:.9rem 1rem;box-shadow:var(--shadow)}
a.tile:hover{border-color:var(--accent)}.tile span{display:block;color:var(--muted);font-size:.82rem;font-weight:550}.tile b{display:block;font-size:1.9rem;letter-spacing:-.03em;line-height:1.15;font-weight:650}
.cols{display:grid;gap:var(--gap)}.list{list-style:none;margin:0;padding:0;display:grid}
label{display:grid;gap:.3rem;font-size:.85rem;font-weight:600;color:var(--muted)}
input,select,textarea{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);padding:.5rem .75rem;font:400 1rem var(--font)}
textarea{min-height:6.5rem;resize:vertical}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--accent)}
.check{display:flex;align-items:center;gap:.65rem;min-height:var(--tap);font-size:1rem;font-weight:500;color:var(--text)}
fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:.85rem;font-weight:600;color:var(--muted);padding:0;margin-bottom:.4rem}
.hint{font-size:.82rem;color:var(--muted);font-weight:400}.error{color:var(--bad);font-size:.84rem;font-weight:550}
.notice{border:1px solid var(--border);background:var(--surface);border-left:4px solid var(--accent);border-radius:var(--r-sm);padding:.7rem 1rem;margin-bottom:1rem}.notice.bad{border-left-color:var(--bad)}
.empty{text-align:center;padding:2rem 1rem;color:var(--muted)}.empty h2{color:var(--text);margin-bottom:.4rem}
.kv{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}
.plain{width:100%;border-collapse:collapse}.plain th,.plain td{padding:.5rem 0;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.plain td:last-child,.plain th:last-child{text-align:right;white-space:nowrap}.plain tfoot td{font-weight:700;border-bottom:0}
.form-grid{display:grid;gap:.85rem;align-items:start}
.progress{height:.5rem;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:999px}
.steps{list-style:none;margin:.9rem 0 0;padding:0;display:grid;gap:.6rem}.step{display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;align-items:start}
.dot{width:1.6rem;height:1.6rem;border-radius:999px;border:2px solid var(--border);display:grid;place-items:center;color:var(--accent-ink)}.dot .ic{width:.9rem;height:.9rem}.step.done .dot{background:var(--good);border-color:var(--good)}
.step.done .step-title{color:var(--muted);text-decoration:line-through}.step-title{font-weight:650}.step .btn,.step code{grid-column:2}.step .btn{justify-self:start}
code{font:500 .82rem ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-2);padding:.25rem .5rem;border-radius:.4rem;overflow-wrap:anywhere}
.swatches{display:flex;flex-wrap:wrap;gap:.6rem}.swatches label{display:block;position:relative}.swatches input{position:absolute;opacity:0;inset:0}
.swatches span{display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:999px;border:3px solid transparent;color:#fff}.swatches input:checked+span{border-color:var(--text)}.swatches input:focus-visible+span{outline:3px solid var(--ring);outline-offset:2px}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.choices label{position:relative}.choices input{position:absolute;opacity:0;inset:0}
.choices span{display:grid;place-items:center;gap:.2rem;min-height:3.6rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font-weight:600;font-size:.88rem;text-align:center}
.choices input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-soft-ink)}.choices input:focus-visible+span{outline:3px solid var(--ring);outline-offset:2px}
.jump{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:1rem;scrollbar-width:none}.jump a{flex:none;min-height:2.25rem;display:inline-flex;align-items:center;padding:0 .8rem;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.86rem;font-weight:600;text-decoration:none}
.sticky-actions{position:sticky;bottom:calc(4.6rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.6rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-top:1rem}.sticky-actions>:only-child{grid-column:1/-1}.sticky-actions form{margin:0}.sticky-actions .btn{width:100%}
.prose h2{margin:1.4rem 0 .5rem}.prose ul{padding-left:1.2rem;margin:0 0 .9rem}.prose li{margin-bottom:.3rem}

.badge-mt{background:var(--warn-soft);color:var(--warn)}
.pair{display:grid;gap:.6rem}.pair>label>span.lang{display:inline-flex;align-items:center;gap:.4rem}.lang-tag{display:inline-block;min-width:1.9rem;text-align:center;padding:0 .35rem;border-radius:.4rem;background:var(--surface-2);color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.04em}
.field{display:grid;gap:.3rem}.field>.label{font-size:.85rem;font-weight:600;color:var(--muted)}
.form-section{display:grid;gap:1rem}.form-section>h2{font-size:1.05rem}
.entries{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.entry{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem .75rem;padding:.7rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}
.entry.dragging{opacity:.6;border-color:var(--accent)}.entry .title{font-weight:650;color:var(--text);text-decoration:none;overflow-wrap:anywhere}.entry .title:hover{color:var(--accent)}.entry .meta{grid-column:2;color:var(--muted);font-size:.86rem;overflow-wrap:anywhere}
.entry .tools{display:flex;gap:.25rem;align-items:center;grid-column:3;grid-row:1/span 2}.entry .tools form{margin:0}.grip{display:none;touch-action:none;cursor:grab}html.js .grip{display:inline-grid}
.entry>.grip{grid-row:1/span 2}
.status{min-height:1.4rem;font-size:.86rem;color:var(--muted)}.status[data-state=error]{color:var(--bad);font-weight:600}.status[data-state=saved]{color:var(--good)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.checks li{display:grid;grid-template-columns:auto 1fr;gap:.2rem .7rem;align-items:start}.checks .dot{margin-top:.1rem}.checks .todo .dot{background:var(--surface-2)}.checks .done .dot{background:var(--good);border-color:var(--good)}
.score{display:flex;align-items:baseline;gap:.5rem}.score b{font-size:2.2rem;letter-spacing:-.03em;line-height:1}
.preview-pane{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:.75rem;overflow:auto}.preview-pane .cv{font-size:calc(var(--cv-size,10pt)*.95)}
.preview-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.6rem}
.variant{display:grid;gap:.5rem}.variant h3{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.range{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center}.range output{font-weight:650;min-width:3.2rem;text-align:right;font-variant-numeric:tabular-nums}
input[type=color]{padding:.15rem;min-height:var(--tap);width:100%}input[type=range]{padding:0;accent-color:var(--accent)}input[type=file]{padding:.55rem}
.order{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.order li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem;align-items:center;padding:.3rem .5rem .3rem .75rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.order form{margin:0}.order input[type=number]{grid-row:2;grid-column:1/-1;width:100%}
.cols.two{grid-template-columns:1fr}
.more-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.more-list a{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);text-decoration:none;font-weight:650;box-shadow:var(--shadow)}.more-list a span{display:block;color:var(--muted);font-weight:400;font-size:.88rem}
nav.tabs a.desk-only{display:none}
.pub{padding:1rem 0 3rem}.pub-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface)}
.seg a,.seg span{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 1rem;font-weight:600;font-size:.92rem;text-decoration:none;color:var(--text)}.seg [aria-current=true]{background:var(--accent);color:var(--accent-ink)}
.pub-foot{text-align:center;color:var(--muted);font-size:.85rem;margin-top:1.5rem}
@media(min-width:560px){.order li{grid-template-columns:minmax(0,1fr) 5rem auto auto}.order input[type=number]{grid-row:auto;grid-column:auto;width:5rem}.stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.stats>:last-child:nth-child(odd){grid-column:auto}.form-grid{grid-template-columns:repeat(2,1fr)}.pair{grid-template-columns:1fr 1fr}}
@media(min-width:860px){:root{--gutter:1.5rem}header.top .bar{gap:1rem}nav.tabs{position:static;display:flex;gap:.25rem;margin:0;padding:0;border:0;background:none}
nav.tabs a{grid-auto-flow:column;gap:.35rem;min-height:2.4rem;padding:0 .6rem;font-size:.88rem;border-radius:999px}.bar>.btn{order:4}.brand{margin-right:1rem;order:0}nav.tabs{order:1}.bar .spacer{margin-left:auto;order:2}.bar>form{order:3}main{padding-bottom:3rem}
.cols{grid-template-columns:repeat(3,1fr)}.cols.two{grid-template-columns:1fr 1fr}.head{grid-template-columns:1fr auto;align-items:end}.form-grid{grid-template-columns:repeat(3,1fr)}.sticky-actions{position:static;box-shadow:none;border:0;padding:0;background:none;grid-template-columns:auto auto;justify-content:start}.sticky-actions .btn{width:auto}
nav.tabs a.desk-only{display:grid}nav.tabs a.phone-only{display:none}
.designer .form-grid{grid-template-columns:repeat(2,1fr)}.designer{display:grid;grid-template-columns:minmax(0,24rem) minmax(0,1fr);gap:1.25rem;align-items:start}.designer .preview-col{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow:auto}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{header.top,nav.tabs,.actions,.pub-bar,.pub-foot,.no-print{display:none!important}body{background:#fff}.pub{padding:0}main{padding:0}}

.cv{--ink:#1b1f27;--soft:#4b5262;--rule:#d3d8e0;background:#fff;color:var(--ink);font:400 var(--cv-size,10pt)/1.5 var(--cv-font);padding:clamp(1.1rem,5vw,2.4rem);border-radius:var(--r);box-shadow:var(--shadow);max-width:52rem;margin:0 auto;font-variant-numeric:normal;overflow-wrap:anywhere}
.cv h1,.cv h2,.cv h3{font-family:inherit;letter-spacing:0;text-wrap:balance}.cv p{margin:0 0 .35em;text-wrap:pretty}.cv a{color:var(--cv-accent)}
.cv-name{display:block;font-size:2.1em;line-height:1.1;font-weight:700;margin:0}.cv-title{font-size:1.2em;color:var(--soft);margin-top:.25em!important}.cv-meta{color:var(--soft);font-size:.95em}
.cv .cv-contacts{list-style:none;margin:.5em 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.1em 1.1em}.cv-contacts li+li::before{content:none}
.cv-sec{margin-top:1.3em}.cv-sec h2{font-size:.95em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--rule);padding-bottom:.25em;margin:0 0 .6em;color:var(--ink)}
.cv-item{margin-bottom:.85em;break-inside:avoid-page}.cv-row{display:flex;justify-content:space-between;gap:1em;align-items:baseline}.cv-row h3{font-size:1.05em;font-weight:700;margin:0}
.cv-dates{color:var(--soft);white-space:nowrap;font-size:.95em}.cv-sub{color:var(--soft);font-style:italic}.cv-url{font-size:.92em}.cv-kw{color:var(--soft);font-size:.95em}.cv-line{margin-bottom:.3em!important}
.cv ul{margin:.2em 0 .3em;padding-left:1.3em}.cv li{margin-bottom:.15em}.cv li::marker{color:var(--cv-accent)}
.cv-modern .cv-head{background:var(--cv-accent);color:#fff;margin:calc(-1*clamp(1.1rem,5vw,2.4rem));margin-bottom:0;padding:clamp(1.1rem,5vw,2.4rem);border-radius:var(--r) var(--r) 0 0}
.cv-modern .cv-head .cv-title,.cv-modern .cv-head .cv-meta,.cv-modern .cv-head a{color:#fff}.cv-modern .cv-sec h2{color:var(--cv-accent);border-bottom:0;border-left:.3em solid var(--cv-accent);padding:0 0 0 .6em}
.cv-compact{font-size:calc(var(--cv-size,10pt)*.93);line-height:1.38}.cv-compact .cv-name{font-size:1.7em}.cv-compact .cv-sec{margin-top:.9em}.cv-compact .cv-item{margin-bottom:.55em}
@media print{.cv{box-shadow:none;border-radius:0;padding:0;max-width:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-modern .cv-head{margin:0;border-radius:0;padding:1.2rem}.cv a{text-decoration:none}}
