@font-face{font-family:Folio Garamond;src:url('../fonts/folio/eb-garamond-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Folio Garamond;src:url('../fonts/folio/eb-garamond-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Folio Garamond;src:url('../fonts/folio/eb-garamond-600-normal.woff2') format('woff2');font-weight:600 900;font-style:normal;font-display:swap}
@font-face{font-family:Folio Garamond;src:url('../fonts/folio/eb-garamond-400-italic.woff2') format('woff2');font-weight:400 900;font-style:italic;font-display:swap}

/* The design selector belongs to both themes; light/dark remains independent. */
.fj-design-control{display:inline-flex;align-items:center;gap:7px;flex:none;margin:0;font:12px/1.4 var(--font-ui,serif);color:var(--g-ink,var(--ink));white-space:nowrap}
.fj-design-control>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.fj-design-control select{box-sizing:border-box;min-height:44px;width:134px;max-width:100%;padding:0 12px;border:1px solid var(--g-line,var(--line));border-radius:0;background:var(--g-bg,var(--bg));color:var(--g-ink,var(--ink));font:14px/1.4 var(--font-ui,serif);cursor:pointer;appearance:auto;letter-spacing:0}
.fj-design-control select:focus-visible{outline:2px solid var(--g-accent,var(--accent));outline-offset:3px}
.fj-design-footer{padding:18px 24px;display:flex;justify-content:flex-end;position:relative;z-index:2;border-top:1px solid var(--g-line);background:var(--g-bg)}
body.fj-app .fj-global-rail{flex-wrap:wrap}
body.fj-app .fj-global-rail nav{align-items:center;flex-wrap:wrap;margin-block:0;border:0}
@media(max-width:540px){body.fj-shared .site-header__inner{flex-wrap:wrap;gap:10px;padding-block:12px}body.fj-shared .header-right{max-width:100%;margin-left:auto}body.fj-shared .nav-actions{flex-wrap:wrap;justify-content:flex-end}.fj-design-control select{min-height:40px;width:130px;padding-inline:8px;font-size:13px}body.fj-app .fj-global-rail nav{gap:12px}.fj-global-rail .fj-design-control{margin-left:auto}}
@media(max-width:540px){body.fj-shared .header-right{width:100%}body.fj-shared .nav-actions{width:100%;justify-content:flex-end}.nav-actions>.fj-design-control{margin-right:auto}body.fj-shared .site-header .wordmark{font-size:25px}}

/* Folio: a bookish companion to the contemporary open archive. */
html[data-design=folio]{--folio-bg:#f7f2e8;--folio-ink:#252d39;--folio-soft:#5d6370;--folio-line:#cbc7bc;--folio-card:#fffcf5;--folio-panel:#ebe5d8;--folio-accent:#304b78;--font-display:'Folio Garamond',Georgia,serif;--font-ui:'Folio Garamond','Folio SC','Noto Serif SC Variable','Songti SC','SimSun',serif;--font-sans-cn:var(--font-ui);--font-serif-cn:var(--font-ui);--font-mono:'Folio Garamond','Folio SC','Noto Serif SC Variable',serif;--page-max:1440px;--gutter:clamp(22px,5vw,80px);--bg:var(--folio-bg);--ink:var(--folio-ink);--soft:var(--folio-soft);--line:var(--folio-line);--card:var(--folio-card);--panel:var(--folio-panel);--accent:var(--folio-accent);--accent-pop:var(--folio-accent);--g-bg:var(--folio-bg);--g-ink:var(--folio-ink);--g-soft:var(--folio-soft);--g-line:var(--folio-line);--g-card:var(--folio-card);--g-panel:var(--folio-panel);--g-accent:var(--folio-accent);--g-accent-pop:var(--folio-accent)}
html[data-design=folio][data-theme=dark],html[data-design=folio].dark{--folio-bg:#191d24;--folio-ink:#eee8da;--folio-soft:#b5b0a5;--folio-line:#414650;--folio-card:#21262e;--folio-panel:#2b3039;--folio-accent:#b7cae8}
html[data-design=folio] body:is(.fj-shared,.fj-app){--bg:var(--folio-bg);--ink:var(--folio-ink);--soft:var(--folio-soft);--line:var(--folio-line);--card:var(--folio-card);--panel:var(--folio-panel);--accent:var(--folio-accent);--accent-pop:var(--folio-accent);--g-bg:var(--folio-bg);--g-ink:var(--folio-ink);--g-soft:var(--folio-soft);--g-line:var(--folio-line);--g-card:var(--folio-card);--g-panel:var(--folio-panel);--g-accent:var(--folio-accent);--g-accent-pop:var(--folio-accent);--font:var(--font-ui);font-family:var(--font-ui)!important;background-color:var(--folio-bg);color:var(--folio-ink)}
html[data-design=folio] body.fj-baipiao{--folio-bg:#191d24;--folio-ink:#eee8da;--folio-soft:#b5b0a5;--folio-line:#414650;--folio-card:#21262e;--folio-panel:#2b3039;--folio-accent:#b7cae8}
html[data-design=folio] body.fj-shared .site-header{border-bottom:3px double var(--line)}
html[data-design=folio] body.fj-shared .site-header .wordmark{font-size:30px;letter-spacing:-.045em;font-weight:400}
html[data-design=folio] body.fj-shared .site-nav a{font-size:15px}
html[data-design=folio] body.fj-shared .theme-toggle,html[data-design=folio] .fj-search-toggle{border-radius:0}
html[data-design=folio] body.fj-shared .page-head{padding-block:65px 40px;border-bottom:1px solid var(--line);margin-bottom:28px}
html[data-design=folio] body.fj-shared .page-title{font-weight:400;font-style:italic;letter-spacing:-.045em;font-size:clamp(60px,10.5vw,148px);line-height:1.15}
html[data-design=folio] body.fj-shared .page-title__cn{font-style:normal;font-size:20px;letter-spacing:.15em}
html[data-design=folio] body.fj-shared .page-explain{font-size:16px;line-height:2;max-width:48ch}
html[data-design=folio] body.fj-shared .section-title{font-weight:500;font-size:clamp(28px,3.5vw,46px);letter-spacing:.015em}
html[data-design=folio] body.fj-shared .section-head{padding-bottom:20px;border-bottom:1px solid var(--line)}
html[data-design=folio] body.fj-shared .work-card__title{font-weight:500;letter-spacing:.015em;line-height:1.55}
html[data-design=folio] body.fj-shared .work-card__line{font-size:15px;line-height:2}
html[data-design=folio] body.fj-shared .work-card__visual{background:var(--panel);border:1px solid var(--line);padding:clamp(18px,2.5vw,36px)}
html[data-design=folio] body.fj-shared .work-card:nth-child(4n+2) .work-card__visual{background:var(--card)}
html[data-design=folio] body.fj-shared .collection-cover{border-top:3px double var(--accent);background:var(--card)}
html[data-design=folio] body.fj-shared .collection-cover__title{font-size:29px;line-height:1.5}
html[data-design=folio] body.fj-shared .chip{font-size:14px}
html[data-design=folio] body.fj-shared .col-list{gap:0 64px}
html[data-design=folio] body.fj-shared .col-list li{padding-block:34px}
html[data-design=folio] body.fj-shared .col-list li::before{content:counter(collection,upper-roman);font-family:var(--font-display);font-size:15px}
html[data-design=folio] body.fj-shared .cl-name{font-weight:500;font-size:27px;letter-spacing:.015em}
html[data-design=folio] body.fj-shared .cl-line{font-size:15px;line-height:2}
html[data-design=folio] body.fj-shared .cl-domain{font-size:14px}
html[data-design=folio] .fj-footer__word{font-weight:400;letter-spacing:-.05em;line-height:1.2}
html[data-design=folio] .fj-footer{border-top:3px double var(--line)}
html[data-design=folio] .fj-home .fj-mast{padding-top:20px}
html[data-design=folio] .fj-home .fj-mast::before{content:'THE FJOJO REVIEW · 私人藏书与造物';display:block;text-align:center;font:12px/1.8 var(--font-ui);letter-spacing:.13em;color:var(--soft);margin:4px 0 0}
html[data-design=folio] .fj-mast__name{justify-content:center;gap:.015em;font-weight:400;letter-spacing:-.065em;font-size:clamp(130px,20.5vw,286px);line-height:1.03;margin-bottom:12px}
html[data-design=folio] .fj-home .fj-intro{grid-template-columns:.95fr 1.2fr;border-top:3px double var(--line);padding-block:38px 60px;gap:clamp(30px,6vw,85px)}
html[data-design=folio] .fj-intro__text{grid-column:1;grid-row:1}
html[data-design=folio] .fj-intro__text h2{font-size:clamp(35px,4.2vw,60px);line-height:1.5;font-weight:500;letter-spacing:.015em;margin-bottom:22px}
html[data-design=folio] .fj-intro__text p{font-size:16px;line-height:2;max-width:29ch}
html[data-design=folio] .fj-art{grid-column:2;grid-row:1;aspect-ratio:1.45;border:10px solid var(--card);outline:1px solid var(--line)}
html[data-design=folio] .fj-art img{animation:none;transform:none}
html[data-design=folio] .fj-home .fj-featured .work-card:first-child .work-card__title{font-size:clamp(40px,6vw,76px);letter-spacing:-.025em;font-weight:400}
html[data-design=folio] .fj-home .track__en{font-size:50px;font-weight:400;letter-spacing:-.03em}
html[data-design=folio] .fj-quote .hero__tagline-de{font-family:var(--font-display);font-size:clamp(28px,3vw,44px);line-height:1.3}
html[data-design=folio] .fj-quote .hero__tagline-zh{font-size:17px;line-height:2.1}
html[data-design=folio] body.fj-shared .article-body{font-size:18px;line-height:2.15}
html[data-design=folio] body.fj-shared .article-title{font-weight:500;letter-spacing:.015em;line-height:1.55}
html[data-design=folio] body.fj-daily .masthead{font-family:var(--font-ui);font-weight:500;letter-spacing:-.025em}
html[data-design=folio] body.fj-daily .card__title{font-size:26px;line-height:1.6;letter-spacing:.01em}
html[data-design=folio] body.fj-daily .card__dek{font-size:16px;line-height:2}
html[data-design=folio] body.fj-app h1{font-weight:500;letter-spacing:.015em}
html[data-design=folio] .fj-global-rail>a:first-child{font-family:var(--font-display);font-weight:400;font-size:25px}
@media(min-width:1000px){html[data-design=folio] body.fj-shared.theme-gallery .card-grid .work-card:nth-child(even){margin-top:0}}
@media(max-width:760px){html[data-design=folio] body.fj-shared .page-head{padding-block:35px 25px}html[data-design=folio] body.fj-shared .page-title{font-size:clamp(50px,13vw,90px)}html[data-design=folio] .fj-home .fj-intro{grid-template-columns:minmax(0,1fr);padding-block:28px 40px;gap:30px}html[data-design=folio] .fj-intro__text{grid-column:1;grid-row:1}html[data-design=folio] .fj-art{grid-column:1;grid-row:2;aspect-ratio:1.5;border-width:7px}html[data-design=folio] .fj-intro__text h2{font-size:clamp(31px,8.5vw,45px);line-height:1.6}html[data-design=folio] .fj-intro__text p{max-width:none;font-size:15px}html[data-design=folio] .fj-mast__name{font-size:23vw;line-height:1.2;margin-bottom:10px}html[data-design=folio] .fj-home .fj-mast::before{font-size:10px;letter-spacing:.07em}html[data-design=folio] body.fj-shared .col-list{gap:0}html[data-design=folio] body.fj-shared .cl-name{font-size:24px}html[data-design=folio] .fj-home .track__en{font-size:38px}html[data-design=folio] body.fj-daily .card__title{font-size:22px}}
@media print{.fj-design-control,.fj-design-footer{display:none!important}html[data-design=folio] body:is(.fj-shared,.fj-app){--folio-bg:white;--folio-ink:black;--folio-soft:#333;--folio-line:#aaa;--folio-card:white;--folio-panel:#eee;--folio-accent:black}}
/* Existing tool text must follow the active light/dark palette in both designs. */
body.fj-skills .card p,body.fj-joki .empty{color:var(--g-soft)}
body.fj-skills .chip.on{background:var(--g-ink);color:var(--g-bg)}
body.fj-skills .chip:hover{background:var(--g-panel);color:var(--g-ink)}
/* Keep a long archive inexpensive until its next section is near the viewport. */
.fj-home .fj-featured{content-visibility:auto;contain-intrinsic-size:auto 1300px}
.fj-home .fj-collection{content-visibility:auto;contain-intrinsic-size:auto 2600px}
.fj-home .tracks,.fj-home .fj-quote{content-visibility:auto;contain-intrinsic-size:auto 350px}
html[data-design=folio] .fj-intro,html[data-design=folio] .fj-mast__name span{animation:none}
