/* The portfolio continues the personal page's paper, ink and scarlet palette. */
.profile-portfolio{--ink:#131311;--muted:#70685e;--blue:#c91e36;--bg:#e7e1d4;--line:#b6ad9e;--ease:cubic-bezier(.22,1,.36,1);font-family:inherit;color:var(--ink);background:var(--paper);position:relative;isolation:isolate}
.profile-portfolio [hidden]{display:none!important}.profile-portfolio .wrap{width:87.5%;max-width:1320px}
.profile-portfolio .section:not(.wrap){width:100%;max-width:none;margin-inline:0}
.profile-portfolio :is(h2,h3,h4){font-family:Georgia,'Songti SC','SimSun',serif;font-weight:400;letter-spacing:.03em;text-wrap:pretty}
.profile-portfolio .section-head h2,.profile-portfolio .section-title{font-weight:400}
.profile-portfolio .product-dialog{margin:auto}
.profile-portfolio :is(a,button,summary):focus-visible{outline:2px solid var(--red);outline-offset:5px}
.profile-portfolio ::selection{color:var(--paper);background:var(--red)}
.portfolio-heading{border-top:1px solid var(--line);padding:62px 0 46px}.portfolio-heading>.section-kicker{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.22em;color:var(--muted)}
.portfolio-rule{width:28px;height:2px;background:var(--red)}.portfolio-intro-line{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:60px;margin-top:27px}
.portfolio-intro-line h2{font-size:clamp(36px,4.4vw,64px);line-height:1.35}.portfolio-intro-line>div>p:first-child{font-size:13px;line-height:2.1;color:var(--muted)}
.portfolio-stat{margin-top:26px;font-size:10px;letter-spacing:.14em}.portfolio-stat span{margin-inline:15px;color:var(--line)}
.portfolio-nav{border-block:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:5}.portfolio-nav>.wrap{display:flex;gap:36px;align-items:center;min-height:58px;overflow-x:auto;scrollbar-width:none}.portfolio-nav a{display:flex;gap:10px;align-items:center;padding:17px 0;font-family:Georgia,serif;font-size:12px;color:var(--red);white-space:nowrap}.portfolio-nav a span{font-family:inherit;color:var(--ink);font-size:11px;letter-spacing:.08em}.portfolio-nav a:hover span{color:var(--red)}
.profile-portfolio section[id]{scroll-margin-top:78px}.profile-portfolio .section{padding:70px 0}.profile-portfolio .section-head{margin-bottom:30px;align-items:end}.profile-portfolio .section-head h2{font-size:clamp(29px,3vw,44px);line-height:1.4;letter-spacing:.03em}.profile-portfolio .section-head p{font-size:12px;line-height:2;color:var(--muted)}.profile-portfolio .section-kicker{font-size:9px;line-height:1.8;font-family:inherit;letter-spacing:.18em;color:var(--muted);margin-bottom:12px}
.profile-portfolio .site-feature{padding-top:60px;padding-bottom:70px}.profile-portfolio .site-screen{border-radius:0;height:480px;background:var(--ink)}.profile-portfolio .site-screen:after{background:linear-gradient(90deg,#131311c9,transparent 90%),linear-gradient(0deg,#13131180,transparent 65%)}
.profile-portfolio .site-screen-copy h3{font-size:clamp(34px,4vw,56px);line-height:1.5;font-weight:400}.profile-portfolio .site-screen-copy :is(.section-kicker,p){color:var(--paper)}.profile-portfolio .site-caption{font-size:10px;margin-top:16px;letter-spacing:.04em}
.profile-portfolio .button{border-radius:0;min-height:44px;font-size:12px;padding:12px 21px;background:var(--red);color:var(--paper);box-shadow:none}.profile-portfolio .button:hover{background:var(--ink);transform:translateY(-2px)}.profile-portfolio .text-link{font-size:12px;line-height:1.8;color:var(--red);text-underline-offset:5px}.profile-portfolio .text-link:hover{text-decoration:underline}
.profile-portfolio .tools-section,.profile-portfolio .catalog-section{background:transparent;border-top:1px solid var(--line)}.profile-portfolio .tools-grid{grid-template-columns:1fr 1fr;gap:30px}.profile-portfolio .feature-card{border-radius:0;padding:34px;box-shadow:none;border:1px solid var(--line)}
.profile-portfolio .qa-feature{background:var(--ink);color:var(--paper);min-height:0;border-color:var(--ink)}.profile-portfolio .qa-feature :is(.section-kicker,.feature-description,.qa-stat span,.qa-answer,.demo-label){color:#eee9dcb3}.profile-portfolio .qa-feature :is(.text-link,.qa-source){color:var(--paper)}.profile-portfolio .qa-demo{background:transparent;border-color:#eee9dc44;border-radius:0;box-shadow:none}.profile-portfolio .qa-question{background:var(--red);border-radius:0;color:var(--paper)}.profile-portfolio .qa-stat strong{font-family:Georgia,serif;font-weight:400}
.profile-portfolio .feature-card h3{font-size:32px;line-height:1.45}.profile-portfolio .notes-feature{grid-column:auto;grid-template-columns:1fr;align-content:space-between;gap:32px;background:transparent}.profile-portfolio .notes-feature .feature-description{color:var(--muted)}.profile-portfolio .note-sheet{border-radius:0;box-shadow:none;background:#f5f0e6;border-color:var(--line);width:45%;max-width:180px;padding:20px}.profile-portfolio .note-sheet strong{font-family:'SimSun',serif;font-weight:400;line-height:1.8}.profile-portfolio .mindmap-mini span:nth-child(n){background:#dfd7c7;color:#665e51;border-radius:0}.profile-portfolio .note-line{border-radius:0;background:#d6cebf}
.profile-portfolio .game-feature{border-radius:0;background:var(--ink)}.profile-portfolio .game-feature:after{background:linear-gradient(90deg,#131311f2,#1313118a 55%,#13131118)}.profile-portfolio .game-copy h3{font-weight:400;line-height:1.5}.profile-portfolio .game-copy :is(.section-kicker,p,.game-meta span,.game-version){color:#eee9dcc9}.profile-portfolio .game-meta b{font-family:Georgia,serif;font-weight:400;color:var(--paper)}.profile-portfolio .game-feature .button{background:var(--paper);color:var(--ink)}.profile-portfolio .game-feature .text-link{color:var(--paper)}.profile-portfolio .game-pair{gap:30px;margin-top:30px}.profile-portfolio .game-small{border-radius:0;background:transparent;border-bottom:1px solid var(--line)}.profile-portfolio .game-small-copy{padding:27px 0 30px}.profile-portfolio .game-small h3{font-weight:400;line-height:1.5}.profile-portfolio .game-small .game-photo img{filter:saturate(.8)}
.profile-portfolio .catalog-grid{gap:38px 28px}.profile-portfolio .catalog-card{background:transparent;border-radius:0;border-top:1px solid var(--line)}.profile-portfolio .catalog-art{margin-top:16px;height:auto;aspect-ratio:16/9;background:var(--bg)}.profile-portfolio .catalog-art img{filter:saturate(.8)}.profile-portfolio .catalog-copy{padding:22px 0 0}.profile-portfolio .catalog-copy h3{font-size:23px;line-height:1.5;font-weight:400}.profile-portfolio .catalog-description{font-size:12px;line-height:2}.profile-portfolio .product-status,.profile-portfolio .version{color:var(--muted);font-weight:400}.profile-portfolio .catalog-count{white-space:normal;font-size:11px}.profile-portfolio .card-bottom{border-color:var(--line);padding-bottom:15px}.profile-portfolio .card-bottom .text-link{font-size:11px}.profile-portfolio .plus{border-radius:0;background:transparent;border:1px solid var(--line);color:var(--red)}.profile-portfolio .product-details summary:hover .plus{background:var(--red);color:var(--paper)}.profile-portfolio .product-details summary{color:var(--muted)}
.profile-portfolio .filters{gap:22px;border-bottom:1px solid var(--line);margin-bottom:32px}.profile-portfolio .filter{border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 0 12px;background:none;color:var(--muted);font-size:12px;min-height:42px}.profile-portfolio .filter[aria-pressed=true]{color:var(--red);border-color:var(--red);background:none}.profile-portfolio .filter:hover{color:var(--red);border-color:var(--red)}
.profile-portfolio .symbol-art{background:var(--ink);color:var(--paper)}.profile-portfolio .symbol-art>span{font-family:Georgia,'SimSun',serif;background:none;border:0;box-shadow:none;border-radius:0;color:var(--paper);font-weight:400;transform:none}.profile-portfolio .symbol-art:after{border-color:#eee9dc33;border-radius:0;transform:translate(60px,65px) rotate(-20deg)}.profile-portfolio .notes-art{background:var(--red)}
.profile-portfolio .choose-section{border-top:1px solid var(--line);padding-block:65px}.profile-portfolio .choose-intro .section-title{font-size:36px;line-height:1.5}.profile-portfolio .choose-intro p{font-size:12px;line-height:2}.profile-portfolio .faq summary{font-family:'SimSun',serif;font-weight:400;font-size:17px;line-height:1.7}.profile-portfolio .faq p{font-size:12px;line-height:2}.profile-portfolio .ending{border-block:1px solid var(--line);padding:60px 24px;background:transparent}.profile-portfolio .ending h2{font-weight:400;line-height:1.55}.profile-portfolio .ending p{font-size:12px}
.portfolio-footnote{padding-block:24px 30px;font-size:10px;line-height:1.9;color:var(--muted)}.profile-portfolio .product-dialog{background:var(--paper);color:var(--ink);border-radius:0;border:1px solid var(--ink);box-shadow:0 30px 100px #0005}.profile-portfolio .product-dialog::backdrop{background:#131311a6;backdrop-filter:blur(4px)}.profile-portfolio .dialog-close{border-radius:0;background:none;color:var(--red);border:1px solid var(--line)}.profile-portfolio .dialog-content h2{font-weight:400;letter-spacing:.03em;line-height:1.5}.profile-portfolio .dialog-note{border-radius:0;background:#e2dbcd}.magpie-profile.product-dialog-open{overflow:hidden}
.profile-portfolio.portfolio-motion .reveal.pending{opacity:0;transform:translateY(18px)}.magpie-profile.scene-only .profile-portfolio{display:none}
@media(max-width:1000px){.profile-portfolio .wrap{width:87.5%}.portfolio-intro-line{gap:30px}.profile-portfolio .feature-card{padding:27px}.profile-portfolio .tools-grid{gap:22px}.profile-portfolio .feature-card h3{font-size:28px}.profile-portfolio .notes-flow{gap:10px}.profile-portfolio .note-sheet{padding:14px}}
@media(max-width:760px){.portfolio-heading{padding-top:42px}.portfolio-intro-line{grid-template-columns:1fr;gap:22px}.portfolio-intro-line h2{font-size:40px}.portfolio-intro-line h2 br{display:none}.portfolio-nav>.wrap{gap:24px;min-height:52px}.profile-portfolio .section,.profile-portfolio .site-feature{padding-block:45px}.profile-portfolio .tools-grid{grid-template-columns:1fr}.profile-portfolio .notes-feature{grid-column:auto}.profile-portfolio .qa-feature{min-height:0}.profile-portfolio .section-head{align-items:flex-start}.profile-portfolio .site-screen{height:430px}.profile-portfolio .site-screen-copy h3{font-size:40px}.profile-portfolio .catalog-grid{gap:28px 20px}.profile-portfolio .catalog-copy h3{font-size:20px}.profile-portfolio .game-pair{gap:22px}.profile-portfolio .choose-grid{gap:20px}.profile-portfolio .choose-section{padding-block:45px}.profile-portfolio .game-copy{min-height:540px}.profile-portfolio .game-feature{min-height:540px}.profile-portfolio .game-copy h3{font-size:40px}}
@media(max-width:480px){.profile-portfolio .wrap{width:calc(100% - 52px)}.portfolio-heading{padding:36px 0}.portfolio-intro-line h2{font-size:34px}.portfolio-intro-line>div>p:first-child{font-size:11px}.portfolio-stat{font-size:9px}.portfolio-stat span{margin-inline:10px}.profile-portfolio .section-head h2{font-size:29px}.profile-portfolio .section-kicker{font-size:8px}.profile-portfolio .site-screen{height:420px}.profile-portfolio .site-screen-copy h3{font-size:35px}.profile-portfolio .site-screen-copy p{font-size:11px}.profile-portfolio .feature-card{padding:25px}.profile-portfolio .catalog-grid{grid-template-columns:1fr}.profile-portfolio .catalog-copy h3{font-size:23px}.profile-portfolio .catalog-art{height:auto;aspect-ratio:16/9}.profile-portfolio .filters{gap:16px}.profile-portfolio .filter{font-size:11px}.profile-portfolio .game-pair{grid-template-columns:1fr}.profile-portfolio .game-copy{padding:27px;min-height:560px}.profile-portfolio .game-feature{min-height:560px}.profile-portfolio .game-copy h3{font-size:35px}.profile-portfolio .game-meta{gap:20px}.profile-portfolio .game-small-copy{padding:22px 0}.profile-portfolio .choose-intro .section-title{font-size:30px}.profile-portfolio .ending h2{font-size:29px}.profile-portfolio .dialog-content{padding:48px 24px 28px}.profile-portfolio .dialog-features{font-size:12px}.profile-portfolio .dialog-tagline{font-size:16px}.profile-portfolio .dialog-links{gap:16px}}
@media(max-width:360px){.profile-portfolio .wrap{width:calc(100% - 44px)}.portfolio-intro-line h2{font-size:31px}.profile-portfolio .feature-card{padding:22px}.profile-portfolio .game-meta{gap:16px}.profile-portfolio .game-meta b{font-size:23px}.profile-portfolio .site-screen-copy h3{font-size:31px}.profile-portfolio .filters{gap:12px}.profile-portfolio .filter{font-size:10px}}
@media(prefers-reduced-motion:reduce){.profile-portfolio.portfolio-motion .reveal.pending{opacity:1;transform:none}}
