:root{
--fi-paper:#ede6d3;
--fi-ink:#26221a;
--fi-army:#4b6a2e;
--fi-army-d:#3a5323;
--fi-ochre:#b08a4e;
--fi-ochre-d:#7b5a26;
--fi-line:#d9cfb5;
--fi-surface:#f8f4ea;
--fi-mute:#5b5342;
--fi-sand:#e2d3ac;
--fi-r:7px;
--fi-cjk:"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif;
--fi-lat:"Haettenschweiler","Impact",sans-serif;
--fi-wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--fi-paper);color:var(--fi-ink);font-family:var(--fi-cjk);font-size:17px;line-height:1.85;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--fi-army-d);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--fi-ink)}
:focus-visible{outline:3px solid var(--fi-army);outline-offset:2px;border-radius:2px}
code{font-family:Consolas,"Courier New",monospace;font-size:.92em;background:var(--fi-surface);border:1px solid var(--fi-line);padding:0 .3em;border-radius:3px;word-break:break-all}
.fi-skip{position:absolute;left:12px;top:-60px;background:var(--fi-ink);color:var(--fi-paper);padding:10px 14px;z-index:10;border-radius:var(--fi-r)}
.fi-skip:focus{top:10px}
.fi-top{border-bottom:1px solid var(--fi-line);background:var(--fi-paper)}
.fi-top-in{max-width:var(--fi-wrap);margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.fi-home-link{display:inline-flex;align-items:center;min-height:44px;color:var(--fi-ink);text-decoration:none}
.fi-mark{display:block;width:132px;height:40px}
.fi-nav-list{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.fi-nav-list a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:48px;padding:0 14px;color:var(--fi-ink);text-decoration:none;font-size:16px;border-radius:var(--fi-r)}
.fi-nav-list a:hover{background:var(--fi-surface)}
.fi-nav-list a[aria-current="page"]{box-shadow:inset 0 -3px 0 var(--fi-army)}
.fi-main{display:block}
.fi-hero{max-width:var(--fi-wrap);margin:0 auto;padding:36px 24px 40px;display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:"copy pan" "act pan";column-gap:48px;row-gap:22px;align-items:start}
.fi-hero-copy{grid-area:copy}
.fi-hero-act{grid-area:act;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;align-items:stretch}
.fi-pan{grid-area:pan;align-self:center}
.fi-h1{font-size:98px;line-height:1.06;font-weight:800;margin:0;letter-spacing:-1px;line-break:strict}
.fi-h1 span{display:inline-block}
.fi-h1-b{color:var(--fi-army)}
.fi-lede{margin:16px 0 0;font-size:18px;line-height:1.75;max-width:30em;color:var(--fi-mute)}
.fi-order{position:relative;background-color:var(--fi-surface);background-image:linear-gradient(180deg,transparent 0 47%,rgba(120,100,60,.07) 50%,rgba(255,255,255,.35) 51%,transparent 58%);border:1px solid #cdbf9c;padding:16px 18px 14px;border-radius:0;box-shadow:3px 4px 0 rgba(38,34,26,.08)}
.fi-order::before{content:"";position:absolute;top:-1px;right:-1px;width:22px;height:22px;background:linear-gradient(225deg,var(--fi-paper) 0 50%,#d8c9a5 50% 100%)}
.fi-order-head{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--fi-mute)}
.fi-order-tag{border:1.5px solid var(--fi-army);color:var(--fi-army-d);padding:0 8px;line-height:1.7;font-size:13px;font-weight:700}
.fi-order-row{display:flex;align-items:center;gap:12px;margin:8px 0 6px;flex-wrap:wrap}
.fi-code{font-family:var(--fi-lat);font-size:36px;line-height:1.1;letter-spacing:2px;background:none;border:0;padding:0;color:var(--fi-ink);word-break:normal}
.fi-copy{appearance:none;border:0;background:var(--fi-army);color:#f8f4ea;font:inherit;font-size:16px;font-weight:700;min-height:44px;min-width:76px;padding:0 18px;border-radius:var(--fi-r);cursor:pointer}
.fi-copy:hover{background:var(--fi-army-d)}
.fi-copy.is-done{background:var(--fi-ink)}
.fi-order-gain{margin:4px 0 6px;font-size:16px;line-height:1.6;font-weight:700}
.fi-star{color:var(--fi-ochre-d);margin-left:1px}
.fi-order-foot{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--fi-mute)}
.fi-order-disc{margin:8px 0 0;font-size:14px;line-height:1.65;color:var(--fi-mute)}
.fi-go{display:flex;align-items:center;justify-content:center;min-height:48px;margin:10px 0 0;padding:8px 16px;background:var(--fi-army);color:#f8f4ea;text-decoration:none;font-weight:700;border-radius:var(--fi-r);text-align:center;line-height:1.4}
.fi-go:hover{background:var(--fi-army-d);color:#fff}
.fi-pick{position:relative;padding:4px 0 4px 26px}
.fi-pick::before{content:"";position:absolute;left:7px;top:14px;bottom:10px;border-left:2px dashed var(--fi-army)}
.fi-pick::after{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:50%;background:var(--fi-paper);border:3px solid var(--fi-army)}
.fi-pick-tag{margin:0;font-size:14px;color:var(--fi-ochre-d);font-weight:700}
.fi-pick-link{display:inline-block;margin:4px 0 6px;font-size:19px;line-height:1.5;font-weight:700;color:var(--fi-ink);text-decoration:underline;text-decoration-color:var(--fi-ochre);text-decoration-thickness:2px;text-underline-offset:5px;padding:4px 0}
.fi-pick-link:hover{text-decoration-color:var(--fi-army)}
.fi-pick-note{margin:0;font-size:15px;line-height:1.7;color:var(--fi-mute)}
.fi-pan-board{position:relative;aspect-ratio:1/1;background-color:var(--fi-sand);background-image:repeating-linear-gradient(0deg,rgba(38,34,26,.07) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(38,34,26,.07) 0 1px,transparent 1px 40px);border:12px solid var(--fi-ochre);border-radius:var(--fi-r);box-shadow:inset 0 0 0 1px rgba(38,34,26,.25),0 18px 30px -18px rgba(38,34,26,.55);overflow:hidden}
.fi-ring{position:absolute;border:1.5px solid rgba(123,90,38,.45);border-radius:50%}
.fi-ring-1{left:8%;top:12%;width:58%;height:46%;transform:rotate(-12deg)}
.fi-ring-2{left:16%;top:20%;width:40%;height:30%;transform:rotate(-8deg)}
.fi-ring-3{left:24%;top:27%;width:22%;height:16%;transform:rotate(-4deg);background:rgba(176,138,78,.18)}
.fi-ring-4{left:48%;top:56%;width:46%;height:36%;transform:rotate(14deg)}
.fi-ring-5{left:58%;top:64%;width:26%;height:19%;transform:rotate(10deg);background:rgba(176,138,78,.18)}
.fi-flag{position:absolute;display:block;width:2px;height:62px;background:var(--fi-ink)}
.fi-flag::after{content:"";position:absolute;left:-4px;bottom:-4px;width:10px;height:6px;border-radius:50%;background:rgba(38,34,26,.35)}
.fi-flag-cloth{position:absolute;left:2px;top:0;white-space:nowrap;font-size:15px;line-height:1;font-weight:700;color:#f8f4ea;padding:7px 18px 7px 9px;clip-path:polygon(0 0,100% 0,84% 50%,100% 100%,0 100%)}
.fi-flag-a{left:30%;top:16%}
.fi-flag-a .fi-flag-cloth{background:var(--fi-army)}
.fi-flag-b{left:64%;top:58%}
.fi-flag-b .fi-flag-cloth{background:var(--fi-ink)}
.fi-flag-c{left:72%;top:10%}
.fi-flag-c .fi-flag-cloth{background:var(--fi-ochre-d)}
.fi-piece{position:absolute;left:calc(30% - 34px);top:calc(16% + 48px);width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#6f8f4c,var(--fi-army) 60%,var(--fi-army-d));box-shadow:0 0 0 3px #f8f4ea,0 0 0 4.5px var(--fi-ink),2px 5px 6px rgba(38,34,26,.35)}
.fi-home-body{max-width:760px;margin:0 auto;padding:8px 24px 56px}
.fi-home-body h2,.fi-doc h2,.fi-art h2,.fi-faq-h{font-size:26px;line-height:1.4;margin:44px 0 14px;font-weight:800;line-break:strict}
.fi-home-body h2::before,.fi-art h2::before{content:"";display:inline-block;width:12px;height:12px;margin-right:10px;vertical-align:.12em;background:var(--fi-army);clip-path:polygon(0 0,100% 0,72% 50%,100% 100%,0 100%)}
.fi-hs{display:inline-block}
.fi-home-body p,.fi-doc p,.fi-art p,.fi-art li,.fi-doc li{max-width:38em}
.fi-sheet{max-width:760px;margin:0 auto;padding:18px 24px 64px}
.fi-crumbs ol{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--fi-mute)}
.fi-crumbs li{display:flex;align-items:center}
.fi-crumbs li+li::before{content:"/";margin:0 8px;color:var(--fi-ochre)}
.fi-crumbs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--fi-mute)}
.fi-crumbs span[aria-current]{display:inline-block;max-width:16em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.fi-doc-h1{font-size:40px;line-height:1.3;margin:6px 0 10px;font-weight:800;line-break:strict}
.fi-doc-meta,.fi-count{font-size:14px;color:var(--fi-mute)}
.fi-doc ul,.fi-art ul,.fi-art ol{padding-left:1.4em}
.fi-doc li,.fi-art li{margin:6px 0}
.fi-note{font-size:14px;color:var(--fi-mute)}
.fi-art-h1{font-size:38px;line-height:1.35;margin:6px 0 12px;font-weight:800;line-break:strict}
.fi-byline{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--fi-mute);align-items:center}
.fi-byline a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;color:var(--fi-mute)}
.fi-cover{margin:18px 0 22px}
.fi-cover img{border-radius:var(--fi-r);border:1px solid var(--fi-line);width:100%}
.fi-cover figcaption,.fi-shot figcaption{font-size:14px;line-height:1.6;color:var(--fi-mute);margin-top:8px}
.fi-lingqi{display:flex;gap:14px;align-items:flex-start;margin:0 0 22px;padding:12px 16px 10px 14px;background:var(--fi-surface);border-top:2px solid var(--fi-ink);border-bottom:1px solid var(--fi-line)}
.fi-lingqi-flag{position:relative;flex:0 0 28px;height:52px}
.fi-lingqi-flag::before{content:"";position:absolute;left:3px;top:0;width:2px;height:52px;background:var(--fi-ink)}
.fi-lingqi-flag::after{content:"";position:absolute;left:5px;top:2px;width:22px;height:16px;background:var(--fi-ochre-d);clip-path:polygon(0 0,100% 0,78% 50%,100% 100%,0 100%)}
.fi-lingqi-body p{margin:0 0 6px;font-size:15px;line-height:1.75}
.fi-lingqi-h{font-weight:800;font-size:16px}
.fi-route{margin:0 0 28px;padding:14px 18px 8px;border:1px solid var(--fi-line);background:var(--fi-surface);border-radius:var(--fi-r)}
.fi-route-h{margin:0 0 4px;font-weight:800;font-size:16px}
.fi-route-list{list-style:none;margin:0;padding:0;counter-reset:fi-step}
.fi-route-list li{counter-increment:fi-step;display:flex;align-items:baseline;gap:10px;border-top:1px dashed var(--fi-line)}
.fi-route-list li:first-child{border-top:0}
.fi-route-list li::before{content:counter(fi-step,decimal-leading-zero);font-family:var(--fi-lat);font-size:18px;color:var(--fi-ochre-d);min-width:1.6em}
.fi-route-list a{display:inline-flex;align-items:center;min-height:44px;color:var(--fi-ink);text-decoration:none;font-size:15px;line-height:1.5;padding:4px 0}
.fi-route-list a:hover{color:var(--fi-army-d);text-decoration:underline}
.fi-art{font-size:17px}
.fi-art h3{font-size:20px;margin:30px 0 10px}
.fi-art blockquote{margin:18px 0;padding:6px 16px;border-left:3px solid var(--fi-ochre);background:var(--fi-surface)}
.fi-art .fi-order{margin:26px 0;max-width:38em}
.fi-shot{margin:24px 0}
.fi-shot img{border:1px solid var(--fi-line);border-radius:var(--fi-r);background:var(--fi-surface)}
.fi-grid-wrap{margin:20px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #cdbf9c;border-radius:var(--fi-r);background:var(--fi-surface)}
.fi-grid{border-collapse:collapse;width:100%;min-width:560px;font-size:15px;line-height:1.65}
.fi-grid th{background:#e6dcc2;text-align:left;font-weight:700;padding:10px 12px;border-bottom:2px solid var(--fi-ochre)}
.fi-grid td{padding:10px 12px;vertical-align:top;border-top:1px dashed #c9b994}
.fi-grid td+td,.fi-grid th+th{border-left:1px dashed #c9b994}
.fi-faq{margin:40px 0 0;padding:6px 20px 14px;background:var(--fi-surface);border:1px solid var(--fi-line);border-radius:var(--fi-r)}
.fi-faq-h{margin-top:18px}
.fi-qa{border-top:1px dashed var(--fi-line);padding:6px 0}
.fi-qa-q{font-size:18px;margin:12px 0 6px;line-height:1.5}
.fi-qa-a{margin:0 0 10px}
.fi-after{margin:34px 0 0;padding-top:18px;border-top:2px solid var(--fi-ink)}
.fi-tagrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.fi-tagrow-h{font-size:14px;color:var(--fi-mute)}
.fi-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fi-tag{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid #cdbf9c;background:var(--fi-surface);font-size:14px;color:var(--fi-ink);border-radius:2px}
a.fi-tag{min-height:44px}
.fi-after-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin-top:12px}
.fi-after-links a{display:inline-flex;align-items:center;min-height:44px}
.fi-list-head{margin-bottom:10px}
.fi-list-intro p{max-width:38em;color:var(--fi-mute)}
.fi-pgno{font-size:.5em;margin-left:12px;color:var(--fi-mute);font-weight:400}
.fi-roster{list-style:none;margin:18px 0 0;padding:0}
.fi-roster-item{position:relative;padding:18px 18px 16px 22px;margin:0 0 14px;background:var(--fi-surface);border:1px solid var(--fi-line);border-left:5px solid var(--fi-army);border-radius:0 var(--fi-r) var(--fi-r) 0}
.fi-roster-t{font-size:21px;line-height:1.5;margin:0 0 6px}
.fi-roster-t a{color:var(--fi-ink)}
.fi-roster-d{margin:0 0 6px;font-size:15px;color:var(--fi-mute)}
.fi-roster-m{font-size:14px;color:var(--fi-mute)}
.fi-empty{color:var(--fi-mute)}
.fi-pager{display:flex;gap:18px;align-items:center;margin-top:20px}
.fi-pager a{display:inline-flex;align-items:center;min-height:44px}
.fi-seek{margin:16px 0 8px}
.fi-seek-label{display:block;font-size:14px;color:var(--fi-mute);margin-bottom:6px}
.fi-seek-row{display:flex;gap:10px}
.fi-seek-in{flex:1;min-width:0;min-height:48px;padding:0 14px;font:inherit;font-size:16px;border:1.5px solid #bfae86;border-radius:var(--fi-r);background:var(--fi-surface);color:var(--fi-ink)}
.fi-seek-btn{min-height:48px;padding:0 20px;font:inherit;font-weight:700;border:0;border-radius:var(--fi-r);background:var(--fi-army);color:#f8f4ea;cursor:pointer}
.fi-seek-state{font-size:15px;color:var(--fi-mute)}
.fi-seek-out{list-style:none;margin:10px 0 0;padding:0}
.fi-seek-out li{padding:12px 0;border-top:1px dashed var(--fi-line)}
.fi-seek-out a{font-weight:700;display:inline-flex;min-height:44px;align-items:center}
.fi-seek-out p{margin:0;font-size:15px;color:var(--fi-mute)}
.fi-lost{text-align:left;padding-top:48px}
.fi-lost-mark{position:relative;width:120px;height:84px;background-color:var(--fi-sand);background-image:repeating-linear-gradient(0deg,rgba(38,34,26,.08) 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,rgba(38,34,26,.08) 0 1px,transparent 1px 20px);border:6px solid var(--fi-ochre);border-radius:var(--fi-r)}
.fi-lost-pin{position:absolute;left:46px;top:18px;width:2px;height:40px;background:var(--fi-ink);opacity:.35}
.fi-lost-p{font-size:18px}
.fi-lost-go{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.fi-lost-go a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.fi-foot{background:#e3d8bb;border-top:1px solid #cdbf9c;margin-top:24px}
.fi-foot-in{max-width:var(--fi-wrap);margin:0 auto;padding:28px 24px 22px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px 48px}
.fi-foot-note{margin:6px 0;font-size:14px;line-height:1.7;color:#3f3929;max-width:34em}
.fi-home-body li a{display:inline-block;padding:12px 0;margin:-12px 0}.fi-foot-note a{color:var(--fi-army-d);display:inline-block;padding:12px 0;margin:-12px 0}
.fi-foot-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;align-content:start}
.fi-foot-links a{display:flex;align-items:center;min-height:44px;min-width:44px;font-size:15px;color:var(--fi-ink)}
.fi-foot-copy{grid-column:1/-1;margin:6px 0 0;font-size:13px;color:#4a4334}
@media (max-width:1100px){
.fi-hero{grid-template-columns:minmax(0,1fr) 320px;column-gap:32px}
.fi-h1{font-size:80px}
.fi-hero-act{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:820px){
body{font-size:16px}
.fi-top-in{flex-wrap:wrap;padding:4px 16px 0;gap:0}
.fi-mark{width:106px;height:32px}
.fi-nav{width:100%;overflow-x:auto}
.fi-nav-list{gap:0}
.fi-nav-list a{padding:0 10px;font-size:15px}
.fi-hero{display:flex;flex-direction:column;padding:14px 16px 26px;gap:12px}
.fi-hero-copy,.fi-hero-act{display:contents}
.fi-h1{order:1;font-size:50px;line-height:1.12;letter-spacing:0}
.fi-pan{order:2;width:100%}
.fi-lede{order:3;margin:0;font-size:15px;line-height:1.7}
.fi-order-home{order:4}
.fi-pick{order:5}
.fi-pan-board{aspect-ratio:auto;height:60px;border-width:6px;background-image:repeating-linear-gradient(90deg,rgba(38,34,26,.07) 0 1px,transparent 1px 28px)}
.fi-ring-1{left:2%;top:-30%;width:44%;height:150%}
.fi-ring-2{left:8%;top:5%;width:30%;height:90%}
.fi-ring-3{left:14%;top:28%;width:16%;height:46%}
.fi-ring-4{left:52%;top:-20%;width:44%;height:140%}
.fi-ring-5{left:60%;top:18%;width:24%;height:66%}
.fi-flag{height:44px;top:2px}
.fi-flag-cloth{font-size:13px;padding:5px 14px 5px 7px}
.fi-flag-a{left:20%}
.fi-flag-b{left:45%;top:2px}
.fi-flag-c{left:68%;top:2px}
.fi-piece{left:calc(20% - 26px);top:22px;width:18px;height:18px}
.fi-order{padding:12px 14px 10px}
.fi-code{font-size:30px}
.fi-order-gain{font-size:15px;margin:2px 0 4px}
.fi-order-row{margin:4px 0 2px}
.fi-pick-link{font-size:17px;margin:2px 0 2px;padding:2px 0}
.fi-pick-note{font-size:14px;line-height:1.6}
.fi-home-body,.fi-sheet{padding-left:16px;padding-right:16px}
.fi-home-body h2,.fi-doc h2,.fi-art h2,.fi-faq-h{font-size:21px;margin-top:34px}
.fi-doc-h1{font-size:30px}
.fi-art-h1{font-size:27px}
.fi-faq{padding:4px 14px 10px}
.fi-foot-in{grid-template-columns:minmax(0,1fr);padding:22px 16px 18px}
.fi-grid.fi-cards{min-width:0}
.fi-grid.fi-cards thead{display:none}
.fi-grid.fi-cards tr{display:block;border-top:2px solid var(--fi-ochre);padding:6px 0}
.fi-grid.fi-cards tr:first-child{border-top:0}
.fi-grid.fi-cards td{display:block;border:0;padding:4px 12px}
.fi-grid.fi-cards td+td{border-left:0}
.fi-grid.fi-cards td::before{content:attr(data-th);display:block;font-size:13px;color:var(--fi-ochre-d);font-weight:700}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
.fi-top,.fi-foot,.fi-pan,.fi-route{display:none}
}
.fi-shot-n img{width:auto;max-width:min(100%,504px)}
