:root{color-scheme:dark;--bg:#101916;--panel:#18231e;--ink:#edf3e8;--muted:#a6b6aa;--mint:#c8eeaa;--line:#344039}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}.shell{max-width:1240px;margin:auto;padding:0 48px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:17px;font-weight:750;letter-spacing:2px}.wordmark span{color:var(--mint);margin-right:12px}.domain,.number,.eyebrow,footer{font-size:11px;letter-spacing:1.4px}.domain{color:var(--muted)}.intro{padding:64px 0 45px}.eyebrow{color:var(--mint);margin:0 0 22px}h1{font-size:clamp(36px,4.5vw,60px);letter-spacing:-2px;line-height:1.22;font-weight:600;margin:0 0 24px}h1 span{color:var(--mint)}.lead{font-size:15px;line-height:1.8;color:var(--muted);margin:0}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{min-height:255px;border:1px solid var(--line);border-radius:15px;padding:26px;background:var(--panel);display:flex;flex-direction:column;transition:transform .18s,border-color .18s,background .18s}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:5px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;color:var(--muted);gap:8px}.number{font-size:10px}.arrow{font-size:23px;line-height:1}.card h2{font-size:23px;letter-spacing:-.5px;margin:0 0 12px}.card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 24px}.cta{font-size:12px;font-weight:600;margin-top:auto;color:var(--mint)}.featured{background:var(--mint);color:#14211a;grid-row:span 2;min-height:526px;justify-content:space-between}.featured:hover{background:#d8f7bf}.featured .card-top,.featured p,.featured .cta{color:#38513c}.featured .card-top{margin-bottom:30px}.featured h2{font-size:36px;margin-top:18px}.featured p{font-size:14px}.featured .cta{margin-top:36px;display:flex;justify-content:space-between;border-top:1px solid #9ab987;padding-top:22px}.tag{font-size:11px;border:1px solid #7f9c6c;border-radius:20px;padding:6px 11px}.card:last-child{grid-column:1 / -1;min-height:200px}.migration{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);margin-top:40px;padding:27px 0}.migration strong{font-size:14px}.migration p{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 0}.migration a{white-space:nowrap;font-size:12px;color:var(--mint)}footer{display:flex;justify-content:space-between;padding:28px 0 40px;color:#839488;border-top:1px solid var(--line);letter-spacing:.7px}.transfer{max-width:740px;padding:60px 0;min-height:75vh}.transfer h1{font-size:36px}.transfer p{color:var(--muted);line-height:1.9}.transfer button,.transfer .button{display:inline-block;background:var(--mint);color:#14211a;border:0;border-radius:8px;padding:13px 20px;font:inherit;cursor:pointer;margin:12px 12px 12px 0}.transfer label{display:block;line-height:1.8;margin:20px 0}.transfer input[type=file]{display:block;margin:16px 0;max-width:100%}.transfer .status{padding:16px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.transfer [hidden]{display:none}
@media(max-width:850px){.shell{padding:0 26px}.destinations{grid-template-columns:repeat(2,1fr)}.featured{grid-row:span 1;min-height:300px}.card:last-child{grid-column:span 1}.intro{padding-top:44px}.migration{align-items:flex-start;flex-direction:column;gap:14px}}@media(max-width:560px){.shell{padding:0 20px}header{height:76px}.domain{font-size:10px;letter-spacing:0}.wordmark{font-size:13px}.intro{padding:40px 0 32px}h1{letter-spacing:-1px}.lead{font-size:13px}.destinations{grid-template-columns:1fr}.card{min-height:235px;padding:24px}.featured{min-height:330px}.card:last-child{min-height:235px}footer{font-size:10px;gap:20px;line-height:1.7}}

/* The portal lists websites, not individual study pages. */
main{min-height:calc(100vh - 200px)}.destinations{display:block;max-width:610px;margin-bottom:70px}.featured,.card:last-child{min-height:290px;grid-row:auto}.featured h2{font-size:32px;margin-top:0}.featured .card-top{margin-bottom:30px}.featured .cta{margin-top:20px}.featured p{margin-bottom:10px}.intro{padding-top:70px}.transfer{min-height:75vh}@media(max-width:560px){.intro{padding-top:50px}.featured,.card:last-child{min-height:285px}.destinations{margin-bottom:50px}}

/* Website navigation: learning and blog, with equal-height cards. */
.destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;gap:20px}.destinations .card{min-height:300px;grid-column:auto;grid-row:auto;justify-content:space-between}.destinations .card h2{font-size:32px}.destinations .card .cta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:20px}.destinations .featured .cta{border-color:#9ab987}@media(max-width:640px){.destinations{grid-template-columns:1fr}.destinations .card{min-height:275px}}

/* Three website destinations, including Lunaeth Bill. */
.destinations{max-width:none;grid-template-columns:repeat(3,minmax(0,1fr))}.destinations .card h2{font-size:28px}@media(max-width:900px){.destinations{grid-template-columns:1fr;max-width:610px}}

/* Local calligraphy for the portal greeting. */
@font-face{font-family:"Fraunces";src:url("./fonts/fraunces-welcome.0e7cf115a034.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
.intro{padding:52px 0 36px}.welcome{font-family:"Fraunces",Georgia,serif;font-size:clamp(72px,9vw,112px);font-weight:400;letter-spacing:-.025em;line-height:1.25;margin:0;color:var(--mint)}@media(max-width:560px){.intro{padding:36px 0 28px}}

/* All destinations share the same resting and interactive appearance. */
.destinations .card{transition:transform .18s,border-color .18s,background-color .18s,color .18s}
.destinations .card:focus-visible{background:var(--mint);color:#14211a;border-color:var(--mint);transform:translateY(-4px)}
.destinations .card:focus-visible .card-top,.destinations .card:focus-visible p,.destinations .card:focus-visible .cta{color:#38513c}
.destinations .card:focus-visible .cta{border-color:#9ab987}
@media(hover:hover){
.destinations .card:hover{background:var(--mint);color:#14211a;border-color:var(--mint);transform:translateY(-4px)}
.destinations .card:hover .card-top,.destinations .card:hover p,.destinations .card:hover .cta{color:#38513c}
.destinations .card:hover .cta{border-color:#9ab987}
}
@media(prefers-reduced-motion:reduce){.destinations .card{transition:none}.destinations .card:hover,.destinations .card:focus-visible{transform:none}}

/* A quiet sage matrix sits behind the content, with a soft vignette. */
body{isolation:isolate}
.dot-field{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 78% 22%,rgba(112,151,105,.065),transparent 60%)}
.dot-field::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(153,181,149,.19) 1px,transparent 1.4px);background-size:24px 24px}
.dot-field.is-ready::before{opacity:0}
.dot-field canvas{display:block;width:100%;height:100%}
.dot-field::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,25,22,.68),transparent 24%,transparent 72%,rgba(16,25,22,.62)),radial-gradient(ellipse at 12% 26%,rgba(16,25,22,.67),transparent 55%)}
.welcome{text-shadow:0 2px 30px rgba(16,25,22,.72)}
.destinations .card{box-shadow:0 12px 40px rgba(0,0,0,.06)}
footer{align-items:center}
@media(max-width:640px){.dot-field::after{background:linear-gradient(180deg,rgba(16,25,22,.3),rgba(16,25,22,.5))}}
