:root{--paper: #f6f3ea;--paper-2: #efeade;--ink: #17161a;--ink-soft: #3b3a42;--ink-mute: #6d6a63;--line: #d9d3c4;--line-strong: #b9b2a1;--accent: #4f46e5;--accent-ink: #ffffff;--accent-soft: #e8e6fb;--grid: rgb(23 22 26 / 5%);--grid-size: 24px;--rail: 168px;--measure: 68ch;--radius: 3px;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-mono: ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{--paper: #101110;--paper-2: #171816;--ink: #eeece4;--ink-soft: #c9c6bc;--ink-mute: #948f83;--line: #2a2b26;--line-strong: #3d3e37;--accent: #a5a1ff;--accent-ink: #12121a;--accent-soft: #1e1e33;--grid: rgb(238 236 228 / 5%)}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);font-family:var(--font-sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em}p{margin:0 0 1.05em}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}.shell{position:relative;z-index:1;width:min(100% - 2rem,1240px);margin-inline:auto;padding-inline:0}.kicker{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.kicker:before{content:"";width:18px;height:1px;background:var(--accent)}.display{font-size:clamp(2.4rem,6.2vw,4.6rem);margin:.25em 0 .4em}.display em{font-style:italic;color:var(--accent)}.lede{font-size:1.14rem;color:var(--ink-soft);max-width:58ch}.mono{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em}.muted{color:var(--ink-mute)}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;padding:.7rem 1rem;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.8rem}.skip-link:focus{left:1rem;top:1rem}.wb-erase-canvas,.wb-eraser-float,.wb-hover-ring{display:none}.lab{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding-block:0 4rem}.rail{position:sticky;top:0;align-self:start;min-height:100vh;padding:1.6rem 0 2rem .25rem;border-right:1px solid var(--line);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.rail-mark{display:block;font-family:var(--font-serif);font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-bottom:.2rem}.rail-rule{display:block;width:26px;height:3px;margin:.9rem 0 1.2rem;background:var(--accent)}.rail-list{display:grid;gap:1.1rem;margin:0;padding:0;list-style:none}.rail-list dt{color:var(--ink-mute)}.rail-list dd{margin:.1rem 0 0;color:var(--ink);font-size:.78rem;letter-spacing:.02em;text-transform:none}.rail-foot{position:absolute;bottom:1.5rem;left:.25rem;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--ink-mute);font-size:.68rem}.main{min-width:0;padding-top:1.4rem}.lab-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;line-height:1;gap:.55rem;font-family:var(--font-serif);font-size:1.3rem;font-weight:600}.brand-mark{display:inline-grid;place-items:center;width:26px;height:26px;border:1px solid var(--ink);border-radius:50%;font-family:var(--font-mono);font-size:.72rem;font-weight:700;transition:background .2s ease,color .2s ease,transform .2s ease}.brand:hover .brand-mark{background:var(--ink);color:var(--paper);transform:rotate(-8deg)}.brand-badge{padding:.1rem .35rem;border:1px solid var(--line-strong);border-radius:var(--radius);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;color:var(--ink-mute)}.nav{display:flex;flex-wrap:wrap;gap:1.1rem;margin-left:auto;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.nav a{position:relative;padding-block:.2rem;color:var(--ink-soft)}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.search{display:flex;align-items:center;gap:.4rem}.search input{width:150px;padding:.35rem .5rem;border:0;border-bottom:1px solid var(--line-strong);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.78rem}.search input:focus{border-bottom-color:var(--accent);outline:none}.lang-switch{display:inline-flex;gap:.25rem;font-family:var(--font-mono)}.lang-switch button{padding:.3rem .45rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink-mute);font:inherit;font-size:.68rem;letter-spacing:.08em;cursor:pointer}.lang-switch button:hover{border-color:var(--ink-soft);color:var(--ink)}.lang-switch button.lang-active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.nav-toggle{display:none;margin-left:auto;padding:.4rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;cursor:pointer}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:end;padding-block:clamp(2rem,6vw,4.5rem) clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid var(--line)}.hero-aside{display:grid;gap:.8rem;font-family:var(--font-mono);font-size:.74rem;color:var(--ink-mute)}.hero-aside p{margin:0;padding-left:.8rem;border-left:1px solid var(--line-strong)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover{background:transparent;color:var(--accent)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2.6rem 0 1.4rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.section-head h2{margin:0;font-size:1.45rem}.samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}app-post-card{display:block;height:100%}.specimen{position:relative;display:flex;flex-direction:column;height:100%;padding:1.1rem 1.15rem 1.2rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--paper) 88%,white 12%);transition:border-color .18s ease,transform .18s ease}.specimen:before{content:"";position:absolute;top:-1px;left:-1px;width:12px;height:12px;border-top:2px solid var(--accent);border-left:2px solid var(--accent)}.specimen:hover{border-color:var(--ink);transform:translateY(-3px)}.specimen-tag{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.9rem;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.specimen-id{color:var(--accent)}.specimen-cover{display:block;margin:-1.1rem -1.15rem 1rem;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line);background:var(--paper-2)}.specimen-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.02);transition:filter .3s ease,transform .4s ease}.specimen:hover .specimen-cover img{filter:none;transform:scale(1.02)}.specimen-title{margin:0 0 .45rem;font-size:1.16rem;line-height:1.22}.specimen-title a{background-image:linear-gradient(var(--accent),var(--accent));background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s ease}.specimen:hover .specimen-title a{background-size:100% 1px}.specimen-excerpt{margin:0 0 1rem;font-size:.94rem;color:var(--ink-soft)}.specimen-foot{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:auto;font-family:var(--font-mono);font-size:.7rem;color:var(--ink-mute)}.specimen-note{position:absolute;right:.9rem;bottom:.9rem;max-width:78%;padding:.3rem .45rem;border-left:2px solid var(--accent);background:var(--paper);color:var(--ink-soft);font-family:var(--font-mono);font-size:.66rem;line-height:1.35;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}.specimen:hover .specimen-note,.specimen:focus-within .specimen-note{opacity:1;transform:translateY(0)}.egg{position:relative;display:inline-block;cursor:help;border-bottom:1px dotted var(--line-strong)}.egg-note{position:absolute;left:0;bottom:calc(100% + 6px);z-index:10;width:max-content;max-width:240px;padding:.35rem .5rem;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:.66rem;line-height:1.35;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.egg:hover .egg-note,.egg:focus-visible .egg-note{opacity:1;transform:translateY(0)}.egg-trigger{border:0;padding:0;background:none;color:var(--ink-mute);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;cursor:pointer}.egg-trigger:hover{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem}.chip{padding:.16rem .5rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink-soft);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip-active:hover{color:var(--paper)}.link-arrow{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}.article{max-width:760px;padding-block:2.2rem 0}.article-head{padding-bottom:1.4rem;margin-bottom:1.8rem;border-bottom:1px solid var(--line)}.article-head h1{font-size:clamp(2rem,4.4vw,3rem);margin-top:.4rem}.article-meta{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.9rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-mute)}.article-cover{margin:0 0 2rem;border:1px solid var(--line-strong)}.article-cover img{width:100%;max-height:440px;object-fit:cover}.prose{max-width:var(--measure);font-size:1.04rem;color:var(--ink-soft)}.prose>*+*{margin-top:1em}.prose h2{font-size:1.6rem;margin-top:1.9em;color:var(--ink)}.prose h3{font-size:1.22rem;margin-top:1.6em;color:var(--ink)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.3em}.prose blockquote{margin:1.6em 0;padding:.1em 0 .1em 1rem;border-left:2px solid var(--accent);font-family:var(--font-serif);font-size:1.16rem;color:var(--ink)}.prose code{padding:.1em .35em;border:1px solid var(--line);border-radius:2px;background:var(--paper-2);font-family:var(--font-mono);font-size:.86em}.prose pre{padding:.9rem 1rem;border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--paper-2);overflow-x:auto}.prose pre code{border:0;background:none;font-size:.86rem}.prose img{border:1px solid var(--line-strong);margin-block:1.5em}.prose hr{border:0;border-top:1px dashed var(--line-strong);margin-block:2.2em}.prose table{width:100%;border-collapse:collapse;font-size:.92rem}.prose th,.prose td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left}.prose iframe{width:100%;aspect-ratio:16 / 9;border:1px solid var(--line-strong)}.article-foot{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#0c0c0a9e}.modal{width:min(100%,620px);max-height:88vh;overflow-y:auto;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);color:var(--ink)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:1.1rem}.modal-body{padding:1rem}.lab-tabs{display:flex;gap:.4rem;margin-bottom:1rem}.lab-tabs button{padding:.3rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.lab-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.game-pad{display:grid;place-items:center;min-height:190px;padding:1rem;border:1px dashed var(--line-strong);background:var(--paper-2);text-align:center}.game-target{width:96px;height:96px;border:2px solid var(--ink);border-radius:50%;background:var(--paper);cursor:pointer;transition:background .08s ease,transform .08s ease}.game-target.ready{background:var(--accent);border-color:var(--accent);transform:scale(1.06)}.simon{display:grid;grid-template-columns:repeat(2,84px);gap:.6rem}.simon button{height:84px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);cursor:pointer;font-family:var(--font-mono);font-size:.9rem}.simon button.lit{background:var(--accent);color:var(--accent-ink)}.game-score{margin-top:.9rem;font-family:var(--font-mono);font-size:.78rem;color:var(--ink-mute)}.lab-footer{margin-top:3.5rem;padding:1.6rem 0 2.2rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.74rem;color:var(--ink-mute)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}.footer-grid h3{margin:0 0 .5rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.footer-grid ul{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.footer-grid a{color:var(--ink-soft)}.footer-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:1.6rem;padding-top:.9rem;border-top:1px dashed var(--line)}.empty{padding:2.4rem 0;text-align:center}.skeleton{height:220px;border:1px solid var(--line);background:repeating-linear-gradient(-45deg,var(--paper-2),var(--paper-2) 10px,var(--paper) 10px,var(--paper) 20px);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}@media(max-width:1080px){.shell{width:min(100% - 1.6rem,1240px)}.lab{grid-template-columns:1fr;gap:1.25rem}.rail{position:static;display:none}.hero{grid-template-columns:1fr;padding-block:2.4rem 1.4rem}.hero-aside{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:760px){body{font-size:16px}.shell{width:calc(100% - 1.5rem)}.lab-header{gap:.55rem .6rem}.nav-toggle{display:inline-block}.nav{display:none;flex-basis:100%;flex-direction:column;gap:.2rem;margin-left:0;padding-top:.5rem;border-top:1px solid var(--line)}.nav.nav-open{display:flex}.nav a{padding-block:.45rem}.search{flex:1 1 100%;margin-left:0}.search input{width:100%}.lang-switch{margin-left:auto}.section-head{flex-wrap:wrap;gap:.25rem 1rem;margin-top:2rem}.samples{gap:.9rem}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.prose table{display:block;overflow-x:auto}.specimen-note{position:static;max-width:none;margin-top:.7rem;opacity:1;transform:none}}@media(max-width:520px){.display{font-size:clamp(2rem,9.5vw,2.7rem)}.lede{font-size:1.02rem}.samples,.footer-grid{grid-template-columns:1fr}.article-head h1{font-size:clamp(1.6rem,7.5vw,2.2rem)}.theme-picker{padding:.8rem}.theme-picker-grid{grid-template-columns:1fr}.theme-picker-button{right:10px;bottom:10px}.modal-head,.modal-body{padding:.8rem}.simon{grid-template-columns:repeat(2,72px)}.simon button{height:72px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.node-map{position:relative;display:flex;gap:2.2rem;overflow-x:auto;padding:.6rem .2rem 1.4rem;scroll-snap-type:x mandatory}.node{position:relative;flex:0 0 260px;scroll-snap-align:start;padding:.9rem .9rem 1rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper-2);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.node:hover,.node:focus-within{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 0 0 1px var(--accent),0 10px 30px #00000040}.node+.node:before{content:"";position:absolute;top:50%;left:-2.2rem;width:2.2rem;height:1px;background:linear-gradient(90deg,transparent,var(--accent))}.node+.node:after{content:"";position:absolute;top:calc(50% - 3px);left:-.35rem;width:6px;height:6px;border-radius:50%;background:var(--accent)}.node-port{position:absolute;top:50%;right:-5px;width:9px;height:9px;border:1px solid var(--accent);border-radius:50%;background:var(--paper)}.node-head{display:flex;justify-content:space-between;margin-bottom:.6rem;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}.node-id{color:var(--accent)}.node-title{margin:.7rem 0 .35rem;font-size:1rem;line-height:1.25}.node-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-mute)}.node-cover{display:block;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.node-cover img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:filter .25s ease,transform .35s ease}.node:hover .node-cover img{filter:none;transform:scale(1.03)}.node-origin{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 26px #a855f72e}.node-origin .node-port{background:var(--accent)}.node-branch{color:var(--accent);text-transform:uppercase;letter-spacing:.08em}.node-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:.35rem 0 .55rem;font-size:.82rem;color:var(--ink-soft);opacity:0;max-height:0;transition:opacity .18s ease,max-height .18s ease}.node:hover .node-excerpt,.node:focus-within .node-excerpt{opacity:1;max-height:4rem}.node-title a:focus-visible{outline-offset:4px}@media(max-width:760px){.node-map{flex-direction:column;gap:2.4rem;overflow-x:visible}.node{flex:1 1 auto;width:100%}.node+.node:before{top:-2.4rem;left:50%;width:1px;height:2.4rem;background:linear-gradient(180deg,transparent,var(--accent))}.node+.node:after{top:-.35rem;left:calc(50% - 3px)}.node-port{top:auto;bottom:-5px;right:50%}.node-excerpt{opacity:1;max-height:none}}.timeline{position:relative;margin:1.6rem 0 .5rem;padding-left:1.7rem}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,var(--accent),var(--line-strong))}.tl-item{position:relative;padding-bottom:1.5rem}.tl-item:before{content:"";position:absolute;left:-1.7rem;top:.3rem;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:var(--paper)}.tl-item.current:before{background:var(--accent);box-shadow:0 0 10px var(--accent)}.tl-date{display:inline-block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.tl-title{margin:.2rem 0 .15rem;font-size:1.1rem}.tl-role{margin:0;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-mute)}.tl-body{margin:.45rem 0 0;font-size:.93rem;color:var(--ink-soft);max-width:62ch}.tl-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.tl-card{padding:.9rem 1rem;border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--paper-2) 70%,transparent)}.tl-group{margin:2.2rem 0 .4rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.skill-list{display:grid;gap:.5rem;margin-top:1.4rem}.skill{display:grid;grid-template-columns:52px minmax(0,1fr) 110px;align-items:center;gap:.9rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--paper-2) 55%,transparent);transition:border-color .15s ease,transform .15s ease}.skill:hover{border-color:var(--accent);transform:translate(3px)}.skill-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;color:#fff;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 0 0 1px #ffffff2e}.skill-main h3{margin:0;font-size:1rem}.skill-projects{margin:.1rem 0 0;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-mute)}.skill-years{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.skill-years strong{font-family:var(--font-serif);font-size:1.35rem;line-height:1}.skill-years span{font-size:.62rem;color:var(--ink-mute)}.gantt{margin-top:1rem;border:1px solid var(--line);border-radius:8px;overflow:visible}.gantt-axis,.gantt-row{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:.6rem;padding:.35rem .7rem}.gantt-axis{border-bottom:1px solid var(--line);background:var(--paper-2);border-radius:8px 8px 0 0;padding-top:2rem}.gantt-years{position:relative;display:flex;justify-content:space-between;min-width:0;font-size:.58rem;color:var(--ink-mute)}.gantt-row:nth-child(2n){background:color-mix(in srgb,var(--paper-2) 35%,transparent)}.gantt-label{display:flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-dot{flex:0 0 auto;width:9px;height:9px;border-radius:50%}.gantt-track{position:relative;height:16px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100% / 14))}.gantt-bar{position:absolute;top:2px;bottom:2px;border-radius:3px;opacity:.85;transition:opacity .15s ease,filter .15s ease}.gantt-bar:hover{opacity:1;filter:brightness(1.15)}@media(max-width:760px){.skill{grid-template-columns:44px minmax(0,1fr) 74px}.gantt-axis,.gantt-row{grid-template-columns:110px minmax(0,1fr)}.gantt-label{font-size:.64rem}}.logo-badge{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;color:#fff;font-family:var(--font-mono);font-size:.62rem;font-weight:700;letter-spacing:.03em;box-shadow:inset 0 0 0 1px #fff3}.tech-badge{display:inline-grid;place-items:center;min-width:34px;height:22px;padding:0 6px;border-radius:4px;color:#fff;font-family:var(--font-mono);font-size:.58rem;font-weight:700;letter-spacing:.04em;box-shadow:inset 0 0 0 1px #ffffff29}.tech-badge:hover{filter:brightness(1.15)}.skill-wrap{border-radius:6px;overflow:hidden}.skill{width:100%;grid-template-columns:52px minmax(0,1fr) 110px 62px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper-2) 55%,transparent);color:inherit;font:inherit;text-align:left;cursor:pointer}.skill-name{display:block;font-family:var(--font-serif);font-size:1rem;line-height:1.2}.skill-mode{justify-self:end;padding:.12rem .4rem;border:1px solid var(--line-strong);border-radius:3px;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.skill-mode.mode-ai{border-color:var(--accent);color:var(--accent)}.skill-mode.mode-soft{border-color:var(--line-strong);color:var(--ink-soft)}.skill[aria-expanded=true]{border-color:var(--accent);border-bottom-left-radius:0;border-bottom-right-radius:0}.skill-detail{padding:.8rem 1rem;border:1px solid var(--accent);border-top:0;border-radius:0 0 6px 6px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--paper));font-size:.9rem;color:var(--ink-soft)}@media(max-width:760px){.skill{grid-template-columns:44px minmax(0,1fr) 74px}.skill-mode{display:none}}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem;margin-top:1.2rem}.toolbar-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.toolbar-label{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.select{padding:.32rem .55rem;border:1px solid var(--line-strong);border-radius:4px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:.72rem}.select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.gantt{position:relative;--ai-pos: 78.5%}.gantt-years{position:relative}.gantt-ai-label{position:absolute;top:-1.55rem;transform:translate(-50%);padding:.1rem .35rem;border:1px solid var(--accent);border-radius:3px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;white-space:nowrap}.gantt-ai-label:after{content:"";position:absolute;left:50%;top:100%;width:1px;height:.5rem;background:var(--accent)}.gantt-track:after{content:"";position:absolute;top:-2px;bottom:-2px;left:var(--ai-pos);border-left:1px dashed var(--accent);opacity:.75;pointer-events:none}.brand-logo,.brand:hover .brand-logo{height:1.5rem;width:auto;flex:0 0 auto;align-self:center;margin:0 .1rem 0 0;color:var(--ink);transition:transform .2s ease,color .2s ease}.theme-picker-button{position:fixed;right:16px;bottom:16px;z-index:300;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:999px;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;opacity:.65;box-shadow:0 4px 14px #00000026;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .2s ease,transform .2s ease}.theme-picker-button:hover{opacity:1;transform:translateY(-2px)}.theme-picker-icon{width:12px;height:12px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);box-shadow:inset 0 0 0 2px var(--paper)}.theme-picker-backdrop{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:1rem;background:#0a0a0c8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.theme-picker{width:min(100%,1180px);max-height:92vh;overflow:auto;padding:1.4rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 30px 80px #00000059;font-family:var(--font-sans)}.theme-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.theme-picker-head h2{margin:0 0 .2rem;font-family:var(--font-serif);font-size:1.5rem}.theme-picker-head p{max-width:60ch;margin:0;color:var(--ink-mute);font-size:.8rem}.theme-picker-close{width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;background:transparent;color:var(--ink);font-size:1.1rem;cursor:pointer}.theme-picker-current{margin:1rem 0 .8rem;color:var(--ink-mute);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.1rem}.theme-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper-2);color:var(--ink);text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease}.theme-card:hover{transform:translateY(-3px);border-color:var(--accent)}.theme-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.theme-card-preview{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden}.theme-card-shot{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.theme-card-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.2rem;padding:.9rem;font-family:var(--font-serif)}.theme-card-fallback strong{font-size:1.05rem;line-height:1.15}.theme-card-bar{position:absolute;top:0;right:0;left:0;height:5px}.theme-card-body{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem 0}.theme-card-name{font-family:var(--font-serif);font-size:1.02rem;line-height:1.15}.theme-card-layout{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.theme-card-apply{margin-top:.5rem;padding:.45rem .6rem;border-top:1px solid var(--line);color:var(--accent);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.theme-picker-reset{margin-top:1rem;padding:.5rem .8rem;border:1px solid var(--line-strong);border-radius:6px;background:transparent;color:var(--ink);font-family:var(--font-mono);font-size:.68rem;cursor:pointer}@media(max-width:760px){.theme-picker-text{display:none}.theme-picker-button{padding:8px}}@media(max-width:520px){.skill{grid-template-columns:40px minmax(0,1fr) auto;gap:.6rem;padding:.55rem .6rem}.skill-logo{width:40px;height:40px}.skill-years strong{font-size:1.1rem}.gantt-axis,.gantt-row{grid-template-columns:92px minmax(0,1fr);padding-inline:.45rem}.gantt-years>span.mono:nth-child(2n){display:none}.gantt-years{font-size:.5rem}.gantt-ai-label,.egg-note{display:none}}@media(max-width:400px){.gantt-years>span.mono:nth-child(4n+3){display:none}}app-scenery{position:fixed;inset:0;z-index:0;display:block;pointer-events:none}.scenery{position:absolute;inset:0;overflow:hidden}.scenery-rock,.scenery-felt,.scenery-hud{display:none}[data-layout=sketch] .scenery-rock,[data-layout=cards] .scenery-felt,[data-layout=hud] .scenery-hud{display:block}.specimen-tape,.card-cost,.card-type,.card-stats,.node-sling,.node-bolt,.node-chalk,.node-rope,.rail-ridge,.rail-card-frame,.rail-set,.rail-type,.rail-title,.hud-status{display:none}[data-layout=cards]{--rail: 196px;--card-gold: color-mix(in srgb, var(--accent) 52%, #d8b25c);--card-gold-soft: color-mix(in srgb, var(--accent) 22%, #f0d9a2);--card-frame: color-mix(in srgb, var(--paper) 72%, #241a10);--card-frame-deep: color-mix(in srgb, var(--paper) 88%, #100a05)}[data-layout=cards] body{background-color:color-mix(in srgb,var(--paper) 82%,#2b1d12);background-image:radial-gradient(ellipse at 50% -10%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%),radial-gradient(ellipse at 50% 120%,rgb(0 0 0 / 45%),transparent 70%),repeating-linear-gradient(35deg,rgb(255 255 255 / 2.5%) 0 1px,transparent 1px 4px),repeating-linear-gradient(-35deg,rgb(0 0 0 / 4%) 0 1px,transparent 1px 9px);background-size:auto,auto,7px 7px,9px 9px;background-attachment:fixed}[data-layout=cards] .scenery-felt{background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 58%),radial-gradient(ellipse at 50% 55%,transparent 40%,rgb(0 0 0 / 38%) 100%)}[data-layout=cards] .felt-glow{position:absolute;inset:-18% 12% 46%;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--card-gold) 18%,transparent),transparent 66%);filter:blur(22px)}[data-layout=cards] .felt-card{position:absolute;width:250px;aspect-ratio:5 / 7;border:2px solid color-mix(in srgb,var(--card-gold) 55%,transparent);border-radius:14px;background:linear-gradient(160deg,color-mix(in srgb,var(--paper) 60%,#1a1108),color-mix(in srgb,var(--paper) 85%,#0c0703));box-shadow:0 20px 40px #00000059;opacity:.18;filter:blur(1px)}[data-layout=cards] .felt-card-a{left:-90px;top:16%;transform:rotate(-14deg)}[data-layout=cards] .felt-card-b{right:-80px;top:38%;transform:rotate(11deg)}[data-layout=cards] .felt-card-c{left:18%;bottom:-170px;transform:rotate(4deg);opacity:.1}[data-layout=cards] .felt-grain{position:absolute;inset:0;background-image:radial-gradient(rgb(255 255 255 / 5%) .6px,transparent .9px);background-size:5px 5px;opacity:.5}[data-layout=cards] .rail{position:sticky;margin-top:1rem;min-height:calc(100vh - 2rem);padding:1.5rem 1rem 2.4rem;border:3px solid var(--card-gold);border-radius:16px;background:linear-gradient(180deg,var(--card-frame),var(--card-frame-deep));box-shadow:inset 0 0 0 1px #0c0804,inset 0 0 0 5px color-mix(in srgb,var(--card-gold) 40%,transparent),inset 0 0 34px #00000073,0 18px 42px #00000073;color:var(--ink);overflow:hidden}[data-layout=cards] .rail-card-frame{display:block;position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--card-gold) 55%,transparent);border-radius:10px;pointer-events:none}[data-layout=cards] .rail-set{display:grid;place-items:center;position:absolute;top:1.1rem;right:1rem;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff4d2,var(--card-gold) 62%,#6b4a12);color:#241a10;font-size:.82rem;box-shadow:0 0 0 2px #241a10,0 0 14px color-mix(in srgb,var(--card-gold) 70%,transparent)}[data-layout=cards] .rail-mark{font-size:1.18rem;letter-spacing:.02em}[data-layout=cards] .rail-rule{width:100%;height:1px;background:linear-gradient(90deg,var(--card-gold),transparent)}[data-layout=cards] .rail-list{gap:.85rem}[data-layout=cards] .rail-list dt{color:var(--card-gold);letter-spacing:.18em}[data-layout=cards] .rail-list dd{font-size:.82rem}[data-layout=cards] .rail-type{display:block;margin-top:1.3rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--card-gold) 45%,transparent);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--card-gold)}[data-layout=cards] .rail-foot{left:1rem;bottom:1.1rem;writing-mode:horizontal-tb;transform:none;color:var(--card-gold)}[data-layout=cards] .lab-header{padding:1rem .6rem;border-bottom:2px solid var(--card-gold);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 10%,transparent),transparent)}[data-layout=cards] .brand-badge{border-radius:999px;border-color:var(--card-gold);color:var(--card-gold)}[data-layout=cards] .nav a{padding:.2rem .55rem;border-radius:999px}[data-layout=cards] .nav a:after{display:none}[data-layout=cards] .nav a:hover,[data-layout=cards] .nav a:focus-visible{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--ink)}[data-layout=cards] .search input{border:1px solid color-mix(in srgb,var(--card-gold) 55%,transparent);border-radius:999px;padding:.32rem .65rem}[data-layout=cards] .samples{gap:2rem;align-items:start}[data-layout=cards] .specimen{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto minmax(4.6rem,1fr) auto;grid-template-areas:"tag tag" "title cost" "cover cover" "type type" "excerpt excerpt" "foot foot";gap:0 .4rem;padding:.65rem;border:3px solid var(--card-gold);border-radius:16px;background:linear-gradient(180deg,var(--card-frame),var(--card-frame-deep));box-shadow:0 0 0 1px #0c0804,inset 0 0 0 2px color-mix(in srgb,var(--card-gold) 40%,transparent),inset 0 0 26px #00000059,0 14px 28px #00000073;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}[data-layout=cards] .specimen:before{display:none}[data-layout=cards] .specimen:hover{transform:translateY(-6px) rotate(-.6deg);border-color:var(--card-gold-soft);box-shadow:0 0 0 1px #0c0804,inset 0 0 0 2px color-mix(in srgb,var(--card-gold) 55%,transparent),inset 0 0 30px #0000004d,0 22px 42px #0000008c,0 0 26px color-mix(in srgb,var(--card-gold) 35%,transparent)}[data-layout=cards] .specimen-tag{grid-area:tag;margin:0 0 .45rem;padding:0 .35rem;font-size:.56rem;letter-spacing:.16em;color:var(--card-gold)}[data-layout=cards] .specimen-id{color:var(--card-gold-soft)}[data-layout=cards] .specimen-title{grid-area:title;margin:0 0 .45rem;padding:.4rem .55rem;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,#000 18%),color-mix(in srgb,var(--paper) 62%,#000 10%));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-gold) 40%,transparent);font-family:var(--font-serif);font-size:1.05rem;line-height:1.15}[data-layout=cards] .specimen-title a{color:color-mix(in srgb,var(--ink) 92%,#fff);background-image:none}[data-layout=cards] .card-cost{grid-area:cost;display:flex;align-items:flex-start;gap:.25rem;padding-top:.1rem}[data-layout=cards] .card-cost i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6d8,var(--card-gold) 60%,#6b4a12);color:#231607;font-family:var(--font-serif);font-size:.78rem;font-style:normal;font-weight:700;box-shadow:0 1px 2px #0000008c,inset 0 0 0 1px #ffffff73}[data-layout=cards] .specimen-cover{grid-area:cover;margin:0 0 .5rem;border:2px solid #0c0804;border-radius:6px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),linear-gradient(160deg,color-mix(in srgb,var(--paper-2) 82%,#000 18%),color-mix(in srgb,var(--paper) 70%,#000 30%));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-gold) 30%,transparent),0 4px 10px #00000059}[data-layout=cards] .specimen-cover img{filter:saturate(.92) contrast(1.04)}[data-layout=cards] .card-type{grid-area:type;display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .45rem;padding:.26rem .5rem;border-top:1px solid color-mix(in srgb,var(--card-gold) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--card-gold) 55%,transparent);background:color-mix(in srgb,var(--paper) 74%,#000 8%);font-family:var(--font-serif);font-size:.7rem;letter-spacing:.02em;color:var(--ink-soft)}[data-layout=cards] .card-set{color:var(--card-gold);font-size:.7rem}[data-layout=cards] .specimen-excerpt{grid-area:excerpt;margin:0 0 .55rem;padding:.55rem .6rem;border:1px solid color-mix(in srgb,var(--card-gold) 30%,transparent);border-radius:4px;background:color-mix(in srgb,var(--paper) 92%,var(--card-gold) 8%);font-family:var(--font-serif);font-size:.86rem;font-style:italic;line-height:1.4;color:var(--ink-soft)}[data-layout=cards] .specimen-foot{grid-area:foot;margin-top:.2rem;padding-top:.45rem;border-top:1px solid color-mix(in srgb,var(--card-gold) 45%,transparent);color:var(--ink-mute)}[data-layout=cards] .specimen-foot .chip{border:0;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent)}[data-layout=cards] .card-stats{display:inline-block;margin-left:auto;padding:.1rem .4rem;border:1px solid var(--card-gold);border-radius:3px;background:color-mix(in srgb,var(--paper) 80%,#000 10%);font-weight:700;color:var(--ink)}[data-layout=cards] .specimen-note{display:none}[data-layout=cards] .specimen.project-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;grid-template-columns:none;grid-template-rows:none;grid-template-areas:none}[data-layout=cards] .specimen.project-card .specimen-tag{margin:0}[data-layout=cards] .specimen.project-card .specimen-title{padding:0;background:none;box-shadow:none;font-size:1.08rem}[data-layout=cards] .specimen.project-card .specimen-title a{color:var(--ink)}[data-layout=cards] .specimen.project-card .specimen-excerpt{min-height:0;margin:0;padding:0;border:0;background:none;font-family:var(--font-sans);font-size:.94rem;font-style:normal}[data-layout=cards] .specimen.project-card .tl-role,[data-layout=cards] .specimen.project-card .tl-tags{margin:0}[data-layout=cards] .node-map{gap:0;padding:2rem 1rem 2.4rem .4rem}[data-layout=cards] .node{display:grid;flex:0 0 250px;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto minmax(3.2rem,1fr) auto;grid-template-areas:"head head" "title cost" "cover cover" "type type" "excerpt excerpt" "meta meta";gap:0 .35rem;margin-left:-26px;padding:.5rem;border:3px solid var(--card-gold);border-radius:14px;background:linear-gradient(180deg,var(--card-frame),var(--card-frame-deep));box-shadow:0 0 0 1px #0c0804,inset 0 0 0 2px color-mix(in srgb,var(--card-gold) 38%,transparent),0 16px 28px #00000073;transform:rotate(-3deg);transform-origin:50% 90%;transition:transform .22s ease,box-shadow .22s ease}[data-layout=cards] .node:first-of-type{margin-left:0}[data-layout=cards] .node:nth-of-type(2n){transform:rotate(2.5deg) translateY(14px)}[data-layout=cards] .node:hover,[data-layout=cards] .node:focus-within{z-index:5;border-color:var(--card-gold-soft);transform:rotate(0) translateY(-10px) scale(1.02);box-shadow:0 0 0 1px #0c0804,inset 0 0 0 2px color-mix(in srgb,var(--card-gold) 55%,transparent),0 24px 42px #0000008c,0 0 24px color-mix(in srgb,var(--card-gold) 35%,transparent)}[data-layout=cards] .node+.node:before,[data-layout=cards] .node+.node:after,[data-layout=cards] .node-port{display:none}[data-layout=cards] .node-head{grid-area:head;margin-bottom:.4rem;padding:0 .2rem;font-size:.55rem;letter-spacing:.16em;color:var(--card-gold)}[data-layout=cards] .node-id{color:var(--card-gold-soft)}[data-layout=cards] .node-title{grid-area:title;margin:0 0 .4rem;padding:.35rem .5rem;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,#000 18%),color-mix(in srgb,var(--paper) 62%,#000 10%));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-gold) 40%,transparent);font-size:.92rem}[data-layout=cards] .node-title a{color:color-mix(in srgb,var(--ink) 92%,#fff)}[data-layout=cards] .node-cover{grid-area:cover;margin:0 0 .4rem;border:2px solid #0c0804;border-radius:5px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 62%),linear-gradient(160deg,color-mix(in srgb,var(--paper-2) 82%,#000 18%),color-mix(in srgb,var(--paper) 70%,#000 30%))}[data-layout=cards] .node .card-cost{grid-area:cost}[data-layout=cards] .node .card-cost i{width:21px;height:21px;font-size:.7rem}[data-layout=cards] .node-type{grid-area:type;margin-bottom:.35rem;font-size:.62rem}[data-layout=cards] .node-excerpt{grid-area:excerpt;margin:0 0 .45rem;padding:.4rem .5rem;border:1px solid color-mix(in srgb,var(--card-gold) 28%,transparent);border-radius:3px;background:color-mix(in srgb,var(--paper) 92%,var(--card-gold) 8%);font-family:var(--font-serif);font-size:.76rem;font-style:italic;opacity:1;max-height:none}[data-layout=cards] .node-meta{grid-area:meta;padding-top:.4rem;border-top:1px solid color-mix(in srgb,var(--card-gold) 40%,transparent);color:var(--card-gold)}[data-layout=cards] .timeline{padding-left:2.4rem}[data-layout=cards] .timeline:before{left:9px;width:4px;background:linear-gradient(180deg,var(--card-gold),color-mix(in srgb,var(--card-gold) 25%,transparent) 82%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--card-gold) 55%,transparent)}[data-layout=cards] .tl-item{padding:.9rem 1rem 1rem;margin-bottom:.9rem;border:1px solid color-mix(in srgb,var(--card-gold) 35%,transparent);border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--paper) 88%,#000 6%),color-mix(in srgb,var(--paper) 94%,var(--card-gold) 6%));transition:border-color .18s ease,transform .18s ease}[data-layout=cards] .tl-item:hover{border-color:var(--card-gold);transform:translate(3px)}[data-layout=cards] .tl-item:before{left:-2.4rem;top:1.1rem;width:13px;height:13px;border:2px solid var(--card-gold);border-radius:2px;background:var(--paper);transform:rotate(45deg);box-shadow:0 0 0 3px color-mix(in srgb,var(--paper) 80%,#000 10%),0 0 10px color-mix(in srgb,var(--card-gold) 55%,transparent)}[data-layout=cards] .tl-item.current:before{background:var(--card-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--paper) 80%,#000 10%),0 0 16px var(--card-gold)}[data-layout=cards] .tl-date{color:var(--card-gold)}[data-layout=cards] .tl-card{border:1px solid color-mix(in srgb,var(--card-gold) 35%,transparent);border-left:3px solid var(--card-gold);background:linear-gradient(120deg,color-mix(in srgb,var(--paper) 90%,#000 5%),color-mix(in srgb,var(--paper) 94%,var(--card-gold) 6%))}[data-layout=cards] .section-head{border-bottom:2px solid var(--card-gold)}[data-layout=cards] .gantt{border:1px solid color-mix(in srgb,var(--card-gold) 45%,transparent);border-radius:10px}[data-layout=cards] .gantt-axis{background:linear-gradient(90deg,color-mix(in srgb,var(--card-gold) 18%,var(--paper-2)),var(--paper-2));border-bottom-color:color-mix(in srgb,var(--card-gold) 45%,transparent)}[data-layout=cards] .gantt-bar{border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff4d,0 0 8px #00000040}[data-layout=cards] .skill{border-color:color-mix(in srgb,var(--card-gold) 30%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--paper) 90%,#000 4%),color-mix(in srgb,var(--paper) 96%,var(--card-gold) 4%))}[data-layout=cards] .skill:hover,[data-layout=cards] .skill[aria-expanded=true]{border-color:var(--card-gold)}[data-layout=cards] .skill-detail{border-color:var(--card-gold);background:color-mix(in srgb,var(--paper) 88%,var(--card-gold) 12%)}[data-layout=cards] .lab-footer{border-top:2px solid var(--card-gold)}[data-layout=cards] .footer-grid h3{color:var(--card-gold)}[data-layout=cards] .article-head{border-bottom:2px solid var(--card-gold)}[data-layout=cards] .article-cover{border:3px solid var(--card-gold);border-radius:6px;box-shadow:0 0 0 1px #0c0804,inset 0 0 0 2px color-mix(in srgb,var(--card-gold) 35%,transparent),0 14px 28px #0006}[data-layout=cards] .prose h2{padding-bottom:.25rem;border-bottom:1px solid var(--card-gold)}[data-layout=cards] .prose h3{color:var(--card-gold)}[data-layout=cards] .prose blockquote{padding:.6rem 1rem;border-left:3px solid var(--card-gold);background:color-mix(in srgb,var(--paper) 90%,var(--card-gold) 10%)}[data-layout=cards] .prose code{border-color:color-mix(in srgb,var(--card-gold) 45%,transparent);background:color-mix(in srgb,var(--paper) 88%,#000 12%)}[data-layout=cards] .prose pre{border:1px solid color-mix(in srgb,var(--card-gold) 45%,transparent);border-left:3px solid var(--card-gold);background:color-mix(in srgb,var(--paper) 88%,#000 12%)}[data-layout=cards] .article-foot{border-top:2px solid var(--card-gold)}[data-layout=sketch]{--rail: 196px;--rope: color-mix(in srgb, var(--accent) 28%, #c9a227);--rope-dark: color-mix(in srgb, var(--rope) 55%, #3a2a12);--chalk: color-mix(in srgb, var(--paper) 72%, #ffffff);--metal: color-mix(in srgb, var(--ink) 42%, #9aa3a8);--rock-soft: color-mix(in srgb, var(--paper) 82%, #7c7468)}[data-layout=sketch] body{background-color:var(--rock-soft);background-image:radial-gradient(circle at 12% 18%,rgb(255 255 255 / 10%) 0 1.5px,transparent 2px),radial-gradient(circle at 68% 42%,rgb(0 0 0 / 10%) 0 2px,transparent 2.5px),radial-gradient(circle at 34% 78%,rgb(255 255 255 / 7%) 0 1px,transparent 2px),repeating-linear-gradient(115deg,rgb(255 255 255 / 3%) 0 2px,transparent 2px 9px),repeating-linear-gradient(25deg,rgb(0 0 0 / 4%) 0 1px,transparent 1px 7px);background-size:220px 220px,280px 280px,160px 160px,auto,auto;background-attachment:fixed}[data-layout=sketch] .scenery-rock .rock-ridges{position:absolute;left:0;right:0;bottom:0;width:100%;height:58vh;min-height:360px}[data-layout=sketch] .rock-back{fill:color-mix(in srgb,var(--paper) 68%,#6c655a);opacity:.42}[data-layout=sketch] .rock-mid{fill:color-mix(in srgb,var(--paper) 58%,#57514a);opacity:.42}[data-layout=sketch] .rock-front{fill:color-mix(in srgb,var(--paper) 48%,#423d37);opacity:.5}[data-layout=sketch] .rock-route{fill:none;stroke:var(--rope);stroke-width:2.5;stroke-dasharray:2 9;opacity:.38}[data-layout=sketch] .rock-anchor{fill:var(--metal);stroke:var(--paper);stroke-width:2}[data-layout=sketch] .rock-sun{position:absolute;top:7%;right:9%;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 30%,#fff 12%),transparent 70%);filter:blur(10px);opacity:.55}[data-layout=sketch] .rock-chalk{position:absolute;width:110px;height:70px;border-radius:50%;background:radial-gradient(ellipse,rgb(255 255 255 / 22%),transparent 70%);filter:blur(12px)}[data-layout=sketch] .rock-chalk-1{left:8%;bottom:18%}[data-layout=sketch] .rock-chalk-2{right:18%;bottom:32%}[data-layout=sketch] .rock-chalk-3{left:46%;bottom:8%}[data-layout=sketch] .rail{position:sticky;overflow:hidden;padding:1.6rem .8rem 2rem .6rem;border-right:1px dashed var(--line-strong);background-image:radial-gradient(circle at 30% 20%,rgb(255 255 255 / 8%) 0 2px,transparent 3px),radial-gradient(circle at 70% 64%,rgb(0 0 0 / 8%) 0 2px,transparent 3px);background-size:90px 90px,120px 120px;isolation:isolate}[data-layout=sketch] .rail-ridge{display:block;position:absolute;inset:auto 0 0;z-index:-1;height:48vh;opacity:.95}[data-layout=sketch] .rail-ridge svg{width:100%;height:100%}[data-layout=sketch] .ridge-far{fill:color-mix(in srgb,var(--paper) 55%,#6f675b);opacity:.45}[data-layout=sketch] .ridge-near{fill:color-mix(in srgb,var(--paper) 42%,#4b453d);opacity:.55}[data-layout=sketch] .ridge-route{fill:none;stroke:var(--rope);stroke-width:2;stroke-dasharray:3 8}[data-layout=sketch] .ridge-bolt{fill:var(--metal);stroke:var(--paper);stroke-width:1.5}[data-layout=sketch] .rail-mark{font-style:italic}[data-layout=sketch] .rail-rule{width:34px;height:3px;background:repeating-linear-gradient(90deg,var(--rope) 0 5px,transparent 5px 8px)}[data-layout=sketch] .rail-list dt{color:color-mix(in srgb,var(--ink) 60%,var(--rope))}[data-layout=sketch] .rail-list dd{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:.86rem;letter-spacing:0}[data-layout=sketch] .rail-foot{padding:.2rem .3rem;border-radius:3px;background:color-mix(in srgb,var(--paper) 62%,transparent);color:color-mix(in srgb,var(--ink) 82%,var(--paper));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-layout=sketch] .lab-header{border-bottom:2px dashed var(--line-strong)}[data-layout=sketch] .brand-badge{border-radius:999px;border:2px solid var(--rope);color:var(--ink);font-weight:700;transform:rotate(-4deg)}[data-layout=sketch] .nav a:after{height:3px;border-radius:2px;background:var(--rope)}[data-layout=sketch] .search input{border-bottom:2px dashed var(--line-strong)}[data-layout=sketch] .kicker{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;letter-spacing:.08em;text-transform:none}[data-layout=sketch] .kicker:before{width:22px;height:3px;background:var(--rope)}[data-layout=sketch] .display,[data-layout=sketch] h1,[data-layout=sketch] h2{font-style:italic}[data-layout=sketch] .section-head{border-bottom:3px dashed color-mix(in srgb,var(--chalk) 55%,transparent)}[data-layout=sketch] .btn{border:2px solid var(--ink);border-radius:999px 999px 999px 4px;background:transparent;color:var(--ink);box-shadow:2px 2px color-mix(in srgb,var(--ink) 22%,transparent)}[data-layout=sketch] .btn:hover{background:var(--rope);border-color:var(--rope);color:#241a10}[data-layout=sketch] .chip{border:1.5px dashed var(--line-strong);border-radius:999px}[data-layout=sketch] .chip-active{border-style:solid;border-color:var(--rope);background:color-mix(in srgb,var(--rope) 22%,var(--paper));color:var(--ink)}[data-layout=sketch] .samples{gap:1.7rem}[data-layout=sketch] .specimen{padding:1.1rem 1.1rem 1.2rem;border:1.5px dashed var(--line-strong);border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--paper) 95%,#fff 5%),color-mix(in srgb,var(--paper) 93%,#000 4%));box-shadow:2px 3px color-mix(in srgb,var(--paper) 62%,#000 8%);transform:rotate(-.7deg)}[data-layout=sketch] .specimen:nth-child(2n){transform:rotate(.8deg)}[data-layout=sketch] .specimen:hover{transform:rotate(0) translateY(-4px);border-color:var(--ink-soft);box-shadow:3px 6px color-mix(in srgb,var(--paper) 55%,#000 10%)}[data-layout=sketch] .specimen:before{width:100%;height:100%;border:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:16px 16px;opacity:.45;pointer-events:none}[data-layout=sketch] .specimen-tape{display:block;position:absolute;top:-12px;left:50%;width:92px;height:24px;transform:translate(-50%) rotate(-2deg);background:color-mix(in srgb,var(--chalk) 55%,transparent);box-shadow:0 1px 2px #0000002e;clip-path:polygon(3% 0,97% 2%,100% 100%,0 96%);opacity:.85}[data-layout=sketch] .specimen-tag{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:.62rem;letter-spacing:.04em;text-transform:none;color:var(--ink-soft)}[data-layout=sketch] .specimen-cover{margin:-1.1rem -1.1rem 1rem;border-bottom:1.5px dashed var(--line-strong);filter:sepia(.08)}[data-layout=sketch] .specimen-title{font-size:1.14rem}[data-layout=sketch] .specimen-title a{background-image:none;text-decoration:underline;text-decoration-style:wavy;text-decoration-thickness:1px;text-underline-offset:4px}[data-layout=sketch] .specimen-note{border-left:3px solid var(--rope);background:color-mix(in srgb,var(--chalk) 70%,transparent);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;transform:rotate(-1deg)}[data-layout=sketch] .node-map{gap:2.7rem;padding:3.4rem .4rem 2.2rem;align-items:flex-start}[data-layout=sketch] .node-rope{display:block;position:absolute;top:0;left:0;z-index:0;height:300px;pointer-events:none}[data-layout=sketch] .node-rope path{fill:none;stroke:var(--rope);stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 3px 3px rgb(0 0 0 / 35%))}[data-layout=sketch] .node-rope .rope-twist{stroke:color-mix(in srgb,var(--rope) 55%,#fff 20%);stroke-width:2;stroke-dasharray:5 7;opacity:.7}[data-layout=sketch] .node{flex:0 0 240px;z-index:1;padding:1.05rem 1.05rem 1.15rem;border:0;border-radius:46% 54% 48% 52%/42% 46% 54% 58%;background:radial-gradient(circle at 30% 22%,rgb(255 255 255 / 16%),transparent 42%),radial-gradient(circle at 72% 82%,rgb(0 0 0 / 16%),transparent 55%),linear-gradient(145deg,color-mix(in srgb,var(--paper) 78%,#8b8377),color-mix(in srgb,var(--paper) 58%,#57514a));box-shadow:inset 0 0 0 2px #ffffff2e,inset 0 -10px 20px #00000040,0 0 0 1px color-mix(in srgb,var(--chalk) 22%,transparent),0 16px 26px #00000052;transform:rotate(-2deg);transform-origin:50% 100%;transition:transform .2s ease,box-shadow .2s ease}[data-layout=sketch] .node:nth-of-type(odd){border-radius:52% 48% 56% 44%/54% 42% 58% 46%;transform:rotate(1.8deg) translateY(22px)}[data-layout=sketch] .node:nth-of-type(3n){border-radius:44% 56% 42% 58%/48% 54% 46% 52%;transform:rotate(-1.2deg) translateY(44px)}[data-layout=sketch] .node:hover,[data-layout=sketch] .node:focus-within{z-index:4;border-color:transparent;transform:rotate(0) translateY(-6px) scale(1.02);box-shadow:inset 0 0 0 2px #ffffff29,inset 0 -10px 22px #00000038,0 22px 34px #00000061,0 0 0 2px color-mix(in srgb,var(--rope) 55%,transparent)}[data-layout=sketch] .node+.node:before,[data-layout=sketch] .node+.node:after,[data-layout=sketch] .node-port{display:none}[data-layout=sketch] .node-sling{display:block;position:absolute;left:50%;top:-42px;z-index:0;width:4px;height:46px;background:repeating-linear-gradient(180deg,var(--rope) 0 4px,var(--rope-dark) 4px 8px);transform:translate(-50%) rotate(7deg);border-radius:2px}[data-layout=sketch] .node-bolt{display:block;position:absolute;left:50%;bottom:-14px;z-index:3;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#d8dde0,#6d7479 58%,#3a3f43);box-shadow:0 3px 5px #00000073,inset 0 0 0 1px #00000059;transform:translate(-50%)}[data-layout=sketch] .node-bolt:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:2px;background:#2c3033;transform:rotate(-25deg)}[data-layout=sketch] .node-chalk{display:block;position:absolute;inset:8px;border-radius:inherit;background:radial-gradient(ellipse at 26% 24%,rgb(255 255 255 / 20%),transparent 52%),radial-gradient(circle at 78% 70%,rgb(255 255 255 / 10%) 0 2px,transparent 3px);background-size:auto,26px 26px;mix-blend-mode:screen;pointer-events:none}[data-layout=sketch] .node-head{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:.6rem;letter-spacing:.05em;text-transform:none;color:color-mix(in srgb,var(--ink) 72%,var(--paper))}[data-layout=sketch] .node-id{color:color-mix(in srgb,var(--ink) 85%,var(--rope))}[data-layout=sketch] .node-cover{border:2px solid color-mix(in srgb,var(--chalk) 45%,transparent);border-radius:50% 50% 46% 54%/46% 52% 48% 54%;box-shadow:0 4px 10px #00000047}[data-layout=sketch] .node-title{margin-top:.65rem;font-size:1.02rem}[data-layout=sketch] .node-excerpt{opacity:1;max-height:none;color:color-mix(in srgb,var(--ink) 82%,var(--paper))}[data-layout=sketch] .node-meta{color:color-mix(in srgb,var(--ink) 72%,var(--paper))}[data-layout=sketch] .node-branch{color:color-mix(in srgb,var(--ink) 88%,var(--rope))}[data-layout=sketch] .timeline{padding-left:2.6rem}[data-layout=sketch] .timeline:before{left:10px;top:2px;bottom:2px;width:9px;background:repeating-linear-gradient(38deg,rgb(0 0 0 / 22%) 0 2px,transparent 2px 5px),repeating-linear-gradient(-38deg,rgb(255 255 255 / 26%) 0 2px,transparent 2px 5px),linear-gradient(90deg,var(--rope-dark),var(--rope) 42%,var(--rope-dark));border-radius:999px;box-shadow:0 0 0 1px #00000040,0 2px 6px #00000059}[data-layout=sketch] .timeline:after{content:"";position:absolute;left:3px;top:-9px;width:23px;height:23px;border:3px solid var(--metal);border-radius:50%;background:var(--paper);box-shadow:0 1px 3px #00000073,inset 0 0 0 2px color-mix(in srgb,var(--paper) 80%,#000 10%)}[data-layout=sketch] .tl-item:before{left:-2.55rem;top:.15rem;width:22px;height:30px;border:3px solid var(--metal);border-radius:11px 11px 16px 16px;background:transparent;transform:rotate(-20deg);box-shadow:0 1px 3px #00000073}[data-layout=sketch] .tl-item:after{content:"";position:absolute;left:-2.12rem;top:.72rem;width:3px;height:16px;border-radius:2px;background:var(--metal);transform:rotate(14deg)}[data-layout=sketch] .tl-item.current:before{border-color:var(--accent);box-shadow:0 0 14px color-mix(in srgb,var(--accent) 65%,transparent)}[data-layout=sketch] .tl-item.current:after{background:var(--accent)}[data-layout=sketch] .tl-date{padding:.08rem .45rem;border:1px solid var(--rope);border-radius:999px;background:color-mix(in srgb,var(--rope) 20%,var(--paper));color:var(--ink)}[data-layout=sketch] .tl-card{border:1.5px dashed var(--line-strong);border-left:4px solid var(--rope);border-radius:2px;background:color-mix(in srgb,var(--paper) 95%,#fff 5%);box-shadow:2px 2px color-mix(in srgb,var(--paper) 62%,#000 8%);transform:rotate(-.3deg)}[data-layout=sketch] .gantt{border:1.5px dashed var(--line-strong);border-radius:4px;background:color-mix(in srgb,var(--paper) 94%,#fff 6%)}[data-layout=sketch] .gantt-axis{background:color-mix(in srgb,var(--paper) 90%,#fff 10%);border-bottom:1.5px dashed var(--line-strong);border-radius:4px 4px 0 0}[data-layout=sketch] .gantt-bar{border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px #00000040}[data-layout=sketch] .gantt-bar:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgb(255 255 255 / 30%) 0 2px,transparent 2px 7px);mix-blend-mode:overlay}[data-layout=sketch] .skill{border:1.5px dashed var(--line-strong);border-radius:2px;background:color-mix(in srgb,var(--paper) 94%,#fff 6%);transform:rotate(-.2deg)}[data-layout=sketch] .skill:nth-child(2n){transform:rotate(.25deg)}[data-layout=sketch] .skill:hover,[data-layout=sketch] .skill[aria-expanded=true]{border-style:solid;border-color:var(--rope)}[data-layout=sketch] .skill-logo{border-radius:50% 45% 55% 48%}[data-layout=sketch] .skill-detail{border:1.5px dashed var(--rope);background:color-mix(in srgb,var(--rope) 12%,var(--paper))}[data-layout=sketch] .lab-footer{border-top:2px dashed var(--line-strong)}[data-layout=sketch] .footer-grid h3{color:color-mix(in srgb,var(--ink) 60%,var(--rope))}[data-layout=sketch] .article-head{border-bottom:2px dashed var(--line-strong)}[data-layout=sketch] .article-cover{border:2px dashed var(--line-strong);transform:rotate(-.4deg);box-shadow:3px 3px color-mix(in srgb,var(--paper) 62%,#000 8%)}[data-layout=sketch] .prose h2{padding-bottom:.2rem;border-bottom:2px dashed var(--line-strong)}[data-layout=sketch] .prose blockquote{padding:.5rem 1rem;border-left:4px solid var(--rope);background:color-mix(in srgb,var(--chalk) 40%,transparent);transform:rotate(-.2deg)}[data-layout=sketch] .prose code{border:1px dashed var(--line-strong);background:color-mix(in srgb,var(--paper) 92%,#fff 8%)}[data-layout=sketch] .prose pre{border:1.5px dashed var(--line-strong);border-left:4px solid var(--rope);background:color-mix(in srgb,var(--paper) 92%,#fff 8%)}[data-layout=sketch] .article-foot{border-top:2px dashed var(--line-strong)}[data-layout=hud]{--rail: 184px;--hud-line: color-mix(in srgb, var(--accent) 55%, transparent)}[data-layout=hud] body{background-color:color-mix(in srgb,var(--paper) 90%,#000 10%);background-image:linear-gradient(rgb(255 255 255 / 3%) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / 3%) 1px,transparent 1px),repeating-linear-gradient(0deg,rgb(0 0 0 / 16%) 0 1px,transparent 1px 3px);background-size:42px 42px,42px 42px,auto;background-attachment:fixed}[data-layout=hud] .scenery-hud{background:radial-gradient(ellipse at 50% 45%,transparent 35%,rgb(0 0 0 / 45%) 100%),radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 65%)}[data-layout=hud] .hud-scan{position:absolute;left:0;right:0;top:0;height:22vh;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--accent) 7%,transparent),transparent);animation:hud-scan 9s linear infinite}@keyframes hud-scan{0%{transform:translateY(-24vh)}to{transform:translateY(110vh)}}[data-layout=hud] .hud-reticle{position:absolute;left:50%;top:50%;width:220px;height:220px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;transform:translate(-50%,-50%)}[data-layout=hud] .hud-reticle:before,[data-layout=hud] .hud-reticle:after{content:"";position:absolute;background:color-mix(in srgb,var(--accent) 22%,transparent)}[data-layout=hud] .hud-reticle:before{left:50%;top:-14px;bottom:-14px;width:1px}[data-layout=hud] .hud-reticle:after{top:50%;left:-14px;right:-14px;height:1px}[data-layout=hud] .hud-bracket{position:absolute;width:54px;height:54px;border:2px solid color-mix(in srgb,var(--accent) 35%,transparent)}[data-layout=hud] .hud-bracket-tl{top:24px;left:24px;border-right:0;border-bottom:0}[data-layout=hud] .hud-bracket-tr{top:24px;right:24px;border-left:0;border-bottom:0}[data-layout=hud] .hud-bracket-bl{bottom:24px;left:24px;border-right:0;border-top:0}[data-layout=hud] .hud-bracket-br{bottom:24px;right:24px;border-left:0;border-top:0}[data-layout=hud] .rail{padding:1.2rem .9rem 2rem;border-right:1px solid var(--accent);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,transparent),transparent 34%);box-shadow:inset 0 0 24px color-mix(in srgb,var(--accent) 8%,transparent);clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}[data-layout=hud] .hud-status{display:flex;align-items:center;gap:.4rem;margin-bottom:.9rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}[data-layout=hud] .hud-status i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:hud-blink 1.8s steps(2,end) infinite}@keyframes hud-blink{50%{opacity:.25}}[data-layout=hud] .rail-mark{text-transform:uppercase;letter-spacing:.08em}[data-layout=hud] .rail-rule{width:100%;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}[data-layout=hud] .rail-list dt{color:var(--accent)}[data-layout=hud] .rail-list dd{text-transform:uppercase;letter-spacing:.12em}[data-layout=hud] .lab-header{padding:1rem .8rem;border-bottom:1px solid var(--accent);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 48%)}[data-layout=hud] .brand-badge{border-radius:0;border-color:var(--accent);color:var(--accent);clip-path:polygon(0 0,100% 0,100% 70%,88% 100%,0 100%)}[data-layout=hud] .nav a{text-transform:uppercase;letter-spacing:.12em}[data-layout=hud] .nav a:after{background:var(--accent);box-shadow:0 0 8px var(--accent)}[data-layout=hud] .search input{padding:.32rem .55rem;border:1px solid var(--accent);background:#0003}[data-layout=hud] .samples{gap:1.4rem}[data-layout=hud] .specimen{padding:1rem 1.1rem 1.15rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:0;background:linear-gradient(160deg,color-mix(in srgb,var(--paper) 93%,#000 7%),color-mix(in srgb,var(--paper) 82%,#000 18%));clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 30px color-mix(in srgb,var(--accent) 6%,transparent);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}[data-layout=hud] .specimen:before{width:14px;height:14px;border:0;border-top:2px solid var(--accent);border-left:2px solid var(--accent);background:none;box-shadow:none}[data-layout=hud] .specimen:after{content:"";position:absolute;right:0;bottom:0;width:14px;height:14px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent)}[data-layout=hud] .specimen:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),inset 0 0 34px color-mix(in srgb,var(--accent) 10%,transparent),0 0 22px color-mix(in srgb,var(--accent) 28%,transparent)}[data-layout=hud] .specimen-tag,[data-layout=hud] .specimen-foot,[data-layout=hud] .node-meta{text-transform:uppercase;letter-spacing:.18em;color:var(--accent)}[data-layout=hud] .specimen-cover{margin:-1rem -1.1rem 1rem;border-bottom:1px solid var(--accent);background:#000}[data-layout=hud] .specimen-cover img{filter:grayscale(.55) contrast(1.12) brightness(.92)}[data-layout=hud] .specimen:hover .specimen-cover img{filter:none}[data-layout=hud] .specimen-title,[data-layout=hud] .display,[data-layout=hud] h1,[data-layout=hud] h2{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:-.01em}[data-layout=hud] .display{font-size:clamp(2rem,4.4vw,3.5rem)}[data-layout=hud] .specimen-title a{background-image:none}[data-layout=hud] .specimen-note{border:1px solid var(--accent);border-left:2px solid var(--accent);background:color-mix(in srgb,var(--paper) 88%,#000 12%);color:var(--accent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}[data-layout=hud] .chip{border-radius:0;border-color:var(--accent)}[data-layout=hud] .node-map{gap:2.4rem;padding-top:1.2rem}[data-layout=hud] .node{flex:0 0 250px;padding:.9rem 1rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:0;background:linear-gradient(160deg,color-mix(in srgb,var(--paper) 92%,#000 8%),color-mix(in srgb,var(--paper) 80%,#000 20%));clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));box-shadow:inset 0 0 24px color-mix(in srgb,var(--accent) 7%,transparent)}[data-layout=hud] .node:hover,[data-layout=hud] .node:focus-within{border-color:var(--accent);box-shadow:inset 0 0 26px color-mix(in srgb,var(--accent) 12%,transparent),0 0 22px color-mix(in srgb,var(--accent) 30%,transparent);transform:translateY(-2px)}[data-layout=hud] .node+.node:before{left:-2.4rem;width:2.4rem;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 6px,transparent 6px 12px);opacity:.8}[data-layout=hud] .node+.node:after{left:-.35rem;width:7px;height:7px;border-radius:0;background:var(--accent);box-shadow:0 0 8px var(--accent);transform:rotate(45deg)}[data-layout=hud] .node-port{right:-5px;border:0;border-radius:0;background:var(--accent);box-shadow:0 0 8px var(--accent);transform:rotate(45deg)}[data-layout=hud] .node-head,[data-layout=hud] .node-id{color:var(--accent)}[data-layout=hud] .node-title{font-family:var(--font-mono);text-transform:uppercase}[data-layout=hud] .node-cover{border:1px solid var(--accent);border-radius:0}[data-layout=hud] .node-cover img{filter:grayscale(.5) contrast(1.1) brightness(.9)}[data-layout=hud] .node:hover .node-cover img{filter:none}[data-layout=hud] .node-excerpt{color:var(--ink-soft)}[data-layout=hud] .timeline:before{left:6px;width:2px;background:repeating-linear-gradient(180deg,var(--accent) 0 8px,transparent 8px 16px);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}[data-layout=hud] .tl-item{padding-left:.7rem;border-left:1px solid transparent;transition:border-color .15s ease}[data-layout=hud] .tl-item:hover{border-left-color:var(--accent)}[data-layout=hud] .tl-item:before{left:-1.7rem;width:10px;height:10px;border:2px solid var(--accent);border-radius:0;background:var(--paper);transform:rotate(45deg);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,transparent)}[data-layout=hud] .tl-item.current:before{background:var(--accent);box-shadow:0 0 14px var(--accent)}[data-layout=hud] .tl-date{color:var(--accent)}[data-layout=hud] .tl-card{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-left:2px solid var(--accent);border-radius:0;background:color-mix(in srgb,var(--paper) 88%,#000 12%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}[data-layout=hud] .gantt{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:0}[data-layout=hud] .gantt-axis{border-bottom-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--paper-2));border-radius:0}[data-layout=hud] .gantt-bar{border-radius:0;box-shadow:0 0 8px color-mix(in srgb,var(--accent) 30%,transparent)}[data-layout=hud] .gantt-ai-label{border-radius:0}[data-layout=hud] .skill{border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:0;background:color-mix(in srgb,var(--paper) 90%,#000 10%);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}[data-layout=hud] .skill:hover,[data-layout=hud] .skill[aria-expanded=true]{border-color:var(--accent)}[data-layout=hud] .skill-detail{border:1px solid var(--accent);border-top:0;border-radius:0;background:color-mix(in srgb,var(--accent) 7%,var(--paper))}[data-layout=hud] .lab-footer{border-top:1px solid var(--accent)}[data-layout=hud] .footer-grid h3{color:var(--accent)}[data-layout=hud] .article-head{border-bottom:1px solid var(--accent)}[data-layout=hud] .article-head h1{font-family:var(--font-mono);text-transform:uppercase}[data-layout=hud] .article-cover{border:1px solid var(--accent)}[data-layout=hud] .prose h2,[data-layout=hud] .prose h3{font-family:var(--font-mono);text-transform:uppercase}[data-layout=hud] .prose h2{padding-bottom:.2rem;border-bottom:1px solid var(--accent)}[data-layout=hud] .prose blockquote{padding:.5rem 1rem;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--paper))}[data-layout=hud] .prose code{border-color:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:0;background:color-mix(in srgb,var(--paper) 88%,#000 12%)}[data-layout=hud] .prose pre{border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-left:3px solid var(--accent);border-radius:0;background:color-mix(in srgb,var(--paper) 88%,#000 12%)}[data-layout=hud] .article-foot{border-top:1px solid var(--accent)}@media(max-width:1080px){[data-layout=cards] .node{flex-basis:220px}[data-layout=cards] .node-map{padding-right:.6rem}[data-layout=sketch] .node-map{gap:2.6rem}[data-layout=hud] .node{flex-basis:220px}}@media(max-width:760px){[data-layout=cards] .node-map{gap:1.4rem;padding-top:1rem}[data-layout=cards] .node{margin-left:0;transform:none}[data-layout=cards] .node:nth-of-type(2n){transform:none}[data-layout=sketch] .node-map{gap:3.4rem;padding-top:2.4rem}[data-layout=sketch] .node-rope{display:none}[data-layout=sketch] .node{transform:none}[data-layout=sketch] .node:nth-of-type(odd),[data-layout=sketch] .node:nth-of-type(3n){transform:none}[data-layout=sketch] .node-sling{top:-34px;height:38px}[data-layout=hud] .node{flex:1 1 auto;width:100%}[data-layout=hud] .node+.node:before{top:-2.4rem;left:50%;width:1px;height:2.4rem;background:repeating-linear-gradient(180deg,var(--accent) 0 6px,transparent 6px 12px)}[data-layout=hud] .node+.node:after{top:-.35rem;left:calc(50% - 3.5px)}[data-layout=hud] .node-port{top:auto;right:calc(50% - 5px);bottom:-5px}}[data-layout=iphone]{--ios-blue: #2f7cf6;--ios-blue-dark: #1f5fc4;--ios-bar: linear-gradient(#7fb0ee, #4a86d8 55%, #3a72c4);--ios-paper: #f2f2f7;--ios-card: #ffffff;--ios-ink: #101114;--ios-mute: #7b8394;--ios-line: #d3d7e0;--ios-radius: 10px}[data-layout=iphone] body{background-color:#08090c;background-image:radial-gradient(ellipse at 50% 0%,rgb(60 70 95 / 55%),transparent 60%),radial-gradient(ellipse at 50% 100%,rgb(25 30 42 / 80%),transparent 70%);background-attachment:fixed;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}[data-layout=iphone] .shell{width:min(100% - 12px,420px)}[data-layout=iphone] .lab{display:block;padding-block:10px 18px}[data-layout=iphone] .rail{display:none}[data-layout=iphone] app-site-header{display:none}app-iphone-chrome,app-iphone-home,app-iphone-projects,app-iphone-skills,app-iphone-about,app-iphone-contact{display:none}[data-layout=iphone] app-iphone-chrome,[data-layout=iphone] app-iphone-home,[data-layout=iphone] app-iphone-projects,[data-layout=iphone] app-iphone-skills,[data-layout=iphone] app-iphone-about,[data-layout=iphone] app-iphone-contact{display:block}[data-layout=iphone] .screen-frame{position:relative;padding:10px 10px 62px;border-radius:34px;background:linear-gradient(160deg,#3c4047,#101216 55%,#05060a);box-shadow:inset 0 0 0 1px #7b808a,inset 0 0 0 3px #15171b,0 20px 50px #0009}[data-layout=iphone] .screen-frame main{height:clamp(420px,72vh,640px);overflow-y:auto;padding-top:22px;border-radius:3px;background:var(--ios-paper);color:var(--ios-ink);scrollbar-width:thin;scrollbar-color:#b9c0cc transparent}[data-layout=iphone] .screen-frame main::-webkit-scrollbar{width:4px}[data-layout=iphone] .screen-frame main::-webkit-scrollbar-thumb{border-radius:2px;background:#b9c0cc}[data-layout=iphone] .iphone-status{position:absolute;top:10px;right:10px;left:10px;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;height:22px;padding:0 6px;background:#000;color:#fff;font-size:10px;letter-spacing:.02em;pointer-events:none}[data-layout=iphone] .iphone-status-left{display:flex;align-items:center;gap:6px;min-width:0}[data-layout=iphone] .iphone-signal{display:inline-flex;align-items:flex-end;gap:1px;height:9px}[data-layout=iphone] .iphone-signal i{width:2px;border-radius:1px 1px 0 0;background:#cfd4dd}[data-layout=iphone] .iphone-signal i:nth-child(1){height:3px}[data-layout=iphone] .iphone-signal i:nth-child(2){height:4px}[data-layout=iphone] .iphone-signal i:nth-child(3){height:6px}[data-layout=iphone] .iphone-signal i:nth-child(4){height:8px}[data-layout=iphone] .iphone-signal i:nth-child(5){height:9px;opacity:.35}[data-layout=iphone] .iphone-carrier{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}[data-layout=iphone] .iphone-time{font-weight:700;text-align:center}[data-layout=iphone] .iphone-battery{display:inline-flex;align-items:center;justify-self:end;width:22px;height:9px;padding:1px;border:1px solid #9aa1ad;border-radius:2px}[data-layout=iphone] .iphone-battery:after{content:"";width:2px;height:4px;margin-left:1px;border-radius:0 1px 1px 0;background:#9aa1ad}[data-layout=iphone] .iphone-battery i{width:78%;height:100%;border-radius:1px;background:#d7dce4}[data-layout=iphone] .iphone-home{position:absolute;bottom:12px;left:50%;z-index:40;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 50% 32%,#33373e,#0b0c10 72%);box-shadow:inset 0 0 0 2px #16181c,0 1px #ffffff1f,0 2px 5px #0009;transform:translate(-50%);transition:background .15s ease}[data-layout=iphone] .iphone-home span{width:13px;height:13px;border:2px solid #9aa1ad;border-radius:3px}[data-layout=iphone] .iphone-home:active{background:radial-gradient(circle at 50% 32%,#454a53,#14161a 72%)}[data-layout=iphone] .iphone-home:active span{border-color:#d7dce4}[data-layout=iphone] .springboard{display:flex;flex-direction:column;min-height:100%;background:radial-gradient(ellipse at 50% 8%,rgb(88 130 200 / 45%),transparent 55%),radial-gradient(ellipse at 50% 100%,rgb(40 50 70 / 70%),transparent 65%),linear-gradient(180deg,#06080d,#0a0f18 45%,#05070b)}[data-layout=iphone] .springboard-scroll{flex:1 1 auto;padding:10px 14px 96px}[data-layout=iphone] .springboard-head{padding:4px 2px 14px;text-align:center}[data-layout=iphone] .springboard-title{margin:0;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:21px;font-weight:300;letter-spacing:.02em;line-height:1.1;text-shadow:0 1px 2px rgb(0 0 0 / 55%)}[data-layout=iphone] .springboard-tagline{margin:4px 0 0;color:#ffffffb8;font-size:10.5px;line-height:1.3}[data-layout=iphone] .springboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 4px}[data-layout=iphone] .app-icon{display:flex;flex-direction:column;align-items:center;gap:5px;color:#fff;text-align:center;text-decoration:none}[data-layout=iphone] .app-icon-art{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:13px;background:linear-gradient(#8fb9f5,#3a72c4);box-shadow:inset 0 1px #ffffffa6,0 2px 4px #00000073;color:#fff;font-size:22px;font-weight:700;letter-spacing:-.02em;transition:transform .12s ease,filter .12s ease}[data-layout=iphone] .app-icon-art:after{content:"";position:absolute;inset:0 0 52%;border-radius:13px 13px 40px 40px/13px 13px 16px 16px;background:linear-gradient(#ffffff8c,#ffffff0a);pointer-events:none}[data-layout=iphone] .app-icon-glyph{position:relative;z-index:1;text-shadow:0 -1px 0 rgb(0 0 0 / 25%)}[data-layout=iphone] .app-icon-label{font-size:10px;line-height:1.15;text-shadow:0 1px 1px rgb(0 0 0 / 70%)}[data-layout=iphone] .app-icon:hover .app-icon-art,[data-layout=iphone] .app-icon:focus-visible .app-icon-art{filter:brightness(1.08)}[data-layout=iphone] .app-icon:active .app-icon-art{transform:scale(.92)}[data-layout=iphone] .app-icon-projects{background:linear-gradient(#8fb9f5,#2f6fd0)}[data-layout=iphone] .app-icon-skills{background:linear-gradient(#9be08f,#2f9e44)}[data-layout=iphone] .app-icon-blog{background:linear-gradient(#ffc978,#e0762a)}[data-layout=iphone] .app-icon-about{background:linear-gradient(#c9a6ff,#7b4dd8)}[data-layout=iphone] .app-icon-contact{background:linear-gradient(#8ee0dd,#1f8f8a)}[data-layout=iphone] .app-icon-text{background:linear-gradient(#d3d8e2,#6b7381)}[data-layout=iphone] .springboard-foot{position:sticky;bottom:0;padding:6px 10px 10px;background:linear-gradient(transparent,#030509d1 38%)}[data-layout=iphone] .springboard-dots{display:flex;justify-content:center;gap:6px;margin-bottom:7px}[data-layout=iphone] .springboard-dots i{width:6px;height:6px;border-radius:50%;background:#ffffff52}[data-layout=iphone] .springboard-dots i.is-on{background:#fff}[data-layout=iphone] .springboard-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:7px 8px 6px;border:1px solid rgb(255 255 255 / 18%);border-radius:16px;background:linear-gradient(#78849b66,#2226308c);box-shadow:inset 0 1px #ffffff38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}[data-layout=iphone] .springboard-dock .app-icon-art{width:50px;height:50px;font-size:20px}[data-layout=iphone] .springboard-dock .app-icon-label{display:none}[data-layout=iphone] .springboard-note,[data-layout=iphone] .springboard-widget{margin-top:14px;padding:12px 13px;border:1px solid rgb(255 255 255 / 12%);border-radius:12px;background:#0e121ab8;box-shadow:inset 0 1px #ffffff14;color:#dfe5ef}[data-layout=iphone] .springboard-note h2{margin:0 0 6px;color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:700}[data-layout=iphone] .springboard-note .prose{max-width:none;color:#c6cedb;font-size:11.5px;line-height:1.5}[data-layout=iphone] .springboard-note .prose h2,[data-layout=iphone] .springboard-note .prose h3,[data-layout=iphone] .springboard-note .prose h1,[data-layout=iphone] .springboard-note .prose h4{color:#fff;font-size:12px}[data-layout=iphone] .springboard-note .prose blockquote{border-left-color:#4a86d8;background:#ffffff14;color:#cfd6e4}[data-layout=iphone] .springboard-note .prose a{color:#9fc0f5}[data-layout=iphone] .springboard-widget header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:#8fa3c0;font-size:9px;letter-spacing:.12em;text-transform:uppercase}[data-layout=iphone] .springboard-widget header a{color:#9fc0f5;letter-spacing:0;text-transform:none}[data-layout=iphone] .springboard-widget ul{margin:6px 0 0;padding:0;list-style:none}[data-layout=iphone] .springboard-widget li+li{border-top:1px solid rgb(255 255 255 / 10%)}[data-layout=iphone] .springboard-widget a{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:7px 0;color:#fff;font-size:11.5px;text-decoration:none}[data-layout=iphone] .springboard-widget small{color:#8fa3c0;font-size:9px;white-space:nowrap}[data-layout=iphone] .springboard-search{display:flex;gap:6px;margin:14px 0 8px}[data-layout=iphone] .springboard-search input{flex:1;min-width:0;padding:7px 10px;border:1px solid rgb(255 255 255 / 18%);border-radius:999px;background:#ffffff1f;color:#fff;font:inherit;font-size:11px}[data-layout=iphone] .springboard-search input::placeholder{color:#ffffff8c}[data-layout=iphone] .springboard-search button{padding:0 14px;border:1px solid rgb(255 255 255 / 22%);border-radius:999px;background:#ffffff24;color:#fff;font:inherit;font-size:10px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}[data-layout=iphone] .iphone-contact,[data-layout=iphone] .iphone-projects,[data-layout=iphone] .iphone-skills{display:flex;flex-direction:column;min-height:100%}[data-layout=iphone] .iphone-app{display:flex;flex:1 0 auto;flex-direction:column;min-height:100%;background:var(--ios-paper);color:var(--ios-ink)}[data-layout=iphone] .project-detail,[data-layout=iphone] .mail-message,[data-layout=iphone] .compose-screen{position:absolute;inset:32px 10px 62px;z-index:20;min-height:0;overflow:hidden;border-radius:3px}[data-layout=iphone] .iphone-bar{position:sticky;top:0;z-index:10;display:flex;flex:0 0 auto;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--ios-blue-dark);background:var(--ios-bar);color:#fff;font-size:12px;font-weight:700;text-shadow:0 -1px 0 rgb(0 0 0 / 35%)}[data-layout=iphone] .iphone-bar-back{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;min-width:62px;padding:3px 0;border:0;background:none;color:#fff;font:inherit;font-size:11px;font-weight:600;text-align:left;text-decoration:none;cursor:pointer}[data-layout=iphone] .iphone-bar-back:before{content:"";width:8px;height:8px;border-bottom:2px solid #fff;border-left:2px solid #fff;transform:rotate(45deg)}[data-layout=iphone] .iphone-bar-back.is-ghost{visibility:hidden}[data-layout=iphone] .iphone-bar-title{flex:1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}[data-layout=iphone] .iphone-bar-side{flex:0 0 auto;min-width:62px}[data-layout=iphone] .iphone-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--ios-line);background:linear-gradient(#f7f8fb,#e4e7ee);color:#4a5262;font-size:10px}[data-layout=iphone] .iphone-toolbar-label{color:var(--ios-mute);font-size:9px;letter-spacing:.08em;text-transform:uppercase}[data-layout=iphone] .iphone-toolbar-spacer{flex:1}[data-layout=iphone] .iphone-chip{padding:1px 6px;border-radius:3px;background:var(--ios-blue);color:#fff;font-size:9px}[data-layout=iphone] .iphone-scroll{flex:1 1 auto;padding:10px 12px 16px}[data-layout=iphone] .iphone-button{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 12px;border:1px solid #9aa3b2;border-radius:6px;background:linear-gradient(#fff,#dfe3ea);color:#1d2330;font:inherit;font-size:11px;font-weight:600;text-decoration:none;box-shadow:0 1px 1px #0000001f;cursor:pointer}[data-layout=iphone] .iphone-button:hover{background:linear-gradient(#fff,#cfd6e2)}[data-layout=iphone] .iphone-button.active{border-color:var(--ios-blue-dark);background:linear-gradient(#5a95e8,#2f6fd0);color:#fff}[data-layout=iphone] .iphone-meta{margin:0 0 4px;color:var(--ios-blue);font-size:10px;letter-spacing:.04em;text-transform:uppercase}[data-layout=iphone] .iphone-company{margin:0 0 8px;font-weight:700}[data-layout=iphone] .iphone-tags{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}[data-layout=iphone] .iphone-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}[data-layout=iphone] .iphone-empty{margin:0;padding:18px 12px;color:var(--ios-mute);text-align:center}[data-layout=iphone] .iphone-list{margin:-10px -12px 12px;border-bottom:1px solid var(--ios-line);background:var(--ios-card)}[data-layout=iphone] .iphone-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--ios-line);background:var(--ios-card);color:var(--ios-ink);font:inherit;text-align:left;cursor:pointer}[data-layout=iphone] .iphone-row:last-child{border-bottom:0}[data-layout=iphone] .iphone-row:after{content:"\203a";margin-left:auto;color:#b3bac7;font-size:18px;line-height:1}[data-layout=iphone] .iphone-row:hover,[data-layout=iphone] .iphone-row:focus-visible{background:#eef4ff}[data-layout=iphone] .iphone-row:active{background:#dfe9fb}[data-layout=iphone] .row-label{display:flex;flex-direction:column;gap:2px;min-width:0}[data-layout=iphone] .row-label strong{font-size:13px;font-weight:600}[data-layout=iphone] .row-meta{color:var(--ios-mute);font-size:10px}[data-layout=iphone] .row-text{display:-webkit-box;overflow:hidden;color:#5b6474;font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}[data-layout=iphone] .calendar-panel{margin:0 -12px;padding:10px 12px 14px;border-top:1px solid var(--ios-line);background:var(--ios-card)}[data-layout=iphone] .calendar-title{margin:0 0 8px;color:var(--ios-blue);font-family:inherit;font-size:11px;letter-spacing:.1em;text-transform:uppercase}[data-layout=iphone] .calendar-head,[data-layout=iphone] .calendar-year{display:grid;grid-template-columns:38px repeat(12,minmax(0,1fr));gap:1px;align-items:center}[data-layout=iphone] .calendar-month-label{color:var(--ios-mute);font-size:7px;text-align:center}[data-layout=iphone] .calendar-year{margin-bottom:1px}[data-layout=iphone] .calendar-year-label{padding:1px 2px;border:1px solid var(--ios-line);border-radius:3px;background:#f7f8fb;color:var(--ios-ink);font:inherit;font-size:9px;cursor:pointer}[data-layout=iphone] .calendar-year.selected .calendar-year-label{border-color:var(--ios-blue-dark);background:var(--ios-blue);color:#fff}[data-layout=iphone] .calendar-cell{display:flex;flex-direction:column;justify-content:center;gap:1px;height:18px;padding:1px;overflow:hidden;border:1px solid #e3e6ec;border-radius:2px;background:#fafbfd;cursor:pointer}[data-layout=iphone] .calendar-cell:hover{outline:1px solid var(--ios-blue)}[data-layout=iphone] .calendar-bar{display:block;height:3px;border-radius:2px}[data-layout=iphone] .calendar-more{color:var(--ios-blue);font-size:6px;line-height:1}[data-layout=iphone] .calendar-key{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px;padding-top:8px;border-top:1px solid var(--ios-line);color:#4a5262;font-size:8px}[data-layout=iphone] .calendar-key-item{display:inline-flex;align-items:center;gap:4px}[data-layout=iphone] .calendar-key-item i{width:8px;height:8px;border-radius:2px}[data-layout=iphone] .skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px;margin:2px 0 16px}[data-layout=iphone] .skill-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--ios-ink);font:inherit;cursor:pointer}[data-layout=iphone] .skill-tile-art{display:grid;place-items:center;width:46px;height:46px;border-radius:11px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff73,0 1px 3px #00000047}[data-layout=iphone] .skill-tile-label{max-width:100%;overflow:hidden;font-size:9px;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}[data-layout=iphone] .skill-tile.is-active .skill-tile-art{outline:2px solid var(--ios-blue);outline-offset:2px}[data-layout=iphone] .ipod{overflow:hidden;border:1px solid #0d0f13;border-radius:12px;background:linear-gradient(#2a2d33,#101216);box-shadow:inset 0 1px #ffffff29,0 4px 12px #00000040;color:#e8ecf3}[data-layout=iphone] .ipod-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;background:linear-gradient(#4a86d8,#2f5fa8);color:#fff;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}[data-layout=iphone] .ipod-count{font-weight:400;opacity:.8}[data-layout=iphone] .ipod-now{display:flex;align-items:center;gap:10px;padding:10px}[data-layout=iphone] .ipod-art{display:grid;flex:0 0 auto;place-items:center;width:52px;height:52px;border-radius:8px;color:#fff;font-size:14px;font-weight:700;box-shadow:inset 0 1px #ffffff59}[data-layout=iphone] .ipod-name{margin:0;color:#fff;font-size:13px;font-weight:700}[data-layout=iphone] .ipod-meta{margin:2px 0 0;color:#9aa3b2;font-size:10px}[data-layout=iphone] .ipod-screen{margin:0 10px 10px;padding:8px 10px;border:1px solid #000;border-radius:6px;background:linear-gradient(#0a1a0c,#061006);color:#b6ffb6;font-size:10.5px;line-height:1.45}[data-layout=iphone] .ipod-screen p{margin:0 0 5px}[data-layout=iphone] .ipod-screen p:last-child{margin:0}[data-layout=iphone] .ipod-empty{margin:0;padding:16px 10px;color:#9aa3b2;font-size:11px;text-align:center}[data-layout=iphone] .ipod-controls{display:flex;align-items:center;gap:6px;padding:0 10px 10px}[data-layout=iphone] .ipod-button,[data-layout=iphone] .ipod-play{display:grid;place-items:center;width:30px;height:26px;border:1px solid #6d747f;border-radius:5px;background:linear-gradient(#f2f4f7,#c8cdd6);color:#1a1d23;font-size:10px;cursor:pointer}[data-layout=iphone] .ipod-play{width:38px}[data-layout=iphone] .ipod-progress{position:relative;flex:1;height:8px;overflow:hidden;border:1px solid #000;border-radius:4px;background:#05080c}[data-layout=iphone] .ipod-progress span{display:block;height:100%;background:linear-gradient(90deg,#2f9e44,#8ef08e);transition:width .2s linear}[data-layout=iphone] .ipod-playlist{max-height:180px;margin:0;padding:0 0 4px;overflow-y:auto;border-top:1px solid rgb(255 255 255 / 10%);list-style:none}[data-layout=iphone] .ipod-playlist button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;width:100%;padding:6px 10px;border:0;background:none;color:#dfe5ef;font:inherit;font-size:10.5px;text-align:left;cursor:pointer}[data-layout=iphone] .ipod-playlist button:hover{background:#ffffff14}[data-layout=iphone] .ipod-playlist button.is-active{background:#4a86d859;color:#fff}[data-layout=iphone] .ipod-track-number{color:#8a93a2;font-size:9px;text-align:right}[data-layout=iphone] .ipod-track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-layout=iphone] .ipod-track-years{color:#8a93a2;font-size:9px}[data-layout=iphone] .profile-side{padding:12px;border:1px solid var(--ios-line);border-radius:10px;background:var(--ios-card);text-align:center}[data-layout=iphone] .profile-avatar{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 8px;border-radius:50%;background:linear-gradient(#c9a6ff,#6a3fc4);color:#fff;font-size:20px;font-weight:700;box-shadow:inset 0 1px #ffffff73}[data-layout=iphone] .profile-name{margin:0;font-size:14px;font-weight:700}[data-layout=iphone] .profile-role{margin:2px 0 10px;color:var(--ios-mute);font-size:10px}[data-layout=iphone] .profile-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0;list-style:none}[data-layout=iphone] .profile-links a{display:inline-block;padding:3px 9px;border:1px solid var(--ios-line);border-radius:999px;background:#f7f8fb;color:var(--ios-blue);font-size:10px;text-decoration:none}[data-layout=iphone] .profile-doc{margin-top:12px;padding:12px 14px;border:1px solid var(--ios-line);border-radius:10px;background:var(--ios-card);color:#2a303c;font-size:12px}[data-layout=iphone] .mail-body{padding-top:0}[data-layout=iphone] .mail-folders{margin:0 -12px 10px;padding:10px 14px;border-bottom:1px solid var(--ios-line);background:var(--ios-card)}[data-layout=iphone] .mail-folder-title{margin:0 0 4px;color:var(--ios-blue);font-size:9px;letter-spacing:.1em;text-transform:uppercase}[data-layout=iphone] .mail-contact{display:block;padding:2px 0;color:var(--ios-blue);font-size:11px;text-decoration:none}[data-layout=iphone] .mail-list{margin:0 -12px;border-top:1px solid var(--ios-line);border-bottom:1px solid var(--ios-line);background:var(--ios-card)}[data-layout=iphone] .mail-row{display:grid;gap:1px;width:100%;padding:8px 14px;border:0;border-bottom:1px solid var(--ios-line);background:var(--ios-card);color:var(--ios-ink);font:inherit;text-align:left;cursor:pointer}[data-layout=iphone] .mail-row:last-child{border-bottom:0}[data-layout=iphone] .mail-row:hover{background:#eef4ff}[data-layout=iphone] .mail-from,[data-layout=iphone] .mail-date{color:var(--ios-mute);font-size:9px}[data-layout=iphone] .mail-subject{font-size:12px;font-weight:600}[data-layout=iphone] .mail-meta{margin:0 0 8px;color:var(--ios-mute);font-size:9px}[data-layout=iphone] .mail-message .prose{max-width:none;color:#2a303c;font-size:12px}[data-layout=iphone] .compose-label{display:block;margin:10px 0 3px;color:var(--ios-mute);font-size:9px;letter-spacing:.08em;text-transform:uppercase}[data-layout=iphone] .iphone-input{width:100%;padding:6px 8px;border:1px solid var(--ios-line);border-radius:6px;background:var(--ios-card);color:var(--ios-ink);font:inherit;font-size:12px}[data-layout=iphone] .iphone-input:focus{border-color:var(--ios-blue);outline:2px solid rgb(47 124 246 / 30%)}[data-layout=iphone] .standard-page{display:none}[data-layout=iphone] .article-head{margin:0;padding:6px 12px;border-bottom:1px solid var(--ios-blue-dark);background:var(--ios-bar);color:#fff}[data-layout=iphone] .article-head h1{margin:0;overflow:hidden;color:#fff;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:0;text-align:center;text-overflow:ellipsis;text-shadow:0 -1px 0 rgb(0 0 0 / 35%);text-transform:none;white-space:nowrap}[data-layout=iphone] .article-head .kicker,[data-layout=iphone] .article-head .lede{display:none}[data-layout=iphone] .article-head .mono,[data-layout=iphone] .article-head .muted,[data-layout=iphone] .article-head .article-meta{color:#ffffffc7;font-family:inherit}[data-layout=iphone] .article,[data-layout=iphone] .section-head,[data-layout=iphone] .samples,[data-layout=iphone] .toolbar,[data-layout=iphone] .chips,[data-layout=iphone] .prose,[data-layout=iphone] details,[data-layout=iphone] .empty,[data-layout=iphone] .hero{margin-right:12px;margin-left:12px}[data-layout=iphone] .article-head{position:sticky;top:0;z-index:5}[data-layout=iphone] .prose h1,[data-layout=iphone] .prose h2,[data-layout=iphone] .prose h3,[data-layout=iphone] .prose h4{color:var(--ios-ink);font-family:inherit;letter-spacing:0}[data-layout=iphone] .article{max-width:none;padding-block:0}[data-layout=iphone] .section-head{margin-top:16px;margin-bottom:8px}[data-layout=iphone] .section-head h2{font-family:inherit;font-size:13px;letter-spacing:0}[data-layout=iphone] .samples{display:flex;flex-direction:column;gap:8px}[data-layout=iphone] .specimen{padding:10px 12px;border:1px solid var(--ios-line);border-radius:8px;background:var(--ios-card);box-shadow:none;transform:none}[data-layout=iphone] .specimen:before{display:none}[data-layout=iphone] .specimen:hover{border-color:var(--ios-blue);transform:none}[data-layout=iphone] .specimen-cover{margin:-10px -12px 8px;border-bottom:1px solid var(--ios-line)}[data-layout=iphone] .specimen-title{margin:0 0 3px;font-family:inherit;font-size:13px;font-weight:600}[data-layout=iphone] .specimen-excerpt{margin:0 0 6px;color:#5b6474;font-size:11px}[data-layout=iphone] .specimen-tag,[data-layout=iphone] .specimen-foot{color:var(--ios-mute);font-size:9px}[data-layout=iphone] .specimen-note{display:none}[data-layout=iphone] .prose{max-width:none;color:#2a303c;font-size:12px}[data-layout=iphone] .prose h2,[data-layout=iphone] .prose h3{color:var(--ios-ink);font-family:inherit;font-size:14px;letter-spacing:0}[data-layout=iphone] .prose a{color:var(--ios-blue)}[data-layout=iphone] .prose blockquote{border-left-color:var(--ios-blue);background:#eef4ff;color:#2a303c;font-family:inherit;font-size:12px}[data-layout=iphone] .prose code{border-color:var(--ios-line);background:#eef1f6;color:#2a303c}[data-layout=iphone] .prose pre{border:1px solid var(--ios-line);border-left:3px solid var(--ios-blue);background:#eef1f6}[data-layout=iphone] .article-foot{border-top-color:var(--ios-line)}[data-layout=iphone] .article-cover{border-color:var(--ios-line)}[data-layout=iphone] .chip{border:1px solid var(--ios-line);border-radius:999px;background:var(--ios-card);color:#4a5262;font-size:9px}[data-layout=iphone] .chip-active{border-color:var(--ios-blue);background:var(--ios-blue);color:#fff}[data-layout=iphone] .btn{border:1px solid var(--ios-blue-dark);border-radius:7px;background:linear-gradient(#5a95e8,#2f6fd0);color:#fff;font-family:inherit;font-size:11px;letter-spacing:0;text-transform:none}[data-layout=iphone] .btn-ghost{border-color:var(--ios-line);background:var(--ios-card);color:var(--ios-blue)}[data-layout=iphone] .empty{margin:40px 12px;padding:20px 14px;border:1px solid var(--ios-line);border-radius:10px;background:var(--ios-card);color:var(--ios-ink)}[data-layout=iphone] .empty h1{font-family:inherit;font-size:16px}[data-layout=iphone] .hero{padding-top:18px}[data-layout=iphone] .display{color:var(--ios-ink);font-family:inherit;font-size:22px;letter-spacing:0}[data-layout=iphone] .display em{color:var(--ios-blue)}[data-layout=iphone] .lede{color:#4a5262;font-size:12px}[data-layout=iphone] .mono,[data-layout=iphone] .kicker,[data-layout=iphone] .muted{color:var(--ios-mute);font-family:inherit;letter-spacing:0;text-transform:none}[data-layout=iphone] .lab-footer{margin:10px 0 0;padding:0 8px;border:0;color:#ffffff73;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:9px;letter-spacing:0;text-align:center;text-transform:none}[data-layout=iphone] .footer-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px}[data-layout=iphone] .footer-grid h3{display:none}[data-layout=iphone] .footer-grid ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 10px;margin:0;padding:0;list-style:none}[data-layout=iphone] .footer-grid a,[data-layout=iphone] .footer-grid button{color:#ffffff8c;font-size:9px}[data-layout=iphone] .footer-grid>div:first-child p{margin:0}[data-layout=iphone] .footer-grid>div:first-child{display:none}[data-layout=iphone] .footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin-top:6px;padding-top:6px;border-top:1px solid rgb(255 255 255 / 10%);font-size:8px}[data-layout=iphone] .theme-picker-button{right:10px;bottom:10px;border:1px solid rgb(255 255 255 / 22%);background:#10141ce0;color:#fff;box-shadow:0 4px 14px #00000073}@media(min-width:761px){[data-layout=iphone] .shell{width:min(100% - 28px,1000px)}[data-layout=iphone] .lab{padding-block:14px 22px}[data-layout=iphone] .screen-frame{padding:14px 14px 70px;border-radius:30px}[data-layout=iphone] .screen-frame main{height:clamp(520px,74vh,800px)}[data-layout=iphone] .iphone-status{top:14px;right:14px;left:14px}[data-layout=iphone] .project-detail,[data-layout=iphone] .mail-message,[data-layout=iphone] .compose-screen{inset:36px 14px 70px}[data-layout=iphone] .iphone-home{bottom:14px;width:48px;height:48px}[data-layout=iphone] .springboard-scroll{padding:16px 26px 104px}[data-layout=iphone] .springboard-title{font-size:26px}[data-layout=iphone] .springboard-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 10px;max-width:720px;margin-inline:auto}[data-layout=iphone] .springboard-dock{max-width:460px;margin-inline:auto}[data-layout=iphone] .springboard-note,[data-layout=iphone] .springboard-widget,[data-layout=iphone] .springboard-search{max-width:720px;margin-inline:auto}[data-layout=iphone] .springboard-note{margin-top:22px}[data-layout=iphone] .iphone-scroll{padding:16px 18px 20px}[data-layout=iphone] .projects-screen .iphone-scroll{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:16px;align-items:start}[data-layout=iphone] .projects-screen .iphone-list{margin:0;overflow:hidden;border:1px solid var(--ios-line);border-radius:10px}[data-layout=iphone] .projects-screen .calendar-panel{margin:0;border:1px solid var(--ios-line);border-radius:10px}[data-layout=iphone] .skills-screen .iphone-scroll{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:18px;align-items:start}[data-layout=iphone] .skill-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 10px;margin-bottom:0}[data-layout=iphone] .skill-tile-art{width:54px;height:54px;font-size:13px}[data-layout=iphone] .profile{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px;align-items:start}[data-layout=iphone] .profile-doc{margin-top:0}[data-layout=iphone] .mail-body{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;padding:0}[data-layout=iphone] .mail-folders{margin:0;border-right:1px solid var(--ios-line);border-bottom:0}[data-layout=iphone] .mail-list{margin:0;border:0}[data-layout=iphone] .project-detail .iphone-scroll,[data-layout=iphone] .mail-message .iphone-scroll,[data-layout=iphone] .compose-screen .iphone-scroll{max-width:720px;margin-inline:auto}[data-layout=iphone] .article-head{padding:8px 18px}[data-layout=iphone] .article-head h1{font-size:15px}[data-layout=iphone] .article-head .kicker{display:block;margin:0 0 2px;color:#ffffffbf;font-size:8px;text-align:center}[data-layout=iphone] .article-head .lede{display:block;margin:4px 0 0;color:#ffffffd9;font-size:10px;text-align:center}[data-layout=iphone] .article,[data-layout=iphone] .section-head,[data-layout=iphone] .samples,[data-layout=iphone] .toolbar,[data-layout=iphone] .chips,[data-layout=iphone] .prose,[data-layout=iphone] details,[data-layout=iphone] .empty,[data-layout=iphone] .hero{margin-right:20px;margin-left:20px}[data-layout=iphone] .samples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}[data-layout=iphone] .prose{font-size:13px}}[data-layout=desktop]{--win-face: #c0c0c0;--win-light: #ffffff;--win-shadow: #808080;--win-dark: #404040;--win-blue: #000080;--win-blue-2: #1084d0;--win-teal: #008080;--win-text: #000000;--win-lcd: #00ff00}[data-layout=desktop] body{background-color:var(--win-teal);background-image:radial-gradient(circle at 15% 20%,rgb(255 255 255 / 5%) 0 2px,transparent 3px),radial-gradient(circle at 80% 70%,rgb(0 0 0 / 8%) 0 3px,transparent 4px),repeating-linear-gradient(45deg,rgb(255 255 255 / 2.5%) 0 2px,transparent 2px 9px);background-size:180px 180px,260px 260px,auto;background-attachment:fixed;color:var(--win-text);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:13px}[data-layout=desktop] .shell{width:min(100% - 18px,1500px)}[data-layout=desktop] .lab{grid-template-columns:210px minmax(0,1fr);gap:14px;padding:10px 0 22px;align-items:start}[data-layout=desktop] .rail{position:sticky;top:10px;align-self:start;min-height:auto;margin:0;padding:0 0 10px;border:2px solid;border-color:var(--win-light) var(--win-dark) var(--win-dark) var(--win-light);background:var(--win-face);box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow),3px 3px #00000059;color:var(--win-text);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px;letter-spacing:0;text-transform:none;overflow:hidden}[data-layout=desktop] .rail-title{display:block;margin:0 0 8px;padding:3px 6px;background:linear-gradient(90deg,var(--win-blue),var(--win-blue-2));color:#fff;font-size:12px;font-weight:700;text-shadow:1px 1px 0 #000}[data-layout=desktop] .rail-mark{display:block;margin:0 8px;color:var(--win-text);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:13px;font-style:normal;font-weight:700;letter-spacing:0;text-transform:none}[data-layout=desktop] .rail>.mono{display:block;margin:0 8px 6px;color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;letter-spacing:0;text-transform:none}[data-layout=desktop] .rail-rule{display:block;height:2px;margin:0 8px 8px;background:var(--win-shadow);box-shadow:0 1px 0 var(--win-light)}[data-layout=desktop] .rail-list{gap:6px;margin:0 8px}[data-layout=desktop] .rail-list dt{color:var(--win-blue);font-size:9px;letter-spacing:.04em;text-transform:uppercase}[data-layout=desktop] .rail-list dd{color:var(--win-text);font-size:11px;letter-spacing:0;text-transform:none}[data-layout=desktop] .rail-foot{display:none}[data-layout=desktop] app-site-header{display:block}[data-layout=desktop] .lab-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 6px;border:0;background:none}[data-layout=desktop] .brand{gap:4px;padding:4px 8px;border:1px solid #a0a000;background:#ff8;color:#000;font-family:Comic Sans MS,Segoe Print,cursive;font-size:14px;box-shadow:2px 2px #0000004d;transform:rotate(-1deg)}[data-layout=desktop] .brand-logo{height:1.2rem;color:#000}[data-layout=desktop] .brand-badge{display:none}[data-layout=desktop] .nav{display:flex;flex-wrap:wrap;gap:6px;margin-left:0;font-family:Comic Sans MS,Segoe Print,cursive;font-size:12px;letter-spacing:0;text-transform:none}[data-layout=desktop] .nav a{padding:5px 10px;border:1px solid #b0b000;background:#ff8;color:#000;box-shadow:2px 2px #0000004d;transform:rotate(-2deg)}[data-layout=desktop] .nav a:nth-child(2n){border-color:green;background:#afa;transform:rotate(2deg)}[data-layout=desktop] .nav a:nth-child(3n){border-color:#c00000;background:#ffd0d0;transform:rotate(1deg)}[data-layout=desktop] .nav a:hover,[data-layout=desktop] .nav a:focus-visible{background:#fff;color:#000;transform:rotate(0) translateY(-2px)}[data-layout=desktop] .nav a:after{display:none}[data-layout=desktop] .nav-toggle{display:none}[data-layout=desktop] .search{gap:4px;margin-left:auto;padding:2px 4px;border:2px solid;border-color:var(--win-light) var(--win-dark) var(--win-dark) var(--win-light);background:var(--win-face)}[data-layout=desktop] .search label{color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:9px;letter-spacing:.04em}[data-layout=desktop] .search input{width:130px;padding:2px 4px;border:2px solid;border-color:var(--win-dark) var(--win-light) var(--win-light) var(--win-dark);background:#fff;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px}[data-layout=desktop] .lang-switch{display:flex;gap:2px;padding:2px;border:2px solid;border-color:var(--win-light) var(--win-dark) var(--win-dark) var(--win-light);background:var(--win-face)}[data-layout=desktop] .lang-switch button{padding:1px 5px;border:1px solid var(--win-shadow);background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:9px}[data-layout=desktop] .lang-switch button.lang-active{background:var(--win-blue);color:#fff}[data-layout=desktop] .screen-frame{position:relative;padding:20px 20px 72px;border:3px solid #707070;border-radius:18px;background:linear-gradient(180deg,#e8e8e8,#b0b0b0);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 6px #a0a0a0,0 18px 40px #00000073}[data-layout=desktop] .screen-frame main{position:relative;display:block;min-height:62vh;max-height:72vh;overflow:auto;padding:16px;border:6px solid #303030;border-radius:8px;background:var(--win-teal);color:var(--win-text);box-shadow:inset 0 0 40px #0000008c,inset 0 0 0 1px #000;scrollbar-color:var(--win-face) var(--win-shadow)}[data-layout=desktop] .screen-frame main:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(0deg,rgb(0 0 0 / 9%) 0 1px,transparent 1px 3px)}[data-layout=desktop] .screen-frame main::-webkit-scrollbar{width:16px;height:16px}[data-layout=desktop] .screen-frame main::-webkit-scrollbar-track{background:#dfdfdf}[data-layout=desktop] .screen-frame main::-webkit-scrollbar-thumb{border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face)}app-desktop-chrome{display:none}[data-layout=desktop] app-desktop-chrome{display:block}[data-layout=desktop] .desktop-monitor{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 26px}[data-layout=desktop] .desktop-monitor-brand{color:#555;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;font-weight:700;letter-spacing:.22em;text-shadow:0 1px 0 #fff}[data-layout=desktop] .desktop-drive{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:7px;width:178px;height:46px;padding:0 10px;border:2px solid;border-color:#e8e8e8 #303030 #303030 #e8e8e8;background:linear-gradient(180deg,#5a5a5a,#242424 55%,#151515);box-shadow:inset 0 0 0 2px #3a3a3a,0 2px #000}[data-layout=desktop] .desktop-drive-label{flex:0 0 auto;color:#ddd;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:8px;letter-spacing:.08em;text-shadow:0 1px 0 #000}[data-layout=desktop] .desktop-drive-slot{flex:1 1 auto;width:96px;height:9px;border:1px solid #6a6a6a;border-radius:1px;background:linear-gradient(180deg,#050505 0 2px,#343434 2px 4px,#0a0a0a 4px 100%);box-shadow:inset 0 2px 4px #000,0 1px #8a8a8a}[data-layout=desktop] .desktop-drive-eject{position:relative;flex:0 0 auto;display:grid;place-items:center;width:18px;height:14px;border:2px solid;border-color:#fff #303030 #303030 #fff;border-radius:2px;background:linear-gradient(180deg,#d8d8d8,#a0a0a0);box-shadow:0 1px #000}[data-layout=desktop] .desktop-drive-eject:after{content:"\25b2";color:#333;font-size:7px;line-height:1}[data-layout=desktop] .desktop-drive-led{flex:0 0 auto;width:8px;height:8px;border:1px solid #003300;border-radius:0;background:#0a0;box-shadow:0 0 6px #0f0,inset 0 0 2px #030;transition:background .2s ease,box-shadow .2s ease}[data-layout=desktop] .desktop-inserting .desktop-drive-led{background:#8f8;box-shadow:0 0 12px #0f0;animation:desktop-drive-blink .15s steps(2,end) infinite}@keyframes desktop-drive-blink{50%{opacity:.35}}[data-layout=desktop] .desktop-monitor-led{width:10px;height:10px;border-radius:50%;background:#0f0;box-shadow:0 0 8px #0f0;animation:desktop-led 2s steps(2,end) infinite}@keyframes desktop-led{50%{opacity:.4}}[data-layout=desktop] .lab-footer{margin:10px 0 0;padding:12px 14px 8px;border:3px solid;border-color:#fff #404040 #404040 #fff;border-radius:6px;background:linear-gradient(180deg,#dcdcdc,#b0b0b0);box-shadow:inset 0 0 0 2px #e8e8e8,0 8px #707070;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;letter-spacing:0;text-transform:none}[data-layout=desktop] .footer-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px}[data-layout=desktop] .footer-grid>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}[data-layout=desktop] .footer-grid>div:first-child{flex-basis:100%;order:3;margin-top:2px;padding-top:6px;border-top:2px solid var(--win-shadow)}[data-layout=desktop] .footer-grid h3{display:none}[data-layout=desktop] .footer-grid ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}[data-layout=desktop] .footer-grid li{margin:0}[data-layout=desktop] .footer-grid a,[data-layout=desktop] .footer-grid button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:28px;padding:0 8px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;text-decoration:none;box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow);cursor:pointer}[data-layout=desktop] .footer-grid a:hover,[data-layout=desktop] .footer-grid button:hover{background:#d8d8d8}[data-layout=desktop] .footer-grid a:active,[data-layout=desktop] .footer-grid button:active{border-color:#404040 #fff #fff #404040;transform:translateY(1px)}[data-layout=desktop] .footer-grid>div:first-child p{margin:0;color:#000;font-size:9px}[data-layout=desktop] .footer-legal{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 -2px;padding:3px 6px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-size:9px}[data-layout=desktop] .footer-legal:before{content:"Inicio";padding:2px 8px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);font-weight:700;box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow)}[data-layout=desktop] .desktop-window{border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow),3px 3px #00000059;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:12px}[data-layout=desktop] .win-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 4px 3px 6px;background:linear-gradient(90deg,var(--win-blue),var(--win-blue-2));color:#fff;font-size:12px;font-weight:700;text-shadow:1px 1px 0 #000;-webkit-user-select:none;user-select:none}[data-layout=desktop] .win-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-layout=desktop] .win-buttons{flex:0 0 auto;padding:0 2px;border:1px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:Marlett,"MS Sans Serif",sans-serif;font-size:10px;line-height:1;text-shadow:none}[data-layout=desktop] .win-close{flex:0 0 auto;width:18px;height:16px;padding:0;border:1px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",sans-serif;font-size:12px;font-weight:700;line-height:1;cursor:pointer}[data-layout=desktop] .win-body{margin:2px;padding:10px 12px;border:2px solid;border-color:#404040 #fff #fff #404040;background:#fff;color:#000;font-size:12px;line-height:1.45}[data-layout=desktop] .win-meta{margin:0 0 6px;color:var(--win-blue);font-size:10px;letter-spacing:.04em;text-transform:uppercase}[data-layout=desktop] .win-company{margin:0 0 6px;font-weight:700}[data-layout=desktop] .win-tags{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}[data-layout=desktop] .win-actions{margin:10px 0 0}[data-layout=desktop] .win-button{display:inline-block;min-width:70px;padding:3px 10px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px;text-align:center;text-decoration:none;box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow);cursor:pointer}[data-layout=desktop] .win-button:hover{background:#d8d8d8}[data-layout=desktop] .win-button:active{border-color:#404040 #fff #fff #404040;transform:translateY(1px)}[data-layout=desktop] .win-button-small{min-width:0;padding:1px 6px;font-size:10px}[data-layout=desktop] .win-button.active{background:var(--win-blue);color:#fff}[data-layout=desktop] .win-toolbar{display:flex;align-items:center;gap:6px;padding:4px 6px;border-bottom:2px solid;border-color:#fff #404040;background:var(--win-face);font-size:10px}[data-layout=desktop] .win-toolbar-label{color:#000;letter-spacing:.04em;text-transform:uppercase}[data-layout=desktop] .win-toolbar-spacer{flex:1}[data-layout=desktop] .win-chip{padding:1px 5px;background:var(--win-blue);color:#fff;font-size:10px}[data-layout=desktop] .win-empty{margin:0;padding:10px;color:#000}[data-layout=desktop] .win-hero{margin:0 0 4px;color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:24px;letter-spacing:0;line-height:1.1}[data-layout=desktop] .win-tagline{margin:0 0 8px;font-weight:700}[data-layout=desktop] .floppy-grid{display:flex;flex-wrap:wrap;gap:12px}[data-layout=desktop] .desktop-floppy{position:relative;display:flex;flex-direction:column;width:148px;min-height:168px;padding:0;border:2px solid #111;background:linear-gradient(160deg,#3a3a3a,#111 70%);color:#000;text-align:left;cursor:pointer;clip-path:polygon(0 0,100% 0,100% 86%,86% 100%,0 100%);box-shadow:3px 3px #00000059;transition:transform .15s ease,box-shadow .15s ease;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}[data-layout=desktop] .desktop-floppy:hover{transform:translateY(-3px);box-shadow:4px 6px #0006;outline:2px solid #ffff00;outline-offset:2px}[data-layout=desktop] .floppy-shutter{position:absolute;top:12px;right:14px;width:52px;height:32px;border:1px solid #555;background:linear-gradient(#eee,#999);box-shadow:inset 0 0 0 2px #ccc;z-index:2}[data-layout=desktop] .floppy-shutter:after{content:"";position:absolute;top:6px;left:8px;width:12px;height:20px;border:1px solid #444;background:#777}[data-layout=desktop] .floppy-label{position:relative;z-index:1;display:flex;flex-direction:column;gap:2px;min-height:88px;margin:58px 10px 10px;padding:6px 7px;border:1px solid #888;background:#fff;box-shadow:0 1px #000}[data-layout=desktop] .floppy-label strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:3}[data-layout=desktop] .floppy-meta{color:var(--win-blue);font-size:9px;letter-spacing:.02em;text-transform:uppercase}[data-layout=desktop] .floppy-excerpt{display:-webkit-box;overflow:hidden;color:#333;font-size:9px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:3}[data-layout=desktop] .desktop-floppy-flying{position:fixed;z-index:9999;pointer-events:none;transform-origin:center;transition:transform .9s cubic-bezier(.4,0,.2,1),opacity .3s .65s;box-shadow:0 10px 30px #00000080}[data-layout=desktop] app-desktop-home,[data-layout=desktop] app-desktop-projects,[data-layout=desktop] app-desktop-skills{display:block}app-desktop-home,app-desktop-projects,app-desktop-skills{display:none}[data-layout=desktop] .standard-page{display:none}[data-layout=desktop] .desktop-home{display:grid;grid-template-columns:110px minmax(0,1fr);gap:14px;align-items:start}[data-layout=desktop] .desktop-icons{position:sticky;top:0;display:grid;grid-row:1 / span 4;grid-column:1;gap:12px;align-self:start}[data-layout=desktop] .desktop-icon{display:flex;flex-direction:column;align-items:center;gap:3px;color:#fff;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;text-align:center;text-decoration:none;text-shadow:1px 1px 0 #000;cursor:pointer}[data-layout=desktop] .desktop-icon-img{position:relative;width:42px;height:38px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:inset 1px 1px #dfdfdf,2px 2px #0000004d}[data-layout=desktop] .icon-folder:before{content:"";position:absolute;top:8px;left:6px;width:28px;height:20px;border:1px solid #a08000;background:gold;box-shadow:inset 0 -4px #e0b000}[data-layout=desktop] .icon-doc:before{content:"";position:absolute;top:6px;left:10px;width:22px;height:26px;border:1px solid #000;background:#fff;box-shadow:inset 0 0 0 2px var(--win-face)}[data-layout=desktop] .icon-user:before{content:"";position:absolute;top:6px;left:12px;width:18px;height:18px;border:1px solid #000;border-radius:50%;background:gold;box-shadow:0 18px 0 2px gold}[data-layout=desktop] .icon-mail:before{content:"";position:absolute;top:10px;left:6px;width:30px;height:20px;border:1px solid #000;background:#fff;transform:skewY(-8deg)}[data-layout=desktop] .desktop-home>.desktop-window{grid-column:2}[data-layout=desktop] .documents-window .floppy-grid,[data-layout=desktop] .about-window .win-body{max-height:42vh;overflow:auto}[data-layout=desktop] .desktop-projects{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}[data-layout=desktop] .projects-window{grid-row:1;grid-column:1}[data-layout=desktop] .project-detail{grid-row:2;grid-column:1}[data-layout=desktop] .projects-window .win-body{max-height:48vh;overflow:auto}[data-layout=desktop] .calendar-window{grid-row:1 / span 2;grid-column:2}[data-layout=desktop] .calendar-window .win-body{max-height:62vh;overflow:auto}[data-layout=desktop] .calendar-head,[data-layout=desktop] .calendar-year{display:grid;grid-template-columns:42px repeat(12,minmax(0,1fr));gap:1px;align-items:center}[data-layout=desktop] .calendar-head{margin-bottom:2px}[data-layout=desktop] .calendar-month-label{color:var(--win-blue);font-size:7px;text-align:center}[data-layout=desktop] .calendar-year{margin-bottom:1px}[data-layout=desktop] .calendar-year-label{padding:1px 2px;border:1px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:9px;cursor:pointer}[data-layout=desktop] .calendar-cell{height:12px;padding:0;border:1px solid #b0b0b0;background:#e8e8e8;cursor:pointer}[data-layout=desktop] .calendar-cell.has-project{border-color:#000040;background:var(--win-blue);box-shadow:inset 0 0 0 1px var(--win-blue-2)}[data-layout=desktop] .calendar-cell:hover{outline:1px solid #ff0}[data-layout=desktop] .calendar-legend{display:flex;align-items:center;gap:4px;margin:6px 0 0;color:#000;font-size:9px}[data-layout=desktop] .calendar-swatch{width:10px;height:10px;border:1px solid #000040;background:var(--win-blue)}[data-layout=desktop] .desktop-skills{display:flex;flex-direction:column;gap:14px}[data-layout=desktop] .skills-window .win-body{max-height:30vh;overflow:auto}[data-layout=desktop] .wmp-window{border-color:#fff #000 #000 #fff;background:#1a1a2e}[data-layout=desktop] .wmp-window .win-title{background:linear-gradient(90deg,#000040,navy)}[data-layout=desktop] .wmp-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px;padding:8px;border-color:#000 var(--win-shadow) var(--win-shadow) #000;background:#000;color:var(--win-lcd)}[data-layout=desktop] .wmp-sidebar{overflow:auto;max-height:52vh;border:2px inset #333;background:#001a00}[data-layout=desktop] .wmp-list-title{margin:0;padding:4px 6px;background:#000040;color:#fff;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;letter-spacing:.04em;text-transform:uppercase}[data-layout=desktop] .wmp-player{display:flex;flex-direction:column;gap:8px;min-width:0}[data-layout=desktop] .wmp-now{display:flex;flex-direction:column;gap:6px}[data-layout=desktop] .wmp-now-head{display:flex;align-items:center;gap:8px}[data-layout=desktop] .wmp-now-icon{display:grid;place-items:center;width:48px;height:48px;border:2px solid;border-color:#fff #404040 #404040 #fff;color:#fff;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px;font-weight:700;text-shadow:1px 1px 0 #000}[data-layout=desktop] .wmp-now-title{margin:0;color:var(--win-lcd);font-family:Courier New,monospace;font-size:16px;text-shadow:0 0 6px var(--win-lcd)}[data-layout=desktop] .wmp-now-meta{margin:2px 0 0;color:#0a0;font-size:10px}[data-layout=desktop] .wmp-now-screen{overflow:auto;max-height:18vh;padding:6px 8px;border:2px inset #333;background:#001a00;color:var(--win-lcd);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px}[data-layout=desktop] .wmp-now-screen p{margin:0 0 6px}[data-layout=desktop] .wmp-empty{margin:0;padding:18px;color:var(--win-lcd);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:12px;text-align:center}[data-layout=desktop] .skill-icons{display:flex;flex-wrap:wrap;gap:10px;padding:4px;background:var(--win-face)}[data-layout=desktop] .skill-icon{display:flex;flex-direction:column;align-items:center;gap:4px;width:88px;padding:6px 2px;border:0;background:none;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;text-align:center;cursor:pointer}[data-layout=desktop] .skill-icon-img{display:grid;place-items:center;width:36px;height:36px;border:2px solid;border-color:#fff #404040 #404040 #fff;color:#fff;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:9px;font-weight:700;text-shadow:1px 1px 0 #000;box-shadow:2px 2px #0000004d}[data-layout=desktop] .skill-icon:hover .skill-icon-img{outline:1px solid #ff0;outline-offset:1px}[data-layout=desktop] .skill-icon-label{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-layout=desktop] .wmp-controls{display:flex;align-items:center;gap:6px;margin-bottom:6px}[data-layout=desktop] .wmp-play{width:28px;height:24px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",sans-serif;font-size:10px;cursor:pointer}[data-layout=desktop] .wmp-progress{position:relative;flex:1;height:12px;overflow:hidden;border:2px inset #333;background:#000}[data-layout=desktop] .wmp-progress span{display:block;height:100%;background:linear-gradient(90deg,#0a0,var(--win-lcd));box-shadow:0 0 6px var(--win-lcd);transition:width .2s linear}[data-layout=desktop] .wmp-counter{min-width:30px;color:var(--win-lcd);font-family:Courier New,monospace;font-size:10px;text-align:right}[data-layout=desktop] .wmp-button{width:26px;height:24px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);color:#000;font-family:"MS Sans Serif",sans-serif;font-size:9px;cursor:pointer}[data-layout=desktop] .wmp-status{margin:0;color:#0a0;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:9px}[data-layout=desktop] .wmp-playlist{max-height:none;margin:0;padding:0;overflow:auto;border:0;background:#001a00;color:var(--win-lcd);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;list-style:none}[data-layout=desktop] .wmp-playlist li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:4px;padding:3px 4px;border-bottom:1px dotted #003300;cursor:pointer}[data-layout=desktop] .wmp-playlist li.active{background:#030;color:#fff}[data-layout=desktop] .wmp-track-number{color:#0a0;font-size:9px;text-align:right}[data-layout=desktop] .wmp-track-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-layout=desktop] .wmp-track-years{color:#0a0;font-size:8px}[data-layout=desktop] .article-head{margin:0 0 10px;padding:0 10px 10px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:3px 3px #00000059;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}[data-layout=desktop] .article-head:before{content:"Blog";display:block;margin:0 -10px 8px;padding:3px 6px;background:linear-gradient(90deg,var(--win-blue),var(--win-blue-2));color:#fff;font-size:12px;font-weight:700;text-shadow:1px 1px 0 #000}[data-layout=desktop] .article-head h1{margin:0 0 4px;color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:20px;letter-spacing:0;text-transform:none}[data-layout=desktop] .article-head .kicker,[data-layout=desktop] .article-head .mono{color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;letter-spacing:0;text-transform:none}[data-layout=desktop] .article-head .lede{color:#000;font-size:12px}[data-layout=desktop] .samples{display:flex;flex-wrap:wrap;gap:10px;padding:10px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:3px 3px #00000059}[data-layout=desktop] .specimen{display:flex;flex:0 0 220px;flex-direction:column;width:220px;height:auto;padding:0;border:2px solid;border-color:#fff #404040 #404040 #fff;background:#fff;color:#000;box-shadow:2px 2px #0000004d;transform:none;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}[data-layout=desktop] .specimen:before{display:none}[data-layout=desktop] .specimen:hover{border-color:#fff #404040 #404040 #fff;box-shadow:3px 4px #00000059;transform:translateY(-2px)}[data-layout=desktop] .specimen-tag{order:0;margin:0;padding:3px 5px;background:var(--win-blue);color:#fff;font-size:9px;letter-spacing:.04em}[data-layout=desktop] .specimen-cover{order:1;margin:0;border:0;border-bottom:2px solid var(--win-shadow);background:#000}[data-layout=desktop] .specimen-title{order:2;margin:0;padding:6px 8px 0;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:13px;line-height:1.2}[data-layout=desktop] .specimen-excerpt{order:3;display:-webkit-box;overflow:hidden;margin:0;padding:4px 8px;color:#333;font-size:10px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:3}[data-layout=desktop] .specimen-foot{order:4;margin:0;padding:4px 8px 8px;border-top:1px solid var(--win-face);color:var(--win-blue);font-size:9px}[data-layout=desktop] .specimen-foot .chip{padding:0 3px;border:0;border-radius:0;background:var(--win-face);color:#000;font-size:9px}[data-layout=desktop] .specimen-note{display:none}[data-layout=desktop] .article{max-width:900px;padding:0;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:3px 3px #00000059;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif}[data-layout=desktop] .article:before{content:"documento.txt";display:block;padding:3px 6px;background:linear-gradient(90deg,var(--win-blue),var(--win-blue-2));color:#fff;font-size:12px;font-weight:700;text-shadow:1px 1px 0 #000}[data-layout=desktop] .article-head{border:0;border-bottom:2px solid var(--win-shadow);box-shadow:none}[data-layout=desktop] .article-head:before{display:none}[data-layout=desktop] .article-head h1{font-size:22px}[data-layout=desktop] .article-cover{margin:10px 12px;border:2px solid;border-color:#404040 #fff #fff #404040}[data-layout=desktop] .prose{max-width:none;padding:0 12px 12px;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:12px;line-height:1.5}[data-layout=desktop] .prose h2,[data-layout=desktop] .prose h3{margin-top:1.2em;color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;letter-spacing:0;text-transform:none}[data-layout=desktop] .prose h2{border:0;font-size:15px}[data-layout=desktop] .prose h3{font-size:13px}[data-layout=desktop] .prose a{color:#00e;text-decoration:underline}[data-layout=desktop] .prose blockquote{padding:4px 8px;border-left:3px solid var(--win-shadow);background:#ffffe1;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:12px;font-style:normal}[data-layout=desktop] .prose code{border:1px solid var(--win-shadow);border-radius:0;background:#dfdfdf;color:#000}[data-layout=desktop] .prose pre{overflow:auto;padding:8px;border:2px solid;border-color:#404040 #fff #fff #404040;background:#000;color:var(--win-lcd)}[data-layout=desktop] .article-foot{padding:8px 12px;border-top:2px solid var(--win-shadow)}[data-layout=desktop] .empty{max-width:520px;margin:40px auto;padding:0 16px 16px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:3px 3px #00000059;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;text-align:center}[data-layout=desktop] .empty:before{content:"Error";display:block;margin:0 -16px 12px;padding:3px 6px;background:linear-gradient(90deg,maroon,#c00000);color:#fff;font-size:12px;font-weight:700;text-align:left;text-shadow:1px 1px 0 #000}[data-layout=desktop] .empty h1,[data-layout=desktop] .empty h2{color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;text-transform:none}[data-layout=desktop] .chip{padding:2px 6px;border:2px solid;border-color:#fff #404040 #404040 #fff;border-radius:0;background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:10px;letter-spacing:0;text-transform:none}[data-layout=desktop] .chip:hover{border-color:#fff #404040 #404040 #fff;color:#000}[data-layout=desktop] .chip-active{background:var(--win-blue);color:#fff}[data-layout=desktop] .btn,[data-layout=desktop] .select{border:2px solid;border-color:#fff #404040 #404040 #fff;border-radius:0;background:var(--win-face);color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px;text-transform:none;box-shadow:inset 1px 1px #dfdfdf,inset -1px -1px 0 var(--win-shadow)}[data-layout=desktop] .btn:hover{background:#d8d8d8;color:#000}[data-layout=desktop] .skeleton{width:220px;height:160px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face)}[data-layout=desktop] .win-menu{display:flex;gap:10px;padding:2px 6px;border-bottom:1px solid var(--win-shadow);background:var(--win-face);font-size:10px}[data-layout=desktop] .desktop-contact{display:flex;flex-direction:column;gap:14px}[data-layout=desktop] .mail-layout{display:grid;grid-template-columns:170px 220px minmax(0,1fr);min-height:48vh}[data-layout=desktop] .mail-folders{padding:6px;border-right:2px solid var(--win-shadow);background:var(--win-face);font-size:10px}[data-layout=desktop] .mail-folder-title{margin:6px 0 3px;color:var(--win-blue);font-size:9px;font-weight:700;text-transform:uppercase}[data-layout=desktop] .mail-folder{display:block;padding:2px 4px}[data-layout=desktop] .mail-folder.active{background:var(--win-blue);color:#fff}[data-layout=desktop] .mail-contact{display:block;padding:2px 4px;color:#00e;text-decoration:underline}[data-layout=desktop] .mail-list{overflow:auto;border-right:2px solid var(--win-shadow);background:#fff}[data-layout=desktop] .mail-row{display:grid;gap:1px;padding:4px 6px;border-bottom:1px solid var(--win-face);font-size:10px;cursor:pointer}[data-layout=desktop] .mail-row.active{background:var(--win-blue);color:#fff}[data-layout=desktop] .mail-from,[data-layout=desktop] .mail-date{color:var(--win-blue);font-size:9px}[data-layout=desktop] .mail-row.active .mail-from,[data-layout=desktop] .mail-row.active .mail-date{color:var(--win-face)}[data-layout=desktop] .mail-subject{font-weight:700}[data-layout=desktop] .mail-preview{max-height:50vh;overflow:auto;padding:8px 10px;background:#fff}[data-layout=desktop] .mail-preview h2{margin:0 0 4px;color:var(--win-blue);font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:16px}[data-layout=desktop] .mail-meta{margin:0 0 6px;color:var(--win-blue);font-size:9px}[data-layout=desktop] .mail-actions{display:flex;gap:6px;margin:8px 0 0}[data-layout=desktop] .compose-window{max-width:620px}[data-layout=desktop] .compose-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}[data-layout=desktop] .compose-row label{width:50px;font-size:10px}[data-layout=desktop] .win-input,[data-layout=desktop] .win-textarea{flex:1;padding:2px 4px;border:2px solid;border-color:var(--win-dark) #fff #fff var(--win-dark);background:#fff;color:#000;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px}[data-layout=desktop] .compose-label{display:block;margin:6px 0 3px;font-size:10px}[data-layout=desktop] .compose-actions{display:flex;gap:6px;margin:8px 0 0}[data-layout=desktop] .wordpad-body{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px;padding:8px;background:var(--win-shadow)}[data-layout=desktop] .wordpad-side{padding:8px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);font-size:10px}[data-layout=desktop] .wordpad-avatar{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 8px;border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-blue);color:#fff;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:20px;font-weight:700}[data-layout=desktop] .wordpad-name{margin:0;font-weight:700;text-align:center}[data-layout=desktop] .wordpad-role{margin:2px 0 8px;color:var(--win-blue);text-align:center}[data-layout=desktop] .wordpad-links{margin:0;padding-left:16px}[data-layout=desktop] .wordpad-links a{color:#00e}[data-layout=desktop] .wordpad-doc{max-height:52vh;overflow:auto;padding:12px 16px;border:2px solid;border-color:#404040 #fff #fff #404040;background:#fff}[data-layout=desktop] .wordpad-doc h2{margin-top:0}[data-layout=desktop] .start-window{display:grid;grid-template-columns:34px minmax(0,1fr);border:2px solid;border-color:#fff #404040 #404040 #fff;background:var(--win-face);box-shadow:3px 3px #00000059;font-family:"MS Sans Serif",Segoe UI,Tahoma,sans-serif;font-size:11px}[data-layout=desktop] .start-side{display:flex;align-items:flex-end;justify-content:center;padding:6px 4px;background:linear-gradient(180deg,var(--win-blue),var(--win-blue-2));color:#fff;font-weight:700;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg)}[data-layout=desktop] .start-items{display:flex;flex-direction:column;padding:3px}[data-layout=desktop] .start-item{display:flex;flex-direction:column;padding:3px 6px;color:#000;text-decoration:none}[data-layout=desktop] .start-item strong{font-size:11px}[data-layout=desktop] .start-item span{color:var(--win-blue);font-size:9px}[data-layout=desktop] .start-item:hover{background:var(--win-blue);color:#fff}[data-layout=desktop] .start-item:hover span{color:var(--win-face)}[data-layout=desktop] .start-separator{height:2px;margin:3px 6px;background:var(--win-shadow);box-shadow:0 1px #fff}[data-layout=desktop] .start-item.disabled{color:var(--win-shadow)}[data-layout=desktop] .clock-body{text-align:center}[data-layout=desktop] .clock-time{margin:0;color:var(--win-blue);font-family:Courier New,monospace;font-size:24px}[data-layout=desktop] .clock-date{margin:0 0 6px;font-size:10px}[data-layout=desktop] .clock-month-name{display:block;margin-bottom:3px;color:var(--win-blue);font-size:10px;font-weight:700;text-transform:uppercase}[data-layout=desktop] .clock-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;font-size:9px}[data-layout=desktop] .clock-grid span{padding:1px 0;border:1px solid #d0d0d0}[data-layout=desktop] .clock-grid .today{background:var(--win-blue);color:#fff}[data-layout=desktop] .calendar-cell{display:flex;flex-direction:column;justify-content:center;gap:1px;height:20px;padding:1px;overflow:hidden}[data-layout=desktop] .calendar-bar{display:block;height:3px;border-radius:0}[data-layout=desktop] .calendar-more{color:var(--win-blue);font-size:6px;line-height:1}[data-layout=desktop] .calendar-year.selected .calendar-year-label{background:var(--win-blue);color:#fff}[data-layout=desktop] .calendar-key{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:6px;padding-top:6px;border-top:1px solid var(--win-shadow);font-size:8px}[data-layout=desktop] .calendar-key-item{display:inline-flex;align-items:center;gap:3px}[data-layout=desktop] .calendar-key-item i{width:8px;height:8px;border:1px solid #000}@media(max-width:1100px){[data-layout=desktop] .lab{grid-template-columns:1fr}[data-layout=desktop] .screen-frame main{max-height:none}[data-layout=desktop] .desktop-projects,[data-layout=desktop] .desktop-skills{grid-template-columns:1fr}[data-layout=desktop] .projects-window,[data-layout=desktop] .project-detail,[data-layout=desktop] .skills-window,[data-layout=desktop] .skill-detail,[data-layout=desktop] .calendar-window,[data-layout=desktop] .wmp-window{grid-column:1;grid-row:auto}[data-layout=desktop] .documents-window .floppy-grid,[data-layout=desktop] .about-window .win-body,[data-layout=desktop] .projects-window .win-body,[data-layout=desktop] .calendar-window .win-body,[data-layout=desktop] .skills-window .win-body,[data-layout=desktop] .wmp-sidebar,[data-layout=desktop] .wmp-now-screen,[data-layout=desktop] .wordpad-doc,[data-layout=desktop] .mail-preview{max-height:none}}@media(max-width:760px){[data-layout=desktop] .shell{width:calc(100% - 8px)}[data-layout=desktop] .screen-frame{padding:10px 10px 62px;border-radius:12px}[data-layout=desktop] .screen-frame main{min-height:70vh;max-height:none;padding:8px}[data-layout=desktop] .desktop-monitor{height:56px;padding:0 14px}[data-layout=desktop] .desktop-home{grid-template-columns:1fr}[data-layout=desktop] .desktop-icons{position:static;grid-row:auto;grid-column:1;display:flex;flex-wrap:wrap;gap:8px}[data-layout=desktop] .desktop-home>.desktop-window{grid-column:1}[data-layout=desktop] .nav{display:none;flex-basis:100%;flex-direction:column;gap:4px}[data-layout=desktop] .nav.nav-open{display:flex}[data-layout=desktop] .search{flex-basis:100%}[data-layout=desktop] .search input{width:100%}[data-layout=desktop] .footer-grid>div:first-child{flex-basis:100%}[data-layout=desktop] .floppy-grid{gap:8px}[data-layout=desktop] .desktop-floppy{width:132px;min-height:154px}[data-layout=desktop] .calendar-head,[data-layout=desktop] .calendar-year{grid-template-columns:36px repeat(12,minmax(0,1fr))}[data-layout=desktop] .mail-layout,[data-layout=desktop] .wmp-body,[data-layout=desktop] .wordpad-body{grid-template-columns:1fr;min-height:0}[data-layout=desktop] .mail-folders,[data-layout=desktop] .mail-list{border-right:0;border-bottom:2px solid var(--win-shadow)}[data-layout=desktop] .mail-list{max-height:34vh}[data-layout=desktop] .win-toolbar{flex-wrap:wrap}[data-layout=desktop] .win-toolbar-spacer{display:none}[data-layout=desktop] .win-toolbar-label{flex-basis:100%;overflow:hidden;text-overflow:ellipsis}[data-layout=desktop] .wmp-sidebar{max-height:30vh}[data-layout=desktop] .desktop-window,[data-layout=desktop] .win-body{font-size:13px}[data-layout=desktop] .specimen-excerpt,[data-layout=desktop] .floppy-excerpt{font-size:11px}[data-layout=desktop] .floppy-label strong{font-size:12px}[data-layout=desktop] .start-item span,[data-layout=desktop] .win-meta,[data-layout=desktop] .footer-grid a,[data-layout=desktop] .footer-grid button{font-size:11px}}[data-layout=dos]{--dos-black: #000000;--dos-blue: #0000aa;--dos-green: #00aa00;--dos-cyan: #00aaaa;--dos-red: #aa0000;--dos-magenta: #aa00aa;--dos-brown: #aa5500;--dos-gray: #aaaaaa;--dos-dark: #555555;--dos-light: #ffffff;--dos-yellow: #ffff55;--dos-light-cyan: #55ffff;--dos-light-green: #55ff55;--dos-light-red: #ff5555;--dos-font: "Perfect DOS VGA 437", "Px437 IBM VGA8", "Fixedsys Excelsior 3.01", "Lucida Console", "Courier New", monospace}[data-layout=dos] body{background-color:#000;background-image:none;color:var(--dos-gray);font-family:var(--dos-font);font-size:14px;letter-spacing:.01em}[data-layout=dos] .shell{width:min(100% - 14px,1120px)}[data-layout=dos] .lab{display:block;padding-block:10px 16px}[data-layout=dos] .rail,[data-layout=dos] app-site-header{display:none}app-dos-chrome{display:none}[data-layout=dos] app-dos-chrome{display:block}[data-layout=dos] .screen-frame{position:relative;padding:12px;border-radius:14px;background:linear-gradient(#3c3c3c,#161616 60%,#0a0a0a);box-shadow:inset 0 0 0 2px #6e6e6e,inset 0 0 0 5px #0c0c0c,0 18px 44px #000000a6}[data-layout=dos] .screen-frame main{height:clamp(460px,74vh,660px);overflow-y:auto;padding:36px 18px 48px;background:#000;color:var(--dos-gray);font-family:var(--dos-font);font-size:13px;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--dos-dark) transparent}[data-layout=dos] .screen-frame main::-webkit-scrollbar{width:10px}[data-layout=dos] .screen-frame main::-webkit-scrollbar-thumb{background:var(--dos-dark)}[data-layout=dos] .screen-frame:after{content:"";position:absolute;inset:12px;z-index:80;border-radius:4px;background:repeating-linear-gradient(0deg,rgb(0 0 0 / 22%) 0 1px,transparent 1px 3px);pointer-events:none}[data-layout=dos] .dos-titlebar{position:absolute;top:12px;right:12px;left:12px;z-index:40;display:flex;align-items:center;gap:10px;height:24px;padding:0 8px;background:var(--dos-blue);color:var(--dos-light);font-family:var(--dos-font);font-size:11px;letter-spacing:.06em;text-transform:uppercase}[data-layout=dos] .dos-title-brand{color:var(--dos-yellow);font-weight:700}[data-layout=dos] .dos-title-path{flex:1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}[data-layout=dos] .dos-title-clock{color:var(--dos-light-cyan)}[data-layout=dos] .dos-prompt{position:absolute;right:12px;bottom:12px;left:12px;z-index:40;display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-top:1px solid var(--dos-dark);background:#000;font-family:var(--dos-font);font-size:13px}[data-layout=dos] .dos-prompt-path{color:var(--dos-light-green);white-space:nowrap}[data-layout=dos] .dos-prompt-input{flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--dos-light);font:inherit;letter-spacing:.02em;caret-color:var(--dos-light);outline:none}[data-layout=dos] .dos-prompt-input::placeholder{color:var(--dos-dark)}[data-layout=dos] .dos-window{position:absolute;inset:40px 12px 44px;z-index:30;display:flex;flex-direction:column;border:2px solid var(--dos-gray);background:#000;color:var(--dos-gray);font-family:var(--dos-font);box-shadow:4px 4px #000000b3}[data-layout=dos] .dos-window-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 8px;background:var(--dos-cyan);color:#000;font-size:12px;font-weight:700;text-transform:uppercase}[data-layout=dos] .dos-window-close{border:0;background:none;color:#000;font:inherit;cursor:pointer}[data-layout=dos] .dos-window-body{flex:1 1 auto;overflow:auto;padding:10px 12px}[data-layout=dos] .dos-line{margin:0 0 3px;font-size:13px;white-space:pre-wrap}[data-layout=dos] .dos-window-foot{padding:3px 8px;background:var(--dos-blue);color:var(--dos-light);font-size:10px;letter-spacing:.06em;text-transform:uppercase}[data-layout=dos] .dos-dir{display:flex;flex-direction:column;margin-top:4px}[data-layout=dos] .dos-dir-head,[data-layout=dos] .dos-dir-row{display:grid;grid-template-columns:minmax(0,1fr) 76px 68px;gap:8px;align-items:center}[data-layout=dos] .dos-dir-head{padding:2px 4px;border-bottom:1px solid var(--dos-dark);color:var(--dos-light-cyan);font-size:11px;letter-spacing:.08em}[data-layout=dos] .dos-dir-row{padding:3px 4px;border:0;background:transparent;color:var(--dos-gray);font:inherit;font-size:13px;text-align:left;cursor:pointer}[data-layout=dos] .dos-dir-row:hover,[data-layout=dos] .dos-dir-row:focus-visible{background:var(--dos-blue);color:var(--dos-light)}[data-layout=dos] .dos-dir-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-layout=dos] .dos-dir-date{text-align:right}[data-layout=dos] .dos-game{position:absolute;inset:12px;z-index:60;display:flex;align-items:center;justify-content:center;background:#000}[data-layout=dos] .dos-game-canvas{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated}[data-layout=dos] .dos-game-touch{position:absolute;right:10px;bottom:10px;left:10px;display:none;gap:8px}[data-layout=dos] .dos-game-touch button{flex:1;padding:10px 0;border:2px solid var(--dos-gray);background:#0009;color:var(--dos-light);font-family:var(--dos-font);font-size:16px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}[data-layout=dos] .dos-game-jump{flex:2;color:var(--dos-yellow)}@media(pointer:coarse){[data-layout=dos] .dos-game-touch{display:flex}}[data-layout=dos] h1,[data-layout=dos] h2,[data-layout=dos] h3,[data-layout=dos] h4{color:var(--dos-yellow);font-family:var(--dos-font);letter-spacing:.04em;text-transform:uppercase}[data-layout=dos] .article-head{margin-bottom:14px;padding:8px 12px;border:3px double var(--dos-gray);background:#000}[data-layout=dos] .article-head h1{margin:2px 0 4px;font-size:19px;line-height:1.15}[data-layout=dos] .article-head h1:before{content:"\25a0  ";color:var(--dos-light-cyan)}[data-layout=dos] .kicker,[data-layout=dos] .mono,[data-layout=dos] .muted{color:var(--dos-light-cyan);font-family:var(--dos-font);letter-spacing:.04em}[data-layout=dos] .lede{color:var(--dos-gray);font-size:13px}[data-layout=dos] .section-head{border-bottom:1px solid var(--dos-dark)}[data-layout=dos] .section-head h2{font-size:15px}[data-layout=dos] .section-head h2:before{content:"\25ba  ";color:var(--dos-green)}[data-layout=dos] .samples{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}[data-layout=dos] .specimen{padding:10px 12px;border:3px double var(--dos-gray);border-radius:0;background:#000;box-shadow:none}[data-layout=dos] .specimen:before{display:none}[data-layout=dos] .specimen:hover{border-color:var(--dos-light-cyan);transform:none;box-shadow:0 0 0 1px var(--dos-light-cyan)}[data-layout=dos] .specimen-tag{color:var(--dos-green);font-size:11px}[data-layout=dos] .specimen-title{font-size:14px;line-height:1.25}[data-layout=dos] .specimen-title a{color:var(--dos-light-cyan);background:none}[data-layout=dos] .specimen-title a:before{content:"\bb  ";color:var(--dos-yellow)}[data-layout=dos] .specimen-excerpt{color:var(--dos-gray);font-size:12px}[data-layout=dos] .specimen-foot{color:var(--dos-dark);font-size:10px}[data-layout=dos] .specimen-note{display:none}[data-layout=dos] .specimen-cover{margin:-10px -12px 10px;border-bottom:1px solid var(--dos-dark);background:#000}[data-layout=dos] .specimen-cover img,[data-layout=dos] .node-cover img,[data-layout=dos] .article-cover img,[data-layout=dos] .prose img{filter:grayscale(1) contrast(1.15) brightness(.85)}[data-layout=dos] .node{border:1px solid var(--dos-gray);border-radius:0;background:#000}[data-layout=dos] .node:hover,[data-layout=dos] .node:focus-within{border-color:var(--dos-light-cyan);box-shadow:0 0 0 1px var(--dos-light-cyan)}[data-layout=dos] .node+.node:before{background:var(--dos-dark)}[data-layout=dos] .node+.node:after{background:var(--dos-green)}[data-layout=dos] .node-port{border-color:var(--dos-green);background:var(--dos-green)}[data-layout=dos] .node-title a{color:var(--dos-light-cyan)}[data-layout=dos] .node-head{color:var(--dos-green)}[data-layout=dos] .timeline:before{width:1px;background:var(--dos-dark)}[data-layout=dos] .tl-item:before{left:-1.55rem;top:.15rem;width:auto;height:auto;border:0;border-radius:0;background:none;color:var(--dos-yellow);content:"\25a0";font-size:11px;line-height:1;box-shadow:none}[data-layout=dos] .tl-date{color:var(--dos-light-green)}[data-layout=dos] .tl-card{border:1px solid var(--dos-dark);border-left:2px solid var(--dos-yellow);border-radius:0;background:#000}[data-layout=dos] .tl-group{color:var(--dos-light-cyan)}[data-layout=dos] .skill{border:1px solid var(--dos-gray);border-radius:0;background:#000}[data-layout=dos] .skill:hover{border-color:var(--dos-light-cyan);background:#001010;transform:none}[data-layout=dos] .skill[aria-expanded=true]{border-color:var(--dos-yellow)}[data-layout=dos] .skill-logo{border-radius:0;filter:grayscale(1);box-shadow:none}[data-layout=dos] .skill-detail{border:1px solid var(--dos-yellow);border-top:0;border-radius:0;background:#001010;color:var(--dos-gray)}[data-layout=dos] .skill-mode{border-radius:0;color:var(--dos-light-cyan)}[data-layout=dos] .gantt{border:3px double var(--dos-gray);border-radius:0}[data-layout=dos] .gantt-axis{border-bottom:1px solid var(--dos-dark);background:var(--dos-blue);border-radius:0}[data-layout=dos] .gantt-axis .gantt-years,[data-layout=dos] .gantt-axis .gantt-years span{color:var(--dos-light)}[data-layout=dos] .gantt-row:nth-child(2n){background:#0a0a0a}[data-layout=dos] .gantt-track{background:repeating-linear-gradient(90deg,var(--dos-dark) 0 1px,transparent 1px calc(100% / 14))}[data-layout=dos] .gantt-bar{border-radius:0;opacity:1}[data-layout=dos] .gantt-ai-label{border-radius:0;border-color:var(--dos-yellow);background:#000;color:var(--dos-yellow)}[data-layout=dos] .prose{color:var(--dos-gray);font-size:13px}[data-layout=dos] .prose h2,[data-layout=dos] .prose h3{color:var(--dos-yellow)}[data-layout=dos] .prose h2:before{content:"\25a0  ";color:var(--dos-light-cyan)}[data-layout=dos] .prose a{color:var(--dos-light-cyan)}[data-layout=dos] .prose blockquote{border-left:2px solid var(--dos-yellow);background:#000;color:var(--dos-yellow);font-size:13px}[data-layout=dos] .prose code{border:0;border-radius:0;background:var(--dos-blue);color:var(--dos-light)}[data-layout=dos] .prose pre{border:1px solid var(--dos-dark);border-left:3px solid var(--dos-green);border-radius:0;background:#000;color:var(--dos-light-green)}[data-layout=dos] .article-cover{border:1px solid var(--dos-dark)}[data-layout=dos] .article-foot{border-top:1px solid var(--dos-dark)}[data-layout=dos] .chip,[data-layout=dos] .btn,[data-layout=dos] .select{border:1px solid var(--dos-gray);border-radius:0;background:#000;color:var(--dos-gray);font-family:var(--dos-font);font-size:12px;letter-spacing:.04em;text-transform:uppercase}[data-layout=dos] .btn:before{content:"[ "}[data-layout=dos] .btn:after{content:" ]"}[data-layout=dos] .chip:hover,[data-layout=dos] .btn:hover{border-color:var(--dos-light-cyan);background:var(--dos-blue);color:var(--dos-light);transform:none}[data-layout=dos] .chip-active{border-color:var(--dos-yellow);background:var(--dos-yellow);color:#000}[data-layout=dos] .chip-active:hover{color:#000}[data-layout=dos] .link-arrow{color:var(--dos-light-cyan)}[data-layout=dos] .empty{border:3px double var(--dos-gray);background:#000;color:var(--dos-gray)}[data-layout=dos] .skeleton{border:1px solid var(--dos-dark);background:repeating-linear-gradient(45deg,#0a0a0a 0 10px,#000 10px 20px)}[data-layout=dos] .egg-note{border:1px solid var(--dos-yellow);border-radius:0;background:#000;color:var(--dos-yellow)}[data-layout=dos] .toolbar-label,[data-layout=dos] .select{color:var(--dos-light-cyan)}[data-layout=dos] .lab-footer{margin-top:10px;padding:0 6px;border:0;color:var(--dos-dark);font-family:var(--dos-font);font-size:10px;letter-spacing:.02em;text-transform:none}[data-layout=dos] .footer-grid h3{color:var(--dos-dark)}[data-layout=dos] .footer-grid a,[data-layout=dos] .footer-grid button{color:var(--dos-gray)}[data-layout=dos] .footer-legal{border-top:1px dashed var(--dos-dark)}[data-layout=dos] .theme-picker-button{border:1px solid var(--dos-gray);border-radius:0;background:#000;color:var(--dos-gray);box-shadow:none;font-family:var(--dos-font)}[data-layout=dos] .theme-picker-button:hover{border-color:var(--dos-light-cyan);transform:none}@media(max-width:760px){[data-layout=dos] .shell{width:calc(100% - 6px)}[data-layout=dos] .screen-frame{padding:8px;border-radius:10px}[data-layout=dos] .screen-frame main{height:clamp(440px,78vh,620px);padding:34px 10px 48px;font-size:12px}[data-layout=dos] .screen-frame:after{inset:8px}[data-layout=dos] .dos-titlebar{top:8px;right:8px;left:8px;font-size:10px}[data-layout=dos] .dos-prompt{right:8px;bottom:8px;left:8px;font-size:12px}[data-layout=dos] .dos-window{inset:36px 8px 40px}[data-layout=dos] .dos-game{inset:8px}[data-layout=dos] .dos-dir-head,[data-layout=dos] .dos-dir-row{grid-template-columns:minmax(0,1fr) 54px 56px;gap:6px}[data-layout=dos] .article-head h1{font-size:16px}}[data-layout=dungeon]{--dg-stone: #1b1713;--dg-stone-2: #241e18;--dg-amber: #e8c46a;--dg-amber-soft: #c9a24e;--dg-ink: #d9cbb2;--dg-blood: #c0392b;--dg-font: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--dg-mono: "Courier New", monospace}[data-layout=dungeon] body{background-color:#070605;background-image:radial-gradient(ellipse at 50% -10%,rgb(90 60 30 / 28%),transparent 60%),repeating-linear-gradient(0deg,rgb(0 0 0 / 35%) 0 2px,transparent 2px 5px);color:var(--dg-ink);font-family:var(--dg-font)}[data-layout=dungeon] .shell{width:min(100% - 14px,1180px)}[data-layout=dungeon] .lab{display:block;padding-block:10px 16px}[data-layout=dungeon] .rail,[data-layout=dungeon] app-site-header{display:none}app-dungeon-chrome{display:none}[data-layout=dungeon] app-dungeon-chrome{display:block}[data-layout=dungeon] .screen-frame{position:relative;padding:12px;border-radius:6px;background:linear-gradient(#2a241d,#120f0c 70%);box-shadow:inset 0 0 0 2px #4a3f31,inset 0 0 0 4px #0d0b09,0 22px 50px #000000b3}[data-layout=dungeon] .screen-frame main{height:clamp(440px,76vh,680px);overflow-y:auto;padding:18px 20px;border-radius:2px;background:#0b0907;color:var(--dg-ink)}[data-layout=dungeon] .dg-game{position:absolute;inset:12px;z-index:40;overflow:hidden;border-radius:2px;background:#000}[data-layout=dungeon] .dg-canvas{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;cursor:crosshair}[data-layout=dungeon] .dg-hud{position:absolute;top:0;right:0;left:0;display:flex;align-items:center;gap:12px;padding:6px 10px;background:linear-gradient(rgb(0 0 0 / 78%),transparent);color:var(--dg-ink);font-family:var(--dg-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}[data-layout=dungeon] .dg-hud-room{color:var(--dg-amber);font-weight:700}[data-layout=dungeon] .dg-hud-hp{display:inline-flex;align-items:center;gap:6px;width:150px;height:10px;padding:1px;border:1px solid #6a5a42;background:#1a120c}[data-layout=dungeon] .dg-hud-hp i{display:block;height:100%;background:linear-gradient(90deg,#8e2b20,#d94a35);transition:width .2s ease}[data-layout=dungeon] .dg-hud-hp b{position:absolute;margin-left:158px;color:var(--dg-ink);font-size:10px}[data-layout=dungeon] .dg-hud-spell{margin-left:auto;font-weight:700}[data-layout=dungeon] .dg-hud-hint{color:#8a7a62;font-size:9px}[data-layout=dungeon] .dg-hud-points{color:var(--dg-amber-soft)}[data-layout=dungeon] .dg-spells{position:absolute;right:10px;bottom:10px;display:flex;flex-wrap:wrap;gap:4px;max-width:60%}[data-layout=dungeon] .dg-spells button{padding:3px 7px;border:1px solid #6a5a42;background:#0a0806bf;color:var(--dg-ink);font-family:var(--dg-mono);font-size:10px;letter-spacing:.06em;cursor:pointer}[data-layout=dungeon] .dg-spells button.is-active{border-color:var(--dg-amber);background:#e8c46a2e;color:var(--dg-amber)}[data-layout=dungeon] .dg-touch{position:absolute;right:10px;bottom:10px;left:10px;display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}[data-layout=dungeon] .dg-touch button{padding:14px 0;border:1px solid #6a5a42;background:#0009;color:var(--dg-ink);font-family:var(--dg-mono);font-size:17px;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}[data-layout=dungeon] .dg-touch-fire{grid-column:span 4;color:var(--dg-amber);font-size:14px;letter-spacing:.12em}@media(pointer:coarse){[data-layout=dungeon] .dg-touch{display:grid}[data-layout=dungeon] .dg-spells{right:10px;bottom:132px;left:10px;max-width:none}[data-layout=dungeon] .dg-hud-hint{display:none}}[data-layout=dungeon] .dg-toast{position:absolute;top:44px;left:50%;margin:0;padding:6px 12px;border:1px solid var(--dg-amber);background:#140e08eb;color:var(--dg-amber);font-family:var(--dg-mono);font-size:11px;text-align:center;transform:translate(-50%)}[data-layout=dungeon] .dg-map{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:#000000c7}[data-layout=dungeon] .dg-map-box{width:min(100% - 32px,420px);padding:14px 16px;border:2px solid var(--dg-amber-soft);background:#120e0a;color:var(--dg-ink)}[data-layout=dungeon] .dg-map-box h2{margin:0 0 8px;color:var(--dg-amber);font-size:15px;letter-spacing:.1em;text-transform:uppercase}[data-layout=dungeon] .dg-map-box ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-family:var(--dg-mono);font-size:12px}[data-layout=dungeon] .dg-map-box li{display:flex;justify-content:space-between;padding:3px 6px;border:1px dashed #3a2f22;color:#6a5a42}[data-layout=dungeon] .dg-map-box li.is-visited{border-style:solid;color:var(--dg-ink)}[data-layout=dungeon] .dg-map-box li.is-current{border-color:var(--dg-amber);color:var(--dg-amber)}[data-layout=dungeon] .dg-map-box p{margin:10px 0 0;color:#8a7a62;font-size:11px}[data-layout=dungeon] .dg-sheet,[data-layout=dungeon] .dg-end,[data-layout=dungeon] .dg-victory{position:absolute;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:#000000d1}[data-layout=dungeon] .dg-victory-box{width:min(100% - 16px,460px);padding:18px 20px;border:2px solid var(--dg-amber-soft);background:#14100b;color:var(--dg-ink);text-align:center}[data-layout=dungeon] .dg-nedry{margin:0 auto 8px;color:var(--dg-amber);font-family:var(--dg-mono);font-size:13px;line-height:1.1;animation:dg-shake .45s infinite}[data-layout=dungeon] .dg-ah{margin:0 0 8px;color:#ff8a5c;font-size:26px;letter-spacing:.22em;animation:dg-pulse .9s ease-in-out infinite}@keyframes dg-shake{50%{transform:translate(3px) rotate(1deg)}}@keyframes dg-pulse{50%{transform:scale(1.09)}}[data-layout=dungeon] .dg-pass{display:flex;gap:8px;margin-top:12px}[data-layout=dungeon] .dg-pass input{flex:1;min-width:0;padding:8px 10px;border:1px solid #6a5a42;background:#0b0907;color:var(--dg-ink);font-family:var(--dg-mono);font-size:14px}[data-layout=dungeon] .dg-wrong{margin:10px 0 0;color:#ff6b5c;font-size:12px}[data-layout=dungeon] .dg-score{margin:10px 0;font-size:18px}[data-layout=dungeon] .dg-victory-box ul{display:grid;gap:2px;margin:0 0 12px;padding:0;color:#a89880;font-family:var(--dg-mono);font-size:12px;list-style:none}[data-layout=dungeon] .dg-sheet-box,[data-layout=dungeon] .dg-end>*{width:min(100% - 16px,440px)}[data-layout=dungeon] .dg-sheet-box,[data-layout=dungeon] .dg-end{color:var(--dg-ink)}[data-layout=dungeon] .dg-sheet-box{padding:16px 18px;border:2px solid var(--dg-amber-soft);background:#14100b}[data-layout=dungeon] .dg-sheet-box h2{margin:0 0 8px;color:var(--dg-amber);font-size:17px}[data-layout=dungeon] .dg-sheet-box p{margin:0 0 12px;color:#a89880;font-size:12px}[data-layout=dungeon] .dg-sheet-help{margin:0 0 12px;padding:6px 8px;border-left:2px solid var(--dg-amber-soft);background:#e8c46a14;color:var(--dg-amber)!important;font-family:var(--dg-mono);font-size:11px!important;line-height:1.5}[data-layout=dungeon] .dg-end{grid-auto-rows:min-content;gap:8px;text-align:center}[data-layout=dungeon] .dg-end h2{margin:0;color:var(--dg-amber);font-size:24px;letter-spacing:.08em;text-transform:uppercase}[data-layout=dungeon] .dg-end p{margin:0;font-size:16px}[data-layout=dungeon] .dg-end ul{display:grid;gap:2px;margin:0;padding:0;color:#a89880;font-family:var(--dg-mono);font-size:12px;list-style:none}[data-layout=dungeon] .dg-button{display:inline-block;padding:7px 14px;border:1px solid var(--dg-amber);background:#e8c46a24;color:var(--dg-amber);font-family:var(--dg-mono);font-size:12px;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer}[data-layout=dungeon] .dg-button:hover{background:var(--dg-amber);color:#120e0a}[data-layout=dungeon] .dg-button-ghost{border-color:#6a5a42;background:transparent;color:var(--dg-ink)}[data-layout=dungeon] .dg-return{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;padding:6px 10px;border:1px solid #3a2f22;background:#120e0a;color:#8a7a62;font-family:var(--dg-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}[data-layout=dungeon] .dg-return a{color:var(--dg-amber);text-decoration:none}[data-layout=dungeon] h1,[data-layout=dungeon] h2,[data-layout=dungeon] h3{color:var(--dg-amber);font-family:var(--dg-font)}[data-layout=dungeon] .article-head{padding-bottom:12px;border-bottom:1px solid #3a2f22}[data-layout=dungeon] .article-head h1{font-size:28px}[data-layout=dungeon] .kicker,[data-layout=dungeon] .mono,[data-layout=dungeon] .muted{color:#8a7a62;font-family:var(--dg-mono)}[data-layout=dungeon] .prose{color:var(--dg-ink);font-size:16px}[data-layout=dungeon] .prose a{color:var(--dg-amber)}[data-layout=dungeon] .prose blockquote{border-left-color:var(--dg-amber-soft);background:#14100b;color:#c9b896}[data-layout=dungeon] .prose code{border-color:#3a2f22;background:#1b1713;color:var(--dg-amber)}[data-layout=dungeon] .prose pre{border-color:#3a2f22;background:#0b0907;color:#c9b896}[data-layout=dungeon] .specimen{border:1px solid #3a2f22;background:#14100b}[data-layout=dungeon] .specimen-title a{color:var(--dg-amber)}[data-layout=dungeon] .chip,[data-layout=dungeon] .btn,[data-layout=dungeon] .select{border-color:#3a2f22;background:#14100b;color:var(--dg-ink);font-family:var(--dg-mono)}[data-layout=dungeon] .chip-active{border-color:var(--dg-amber);background:var(--dg-amber);color:#120e0a}[data-layout=dungeon] .lab-footer{margin-top:10px;border-top:1px solid #2a241d;color:#6a5a42;font-family:var(--dg-mono);font-size:10px}[data-layout=dungeon] .footer-grid a{color:#8a7a62}[data-layout=dungeon] .theme-picker-button{border-color:#6a5a42;background:#14100b;color:var(--dg-amber)}@media(max-width:760px){[data-layout=dungeon] .shell{width:calc(100% - 6px)}[data-layout=dungeon] .screen-frame{padding:8px}[data-layout=dungeon] .screen-frame main{height:clamp(420px,78vh,620px);padding:14px 12px}[data-layout=dungeon] .dg-game{inset:8px}[data-layout=dungeon] .dg-hud{flex-wrap:wrap;gap:6px;font-size:9px}[data-layout=dungeon] .dg-hud-hp{width:100px}[data-layout=dungeon] .dg-hud-hp b{margin-left:108px}}[data-layout=playmat]{--mat: #14231d;--mat-2: #1c332a;--mat-line: #55705f;--mat-gold: #d4a13a;--mat-parchment: #f3ead3;--mat-ink: #1a1208}[data-layout=playmat] body{background-color:var(--mat);background-image:radial-gradient(circle at 50% 20%,rgb(212 161 58 / 10%),transparent 55%),radial-gradient(circle at 50% 120%,rgb(0 0 0 / 55%),transparent 70%),repeating-linear-gradient(45deg,rgb(255 255 255 / 2%) 0 1px,transparent 1px 6px),repeating-linear-gradient(-45deg,rgb(0 0 0 / 5%) 0 1px,transparent 1px 8px);background-size:auto,auto,7px 7px,9px 9px;background-attachment:fixed;color:var(--mat-parchment)}[data-layout=playmat] .shell{width:min(100% - 20px,1400px)}[data-layout=playmat] .lab{grid-template-columns:200px minmax(0,1fr);gap:16px;padding-block:12px 24px}[data-layout=playmat] .rail{position:sticky;top:12px;min-height:auto;padding:0 0 10px;border:2px solid var(--mat-line);border-radius:8px;background:linear-gradient(180deg,#1c332af2,#0c1813f2);box-shadow:inset 0 0 0 1px #d4a13a40,0 12px 24px #00000059;color:var(--mat-parchment);overflow:hidden}[data-layout=playmat] .rail-title{display:block;padding:4px 8px;border-bottom:1px solid rgb(212 161 58 / 35%);background:linear-gradient(90deg,rgb(212 161 58 / 18%),transparent);color:var(--mat-gold);font-family:var(--font-serif);font-size:12px;font-weight:700}[data-layout=playmat] .rail-mark{display:block;margin:8px 8px 0;color:var(--mat-parchment);font-size:14px}[data-layout=playmat] .rail>.mono{display:block;margin:0 8px 6px;color:var(--mat-gold);font-size:9px;letter-spacing:.06em}[data-layout=playmat] .rail-rule{height:1px;margin:0 8px 8px;background:linear-gradient(90deg,var(--mat-gold),transparent)}[data-layout=playmat] .rail-list{gap:6px;margin:0 8px}[data-layout=playmat] .rail-list dt{color:var(--mat-gold);font-size:9px}[data-layout=playmat] .rail-list dd{color:var(--mat-parchment);font-size:11px;text-transform:none}[data-layout=playmat] .rail-foot{display:none}[data-layout=playmat] .lab-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 8px;border-bottom:1px solid rgb(212 161 58 / 25%);background:none}[data-layout=playmat] .brand{gap:6px;color:var(--mat-parchment);font-family:var(--font-serif);font-size:18px}[data-layout=playmat] .brand-logo{height:1.6rem;color:var(--mat-gold)}[data-layout=playmat] .brand-badge{border-color:var(--mat-gold);color:var(--mat-gold)}[data-layout=playmat] .nav{display:flex;flex-wrap:wrap;gap:10px;margin-left:0;font-family:var(--font-sans);letter-spacing:0;text-transform:none}[data-layout=playmat] .nav a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:2px 6px 2px 2px;border-radius:999px;color:var(--mat-parchment);font-size:10px}[data-layout=playmat] .nav a:before{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d9c9a5;color:#1a1208;font-family:var(--font-serif);font-size:11px;font-weight:700;box-shadow:inset 0 0 0 2px #00000040}[data-layout=playmat] .nav a:nth-child(1):before{content:"W";background:#f4e9c8}[data-layout=playmat] .nav a:nth-child(2):before{content:"U";background:#4a9fd4;color:#fff}[data-layout=playmat] .nav a:nth-child(3):before{content:"R";background:#d45a3a;color:#fff}[data-layout=playmat] .nav a:nth-child(4):before{content:"G";background:#4a8c4a;color:#fff}[data-layout=playmat] .nav a:nth-child(5):before{content:"B";background:#4a3a4a;color:#fff}[data-layout=playmat] .nav a:nth-child(6):before{content:"C";background:#9a9a8a;color:#fff}[data-layout=playmat] .nav a:after{display:none}[data-layout=playmat] .nav a:hover{background:#d4a13a24;color:var(--mat-gold)}[data-layout=playmat] .search{margin-left:auto;color:var(--mat-parchment)}[data-layout=playmat] .search input{border:1px solid var(--mat-line);border-radius:4px;background:#00000040;color:var(--mat-parchment)}[data-layout=playmat] .lang-switch button{border-color:var(--mat-line);background:transparent;color:var(--mat-parchment)}[data-layout=playmat] .lang-switch button.lang-active{background:var(--mat-gold);color:var(--mat-ink)}[data-layout=playmat] .screen-frame{position:relative;padding:18px;border:2px solid var(--mat-line);border-radius:14px;background:radial-gradient(circle at 50% 45%,#1c332ad9,#0a1410eb);box-shadow:inset 0 0 0 1px #d4a13a38,inset 0 0 60px #00000073,0 18px 36px #0006}[data-layout=playmat] .screen-frame main{min-height:62vh;padding:4px;border:0;background:none;box-shadow:none;color:var(--mat-parchment)}[data-layout=playmat] app-iphone-chrome{display:none}[data-layout=playmat] .lab-footer{margin-top:12px;padding:10px 12px;border:1px solid var(--mat-line);border-radius:8px;background:#0c1813d9;color:var(--mat-parchment)}[data-layout=playmat] .footer-grid h3{color:var(--mat-gold)}[data-layout=playmat] .footer-grid a,[data-layout=playmat] .footer-grid button{color:var(--mat-parchment)}[data-layout=playmat] .footer-legal{border-top-color:var(--mat-line)}app-playmat-home,app-playmat-projects,app-playmat-skills,app-playmat-contact,app-playmat-about{display:none}[data-layout=playmat] app-playmat-home,[data-layout=playmat] app-playmat-projects,[data-layout=playmat] app-playmat-skills,[data-layout=playmat] app-playmat-contact,[data-layout=playmat] app-playmat-about{display:block}[data-layout=playmat] .standard-page{display:none}[data-layout=playmat] .playmat-home,[data-layout=playmat] .playmat-projects,[data-layout=playmat] .playmat-skills,[data-layout=playmat] .playmat-contact,[data-layout=playmat] .playmat-about{display:grid;grid-template-columns:180px minmax(0,1.3fr) minmax(220px,.7fr);gap:12px;align-items:start}[data-layout=playmat] .playmat-mana{display:flex;flex-wrap:wrap;grid-column:1 / -1;gap:8px;padding:6px;border:1px solid rgb(212 161 58 / 25%);border-radius:999px;background:#0000002e}[data-layout=playmat] .mana{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:var(--mat-parchment);font-family:var(--font-sans);font-size:9px;text-decoration:none;cursor:pointer}[data-layout=playmat] .mana>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#d9c9a5;color:#1a1208;font-family:var(--font-serif);font-size:12px;font-weight:700;box-shadow:inset 0 0 0 2px #00000040}[data-layout=playmat] .mana-w>span{background:#f4e9c8}[data-layout=playmat] .mana-u>span{background:#4a9fd4;color:#fff}[data-layout=playmat] .mana-r>span{background:#d45a3a;color:#fff}[data-layout=playmat] .mana-g>span{background:#4a8c4a;color:#fff}[data-layout=playmat] .mana-b>span{background:#4a3a4a;color:#fff}[data-layout=playmat] .mana-c>span{background:#9a9a8a;color:#fff}[data-layout=playmat] .mana.active>span,[data-layout=playmat] .mana:hover>span{outline:2px solid var(--mat-gold);outline-offset:2px}[data-layout=playmat] .playmat-zone{position:relative;padding:10px;border:1px dashed rgb(212 161 58 / 30%);border-radius:10px;background:#0000001f;color:var(--mat-parchment)}[data-layout=playmat] .zone-title{display:block;color:var(--mat-gold);font-family:var(--font-serif);font-size:12px;font-weight:700}[data-layout=playmat] .zone-sub{display:block;margin-bottom:6px;color:var(--mat-parchment);font-size:9px;opacity:.75}[data-layout=playmat] .zone-hint{display:block;margin-top:6px;color:var(--mat-gold);font-size:9px}[data-layout=playmat] .zone-library,[data-layout=playmat] .zone-graveyard,[data-layout=playmat] .zone-skills,[data-layout=playmat] .zone-contact,[data-layout=playmat] .zone-mana-filter{grid-column:1}[data-layout=playmat] .zone-battlefield{grid-column:2;grid-row:2 / span 3;min-height:420px}[data-layout=playmat] .zone-detail{grid-column:3;grid-row:2 / span 2}[data-layout=playmat] .zone-hand{grid-column:1 / -1}[data-layout=playmat] .life-counter{display:grid;grid-column:3;grid-row:4;place-items:center;padding:8px;border:2px solid var(--mat-gold);border-radius:12px;background:#0000004d;color:var(--mat-parchment);font-family:var(--font-serif)}[data-layout=playmat] .life-counter strong{color:var(--mat-gold);font-size:34px;line-height:1}[data-layout=playmat] .life-counter small{font-size:9px;opacity:.75}[data-layout=playmat] .life-buttons{display:flex;gap:4px}[data-layout=playmat] .life-buttons button{width:24px;height:22px;border:1px solid var(--mat-line);border-radius:4px;background:#ffffff14;color:var(--mat-parchment);cursor:pointer}[data-layout=playmat] .deck-stack{position:relative;display:block;width:70px;height:96px;margin:8px auto}[data-layout=playmat] .deck-stack i{position:absolute;inset:0;border:2px solid var(--mat-gold);border-radius:5px;background:repeating-linear-gradient(45deg,#2a3f35 0 4px,#1c2e26 4px 8px);box-shadow:0 2px #00000059}[data-layout=playmat] .deck-stack i:nth-child(1){transform:translate(0)}[data-layout=playmat] .deck-stack i:nth-child(2){transform:translate(3px,3px)}[data-layout=playmat] .deck-stack i:nth-child(3){transform:translate(6px,6px)}[data-layout=playmat] .deck-stack i:nth-child(4){transform:translate(9px,9px)}[data-layout=playmat] .deck-stack i:nth-child(5){transform:translate(12px,12px)}[data-layout=playmat] .grave-cards{display:flex;justify-content:center;margin:8px 0}[data-layout=playmat] .grave-cards i{width:46px;height:64px;margin-left:-18px;border:1px solid var(--mat-gold);border-radius:4px;background:#2a3f35;transform:rotate(-8deg)}[data-layout=playmat] .grave-cards i:nth-child(2){transform:rotate(4deg)}[data-layout=playmat] .grave-cards i:nth-child(3){transform:rotate(-2deg)}[data-layout=playmat] .playmat-button{display:inline-block;padding:4px 10px;border:1px solid var(--mat-gold);border-radius:4px;background:#d4a13a29;color:var(--mat-parchment);font-family:var(--font-sans);font-size:10px;text-decoration:none;cursor:pointer}[data-layout=playmat] .playmat-button:hover{background:var(--mat-gold);color:var(--mat-ink)}[data-layout=playmat] .hand-cards{display:flex;flex-wrap:wrap;gap:10px}[data-layout=playmat] .hand-card{display:flex;flex-direction:column;width:190px;min-height:110px;padding:8px;border:2px solid var(--mat-gold);border-radius:8px;background:linear-gradient(160deg,#243b31,#101c17);color:var(--mat-parchment);text-decoration:none;box-shadow:0 4px 10px #00000059}[data-layout=playmat] .hand-card:hover{transform:translateY(-3px)}[data-layout=playmat] .hand-name{color:var(--mat-gold);font-family:var(--font-serif);font-size:13px;font-weight:700}[data-layout=playmat] .hand-meta{color:var(--mat-parchment);font-size:8px;opacity:.75}[data-layout=playmat] .hand-text{display:-webkit-box;overflow:hidden;margin-top:4px;font-size:9px;line-height:1.35;opacity:.85;-webkit-box-orient:vertical;-webkit-line-clamp:4}[data-layout=playmat] .magic-card{display:flex;flex-direction:column;width:240px;min-height:330px;padding:7px;border:3px solid var(--mat-gold);border-radius:12px;background:linear-gradient(180deg,#243b31,#101c17);box-shadow:0 10px 24px #00000073,inset 0 0 0 2px #00000073;color:var(--mat-parchment)}[data-layout=playmat] .magic-name{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:4px;background:linear-gradient(90deg,#d4a13a3d,#0003);color:var(--mat-parchment);font-family:var(--font-serif);font-size:13px;font-weight:700}[data-layout=playmat] .magic-cost{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--mat-gold);color:var(--mat-ink);font-family:var(--font-serif);font-size:10px}[data-layout=playmat] .magic-art{display:grid;place-items:center;height:96px;margin:5px 0;border:2px solid #0c0804;border-radius:5px;color:#fff;font-family:var(--font-serif);font-size:24px;font-weight:700;text-shadow:1px 1px 0 #000}[data-layout=playmat] .magic-type{margin:0 0 4px;padding:3px 5px;border-top:1px solid rgb(212 161 58 / 45%);border-bottom:1px solid rgb(212 161 58 / 45%);color:var(--mat-parchment);font-family:var(--font-serif);font-size:9px}[data-layout=playmat] .magic-text{flex:1;overflow:auto;padding:5px 6px;border:1px solid rgb(212 161 58 / 30%);border-radius:4px;background:#0000002e;color:var(--mat-parchment);font-size:9px;line-height:1.4}[data-layout=playmat] .magic-text p{margin:0 0 4px}[data-layout=playmat] .magic-tags{display:flex;flex-wrap:wrap;gap:3px}[data-layout=playmat] .magic-tags span{padding:1px 3px;border:1px solid rgb(212 161 58 / 40%);border-radius:2px;font-size:7px}[data-layout=playmat] .magic-stats{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;color:var(--mat-gold);font-size:8px}[data-layout=playmat] .magic-stats a{color:var(--mat-gold);text-decoration:underline}[data-layout=playmat] .planeswalker-card,[data-layout=playmat] .spell-card{display:inline-flex;flex-direction:column;width:230px;min-height:320px;margin:4px 8px 4px 0;padding:8px;border:3px solid var(--mat-gold);border-radius:12px;background:linear-gradient(180deg,#243b31,#101c17);box-shadow:0 10px 24px #00000073;vertical-align:top}[data-layout=playmat] .pw-name,[data-layout=playmat] .spell-name{display:flex;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:4px;background:linear-gradient(90deg,#d4a13a3d,#0003);color:var(--mat-parchment);font-family:var(--font-serif);font-size:13px;font-weight:700}[data-layout=playmat] .pw-cost,[data-layout=playmat] .spell-cost{color:var(--mat-gold);font-size:10px}[data-layout=playmat] .pw-art,[data-layout=playmat] .spell-art{display:grid;place-items:center;height:100px;margin:5px 0;border:2px solid #0c0804;border-radius:5px;background:#2a3f35;color:var(--mat-gold);font-family:var(--font-serif);font-size:30px;font-weight:700}[data-layout=playmat] .pw-type,[data-layout=playmat] .spell-type{margin:0 0 4px;padding:3px 5px;border-top:1px solid rgb(212 161 58 / 45%);border-bottom:1px solid rgb(212 161 58 / 45%);font-family:var(--font-serif);font-size:9px}[data-layout=playmat] .pw-text,[data-layout=playmat] .spell-text{flex:1;padding:5px 6px;border:1px solid rgb(212 161 58 / 30%);border-radius:4px;background:#0000002e;font-size:9px;line-height:1.4}[data-layout=playmat] .pw-text p,[data-layout=playmat] .spell-text p{margin:0 0 4px}[data-layout=playmat] .pw-stats,[data-layout=playmat] .spell-actions{display:flex;justify-content:flex-end;gap:4px;padding-top:4px;color:var(--mat-gold);font-size:12px;font-weight:700}[data-layout=playmat] .playmat-projects .zone-battlefield,[data-layout=playmat] .playmat-skills .zone-battlefield{display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start}[data-layout=playmat] .project-magic{margin:0 auto}[data-layout=playmat] .graveyard-list{display:flex;flex-direction:column;gap:4px}[data-layout=playmat] .grave-card,[data-layout=playmat] .mini-project{padding:4px 6px;border:1px solid rgb(212 161 58 / 35%);border-radius:4px;background:#0003;color:var(--mat-parchment);text-align:left;cursor:pointer}[data-layout=playmat] .project-hand{display:flex;flex-wrap:wrap;gap:6px}[data-layout=playmat] .mini-project{display:flex;flex-direction:column;width:160px}[data-layout=playmat] .mini-project-name{color:var(--mat-gold);font-family:var(--font-serif);font-size:11px}[data-layout=playmat] .mini-project-meta{font-size:8px;opacity:.8}[data-layout=playmat] .skill-field{display:flex;flex-wrap:wrap;gap:10px}[data-layout=playmat] .skill-magic{width:190px;min-height:260px;cursor:pointer}[data-layout=playmat] .skill-magic.selected{outline:2px solid var(--mat-gold);outline-offset:2px}[data-layout=playmat] .mana-filter{display:flex;flex-wrap:wrap;gap:6px;align-items:center}[data-layout=playmat] .detail-card{padding:10px;border:1px solid rgb(212 161 58 / 35%);border-radius:8px;background:#0000002e;color:var(--mat-parchment);font-size:10px;line-height:1.5}[data-layout=playmat] .playmat-hint{color:var(--mat-gold);font-family:var(--font-serif);font-size:14px}[data-layout=playmat] .contact-magic,[data-layout=playmat] .planeswalker-magic{width:min(100%,460px);min-height:420px}[data-layout=playmat] .contact-art,[data-layout=playmat] .about-art{font-size:40px}[data-layout=playmat] .contact-links{display:flex;flex-wrap:wrap;gap:6px}[data-layout=playmat] .contact-links a,[data-layout=playmat] .about-links a{color:var(--mat-gold);text-decoration:underline}[data-layout=playmat] .about-links{display:flex;flex-direction:column;gap:6px}[data-layout=playmat] .loyalty{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--mat-gold);border-radius:50%;color:var(--mat-gold);font-size:13px}[data-layout=playmat] .about-text{max-height:260px}[data-layout=playmat] .about-text h2,[data-layout=playmat] .about-text h3{color:var(--mat-gold);font-family:var(--font-serif);font-size:12px}[data-layout=playmat] .article-head{border-bottom:1px solid rgb(212 161 58 / 35%)}[data-layout=playmat] .article-head h1,[data-layout=playmat] .section-head h2{color:var(--mat-gold)}[data-layout=playmat] .samples{display:flex;flex-wrap:wrap;gap:14px}[data-layout=playmat] .specimen{display:flex;flex-direction:column;width:220px;height:auto;padding:6px;border:3px solid var(--mat-gold);border-radius:12px;background:linear-gradient(180deg,#243b31,#101c17);color:var(--mat-parchment);box-shadow:0 10px 24px #00000073}[data-layout=playmat] .specimen:before{display:none}[data-layout=playmat] .specimen-tag{margin:0 0 4px;padding:3px 5px;border-radius:4px;background:#d4a13a2e;color:var(--mat-gold);font-size:8px}[data-layout=playmat] .specimen-cover{margin:0 0 4px;border:2px solid #0c0804;border-radius:5px}[data-layout=playmat] .specimen-title{margin:0;padding:3px 5px;color:var(--mat-gold);font-family:var(--font-serif);font-size:13px}[data-layout=playmat] .specimen-excerpt{padding:4px 5px;color:var(--mat-parchment);font-size:9px}[data-layout=playmat] .specimen-foot{padding:4px 5px;color:var(--mat-parchment);font-size:8px}[data-layout=playmat] .specimen-foot .chip{border-color:#d4a13a59;background:transparent;color:var(--mat-parchment)}[data-layout=playmat] .article{max-width:820px;padding:10px;border:3px solid var(--mat-gold);border-radius:12px;background:linear-gradient(180deg,#243b31,#101c17);color:var(--mat-parchment);box-shadow:0 10px 24px #00000073}[data-layout=playmat] .article-head{padding:8px;border-bottom:1px solid rgb(212 161 58 / 35%)}[data-layout=playmat] .article-head h1{color:var(--mat-gold);font-family:var(--font-serif)}[data-layout=playmat] .prose{max-width:none;padding:10px;color:var(--mat-parchment);font-size:12px}[data-layout=playmat] .prose h2,[data-layout=playmat] .prose h3{color:var(--mat-gold);font-family:var(--font-serif)}[data-layout=playmat] .prose a{color:var(--mat-gold)}[data-layout=playmat] .prose blockquote{border-left-color:var(--mat-gold);background:#0000002e;color:var(--mat-parchment)}[data-layout=playmat] .prose code{border-color:#d4a13a59;background:#00000040;color:var(--mat-parchment)}[data-layout=playmat] .prose pre{border-color:#d4a13a59;background:#0a120e;color:var(--mat-parchment)}[data-layout=playmat] .article-foot{border-top-color:#d4a13a59}[data-layout=playmat] .chip{border-color:#d4a13a59;color:var(--mat-parchment)}[data-layout=playmat] .chip-active{background:var(--mat-gold);border-color:var(--mat-gold);color:var(--mat-ink)}[data-layout=playmat] .btn,[data-layout=playmat] .select{border-color:var(--mat-gold);background:#d4a13a29;color:var(--mat-parchment)}[data-layout=playmat] .btn:hover{background:var(--mat-gold);color:var(--mat-ink)}@media(max-width:1100px){[data-layout=playmat] .shell{width:calc(100% - 16px)}[data-layout=playmat] .lab{grid-template-columns:1fr}[data-layout=playmat] .playmat-home,[data-layout=playmat] .playmat-projects,[data-layout=playmat] .playmat-skills{grid-template-columns:200px minmax(0,1fr)}[data-layout=playmat] .zone-library,[data-layout=playmat] .zone-graveyard,[data-layout=playmat] .zone-skills,[data-layout=playmat] .zone-contact,[data-layout=playmat] .zone-mana-filter,[data-layout=playmat] .life-counter{grid-column:1;grid-row:auto}[data-layout=playmat] .zone-battlefield{grid-column:2;grid-row:2 / span 4;min-height:340px}[data-layout=playmat] .zone-detail{grid-column:2;grid-row:6}[data-layout=playmat] .zone-hand{grid-column:1 / -1;grid-row:auto}[data-layout=playmat] .playmat-contact,[data-layout=playmat] .playmat-about{grid-template-columns:minmax(0,1.25fr) minmax(200px,.75fr)}[data-layout=playmat] .playmat-contact .zone-battlefield,[data-layout=playmat] .playmat-about .zone-battlefield{grid-column:1;grid-row:1;min-height:0}[data-layout=playmat] .playmat-contact .zone-detail,[data-layout=playmat] .playmat-about .zone-detail{grid-column:2;grid-row:1}[data-layout=playmat] .magic-card{width:min(100%,260px);margin-inline:auto}}@media(max-width:760px){[data-layout=playmat] .shell{width:calc(100% - 10px)}[data-layout=playmat] .screen-frame{padding:8px;border-radius:10px}[data-layout=playmat] .nav{display:none;flex-basis:100%;flex-direction:column;gap:2px}[data-layout=playmat] .nav.nav-open{display:flex}[data-layout=playmat] .playmat-home,[data-layout=playmat] .playmat-projects,[data-layout=playmat] .playmat-skills,[data-layout=playmat] .playmat-contact,[data-layout=playmat] .playmat-about{grid-template-columns:1fr;gap:10px}[data-layout=playmat] .zone-library,[data-layout=playmat] .zone-graveyard,[data-layout=playmat] .zone-skills,[data-layout=playmat] .zone-contact,[data-layout=playmat] .zone-mana-filter,[data-layout=playmat] .zone-battlefield,[data-layout=playmat] .zone-detail,[data-layout=playmat] .zone-hand,[data-layout=playmat] .life-counter,[data-layout=playmat] .playmat-contact .zone-battlefield,[data-layout=playmat] .playmat-about .zone-battlefield,[data-layout=playmat] .playmat-contact .zone-detail,[data-layout=playmat] .playmat-about .zone-detail{grid-column:1;grid-row:auto}[data-layout=playmat] .zone-battlefield{min-height:0}[data-layout=playmat] .deck-stack{width:58px;height:80px}[data-layout=playmat] .life-counter{grid-auto-flow:column;gap:8px;padding:4px 10px}[data-layout=playmat] .life-counter strong{font-size:30px}[data-layout=playmat] .mana{font-size:10px}[data-layout=playmat] .mana>span{width:26px;height:26px;font-size:13px}[data-layout=playmat] .magic-card,[data-layout=playmat] .planeswalker-card,[data-layout=playmat] .spell-card,[data-layout=playmat] .specimen,[data-layout=playmat] .hand-card,[data-layout=playmat] .skill-magic,[data-layout=playmat] .mini-project{width:100%;min-height:0}[data-layout=playmat] .magic-art,[data-layout=playmat] .pw-art,[data-layout=playmat] .spell-art{height:76px;font-size:20px}[data-layout=playmat] .contact-magic,[data-layout=playmat] .planeswalker-magic{width:100%;min-height:0}[data-layout=playmat] .about-text{max-height:none}[data-layout=playmat] .article{max-width:none;padding:8px}[data-layout=playmat] .prose{font-size:13px}}[data-layout=whiteboard]{--wb-white: #f7f7f2;--wb-ink: #141414;--wb-silver: #b8b8b8;--wb-marker: #141414}[data-layout=whiteboard] body{background-color:#e8e8e4;background-image:radial-gradient(circle at 20% 10%,rgb(255 255 255 / 55%),transparent 45%),repeating-linear-gradient(90deg,rgb(0 0 0 / 2%) 0 1px,transparent 1px 7px);color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:15px}[data-layout=whiteboard] .shell{width:min(100% - 20px,1400px)}[data-layout=whiteboard] .lab{grid-template-columns:200px minmax(0,1fr);gap:16px;padding-block:10px 24px}[data-layout=whiteboard] .rail{position:sticky;top:12px;min-height:280px;padding:12px 10px 20px;border:3px solid #8a8a8a;border-radius:18px 18px 10px 10px;background:linear-gradient(180deg,#f4f4f4,#d6d6d6 70%,#bdbdbd);box-shadow:inset 0 0 0 2px #fff,inset 0 -16px #2a2a2a,0 8px #8a8a8a,0 14px 24px #00000040;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;letter-spacing:0;text-transform:none;overflow:hidden}[data-layout=whiteboard] .rail:before{content:"";position:absolute;top:6px;left:50%;width:64px;height:16px;border:3px solid #9a9a9a;border-radius:8px;background:linear-gradient(180deg,#e8e8e8,#a8a8a8);transform:translate(-50%);box-shadow:0 2px #6a6a6a}[data-layout=whiteboard] .rail-title{display:block;margin:18px 0 8px;padding:0;background:none;color:var(--wb-ink);font-size:18px;font-weight:700;text-align:center;transform:rotate(-2deg)}[data-layout=whiteboard] .rail-mark{display:block;margin:0 6px;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:15px;font-style:normal;font-weight:700}[data-layout=whiteboard] .rail>.mono{display:block;margin:0 6px 4px;color:#444;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:10px;letter-spacing:0;text-transform:none}[data-layout=whiteboard] .rail-rule{height:2px;margin:0 6px 8px;background:repeating-linear-gradient(90deg,var(--wb-ink) 0 5px,transparent 5px 9px)}[data-layout=whiteboard] .rail-list{gap:4px;margin:0 6px}[data-layout=whiteboard] .rail-list dt{color:#555;font-size:9px;text-transform:uppercase}[data-layout=whiteboard] .rail-list dd{color:var(--wb-ink);font-size:11px;text-transform:none}[data-layout=whiteboard] .rail-foot{display:none}[data-layout=whiteboard] .lab-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0 10px;border:0;background:none}[data-layout=whiteboard] .brand{gap:6px;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:20px;transform:rotate(-1deg)}[data-layout=whiteboard] .brand-logo{height:1.6rem;color:var(--wb-ink)}[data-layout=whiteboard] .brand-badge{border:2px dashed var(--wb-ink);border-radius:2px;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;transform:rotate(2deg)}[data-layout=whiteboard] .nav{display:flex;flex-wrap:wrap;gap:8px;margin-left:0;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:11px;letter-spacing:0;text-transform:none}[data-layout=whiteboard] .nav a{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 20px;border:2px solid var(--wb-ink);border-radius:6px 16px 16px 6px;background:#fff;color:var(--wb-ink);box-shadow:3px 3px #0000002e;transform:rotate(-1deg)}[data-layout=whiteboard] .nav a:before{content:"";position:absolute;left:4px;top:50%;width:10px;height:18px;border-radius:3px;background:var(--wb-ink);transform:translateY(-50%)}[data-layout=whiteboard] .nav a:nth-child(1):before{background:#141414}[data-layout=whiteboard] .nav a:nth-child(2):before{background:#15803d}[data-layout=whiteboard] .nav a:nth-child(3):before{background:#1d4ed8}[data-layout=whiteboard] .nav a:nth-child(4):before{background:#dc2626}[data-layout=whiteboard] .nav a:nth-child(5):before{background:#7e22ce}[data-layout=whiteboard] .nav a:nth-child(6):before{background:#c2410c}[data-layout=whiteboard] .nav a:nth-child(2n){transform:rotate(1deg)}[data-layout=whiteboard] .nav a:after{display:none}[data-layout=whiteboard] .nav a:hover{background:#ffc;transform:rotate(0) translateY(-2px)}[data-layout=whiteboard] .search{margin-left:auto;color:var(--wb-ink)}[data-layout=whiteboard] .search label{color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:10px;letter-spacing:0}[data-layout=whiteboard] .search input{border:0;border-bottom:2px solid var(--wb-ink);border-radius:0;background:transparent;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}[data-layout=whiteboard] .lang-switch{background:none}[data-layout=whiteboard] .lang-switch button{border:1px solid var(--wb-ink);background:transparent;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}[data-layout=whiteboard] .lang-switch button.lang-active{background:var(--wb-ink);color:#fff}[data-layout=whiteboard] .screen-frame{position:relative;padding:18px;border:16px solid transparent;border-radius:14px;background:linear-gradient(var(--wb-white),var(--wb-white)) padding-box,linear-gradient(135deg,#f0f0f0,#9a9a9a 45%,#e0e0e0 70%,#7a7a7a) border-box;box-shadow:inset 0 0 0 2px #d8d8d8,0 14px 30px #00000047;overflow:hidden}[data-layout=whiteboard] .screen-frame main{position:relative;z-index:1;min-height:62vh;padding:14px;background:transparent;color:var(--wb-ink)}[data-layout=whiteboard] app-iphone-chrome{display:none}[data-layout=whiteboard] app-whiteboard-chrome{display:block;position:absolute;inset:0;z-index:0;pointer-events:none}[data-layout=whiteboard] .whiteboard-bg{position:absolute;inset:0;overflow:hidden;opacity:.13;background-repeat:repeat;background-size:480px 320px;color:var(--wb-marker)}[data-layout=whiteboard] .wb-pattern-home{background-image:url(/wb-home.svg)}[data-layout=whiteboard] .wb-pattern-blog{background-image:url(/wb-blog.svg)}[data-layout=whiteboard] .wb-pattern-projects{background-image:url(/wb-projects.svg)}[data-layout=whiteboard] .wb-pattern-skills{background-image:url(/wb-skills.svg)}[data-layout=whiteboard] .wb-pattern-about{background-image:url(/wb-about.svg)}[data-layout=whiteboard] .wb-pattern-contact{background-image:url(/wb-contact.svg)}[data-layout=whiteboard].wb-painting .whiteboard-bg{animation:wb-paint .9s ease}@keyframes wb-paint{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:.13;clip-path:inset(0 0 0 0)}}[data-layout=whiteboard] .wb-wipe{position:fixed;inset:0;z-index:300;pointer-events:none;background:#fff;opacity:0}[data-layout=whiteboard].wb-erasing .wb-wipe{opacity:1;animation:wb-wipe .34s linear}@keyframes wb-wipe{0%{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}[data-layout=whiteboard] .wb-section-eraser{position:fixed;top:0;left:50%;z-index:320;display:block;width:min(70vw,900px);height:64px;border:3px solid #8a8a8a;border-radius:10px;background:linear-gradient(180deg,#f4f4f4,#d6d6d6 70%,#bdbdbd);box-shadow:inset 0 0 0 2px #fff,inset 0 -16px #2a2a2a,0 8px 18px #00000059;opacity:0;pointer-events:none;transform:translate(-50%,-90px)}[data-layout=whiteboard].wb-erasing .wb-section-eraser{opacity:1;animation:wb-erase-down .34s linear}@keyframes wb-erase-down{0%{transform:translate(-50%,-90px)}to{transform:translate(-50%,100vh)}}[data-layout=whiteboard]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%23141414' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%23141414' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard][data-wb-section=blog]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%2315803d' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%2315803d' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard][data-wb-section=projects]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%231d4ed8' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%231d4ed8' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard][data-wb-section=skills]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%23dc2626' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%23dc2626' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard][data-wb-section=about]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%237e22ce' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%237e22ce' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard][data-wb-section=contact]{--wb-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Crect x='28' y='0' width='9' height='14' rx='2' fill='%23222' transform='rotate(45 32 7)'/%3E%3Crect x='29' y='10' width='7' height='3' fill='%23c2410c' transform='rotate(45 32 7)'/%3E%3Cpath d='M28 6 L36 14 L14 36 L6 28 Z' fill='%23c2410c' stroke='%23111' stroke-width='1.2'/%3E%3Cpath d='M28 8 L34 14 L14 34 L10 30 Z' fill='%23fff' opacity='.28'/%3E%3Cpath d='M6 28 L14 36 L10 40 L2 32 Z' fill='%23333'/%3E%3Cpath d='M2 32 L6 36 L4 38 L0 34 Z' fill='%23111'/%3E%3C/svg%3E") 4 38}[data-layout=whiteboard] body,[data-layout=whiteboard] a,[data-layout=whiteboard] button,[data-layout=whiteboard] [role=button],[data-layout=whiteboard] input,[data-layout=whiteboard] select,[data-layout=whiteboard] textarea,[data-layout=whiteboard] .chip,[data-layout=whiteboard] .btn,[data-layout=whiteboard] .nav a,[data-layout=whiteboard] .theme-picker-button,[data-layout=whiteboard] .theme-card{cursor:var(--wb-cursor),auto!important}[data-layout=whiteboard] .lab-footer{margin-top:12px;padding:8px 12px;border:0;border-top:2px dashed var(--wb-ink);background:transparent;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:11px;letter-spacing:0;text-transform:none}[data-layout=whiteboard] .footer-grid{display:flex;flex-wrap:wrap;gap:10px 18px}[data-layout=whiteboard] .footer-grid h3{color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:12px;letter-spacing:0;text-transform:none;text-decoration:underline wavy}[data-layout=whiteboard] .footer-grid ul{display:flex;flex-wrap:wrap;gap:6px 12px}[data-layout=whiteboard] .footer-grid a,[data-layout=whiteboard] .footer-grid button{color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:11px;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:3px}[data-layout=whiteboard] .footer-legal{border-top:2px dashed var(--wb-ink);color:var(--wb-ink)}[data-layout=whiteboard] .specimen,[data-layout=whiteboard] .node,[data-layout=whiteboard] .skill,[data-layout=whiteboard] .tl-card,[data-layout=whiteboard] .article,[data-layout=whiteboard] .gantt{border:2px solid var(--wb-marker);border-radius:255px 15px 225px/15px 225px 15px 255px;background:#ffffffd1;color:var(--wb-ink);box-shadow:3px 3px #0000002e;font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive}[data-layout=whiteboard] .specimen:before,[data-layout=whiteboard] .node+.node:before,[data-layout=whiteboard] .node+.node:after{display:none}[data-layout=whiteboard] .specimen:hover,[data-layout=whiteboard] .node:hover{transform:rotate(-.4deg) translateY(-3px);border-color:var(--wb-marker);box-shadow:4px 5px #00000038}[data-layout=whiteboard] .specimen-title,[data-layout=whiteboard] .node-title,[data-layout=whiteboard] .skill-name,[data-layout=whiteboard] .article-head h1,[data-layout=whiteboard] .section-head h2,[data-layout=whiteboard] .display{color:var(--wb-marker);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;text-transform:none;letter-spacing:0}[data-layout=whiteboard] .specimen-title a,[data-layout=whiteboard] .node-title a{text-decoration:underline wavy;text-underline-offset:3px}[data-layout=whiteboard] .specimen-cover,[data-layout=whiteboard] .node-cover{border:2px solid var(--wb-marker);border-radius:8px 3px 12px 4px}[data-layout=whiteboard] .specimen-tag,[data-layout=whiteboard] .node-head,[data-layout=whiteboard] .specimen-foot,[data-layout=whiteboard] .node-meta{color:var(--wb-marker);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:9px;letter-spacing:0;text-transform:none}[data-layout=whiteboard] .chip,[data-layout=whiteboard] .btn{border:2px solid var(--wb-marker);border-radius:8px 2px 10px 3px;background:transparent;color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;text-transform:none;letter-spacing:0}[data-layout=whiteboard] .chip-active{background:var(--wb-marker);color:#fff}[data-layout=whiteboard] .node-port{border:2px solid var(--wb-marker);border-radius:50%;background:#fff}[data-layout=whiteboard] .timeline:before{left:8px;width:7px;background:var(--wb-marker);border-radius:6px;transform:rotate(.3deg);box-shadow:3px 0 color-mix(in srgb,var(--wb-marker) 35%,transparent);opacity:.85}[data-layout=whiteboard] .tl-item:before{width:15px;height:15px;border:2.5px solid var(--wb-marker);border-right-color:transparent;border-bottom-color:transparent;border-radius:50% 45% 55% 48%;background:transparent;transform:rotate(-25deg)}[data-layout=whiteboard] .tl-item:after{content:"";position:absolute;left:-1.65rem;top:.38rem;width:9px;height:9px;border:2px solid var(--wb-marker);border-left-color:transparent;border-top-color:transparent;border-radius:50%;transform:rotate(20deg);opacity:.65}[data-layout=whiteboard] .tl-date,[data-layout=whiteboard] .tl-role,[data-layout=whiteboard] .tl-body{font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;color:var(--wb-ink)}[data-layout=whiteboard] .skill{border-radius:12px 4px 14px 3px}[data-layout=whiteboard] .skill-logo{border:2px solid var(--wb-marker);border-radius:50% 40% 55% 45%}[data-layout=whiteboard] .gantt-bar{border-radius:8px 2px 10px 3px;box-shadow:2px 2px #0003}[data-layout=whiteboard] .article{padding:0;border-radius:18px 4px 20px 6px}[data-layout=whiteboard] .article-head{border-bottom:2px dashed var(--wb-marker)}[data-layout=whiteboard] .prose{color:var(--wb-ink);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;font-size:13px}[data-layout=whiteboard] .prose h2,[data-layout=whiteboard] .prose h3{color:var(--wb-marker);font-family:Segoe Print,Bradley Hand,Comic Sans MS,cursive;text-decoration:underline wavy}[data-layout=whiteboard] .prose a{color:var(--wb-marker)}[data-layout=whiteboard] .prose blockquote{border-left:3px dashed var(--wb-marker);background:#ffffe1;color:var(--wb-ink)}[data-layout=whiteboard] .prose code{border:1px dashed var(--wb-marker);background:#f0f0e8;color:var(--wb-ink)}[data-layout=whiteboard] .prose pre{border:2px dashed var(--wb-marker);background:#fff;color:var(--wb-ink)}[data-layout=whiteboard] .skeleton{border:2px dashed var(--wb-marker);background:#f4f4ec}@media(max-width:1100px){[data-layout=whiteboard] .lab{grid-template-columns:1fr}[data-layout=whiteboard] .rail{position:static;display:flex;align-items:center;justify-content:center;min-height:0;height:62px;margin-bottom:12px;padding:0 16px;border-radius:16px 16px 10px 10px;box-shadow:inset 0 0 0 2px #fff,inset 0 -12px #2a2a2a,0 6px #8a8a8a,0 12px 20px #00000040;overflow:hidden}[data-layout=whiteboard] .rail:before{display:none}[data-layout=whiteboard] .rail-title{margin:0;font-size:16px;text-align:center;transform:none}[data-layout=whiteboard] .rail-mark,[data-layout=whiteboard] .rail>.mono,[data-layout=whiteboard] .rail-rule,[data-layout=whiteboard] .rail-list,[data-layout=whiteboard] .rail-foot{display:none}}@media(max-width:760px){[data-layout=whiteboard] .shell{width:calc(100% - 10px)}[data-layout=whiteboard] .rail{height:54px}[data-layout=whiteboard] .rail-title{font-size:14px}[data-layout=whiteboard] .screen-frame{padding:8px;border-width:10px}[data-layout=whiteboard] .screen-frame main{min-height:60vh;padding:8px}[data-layout=whiteboard] .nav{display:none;flex-basis:100%;gap:6px}[data-layout=whiteboard] .nav.nav-open{display:flex;flex-direction:row;flex-wrap:wrap}[data-layout=whiteboard] .nav a{padding:5px 10px 5px 18px;font-size:10px}[data-layout=whiteboard] .search{flex-basis:100%}[data-layout=whiteboard] .prose{font-size:14px}[data-layout=whiteboard] .specimen,[data-layout=whiteboard] .node{padding:.9rem}}[data-layout=whiteboard] .wb-erase-canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;pointer-events:none}[data-layout=whiteboard] .rail{touch-action:none;cursor:var(--wb-cursor),auto!important}[data-layout=whiteboard] .wb-eraser-drag .rail{opacity:.35}.wb-eraser-float{position:fixed;z-index:400;display:none;width:110px;height:64px;border:3px solid #8a8a8a;border-radius:10px 10px 6px 6px;background:linear-gradient(180deg,#f4f4f4,#d6d6d6 70%,#bdbdbd);box-shadow:inset 0 0 0 2px #fff,inset 0 -15px #2a2a2a,0 10px 20px #00000059;pointer-events:none}[data-layout=whiteboard] .wb-hover-ring{position:fixed;z-index:250;display:block;overflow:visible;pointer-events:none;opacity:0}[data-layout=whiteboard] .wb-hover-ring circle{fill:none!important;stroke:var(--wb-marker);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:99 1;stroke-dashoffset:100;vector-effect:non-scaling-stroke}[data-layout=whiteboard] .wb-hover-ring.visible{opacity:1}[data-layout=whiteboard] .wb-hover-ring.visible circle{animation:wb-ring-draw .55s ease forwards}@keyframes wb-ring-draw{to{stroke-dashoffset:0}}
