:root{--ink: #2b2118;--ink-soft: #5a4632;--sea: #1f3a4d;--sea-deep: #142838;--gold: #b8862f;--gold-light: #e2c27a;--ochre: #a8642a;--seal: #a3231f;--paper: #f3e9d2;--paper-clean: #faf4e6;--line: #d9c6a0;--serif: "Songti SC", "STSong", "Noto Serif SC", serif;--sans: -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--radius: 14px;--shadow: 0 6px 24px rgba(43, 33, 24, .14);--wrap: min(1160px, 100% - 32px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.75 var(--sans);color:var(--ink);background:var(--paper);overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:var(--sea)}h1,h2,h3{font-family:var(--serif);line-height:1.3;color:var(--ink);margin:0 0 .5em}h1{font-size:clamp(26px,5vw,44px)}h2{font-size:clamp(21px,3.2vw,30px)}h3{font-size:19px}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:6px 10px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:10px max(16px,(100% - 1160px) / 2);background:#142838f0;color:var(--paper-clean);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:8px;color:var(--gold-light);text-decoration:none;font:700 20px var(--serif);white-space:nowrap}.site-nav{display:flex;gap:18px;flex:1;overflow-x:auto;scrollbar-width:none}.site-nav a{color:var(--paper-clean);text-decoration:none;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}.site-nav a[aria-current=page],.site-nav a:hover{border-color:var(--gold)}.auth{display:flex;gap:6px}@media(max-width:760px){.site-header{flex-wrap:wrap;gap:6px 12px}.site-nav{order:3;flex-basis:100%;gap:16px;font-size:15px}.auth{margin-left:auto}.auth .btn-text{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 20px;border-radius:999px;border:1px solid transparent;font:600 16px var(--sans);text-decoration:none;cursor:pointer}.btn-sm{min-height:36px;padding:0 14px;font-size:14px}.btn-gold{background:linear-gradient(180deg,var(--gold-light),var(--gold));color:var(--ink);border-color:#8f6620;box-shadow:inset 0 1px #ffffff80}.btn-ghost{background:#faf4e6d9;color:var(--sea);border-color:var(--sea)}.btn-text{background:none;color:inherit}.btn-seal{background:var(--seal);color:#fff6ea;border-color:#7d1714}.paper{background:var(--paper-clean);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,4vw,40px)}.narrow{width:min(760px,100% - 32px);margin:40px auto}.wrap{width:var(--wrap);margin:0 auto}.eyebrow{color:var(--ochre);font-weight:700;letter-spacing:.08em;margin:0 0 4px}.badge{display:inline-block;padding:0 8px;border-radius:6px;font-size:13px;font-weight:700;line-height:22px}.badge-a{background:#2f5d3a;color:#fff}.badge-b{background:var(--sea);color:#fff}.badge-tier{background:var(--gold-light);color:var(--ink)}.muted{color:var(--ink-soft);font-size:14px}.site-footer{margin-top:56px;padding:28px 16px 40px;background:var(--sea-deep);color:var(--line);text-align:center}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:8px}.site-footer a{color:var(--gold-light)}.site-footer p{margin:0;font-size:13px}.register-dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-clean);max-width:min(420px,100% - 32px);padding:28px;text-align:center}.register-dialog::backdrop{background:#14283899}.register-dialog img{margin:12px auto}.dialog-actions{display:flex;justify-content:center;gap:8px}.hero{position:relative;min-height:min(78vh,720px);display:grid;place-items:center;overflow:hidden;color:var(--ink)}.hero picture,.hero picture img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero-copy{position:relative;text-align:center;width:min(820px,100% - 32px);padding:28px 20px;margin-top:-6vh;background:radial-gradient(ellipse at center,#faf4e6e6 55%,#faf4e600 75%)}.ribbon{display:inline-block;padding:10px 34px;color:#3a2a12;font-size:clamp(24px,4.6vw,46px);background:linear-gradient(180deg,#f0d79a,#c99a45);border:1px solid #8f6620;box-shadow:0 4px #7a561c;clip-path:polygon(0 0,100% 0,96% 50%,100% 100%,0 100%,4% 50%)}.hero-sub{font:600 clamp(15px,2.2vw,20px) var(--serif);margin:14px 0}.hero-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 18px}.hero-stats li{background:#1f3a4de0;color:var(--paper-clean);border-radius:999px;padding:2px 14px;font-size:14px}.hero-stats b{color:var(--gold-light)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#17406a00 30%,#17406af2)}.hero-copy{z-index:1}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.home-sea,.sea-page{position:relative;padding:0 0 72px;margin-bottom:-56px;background:linear-gradient(180deg,#17406af2,#17406a00 220px),#17406a url(/assets/sea-chart-bg.webp) center top / 100% 100% no-repeat}.home-sea>section,.home-sea>div,.sea-page>*{position:relative}.scrolls{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:-56px auto 0;padding-top:0;z-index:2}.scroll{display:flex;flex-direction:column;min-height:600px;padding:112px 46px 150px;text-align:center;background:url(/assets/scroll-panel.webp) center / 100% 100% no-repeat;filter:drop-shadow(0 10px 14px rgba(8,20,40,.5))}.scroll-head{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:8px}.scroll-head img{width:34px;height:34px}.scroll-head h2{margin:0;font-size:22px;color:#4a2f10}.scroll-head h2:after{content:"❦";display:block;font-size:14px;color:var(--gold);line-height:1;margin-top:2px}.scroll-body{flex:1;display:grid;gap:8px;align-content:start;text-align:left}.scroll-more{display:inline-block;margin-top:10px;color:var(--ochre);font-weight:700;text-decoration:none}.scroll .scroll-more{align-self:center;padding:3px 16px;border:1px solid var(--gold);border-radius:999px;background:#fff8e4cc}.project-card{display:block;text-decoration:none;color:inherit;background:#fffaf0;border:1px solid var(--line);border-radius:10px;padding:8px 12px}.project-card:hover{border-color:var(--gold)}.pc-top{display:flex;justify-content:space-between;align-items:center}.pc-score{font:700 18px var(--serif);color:var(--ochre)}.pc-score small{font-size:12px}.project-card h3{margin:2px 0 0;font-size:16px}.pc-status{margin:0;font-size:13px;color:var(--sea);font-weight:700}.pc-reason{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--ink-soft)}.empty{color:var(--ink-soft);font-size:15px}.chai-teaser{text-decoration:none;color:inherit;text-align:center}.chai-teaser h3{font-size:18px;line-height:1.4}.need-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.need-list li{display:grid;gap:2px;padding:8px 10px;background:#fffaf0;border:1px solid var(--line);border-radius:8px;font-size:14px;line-height:1.5}.need-list small{color:var(--ink-soft)}.voyage-row{display:grid;grid-template-columns:1fr 320px;align-items:center;gap:16px;margin-top:64px}.voyage-route{position:relative;text-align:center;padding:34px 20px 14px;border:3px double #b88a45;border-radius:12px;background:linear-gradient(180deg,#f8edcf,#ecd9a8);box-shadow:0 8px 18px #08142873,inset 0 0 30px #a8642a40}.route-ribbon{position:absolute;left:24px;top:-22px;margin:0;padding:4px 34px;font-size:22px;color:var(--gold-light);background:linear-gradient(180deg,#b8302b,#8a1c19);border:1px solid #5e100e;box-shadow:0 3px #5e100e;clip-path:polygon(0 0,100% 0,94% 50%,100% 100%,0 100%,6% 50%)}.route-note{margin:0 0 4px;font-size:14px;color:var(--ink-soft)}.route{display:grid;grid-template-columns:repeat(14,1fr);gap:2px;list-style:none;padding:30px 0 0;margin:4px 0 6px;background:linear-gradient(90deg,transparent 0 3.5%,var(--gold) 3.5% 96.5%,transparent 96.5%) center 45px / 100% 3px no-repeat}.route li{position:relative;display:grid;justify-items:center;gap:4px;font-size:12px;line-height:1.2;color:var(--ink-soft)}.route .dot{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--gold) 70%);border:1px solid #8f6620}.route li.passed .dot{background:radial-gradient(circle at 35% 30%,#fbd7a8,var(--ochre) 70%)}.route li.current span{color:var(--seal);font-weight:700}.route li img{position:absolute;top:-34px;width:40px;height:40px}.seal-cta{position:relative;display:grid;place-items:center;text-decoration:none;justify-self:center;width:310px;aspect-ratio:1;filter:drop-shadow(0 10px 14px rgba(8,20,40,.55));transition:transform .2s}.seal-cta:hover{transform:rotate(-2deg) scale(1.03)}.seal-cta img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.seal-text{position:relative;display:grid;gap:6px;text-align:center;width:70%;margin-top:-10%;font-family:var(--serif);color:#fff6ea;text-shadow:0 1px 2px rgba(60,8,6,.9),0 0 8px rgba(60,8,6,.6)}.seal-text b{font-size:22px;line-height:1.35;text-wrap:balance}.seal-text em{font-style:normal;font-size:18px;color:#fff}.join-strip{width:var(--wrap);box-sizing:border-box;margin:56px auto 0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 32px;border:3px double #b88a45;border-radius:12px;color:var(--ink);background:linear-gradient(180deg,#f8edcf,#ecd9a8);box-shadow:0 8px 18px #08142873,inset 0 0 30px #a8642a40}.join-copy{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}.join-strip h2{margin:0;color:#4a2f10;font-size:24px}.join-strip ul{margin:0;padding:0;list-style:none;display:grid;gap:2px;font-size:14px}.join-strip li:before{content:"✓ ";color:var(--ochre);font-weight:700}.join-qr{margin:0;display:flex;align-items:center;gap:14px;padding-left:24px;border-left:1px solid var(--line)}.join-qr figcaption{display:grid;gap:2px;font-size:13px;color:var(--ink-soft);max-width:190px}.join-qr figcaption b{font:700 18px var(--serif);color:#4a2f10}.join-qr img{width:96px;height:96px;background:#fff;padding:4px;border-radius:6px}@media(max-width:900px){.home-sea,.sea-page{background-size:auto 100%;background-position:center top}.scrolls{grid-template-columns:1fr;margin-top:-32px;gap:28px;max-width:460px}.voyage-row{grid-template-columns:1fr;margin-top:52px}.route{grid-template-columns:repeat(7,1fr);row-gap:34px;background:none}.route .dot{width:14px;height:14px}.route li{font-size:11px}.route li span{white-space:nowrap}.route-ribbon{left:50%;transform:translate(-50%);white-space:nowrap}.seal-cta{width:290px}.seal-text b{font-size:20px}.join-strip{flex-direction:column;text-align:center;padding:22px 18px}.join-copy{justify-content:center;flex-direction:column}.join-strip ul{text-align:left}.join-qr{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:14px;flex-direction:column}.join-qr figcaption{max-width:none}.hero{min-height:70vh}}@media(max-width:520px){.scroll{padding:100px 36px 140px;min-height:560px}}.hero picture img{transform:scale(1.1);transform-origin:50% 45%;object-position:50% 45%}.sea-page{padding:36px 0 72px;margin-bottom:-56px}.paper{background:linear-gradient(180deg,#fbf3de,#f1e3c0);border:1px solid #b88a45;box-shadow:inset 0 0 0 3px #fff8e499,0 8px 22px #08142861}.sea-page .paper{padding:clamp(18px,3vw,30px);border-radius:12px}.sea-page .paper+.paper{margin-top:18px}.mt{margin-top:24px}.sea-page h2.mt{margin-top:28px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.archive{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0}.project .lead{font-size:18px}.meta{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;padding:0;margin:0;align-items:center}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.sea-page .project-grid>.paper{margin-top:0}.dims div{display:grid;grid-template-columns:7em 1fr;align-items:center;gap:8px;margin:6px 0}.dims dt{font-size:14px}.dims dd{margin:0;display:flex;align-items:center;gap:8px}.bar{display:block;height:10px;border-radius:5px;background:linear-gradient(90deg,var(--gold-light),var(--ochre))}.facts div{display:grid;grid-template-columns:6em 1fr;gap:8px;margin:6px 0}.facts dd{margin:0}.note{margin-bottom:0}.prose{width:min(760px,100% - 32px);margin:36px auto}.sea-page .prose{margin:0 auto}.join-page{text-align:center}.join-page ul{display:inline-block;text-align:left}.join-page img{display:block;margin:16px auto;border-radius:8px}.prose table{width:100%;border-collapse:collapse;font-size:15px}.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}@media(max-width:760px){.project-grid{grid-template-columns:1fr}}
