 :root{--navy:#071D2A;--navy-light:#102C3A;--gold:#D5A557;--gold-light:#E7C27B;--stone:#F1ECE2;--ink:#102536;--muted:#64717A;--cream:#F6F1E8}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--ink);background:var(--stone);font-family:system-ui,-apple-system,sans-serif}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #9C6D24;outline-offset:4px}h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(32px,4vw,52px);line-height:1.14;margin:0 0 16px}h2{font-size:26px;margin:0}p{line-height:1.6}.ashlar-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.ashlar-header{flex:none;height:160px;padding:22px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#071D2A 15%,#071D2Ab0 65%,#071D2A50),url('/artwork/architecture.webp') center/cover;color:var(--cream);border-bottom:1px solid #D5A55766}.ashlar-header.with-nav{margin-bottom:62px}.ashlar-brand{display:flex;align-items:center;gap:24px;color:var(--gold-light);text-decoration:none;min-width:0}.ashlar-brand img{width:150px;height:108px;object-fit:contain}.ashlar-brand strong{font:54px Georgia;letter-spacing:9px;display:block}.ashlar-brand small{font:12px Georgia;letter-spacing:2px;display:block;margin-top:6px}.member-name{font:16px Georgia;max-width:180px}.ashlar-routes{flex:1;min-height:0;display:flex}.ashlar-routes>div{flex:1;min-width:0}.ashlar-navigation{position:fixed;z-index:20;left:0;right:0;top:160px;height:62px;background:#071D2Af7;border-bottom:1px solid #D5A55799;display:flex;padding:0 max(24px,calc((100vw - 1280px)/2));gap:24px}.ashlar-navigation button{display:flex;align-items:center;gap:14px;color:var(--cream);background:transparent;border:0;border-bottom:2px solid transparent;padding:12px 20px;min-width:120px;font-family:Georgia}.ashlar-navigation button.active{color:var(--gold-light);border-color:var(--gold);background:#D5A5570c}.ashlar-navigation svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.ashlar-page{flex:1;min-height:0;overflow:auto;background:linear-gradient(#F1ECE2c9,#F1ECE2df),url('/artwork/stone-texture.webp') center/cover}.ashlar-content{max-width:1280px;margin:0 auto;padding:30px 28px 54px;display:flex;flex-direction:column;gap:22px;min-width:0}.refresh{align-self:flex-end;border:0;background:transparent;color:#526371;font-size:13px;min-height:30px;margin-bottom:-12px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-intro p{font:22px/1.5 Georgia;color:#374F5E;margin:0}.page-intro blockquote{font-size:19px;font-style:italic;text-align:right;line-height:1.6;margin:0;color:#374F5E}.gold-rule{width:55px;height:2px;background:var(--gold);margin:12px 0}.gold-button{background:linear-gradient(135deg,#D6AC70,#B58A4F);border:1px solid #E7C27B;border-radius:8px;color:#071D2A;font-family:Georgia;font-size:18px;min-height:48px;padding:12px 22px;text-align:center;box-shadow:0 3px 8px #00000015}.continue-card,.degree-card,.ritual-tile{background-color:var(--navy);color:var(--cream);border:1px solid #AD854A;border-radius:12px;box-shadow:0 5px 16px #071D2A20}.continue-card{position:relative;display:grid;grid-template-columns:1fr 180px;gap:14px 32px;padding:28px 32px;background:linear-gradient(90deg,#071D2A 10%,#071D2Aee 48%,#071D2A30),url('/artwork/stones.webp') right center/contain no-repeat,#071D2A;min-height:180px}.continue-card small{color:var(--gold-light);letter-spacing:2px;font:12px Georgia;grid-column:1}.continue-card h2{font-size:28px;grid-column:1}.continue-card>.gold-button{grid-column:2;grid-row:2/4;align-self:center}.progress-wrap{display:flex;align-items:center;gap:12px;font:16px Georgia;min-width:0}.progress-track{height:12px;background:#364A56;border:1px solid #60707966;border-radius:12px;overflow:hidden;flex:1;min-width:0}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#D5A557,#E7C27B);border-radius:12px}.degree-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.degree-card{padding:26px;display:flex;flex-direction:column;gap:16px;min-height:380px;background-size:cover;background-position:center}.degree-1{background-image:linear-gradient(0deg,#071D2A 10%,#071D2A99 55%,#071D2A33),url('/artwork/degree-one.webp')}.degree-2{background-image:linear-gradient(0deg,#071D2A 10%,#071D2A99 55%,#071D2A33),url('/artwork/degree-two.webp')}.degree-3{background-image:linear-gradient(0deg,#071D2A 10%,#071D2A99 55%,#071D2A33),url('/artwork/degree-three.webp')}.roman{font:64px/1 Georgia;color:var(--gold-light)}.degree-card h2{font-size:23px;color:var(--gold-light)}.degree-card p{margin:0;font:16px Georgia}.degree-card .gold-button{margin-top:auto;width:100%}.status-counts{display:flex;flex-wrap:wrap;gap:12px;font:12px/1.5 Georgia}.status-counts span{display:flex;align-items:center;gap:5px}.status-counts i{width:12px;height:12px;border-radius:100%;border:1px solid #CCD4D9;background:#526572}.status-counts span:first-child i{background:var(--gold)}.status-counts span:last-child i{background:transparent}.ritual-tile{text-align:left;position:relative;padding:24px 56px 24px 24px;min-height:112px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(100deg,#071D2A,#102C3A)}.ritual-tile.known{background:linear-gradient(100deg,#123A4D,#1C5267)}.tile-title{font:24px/1.35 Georgia;color:var(--gold-light)}.tile-subtitle{font-size:15px;line-height:1.5;color:#E1E5E5}.tile-arrow{position:absolute;right:24px;top:40%;color:var(--gold-light)}.error-message{padding:16px;background:#F8E7E0;border:1px solid #AE6957;border-radius:8px;color:#813428;line-height:1.5}.empty-state{padding:28px;background:var(--cream);border:1px solid #DDD5C7;border-radius:10px;color:#526371}input,textarea{font-family:inherit} @media(max-width:1024px){.degree-grid{gap:16px}.degree-card{padding:20px}.member-name{display:none}}@media(max-width:767px){.ashlar-header{height:108px;padding:12px 18px}.ashlar-header.with-nav{margin-bottom:0}.ashlar-brand{gap:12px}.ashlar-brand img{width:86px;height:75px}.ashlar-brand strong{font-size:32px;letter-spacing:5px}.ashlar-brand small{font-size:8px;letter-spacing:1px}.ashlar-navigation{top:auto;bottom:0;height:calc(72px + env(safe-area-inset-bottom));padding:0 8px env(safe-area-inset-bottom);gap:0;border-top:1px solid #D5A55777;border-bottom:0;justify-content:space-around}.ashlar-navigation button{flex:1;min-width:0;padding:10px 3px;flex-direction:column;gap:6px;font-size:12px}.ashlar-content{padding:22px 18px calc(100px + env(safe-area-inset-bottom));gap:20px}.page-intro{display:block}.page-intro h1{font-size:36px}.page-intro p{font-size:19px}.page-intro blockquote{display:none}.degree-grid{grid-template-columns:1fr;gap:18px}.degree-card{min-height:300px;padding:24px;gap:15px}.roman{font-size:54px}.continue-card{display:flex;flex-direction:column;min-height:190px;padding:24px}.continue-card h2{font-size:25px}.continue-card>.gold-button{align-self:flex-start}.continue-card .progress-wrap{width:100%;max-width:400px}.status-counts{font-size:13px;gap:16px}.tile-title{font-size:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.login-hero{padding:32px;border-radius:12px;background:linear-gradient(90deg,#071D2A,#071D2A99),url(/artwork/architecture.webp) center/cover;color:#F6F1E8}.login-hero small{color:#E7C27B;letter-spacing:2px}.login-hero h1{margin-top:14px;font-size:36px}.login-hero p{font:19px Georgia;color:#E7C27B}.ashlar-content:has(input){max-width:900px}.ashlar-content:has(input)>button{width:100%}

.home-progress{display:flex;flex-direction:column}.home-progress .progress-wrap{width:min(100%,520px)}.home-progress p{margin:0;color:#E3E1D8}.ashlar-content:has(input) {gap:18px}.ashlar-content input[readonly]{background:#E7E0D4!important;color:#526371}

body{font-weight:400}.ashlar-brand small,.ashlar-navigation button,.degree-card p,.status-counts,.continue-card small{font-weight:400}.book-icon{width:20px;height:20px;vertical-align:middle;fill:none;stroke:#E7C27B;stroke-width:1.5}.degree-card .degree-subtitle{font-size:18px;margin-top:-9px}.degree-1,.degree-2,.degree-3{background-blend-mode:normal}.degree-card{background-image:linear-gradient(0deg,#071D2A 2%,#071D2Aaa 40%,#071D2A15),var(--degree-image)}.degree-1{--degree-image:url(/artwork/degree-one.webp)}.degree-2{--degree-image:url(/artwork/degree-two.webp)}.degree-3{--degree-image:url(/artwork/degree-three.webp)}.degree-4{--degree-image:url(/artwork/architecture.webp)}
