*{box-sizing:border-box}body{margin:0;font:14px/1.8 'Microsoft YaHei',sans-serif;background:var(--bg);color:var(--ink)}body[data-theme=mariner]{--bg:#eee8d7;--ink:#193e43;--accent:#9b5639;--line:#294a4133;--paper:#f6efdc}body[data-theme=forge]{--bg:#191b1b;--ink:#e4d9c5;--accent:#d18748;--line:#d0b48633;--paper:#222524}body[data-theme=tapestry]{--bg:#e5decc;--ink:#373f35;--accent:#83372f;--line:#73644944;--paper:#f1e9d7}body[data-theme=orrery]{--bg:#111e2b;--ink:#ded4b9;--accent:#c1a262;--line:#c1a26244;--paper:#172838}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:SimSun,serif;font-weight:400}h1{font-size:clamp(38px,4.8vw,76px);line-height:1.35;letter-spacing:3px}p{opacity:.7;line-height:2}small,.eyebrow{font-size:10px;letter-spacing:2px}.eyebrow{display:block;color:var(--accent);margin-bottom:24px;font-family:Georgia,serif}.variant-nav{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:8px 4%;border-bottom:1px solid var(--line);font-size:10px}.variant-nav>div{display:flex;gap:22px}.variant-nav [aria-current]{color:var(--accent);border-bottom:1px solid var(--accent)}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:25px}header>span{font-size:10px;letter-spacing:2px;opacity:.65}.brand{display:flex;gap:12px;align-items:center;font:23px SimSun,serif;letter-spacing:3px}.brand small{display:block;font:7px Georgia,serif;letter-spacing:2px;margin-top:7px}.medieval-icon{width:35px;height:35px;stroke:currentColor}.brand .medieval-icon{color:var(--accent)}.primary,.outline,.plain,.woven-action,.forge-download{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 23px;font:15px SimSun,serif}.primary{background:var(--ink);color:var(--bg)}.outline{border:1px solid var(--line)}.plain{padding:11px 0;border-bottom:1px solid var(--line)}button:hover,.primary:hover{filter:brightness(1.16)}footer{display:flex;justify-content:space-between;gap:20px;padding:22px 5%;border-top:1px solid var(--line);font-size:9px;letter-spacing:1px;opacity:.6}
/* XIV: a light coastal chart, offset editorial text and a long tool strip. */
.mariner-layout{display:grid;grid-template-columns:1fr 1.15fr;max-width:1500px;margin:auto;padding:18px 5% 35px;gap:0 3%}.mariner-copy{padding:65px 0 45px;position:relative;z-index:1}.mariner-copy h1{margin-bottom:25px}.mariner-copy>.primary{margin-top:35px}.voyage-note{display:flex;flex-direction:column;gap:7px;border-left:2px solid #ad7556;padding-left:18px;margin-top:46px;font-size:11px}.voyage-note b{font-family:SimSun,serif;font-size:15px;font-weight:400}.voyage-note span{opacity:.6}.chart-figure{margin:10px -3% 0 0;align-self:center;position:relative;transform:rotate(-3deg);border:1px solid #5d6e5944;background:#d9d0b8;box-shadow:15px 18px 0 #bdb59a33;padding:13px}.sea-chart{width:100%;display:block;color:#335b58}.chart-figure figcaption{display:flex;justify-content:space-between;padding:12px 9px;border-top:1px solid #36564844;font-size:9px;letter-spacing:2px}.mariner-tools{grid-column:1/-1;display:flex;gap:25px;align-items:center;margin-top:28px;padding:24px 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mariner-tools h2{font-size:23px;margin:3px 0}.mariner-tools p{font-size:11px}.mariner-tools>div{margin-right:auto}.tool-mark .medieval-icon{width:50px;height:50px}
/* XV: a narrow guild rail and a large asymmetric iron workbench. */
[data-theme=forge]{background-image:radial-gradient(ellipse at 80% 20%,#99532e22,transparent 45%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 4px)}.forge-layout{display:grid;grid-template-columns:110px 1fr;max-width:1600px;margin:auto}.forge-rail{border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;justify-content:space-between;padding:35px 15px}.forge-rail .brand{writing-mode:vertical-rl;font-size:20px}.forge-rail .brand small{display:none}.forge-rail .medieval-icon{margin-bottom:15px}.rail-word{writing-mode:vertical-rl;font:11px Georgia;letter-spacing:5px;color:#bb9668}.forge-rail>span:last-child{font-size:9px;writing-mode:vertical-rl;letter-spacing:2px}.forge-layout main>header{padding:28px 5%;border-bottom:1px solid var(--line)}.forge-hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;padding:50px 5% 55px;gap:6%}.forge-hero h1{font-size:clamp(40px,5.2vw,80px);letter-spacing:0}.forge-hero em{color:var(--accent);font-style:normal}.forge-hero p{margin:22px 0 30px}.forge-hero .primary{background:var(--accent);color:#191b1b}.guild-seal{border:1px solid #ba8e4e70;outline:1px solid #ba8e4e30;outline-offset:12px;padding:30px 20px 40px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);background:linear-gradient(#272725,#1d201e);text-align:center;max-width:300px;width:100%;justify-self:center;box-shadow:inset 0 0 90px #05050566}.guild-seal>span{display:block;font:8px Georgia;letter-spacing:3px;color:#c99b60}.guild-seal .medieval-icon{display:block;width:68px;height:68px;margin:25px auto 13px;color:#c99862}.guild-seal strong{font:44px/1.4 SimSun,serif;letter-spacing:13px;padding-left:13px;display:block}.guild-seal small{font:8px Georgia;letter-spacing:3px;display:block;margin:20px 0}.forge-workbench{display:grid;grid-template-columns:1.1fr 1fr;border-top:1px solid var(--line);margin:0 5% 38px}.forge-software{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#bd7a4420;padding:30px}.forge-software .eyebrow{margin-bottom:15px}.forge-software h2{font-size:25px;margin-bottom:10px}.forge-software small{letter-spacing:0;opacity:.5}.forge-download{writing-mode:vertical-rl;border:1px solid #bd854a77;padding:18px 12px;min-height:145px;gap:15px}.forge-world{padding:28px 32px;border-left:1px solid var(--line)}.forge-world>.medieval-icon{float:right;color:#a67b49}.forge-world .eyebrow{margin-bottom:15px}.forge-world h2{font-size:24px;margin-bottom:10px}.forge-world .plain{font-size:13px;margin-top:12px}
/* XVI: three woven hanging panels with independent proportions and ornament. */
[data-theme=tapestry]{background-image:repeating-linear-gradient(90deg,#83734d08 0 1px,transparent 1px 4px),repeating-linear-gradient(#83734d08 0 1px,transparent 1px 4px)}.tapestry-title{text-align:center;margin:25px 20px 42px}.tapestry-title .eyebrow{margin-bottom:14px}.tapestry-title h1{font-size:clamp(30px,3.2vw,47px);margin-bottom:15px}.tapestry-title p{font-size:12px;letter-spacing:2px}.tapestry-main{max-width:1300px;margin:auto;padding:0 7%}.hanging-rod{height:8px;background:#776444;border:1px solid #5b4c31;box-shadow:0 5px 9px #0002;border-radius:6px}.woven-panels{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:27px;padding:0 22px;align-items:start}.woven-panel{position:relative;text-align:center;min-height:480px;padding:30px 18px 70px;color:#e1d4ae;clip-path:polygon(0 0,100% 0,100% 91%,50% 100%,0 91%);background-image:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#0002 0 1px,transparent 1px 4px);border-left:8px double #b9a26d55;border-right:8px double #b9a26d55}.woven-map{background-color:#344b43}.woven-tool{background-color:#773e34;min-height:520px}.woven-world{background-color:#314658}.panel-number{display:block;font:15px Georgia;color:#c7b27c}.woven-panel>.medieval-icon{width:65px;height:65px;margin:24px auto 15px}.woven-panel h2{font-size:36px;letter-spacing:7px;padding-left:7px}.stitch-rule{display:block;font:12px Georgia;margin:17px 0;color:#bfa675}.woven-panel p{font-size:12px;opacity:.8}.woven-action{border-bottom:1px solid #d5c08e77;font-size:14px;padding:12px 3px;margin-top:20px;gap:15px}.woven-sub{display:block;margin:14px auto;font-size:11px;color:#dfc58d}.woven-sub span{margin-left:6px}.woven-land{font:18px/1.6 Georgia;color:#a6b393;margin-top:24px}.woven-stars{color:#bca56f;font-size:28px;margin-top:25px}.tapestry-colophon{text-align:center;margin:26px 0;font:12px SimSun,serif;letter-spacing:3px}
/* XVII: radial instrument navigation in an expansive midnight field. */
[data-theme=orrery]{background-image:radial-gradient(ellipse at center,#27465577,transparent 65%),radial-gradient(circle at 18% 30%,#d3b37f55 0 1px,transparent 2px),radial-gradient(circle at 83% 70%,#d3b37f66 0 1px,transparent 2px);background-size:auto,153px 179px,231px 251px}.orrery-main{max-width:1400px;margin:auto;position:relative;min-height:700px}.orrery-heading{position:absolute;top:28px;left:5%;z-index:2}.orrery-heading .eyebrow{margin-bottom:18px}.orrery-heading h1{font-size:clamp(33px,3.5vw,52px)}.orrery-heading p{font-size:12px;margin-top:18px;letter-spacing:2px}.orbit-stage{position:relative;height:700px}.astrolabe{position:absolute;width:630px;height:630px;top:20px;left:50%;transform:translateX(-44%);color:#bd9b55;opacity:.57}.orbit-center{position:absolute;left:53%;top:320px;transform:translateX(-50%);text-align:center;padding:16px 22px;background:#132431de}.orbit-center small{font:9px Georgia;letter-spacing:4px;color:#b29460}.orbit-center b{display:block;font:21px SimSun,serif;letter-spacing:4px;margin-top:8px}.orbit-card{position:absolute;width:250px;background:linear-gradient(90deg,#101e2bee,#142634f5);padding:20px 24px;border-left:2px solid #ba9a5d;border-top:1px solid #a78c4f33;box-shadow:0 12px 40px #0002}.orbit-card>span{font-size:9px;letter-spacing:2px;color:#b89b67}.orbit-card h2{font-size:24px;margin:9px 0}.orbit-card p{font-size:11px}.orbit-card .plain{font-size:13px;padding:9px 0;margin-top:8px;gap:50px}.orbit-map{left:9%;top:355px}.orbit-guide{right:5%;top:160px}.orbit-world{right:12%;top:454px}
/* Shared functional reading surface, palette inherited from its own concept. */
dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(690px,100%);max-width:100%;height:100%;max-height:100%;background:var(--paper);color:var(--ink);border:0;border-left:1px solid var(--line);padding:65px 50px;box-shadow:-20px 0 80px #0005}dialog::backdrop{background:#0b141acc;backdrop-filter:blur(6px)}.reader-close{position:absolute;right:22px;top:16px;font:30px Georgia}.reader-close:hover{color:var(--accent)}dialog h2{font-size:32px;line-height:1.5;margin-bottom:20px}dialog .eyebrow{margin-bottom:12px}dialog p{font-size:13px}.lesson-list{margin-top:30px}.lesson-list article{display:flex;gap:20px;border-top:1px solid var(--line);padding:24px 0}.lesson-list article>span{color:var(--accent);font:23px Georgia}.lesson-list article>div{flex:1}.lesson-list h3{font-size:21px;margin-bottom:7px}.pending{display:block;margin-top:12px;font-size:10px;color:var(--accent);letter-spacing:1px}.lesson-list a{display:inline-block;border-bottom:1px solid var(--line);margin-top:10px}.lesson-list iframe{width:100%;aspect-ratio:16/9;border:0;margin-top:15px}.download-detail{display:flex;gap:20px;border-block:1px solid var(--line);padding:28px 0;margin:30px 0}.download-detail .medieval-icon{width:55px;height:55px;color:var(--accent)}dialog .plain{display:flex;width:max-content;margin-top:15px}.world-placeholder{display:flex;flex-direction:column;align-items:center;gap:20px;border:1px solid var(--line);padding:70px 20px;margin-top:35px;color:var(--accent)}.world-placeholder .medieval-icon{width:80px;height:80px}
@media(min-width:1550px){.orrery-main{min-height:760px}.orbit-stage{height:760px}.astrolabe{width:700px;height:700px}.orbit-center{top:352px}.orbit-world{top:495px}}
@media(max-width:950px){.variant-nav span{display:none}.mariner-layout{gap:0 15px}.mariner-copy{padding-top:35px}.mariner-copy p{font-size:12px}.mariner-tools{flex-wrap:wrap}.mariner-tools>div{min-width:60%}.forge-layout{grid-template-columns:75px 1fr}.forge-hero{gap:20px}.guild-seal strong{font-size:32px}.forge-workbench{grid-template-columns:1fr}.forge-world{border-left:0;border-top:1px solid var(--line)}.woven-panels{padding:0 10px;gap:12px}.woven-panel{padding-inline:9px;border-width:5px}.woven-panel h2{font-size:29px}.woven-panel p{font-size:11px}.woven-action{font-size:12px;gap:5px}.astrolabe{width:570px;height:570px;top:100px}.orbit-card{width:220px}.orbit-map{left:5%;top:390px}.orbit-guide{right:3%;top:220px}.orbit-world{right:7%;top:505px}.orbit-center{top:370px}.orrery-heading{top:20px}}
@media(max-width:620px){header{padding:22px 6%;gap:12px}header>span{display:none}.brand{font-size:20px;letter-spacing:2px}.brand small{font-size:6px}.brand .medieval-icon{width:29px;height:29px}header .plain,header .outline{font-size:11px;padding:8px;gap:8px}.variant-nav{padding:8px 5%;font-size:9px}.variant-nav>div{gap:13px}.variant-nav>a:last-child{display:none}footer{flex-wrap:wrap;gap:5px 20px;font-size:8px}footer>span:nth-child(2){display:none}.mariner-layout{display:flex;flex-direction:column;padding:0 7% 25px}.mariner-copy{padding:25px 0}.mariner-copy h1{font-size:45px}.mariner-copy .eyebrow{font-size:8px}.mariner-copy p{font-size:12px}.mariner-copy>.primary{margin-top:23px}.voyage-note{margin-top:25px}.chart-figure{width:92%;align-self:center;margin:5px 0 25px}.mariner-tools{gap:17px;padding:20px 0;margin-top:10px}.mariner-tools h2{font-size:20px}.mariner-tools .outline,.mariner-tools .plain{font-size:13px;gap:15px}.forge-layout{display:block}.forge-rail{flex-direction:row;padding:20px 6%;border-right:0;border-bottom:1px solid var(--line)}.forge-rail .brand{writing-mode:horizontal-tb}.forge-rail .medieval-icon{margin-bottom:0}.forge-rail .rail-word{display:none}.forge-rail>span:last-child{writing-mode:horizontal-tb;font-size:8px}.forge-layout main>header{padding:12px 6%}.forge-layout main>header>span{display:block;font-size:8px;letter-spacing:0}.forge-hero{padding:30px 6%;grid-template-columns:1fr;position:relative}.forge-hero h1{font-size:44px}.forge-hero .eyebrow{font-size:8px}.forge-hero p{font-size:12px}.guild-seal{position:absolute;right:7%;top:56px;width:90px;opacity:.25;padding:15px 8px}.guild-seal strong{font-size:22px;letter-spacing:4px;padding-left:4px}.guild-seal .medieval-icon{width:32px;height:32px;margin:10px auto}.guild-seal>span,.guild-seal small{display:none}.forge-hero>div:first-child{position:relative;z-index:1}.forge-workbench{margin:0 6% 25px}.forge-software,.forge-world{padding:23px 18px}.forge-software h2{font-size:23px}.forge-download{font-size:13px;padding:10px;min-height:125px}.forge-world h2{font-size:22px}.tapestry-main{padding:0 6%}.tapestry-title{margin:20px 0 28px}.tapestry-title h1{font-size:31px;letter-spacing:1px}.tapestry-title p{font-size:11px;letter-spacing:0}.tapestry-title .eyebrow{font-size:8px}.woven-panels{grid-template-columns:1fr;padding:0 12px;gap:20px}.woven-panel,.woven-tool{min-height:0;padding:22px 20px 50px}.woven-panel>.medieval-icon{width:48px;height:48px;margin:13px auto 10px}.woven-panel h2{font-size:31px}.woven-panel p{font-size:12px}.woven-action{font-size:14px}.woven-land,.woven-stars{display:none}.tapestry-colophon{font-size:10px;letter-spacing:1px;line-height:2}.orrery-main{min-height:0;padding:0 6% 25px;overflow:hidden}.orrery-heading{position:relative;left:0;top:0;text-align:center;margin:30px 0 0}.orrery-heading h1{font-size:37px}.orrery-heading .eyebrow{font-size:8px}.orbit-stage{height:auto;display:flex;flex-direction:column;gap:14px;padding-top:310px}.astrolabe{width:350px;height:350px;top:-10px;left:50%;transform:translateX(-50%)}.orbit-center{left:50%;top:133px;padding:12px 16px}.orbit-center b{font-size:17px}.orbit-card{position:relative;inset:auto;width:100%;padding:18px 22px;display:grid;grid-template-columns:1fr auto}.orbit-card>span,.orbit-card p{grid-column:1}.orbit-card h2{font-size:22px}.orbit-card .plain{grid-column:2;grid-row:2/4;gap:10px;align-self:center;margin-left:10px;font-size:12px}dialog{padding:60px 25px}dialog h2{font-size:27px}.lesson-list article{gap:14px}.lesson-list h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:620px){.orbit-card h2{grid-column:1;grid-row:2}.orbit-card p{grid-row:3}.orbit-card>span{grid-row:1}}
.tapestry-title h1{text-wrap:balance}
