:root{--ink:#f7eaeb;--muted:#c9b6b7;--gold:#f1acae;--paper:#0d0a0a;--line:#4a2e2f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;font-size:16px;line-height:1.65}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f5989b;outline-offset:4px}.preview{background:#6a090c;text-align:center;padding:7px 20px;font-size:12px;letter-spacing:1.5px}.preview span{margin-left:22px;letter-spacing:.2px;font-size:13px}header{height:105px;background:#080709;color:#0d0a0a;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{display:flex;align-items:center;gap:18px;color:inherit;text-decoration:none;font-size:15px;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:var(--gold);margin-top:3px}.seal{font:38px Georgia;border:1px solid #b34649;width:54px;height:60px;display:grid;place-items:center;color:var(--gold)}.textbtn{border:0;background:transparent;color:inherit;padding:8px 0;font-size:14px}.layout{display:grid;grid-template-columns:33% 67%;min-height:calc(100vh - 200px)}aside{background:#390608;color:#0d0a0a;padding:56px 15%;display:flex;flex-direction:column;position:relative}.eyebrow{font-size:12px;letter-spacing:2.6px;color:#f1acae;font-weight:600}aside .eyebrow{color:var(--gold)}h1{font:normal clamp(36px,3.8vw,58px)/1.15 Georgia;margin:25px 0 20px;letter-spacing:-1px}aside>p{font-size:16px;color:#d4b8b9}nav{margin:36px 0}.stage{display:flex;gap:16px;align-items:center;padding:16px 0;color:#c9abac;font-size:14px}.stage b{display:grid;place-items:center;width:32px;height:32px;border:1px solid #904749;border-radius:50%;font-weight:400;flex-shrink:0}.stage.active{color:#fff3f3}.stage.active b{background:var(--gold);color:#f7eaeb;border-color:var(--gold)}.stage.done b{border-color:var(--gold);color:var(--gold)}.aside-bottom{margin-top:auto;padding-top:28px;border-top:1px solid #7b3d3f}.aside-bottom p{font:italic 19px/1.6 Georgia;color:#e1c2c3}.diamond{color:var(--gold);font-size:27px}main{padding:48px clamp(28px,6vw,100px) 60px;max-width:1080px;width:100%;margin:auto}.topline{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px;gap:20px}.track{height:2px;background:var(--line);margin:18px 0 44px}.track span{height:2px;display:block;background:#d44f53;transition:width .3s}h2{font:normal clamp(34px,3.5vw,49px)/1.15 Georgia;letter-spacing:-.8px;margin:18px 0 20px}h3{font:normal 25px/1.25 Georgia;margin:0 0 12px}.intro{color:var(--muted);font-size:17px;max-width:620px}.rule{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:20px}.rule>span{color:#f1acae;font:italic 20px Georgia;min-width:25px}.rule p{margin:0;color:var(--muted);font-size:15px}.rule strong{display:block;color:var(--ink);font-weight:500;margin-bottom:3px}.rules{margin:28px 0}.check{display:flex;align-items:flex-start;gap:13px;font-size:14px;padding:18px;background:#251415;border:1px solid var(--line);margin:22px 0}.check input{width:19px;height:19px;accent-color:#ad2327;flex-shrink:0;margin-top:3px}.actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px}.primary{background:#8a171a;color:#fff4f4;border:1px solid #8a171a;padding:15px 27px;font-size:14px;letter-spacing:.5px;min-height:52px}.primary:hover{background:#b02429}.secondary{border:1px solid #b0686a;background:transparent;padding:13px 20px;color:var(--ink);min-height:48px}.note{color:var(--muted);font-size:13px;margin-top:18px}.options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.option{background:transparent;border:1px solid var(--line);text-align:left;padding:24px;color:var(--ink)}.option.selected{background:#441012;border:2px solid #d44f53;padding:23px}.option .eyebrow{display:block;margin-bottom:16px}.price{font:34px Georgia;display:block;margin-top:18px}.option p{font-size:14px;color:var(--muted);margin-bottom:0}.box{border:1px solid var(--line);padding:25px;margin:24px 0}.summary{display:flex;justify-content:space-between;align-items:center}.pill{font-size:12px;padding:5px 10px;background:#461517;border-radius:20px;white-space:nowrap}.video{background:#100c0c;color:#f3dede;padding:35px 25px;text-align:center;margin:25px 0}.video .play{font:40px Georgia;display:block;margin-bottom:8px}.video p{font-size:14px;color:#d4b4b5}.lesson p{color:var(--muted)}.signals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.signals div{padding:18px 14px;border:1px solid var(--line)}.signals strong{display:block}.signals p{font-size:14px;margin:5px 0}.signals div:nth-child(1){border-top:3px solid #647b65}.signals div:nth-child(2){border-top:3px solid #b19149}.signals div:nth-child(3){border-top:3px solid #a15557}.book{background:#100c0c;color:#f5e0e0;padding:35px;border-left:8px solid #ac2428;margin:24px 0}.book h3{font-size:32px;margin:15px 0}.book p{color:#d5b6b7;font-size:14px}.library-row{display:flex;gap:18px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0}.library-row p{font-size:14px;margin:3px 0;color:var(--muted)}textarea{width:100%;resize:vertical;min-height:140px;padding:16px;border:1px solid #855052;background:#130e0e;color:var(--ink)}label.journal{display:block;margin-bottom:10px}footer{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer div{display:flex;gap:25px}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:38px;max-width:600px;width:calc(100% - 32px);max-height:85vh}dialog::backdrop{background:#0009}.close{float:right}dialog h2{font-size:32px}dialog p{font-size:15px}dialog .primary{margin-top:20px}@media(min-width:1500px){aside{padding-left:22%}}@media(max-width:850px){.layout{grid-template-columns:1fr}aside{padding:28px 6%}aside h1,aside>p,.aside-bottom,aside>.eyebrow{display:none}nav{margin:0;display:flex;justify-content:space-between;gap:10px}.stage{padding:0;gap:9px;font-size:12px}.stage b{width:27px;height:27px}header{height:88px}.brand{font-size:12px;gap:12px}.brand small{font-size:9px}.seal{height:48px;width:43px;font-size:32px}main{padding:30px 6% 45px;max-width:740px}.track{margin-bottom:30px}.preview span{display:block;margin:2px 0 0;font-size:12px}.preview{font-size:10px}footer{flex-wrap:wrap;gap:8px}.options{gap:10px}.option{padding:18px}.option.selected{padding:17px}.signals{gap:7px}.signals div{padding:12px 10px}}@media(max-width:430px){header>.textbtn{font-size:12px}.stage{font-size:11px;gap:6px}.stage b{width:23px;height:23px}.options{grid-template-columns:1fr}.option .price{margin-top:8px}.actions{flex-wrap:wrap}.actions .primary{flex-grow:1}h2{font-size:35px}.signals{grid-template-columns:1fr}.signals div p{margin:0}.signals strong{display:inline;margin-right:10px}}

/* Ruby red and reflective latex-black surfaces */
:root{color-scheme:dark}
body{background:radial-gradient(ellipse at 100% 0%,#340e0f 0%,#100b0b 48%,#080709 100%)}
.preview{color:#fff0f0;background:linear-gradient(100deg,#4b0507,#8a1417,#57090b);border-bottom:1px solid #b9474a}
header{color:#f7eaeb;background:linear-gradient(165deg,#343036 0%,#100e12 22%,#040405 55%,#181212 100%);border-bottom:1px solid #612d2f;box-shadow:inset 0 1px 0 #ffffff24,0 8px 24px #0005}
.seal{background:linear-gradient(140deg,#671c1e,#130c0c 55%,#060507);box-shadow:inset 1px 1px 0 #f9b4b655,0 5px 15px #0008}
aside{color:#f7eaeb;background:linear-gradient(145deg,#751013 0%,#480a0c 30%,#260708 70%,#140708 100%);box-shadow:inset -1px 0 0 #e885882b}
.stage.active b{color:#fff4f4;background:linear-gradient(#bc3b3f,#7a0d10);border-color:#ef7478;box-shadow:0 0 18px #dc3c4133,inset 0 1px 0 #ffffff44}
.track span{background:linear-gradient(90deg,#af262a,#f39c9f)}
.check,.box,.option,.signals div{background:linear-gradient(150deg,#261a1b,#120e0e 70%);box-shadow:inset 0 1px 0 #ffffff09}
.option:hover{border-color:#bf6164}
.option.selected{background:linear-gradient(140deg,#6a1c1e,#340e0f 65%,#190c0d);box-shadow:inset 0 1px 0 #fbb0b238,0 8px 25px #0004}
.primary{background:linear-gradient(175deg,#ba3c40 0%,#8a171a 43%,#67090c 100%);border-color:#c35558;box-shadow:inset 0 1px 0 #ffffff3b,0 5px 16px #0005}
.primary:hover{background:linear-gradient(175deg,#d34c50,#a82125 45%,#830c0f)}
.secondary:hover{background:#3b1213}.textbtn:hover{color:#ffc2c4}
.video{background:linear-gradient(155deg,#413334 0%,#151010 23%,#040405 55%,#241011 100%);border:1px solid #673e3f;box-shadow:inset 0 1px 0 #ffffff26}
.book{background:linear-gradient(125deg,#651c1e 0%,#240e0e 16%,#080709 53%,#2a1f20 76%,#100a0a 100%);border-top:1px solid #7a4f50;border-bottom:1px solid #3d2525;box-shadow:8px 12px 28px #0006,inset 1px 0 0 #ffc6c844}
textarea{box-shadow:inset 0 3px 12px #0005}textarea::placeholder{color:#bda3a3}
footer{background:#080709}dialog{background:linear-gradient(145deg,#331314,#0e0b10 65%);box-shadow:0 25px 80px #000b;border-color:#9c5d5e}dialog::backdrop{background:#060303cc}
::selection{background:#a42125;color:#fff}

/* Red is the dominant canvas; black frames the journey. */
:root{--paper:#4b080e;--muted:#ead0cf;--gold:#ffbab3;--line:#98434a}
body{background:radial-gradient(ellipse at 90% 0%,#a51823 0%,#710d17 42%,#45070e 100%)}
aside{background:linear-gradient(145deg,#bd2030 0%,#8d1020 35%,#640c17 72%,#3d0710 100%)}
.preview{background:linear-gradient(100deg,#97111c,#c82a35,#92101c)}
.check,.box,.option,.signals div{background:linear-gradient(145deg,#76131e,#3c0a12 100%)}
.option.selected{background:linear-gradient(140deg,#a6232e,#6d101a 65%,#440a13);border-color:#ffaaa1}
.primary{background:linear-gradient(175deg,#ce3540 0%,#a61927 43%,#82101c 100%);border-color:#ec7075}
.primary:hover{background:linear-gradient(175deg,#df4149,#b51c2a 45%,#961121)}
.stage.active b{background:linear-gradient(#df3f4b,#a51a29);border-color:#ff9e9f}
.track span{background:linear-gradient(90deg,#e84b52,#ffc2b8)}
.pill{background:#8d1925;color:#fff0eb}
.book{background:linear-gradient(125deg,#ba2832 0%,#790e1b 20%,#30090f 65%,#100709 100%);border-left-color:#ed6668}
dialog{background:linear-gradient(145deg,#7c1520,#35090f 75%);border-color:#ba6266}
.check input{accent-color:#dd3a45}

@font-face{font-family:HouseSerif;src:url('fonts/lmroman10-regular.otf') format('opentype');font-display:swap}
@font-face{font-family:HouseSans;src:url('fonts/lmsans10-regular.otf') format('opentype');font-display:swap}
@font-face{font-family:HouseScript;src:url('fonts/lmroman10-italic.otf') format('opentype');font-display:swap}
body{font-family:HouseSans,Arial,sans-serif}h1,h2,h3,.price,.seal{font-family:HouseSerif,Georgia,serif}h2{font-size:clamp(40px,4.5vw,64px);line-height:1.06;letter-spacing:-1px}.aside-bottom p{font-family:HouseScript,Georgia,serif;font-size:29px;line-height:1.35;font-style:normal}.brand{font-family:HouseSerif,Georgia,serif}.brand small,.eyebrow,button{font-family:HouseSans,Arial,sans-serif}main h2,main h3,main p{overflow-wrap:anywhere} [data-copy-field]{white-space:pre-wrap}

.header-links{display:flex;gap:25px;align-items:center}.progress-meta{padding:16px 0;border-top:1px solid var(--line)}.progress-meta strong{display:block}.save-indicator{position:fixed;bottom:15px;right:18px;padding:8px 14px;border:1px solid #96525a;background:#21090feF;color:#ffdfd4;font-size:13px;z-index:5;max-width:calc(100vw - 36px)}.progress-buttons{display:flex;gap:14px;flex-wrap:wrap}.progress-buttons button{margin-top:8px}#progress-dialog .error{color:#ffcec6}#progress-dialog .check{font-size:14px}#progress-dialog .note{overflow-wrap:anywhere}@media(max-width:600px){.header-links{gap:10px;flex-direction:column;align-items:flex-end}.header-links button{padding:2px 0;font-size:12px}}
/* Fluid action icons: one vocabulary across the journey and editor. */
.fluid-icon{display:inline-block;width:25px;height:25px;vertical-align:middle;margin-right:9px;flex-shrink:0;color:inherit;overflow:visible;transition:transform .25s cubic-bezier(.2,.8,.2,1),filter .25s}
.icon-wash{fill:currentColor;opacity:.09;transition:opacity .25s}
.has-fluid-icon:hover:not(:disabled)>.fluid-icon{transform:translateY(-2px) rotate(-4deg);filter:drop-shadow(0 2px 5px #fa576548)}
.has-fluid-icon:hover:not(:disabled)>.fluid-icon .icon-wash{opacity:.17}
.has-fluid-icon:active:not(:disabled)>.fluid-icon{transform:scale(.93)}
.primary>.fluid-icon{color:#ffdfd6}.secondary>.fluid-icon,.textbtn>.fluid-icon{color:#ffc1b4}
.option{position:relative}.option>.fluid-icon{position:absolute;right:18px;top:18px;width:30px;height:30px;margin:0}.option .eyebrow{padding-right:28px}
.close>.fluid-icon{margin:0}.textbtn>.fluid-icon{width:22px;height:22px;margin-right:6px}
@media(prefers-reduced-motion:reduce){.fluid-icon,.icon-wash{transition:none!important}.has-fluid-icon:hover:not(:disabled)>.fluid-icon,.has-fluid-icon:active:not(:disabled)>.fluid-icon{transform:none}}
@media(max-width:600px){.header-links .fluid-icon{width:18px;height:18px;margin-right:5px}.actions{gap:12px}.primary,.secondary{padding-left:18px;padding-right:18px}}

@font-face{font-family:LibreBaskerville;src:url(fonts/libre-baskerville.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
