.hero-art{position:relative;min-height:455px;isolation:isolate}.watercolor{position:absolute;inset:10px 10px 25px;border-radius:49% 51% 45% 55%/52% 41% 59% 48%;background:radial-gradient(ellipse at 40% 40%,#cea1c0aa,#ddbed75c 58%,transparent 72%);filter:blur(3px)}.watercolor:after{content:'';position:absolute;inset:45px 28px;border:1px solid #ad759746;border-radius:50%;rotate:-18deg}.hero-kael{height:432px;width:100%;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 12px 14px #82537814);margin-top:5px}.constellation{position:absolute;color:#875675;z-index:3}.c-one{right:5px;top:50px;font-size:39px}.c-two{left:6px;top:125px;font-size:25px}.c-three{right:20px;bottom:86px;font-size:23px}.paper-note{position:absolute;top:18px;left:0;rotate:-8deg;background:transparent;border:0;padding:17px 19px;z-index:3;box-shadow:none;text-align:center}.paper-note span{font:14px/1.45 'Libre Baskerville',serif}.paper-note b{display:block;margin-top:7px;font-size:17px;font-weight:400}.hero-caption{position:absolute;bottom:3px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:2.2px;color:#835d78}
/* Numbered roadmap: six short steps, with Kael guiding the journey. */
.preview-views{flex-wrap:wrap;justify-content:center}.publishing-roadmap{margin:24px 0;background:linear-gradient(135deg,#faf7fb,#f1e8f2);border:1px solid #d8bfd4;border-radius:14px;padding:30px}.roadmap-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.roadmap-heading h2{font-size:26px;margin:12px 0}.roadmap-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.roadmap-heading img{width:95px;height:110px;object-fit:contain;flex-shrink:0}.roadmap-steps{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;padding:0;margin:30px 0 24px}.roadmap-steps li{position:relative;min-width:0}.roadmap-node{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#e6cddd;border:1px solid #c5a2bb;border-radius:50%;font:14px 'Libre Baskerville',serif;color:#663a5c;position:relative;z-index:1}.roadmap-steps li:not(:last-child)::after{content:'→';position:absolute;top:8px;left:47px;right:0;height:1px;border-top:1px solid #c7a6bf;color:#9e7190;text-align:right;line-height:17px;font-size:12px}.roadmap-steps h3{font:700 11px/1.6 'DM Sans',sans-serif;margin:15px 0 8px;color:#54364e}.roadmap-steps p{font-size:10px;line-height:1.8;color:#776276;margin:0}.roadmap-footnote{display:flex;gap:12px;align-items:center;border-top:1px solid #dfcddd;padding-top:16px}.roadmap-footnote>span{font-size:24px;color:#9a6b8e}.roadmap-footnote p{font-size:10px;line-height:1.8;color:#7b667b;margin:0}.roadmap-footnote strong{font-weight:500;color:#70536c}.roadmap-home{padding-top:0;padding-bottom:0}.roadmap-preview{padding-top:30px}.roadmap-preview .publishing-roadmap{margin-top:0}@media(max-width:1000px){.roadmap-steps{grid-template-columns:repeat(3,1fr);gap:24px 20px}.roadmap-steps li:nth-child(3)::after{display:none}.roadmap-steps h3{font-size:12px}.roadmap-steps p{font-size:11px}.roadmap-heading h2{font-size:23px}}@media(max-width:550px){.publishing-roadmap{padding:23px 20px}.roadmap-heading{gap:10px}.roadmap-heading img{width:67px;height:87px}.roadmap-heading h2{font-size:21px}.roadmap-heading p{font-size:11px}.roadmap-steps{grid-template-columns:1fr;margin-top:25px;gap:0}.roadmap-steps li{padding:0 0 24px 55px;min-height:85px}.roadmap-node{position:absolute;left:0;top:0}.roadmap-steps h3{margin:0 0 5px;padding-top:3px}.roadmap-steps li:not(:last-child)::after{content:'';display:block;left:18px;top:39px;bottom:0;right:auto;height:auto;border:0;border-left:1px solid #c7a6bf}.roadmap-steps li:last-child{padding-bottom:8px}.roadmap-footnote p{font-size:9px}}

/* Kael after hours: aubergine paper, violet surfaces and rose highlights. */
:root{color-scheme:dark;--paper:#191120;--ink:#f5edf7;--muted:#c5b4ce;--plum:#d09bcc;--rose:#c486bb;--lavender:#32223e;--line:#4a3554;--blue:#25192f}
body{background:radial-gradient(ellipse at 90% 18%,#3c204966,transparent 43%),radial-gradient(ellipse at 4% 60%,#38203f44,transparent 42%),#191120;color:var(--ink)}.preview-bar{background:#100b16;color:#c1a5cc;border-bottom:1px solid #3e2a4a}.preview-bar small{color:#a58aaf}.preview-views button{border-color:#513961;color:#bca2c7}.preview-views button.selected{background:#49305c;color:#f4e3fa}header{background:#1c1424;border-color:#42304d}.spark{color:#c490c1}.brand small{color:#bc9ec8}nav button{color:#c6b0d0}nav button.active{background:#3a2848;color:#e3bee8}.account{border-color:#6d4c7a;color:#e1c9eb;background:#271a34}.account img{background:#8d608e}.eyebrow{color:#c596c5}.hero h1 em{color:#d69fce}.hero p{color:#c4b0ce}.primary{background:#945aab;color:#fff4ff;border-color:#ab75be;box-shadow:0 5px 20px #ae5fc719}.secondary{background:#2b1d37;color:#e4c6ed;border-color:#735184}.small-note{color:#c7a5d1}.tiny-star{color:#cf99cb}.watercolor{background:radial-gradient(ellipse at 43% 40%,#804c8555,#442d5655 58%,transparent 72%)}.watercolor:after{border-color:#a875a849}.hero-kael{filter:drop-shadow(0 12px 25px #08030c66)}.constellation{color:#cca1d5}.paper-note{background:transparent;border:0;color:#f7dfef;box-shadow:none}.hero-caption{color:#b89ac7}.progress-card,.calendar-card,.theme-card,.topic-card{background:#261a30;border-color:#4d3657;box-shadow:0 8px 28px #0d071522}.text-button{color:#d7addf}.progress-count{color:#e4bde6}.progress-count strong span{color:#bd9fcc}progress{background:#47324f}progress::-webkit-progress-bar{background:#47324f}progress::-webkit-progress-value{background:#be8cc5}progress::-moz-progress-bar{background:#be8cc5}.stats span{color:#c2a5cf;border-color:#4c3656}.stats b{color:#e1b7e1}.way-grid article{background:linear-gradient(140deg,#2b1b35,#27192f);border-color:#503659}.way-grid p{color:#c3accd}.gentle-reminder{background:linear-gradient(120deg,#382241,#452940);border-color:#61426a}.gentle-reminder p{color:#c7aecf}.reminder-star{color:#b77fb2}.page-heading p{color:#c4b0ce}.percent{color:#d5a1d0}.calendar-heading p{color:#bba0c6}.calendar-nav button{background:#36223f;border-color:#674473;color:#e3bce6}.calendar-nav strong{color:#eed9f3}th{color:#c2a0ce}td{background:#33203e;color:#d7bce2}td.today{background:#634166;outline-color:#c594c0;color:#fff3fd}.legend{color:#bda0c8}.badge-card{background:linear-gradient(140deg,#472a52,#33203e);border-color:#734a79}.badge-card p{color:#ceb1d8}.badge-portrait{background:#7e4f82;border-color:#c39dca}.badge-portrait span{background:#cfaccf;color:#402447}.badge-sample>span{color:#d5aed8}.badge-miniatures span{background:#34213d;color:#e0bfe6;border-color:#795182}.preview-note{color:#b99cc5}.theme>span{color:#d1b4dc}.theme-card p{color:#bda0cb}.status-tabs{color:#d0a8d5}.topic-row{border-color:#4b3455}.topic-row b{color:#d5abda}.desk-sidebar{background:#33203f;border-color:#61416e}.desk-sidebar p{color:#c4a7d0}.desk-quote{border-color:#71507e;color:#d5a6d8}.desk-empty{background:#24182f;border-color:#74517e}.desk-empty p{color:#c4accc}footer{color:#b799c2;border-color:#45324f}footer small{color:#a689b5}.publishing-roadmap{background:linear-gradient(135deg,#34203e,#2b1c36);border-color:#674674}.roadmap-heading p{color:#c7add2}.roadmap-node{background:#714a78;border-color:#ad7db7;color:#f5e5f8}.roadmap-steps li:not(:last-child)::after{border-color:#986ba1;color:#ba8bc4}.roadmap-steps h3{color:#edd1f0}.roadmap-steps p{color:#c5a8cf}.roadmap-footnote{border-color:#65416d}.roadmap-footnote>span{color:#c390ce}.roadmap-footnote p{color:#c2a6cd}.roadmap-footnote strong{color:#dfbfe6}
.writer-quote{background:linear-gradient(100deg,#352044,#492753 65%,#382041);border-bottom:1px solid #745179}.quote-inner{max-width:1120px;margin:auto;padding:12px 30px;display:flex;align-items:center;gap:23px}.quote-twain{height:100px;width:102px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 5px 8px #07020c44)}.quote-eyebrow{font-size:8px;letter-spacing:2.8px;color:#c99dd2;font-weight:700}.writer-quote blockquote{margin:9px 0 10px;font:400 18px/1.5 'Libre Baskerville',Georgia,serif;color:#f5e4f8}.writer-quote a{color:#d2abc8;text-decoration:none;font-size:10px}.writer-quote a:hover{text-decoration:underline}.writer-quote a span{margin-left:5px}.quote-flourish{margin-left:auto;font-size:43px;color:#bd8cbd}.hero{padding-top:32px}.hero-art{min-height:430px}.hero-kael{height:407px}.quote-inner a:focus-visible{outline:2px solid #dcabd7;outline-offset:4px}
@media(max-width:700px){.quote-inner{padding:12px 20px;gap:14px}.quote-twain{width:78px;height:87px}.writer-quote blockquote{font-size:15px}.quote-flourish{display:none}.writer-quote a{font-size:9px}.quote-eyebrow{font-size:7px;letter-spacing:1.5px}.hero-art{min-height:420px}.hero-kael{height:395px}.hero{padding-top:30px}}
@media(max-width:550px){.roadmap-steps li:not(:last-child)::after{border-left-color:#986ba1}.quote-twain{width:65px;height:83px}.writer-quote blockquote{font-size:13px;line-height:1.6}.quote-inner{gap:12px}.quote-eyebrow{letter-spacing:1px}.writer-quote a{line-height:1.6;display:inline-block}}

.postcard-preview-button{border:1px solid #6d4b7c;background:transparent;color:#d7bce3;font-size:9px;padding:6px 10px;border-radius:20px;letter-spacing:0;white-space:nowrap}.preview-bar{flex-wrap:wrap}.welcome-postcard{color-scheme:light;width:min(660px,calc(100vw - 36px));max-height:calc(100dvh - 40px);overflow:auto;padding:30px 36px 26px;border:1px solid #b28eac;border-radius:12px;color:#352336;background:radial-gradient(ellipse at 85% 5%,#e6c6dc66,transparent 55%),linear-gradient(145deg,#f7eaf2,#efdeec);box-shadow:0 25px 100px #08020dd9;font-family:'DM Sans',sans-serif;position:fixed;inset:0;margin:auto}.welcome-postcard::backdrop{background:#0b0512b8;backdrop-filter:blur(4px)}.postcard-close{position:absolute;top:10px;right:13px;border:0;background:transparent;color:#77536e;padding:5px 9px;font-size:24px;line-height:1;cursor:pointer}.postcard-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d9bdcf;padding-bottom:16px;margin-bottom:18px}.postcard-kicker{font-size:8px;letter-spacing:1.8px;color:#8e6586;display:block;max-width:280px;line-height:1.8;font-weight:700}.welcome-postcard h2{font:400 33px/1.25 'Libre Baskerville',Georgia,serif;margin:12px 0 0;color:#542f50}.postcard-stamp{flex-shrink:0;width:72px;height:86px;padding:5px;border:1px dashed #bd99b1;rotate:7deg;background:#e6c9dd;text-align:center}.postcard-stamp img{height:61px;width:61px;object-fit:contain}.postcard-stamp>span{display:block;font-size:5px;letter-spacing:.8px;line-height:1.3;color:#745369}.welcome-postcard>p{font-size:13px;line-height:1.8;margin:14px 0;color:#65455f}.welcome-postcard em{color:#704069}.welcome-postcard strong{font-weight:700;color:#57324f}.postcard-note{display:flex;gap:12px;align-items:center;padding:12px 15px;background:#e6cfdf;border:1px solid #d8b9ce;border-radius:7px;margin:18px 0}.postcard-note>span{font-size:25px;color:#986387}.postcard-note p{font-size:12px;line-height:1.75;margin:0;color:#63445e}.welcome-postcard>.publication-plan{font-size:11px;line-height:1.8;color:#806179}.postcard-bottom{border-top:1px solid #d7bacf;padding-top:17px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.postcard-signature{font:italic 13px 'Libre Baskerville',Georgia,serif;color:#845675}.postcard-signature>span{display:inline-block;margin-left:7px;font-size:20px;font-style:normal}.welcome-postcard .primary{background:#693b66;border-color:#754970;color:#fff1fa;padding:12px 22px;font-size:11px;white-space:nowrap}.welcome-postcard button:focus-visible{outline:2px solid #9d6c91;outline-offset:3px}@media(max-width:550px){.welcome-postcard{padding:25px 23px 22px;width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.welcome-postcard h2{font-size:27px}.postcard-kicker{font-size:7px;letter-spacing:1.4px}.postcard-top{gap:12px;margin-bottom:15px}.postcard-stamp{width:58px;height:72px}.postcard-stamp img{height:49px;width:49px}.welcome-postcard>p{font-size:12px;line-height:1.8;margin:13px 0}.postcard-note{padding:11px}.postcard-note p{font-size:11px}.postcard-bottom{flex-direction:column;align-items:flex-start;gap:17px}.welcome-postcard .primary{width:100%}.postcard-signature{font-size:12px}.preview-bar{justify-content:center;gap:8px}}

/* Traditional 6 × 4 postcard proportions, scaled to the browser. */
.welcome-postcard{width:min(720px,calc(100vw - 36px));aspect-ratio:3/2;padding:30px;border-radius:3px;border:1px solid #c7ac81;max-height:calc(100dvh - 40px);background:radial-gradient(ellipse at 7% 12%,#f9eed5aa,transparent 60%),repeating-linear-gradient(0deg,#ae8b5410 0px,#ae8b5410 1px,transparent 1px,transparent 4px),#ead9b8;color:#503e2c;box-shadow:0 25px 100px #08020dd9,inset 0 0 25px #94733d20;font-family:Georgia,'Times New Roman',serif}.postcard-layout{display:grid;grid-template-columns:1.55fr 1fr;gap:23px;min-height:100%}.postcard-message{padding-right:23px;border-right:1px solid #bda078aa}.postcard-kicker{font:700 7px/1.7 'DM Sans',sans-serif;letter-spacing:1.7px;color:#90734e}.welcome-postcard h2{font:400 27px/1.3 'Libre Baskerville',Georgia,serif;color:#55402c;margin:9px 0 15px}.postcard-message p{font:12px/1.65 Georgia,'Times New Roman',serif;color:#67513b;margin:10px 0}.welcome-postcard em,.welcome-postcard strong{color:#5b422c}.postcard-message .publication-plan{font-size:10px;line-height:1.7;color:#81684c}.postcard-signature{display:block;font:italic 12px/1.5 Georgia,serif;color:#74573b;margin-top:13px}.postcard-signature>span{font-size:15px;margin-left:8px}.postcard-address{display:flex;flex-direction:column;align-items:stretch;padding-top:7px}.postcard-mail{display:flex;justify-content:space-between;align-items:center;gap:8px}.postcard-stamp{rotate:4deg;width:67px;height:83px;padding:5px;border:2px dotted #b5a184;background:#d8c3bb;box-shadow:0 2px 4px #876b4425}.postcard-stamp img{height:57px;width:55px;object-fit:contain}.postcard-stamp>span{font:5px/1.2 'DM Sans',sans-serif;letter-spacing:.4px;color:#76535c}.postcard-postmark{width:90px;height:90px;flex-shrink:0;border:2px solid #9c80604d;border-radius:50%;rotate:-13deg;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;color:#96785b}.postcard-postmark:before{content:'';position:absolute;inset:5px;border:1px solid #9c80604d;border-radius:50%}.postcard-postmark>span{font:7px 'DM Sans',sans-serif;letter-spacing:1px}.postcard-postmark>b{font-size:22px;font-weight:400;margin:5px 0}.postcard-postmark>small{font:5px 'DM Sans',sans-serif;letter-spacing:.4px}.postcard-recipient{margin-top:35px}.postcard-to{font:7px 'DM Sans',sans-serif;letter-spacing:2px;color:#9b7a51;display:block;margin-bottom:6px}.address-line{display:block;font:italic 12px/1.55 Georgia,serif;color:#785c3d;border-bottom:1px solid #b79a7280;padding:11px 0 6px}.postcard-postal-note{font:7px 'DM Sans',sans-serif;letter-spacing:1.5px;color:#98784d;margin:22px 0}.welcome-postcard .primary{margin-top:auto;align-self:flex-start;width:auto;border-color:#7b595c;background:#785359;color:#fff3e2;font:600 10px 'DM Sans',sans-serif;padding:11px 18px;border-radius:3px;box-shadow:none}.postcard-close{top:7px;right:9px;color:#866846;font-size:21px}.welcome-postcard button:focus-visible{outline-color:#9c7551}.welcome-postcard::backdrop{background:#0b0512b8;backdrop-filter:blur(4px)}
@media(max-width:550px){.welcome-postcard{width:calc(100vw - 28px);aspect-ratio:auto;padding:28px 22px 22px;max-height:calc(100dvh - 28px)}.postcard-layout{grid-template-columns:1fr;gap:22px}.postcard-message{padding:0 0 19px;border-right:0;border-bottom:1px solid #bda078aa}.welcome-postcard h2{font-size:26px}.postcard-message p{font-size:12px;line-height:1.75}.postcard-address{padding-top:0;position:relative}.postcard-mail{position:absolute;right:0;top:0}.postcard-postmark{width:60px;height:60px}.postcard-postmark>span{font-size:5px;letter-spacing:.5px}.postcard-postmark>b{font-size:15px;margin:3px 0}.postcard-postmark>small{font-size:3px}.postcard-stamp{width:46px;height:60px;padding:3px}.postcard-stamp img{height:40px;width:36px}.postcard-stamp>span{font-size:3px}.postcard-recipient{margin-top:0;padding-top:8px}.address-line{font-size:11px;max-width:calc(100% - 100px);padding:9px 0 5px}.postcard-to{margin-bottom:9px}.postcard-postal-note{font-size:6px;margin:20px 0 16px}.welcome-postcard .primary{width:100%;align-self:stretch;padding:12px}.postcard-signature{font-size:12px}}

/* Live application controls and content keep their existing behavior. */
:root{--white:#261a30;--sage:#382440;--gold:#c18fc3}.star{color:#c490c1}.nav.active,.nav:hover{background:#3a2848;color:#e3bee8}.ghost{border-color:#6d4c7a;background:#271a34;color:#e1c9eb}.feature,.card,.panel{background:#261a30;border-color:#4d3657;box-shadow:0 8px 28px #0d071522}.card:hover{border-color:#9867a6}.feature p,.card p,.lead,.page-heading p,.status,.section-head p{color:#c4b0ce}.tag{background:#422b4c;color:#ddbbe5}.pill{color:#c8aed1}.claimed,.stage-claimed{color:#d1a4c9}.stage-submitted{color:#ceb4ea}.stage-accepted{color:#cbb7ef}.card button,.mini{color:#e5c9ec;border-color:#71537f;background:#30203b}.card button:hover,.mini:hover{background:#412a50}.sidebar{background:#33203f}.draft-link{border-color:#65446f;color:#e9d3ee}.editor-card{background:#281b32;border-color:#574060}.editor-card input,.editor-card select{color:#eedbf5}input,select,textarea{background:#30203b;border-color:#6d5278;color:#f1e1f8}input::placeholder,textarea::placeholder{color:#b59ac3}.editable,.chapter{background:#f8f0f5;color:#352637;border-color:#987aa0;caret-color:#5f346b}.chapter{padding:22px;border-radius:6px}.editable h2,.chapter h2{color:inherit}.editor-tools button{background:#432b50;color:#efd9f6}.empty{background:#24182f;border-color:#74517e;color:#c5b0d0}.empty h3{color:#eeddf3}.modal{background:#281c32;border:1px solid #62466e;color:#f0e1f6}.modal-backdrop{background:#0b0512c9}.close{color:#dabce4}.warning{background:#3a2944;border-color:#795b88;color:#e9d0e8}#toast{background:#513365;border:1px solid #8a63a1;color:#fff0ff}.banner{background:linear-gradient(120deg,#382241,#452940);border-color:#61426a;position:relative;overflow:hidden}.banner p{color:#c7aecf}.banner-kael{height:145px;width:150px;object-fit:contain;display:block;margin:0 auto 12px}.feature-kael{height:130px;width:100%;object-fit:contain;display:block;margin-bottom:18px}.feature .icon{font-size:15px;color:#c69fcf}.heading-kael{float:right;height:100px;width:100px;object-fit:contain}.empty-kael{width:180px;height:180px;object-fit:contain;display:block;margin:0 auto 20px}.journey-teaser>.panel{background:#261a30;border-color:#4d3657}.progress-percent{color:#d5a1d0}.stat-grid strong{color:#e1b7e1}.stat-grid span{color:#c2a5cf}.stat-grid>div,.deadline-mini{border-color:#4c3656}.deadline-mini small{color:#bda0cb}.calendar td{background:#33203e;color:#d7bce2}.calendar th{color:#c2a0ce}.calendar td.calendar-empty{background:none}.calendar td.calendar-today{background:#634166;outline-color:#c594c0;color:#fff3fd}.calendar td.calendar-due{background:#c394c8;color:#28172e;outline-color:#edd1f0}.calendar-legend{color:#bda0c8}.calendar-kael{float:right;width:95px;height:110px;object-fit:contain;margin-left:10px}.theme-label span,.theme-report small{color:#bfa0ca}.badge-heading-kael{float:right;width:80px;height:80px;object-fit:contain}.earned-badge{background:linear-gradient(140deg,#472a52,#33203e);border-color:#734a79;align-items:center;flex-wrap:wrap}.earned-badge p{color:#ceb1d8}.earned-badge>span{color:#d3add9;font-size:20px}.badge-kael{width:54px;height:54px;object-fit:cover;object-position:top;background:#7e4f82;border:2px solid #ae85b8;border-radius:50%}.earned-badge>div{flex:1;min-width:130px}.badge-chips span{background:#422b4c;color:#ddbbe5}.award-row{border-color:#61416e}.topic-report-list>div{border-color:#4b3455}.status-key{color:#c3a6d0}.deadline-card h2{font-size:23px}.journey-columns{align-items:start}.hero .lead{margin-top:20px}.hero-art{min-height:465px}.hero-kael{height:445px}.watercolor{background:radial-gradient(ellipse at 43% 40%,#804c8555,#442d5655 58%,transparent 72%)}.postcard-close{color:#866846}.welcome-postcard .primary{background:#785359;border-color:#7b595c;color:#fff3e2}.roadmap-home{padding-top:0;padding-bottom:0}.publishing-roadmap h3{font-family:'DM Sans',sans-serif}.quote-inner{max-width:1120px}footer{flex-wrap:wrap;font-size:9px}footer .mini{font-size:10px;letter-spacing:0}.welcome-postcard .postcard-signature{color:#74573b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#c99ed5}@supports(animation-timeline:scroll()){.paper-note,.c-one{animation:kael-drift linear both;animation-timeline:scroll(root)}@keyframes kael-drift{from{translate:0 0}to{translate:0 -55px;rotate:3deg}}}@media(max-width:850px){.hero-art{width:100%;max-width:440px;margin:auto;min-height:445px}.hero-kael{height:420px}}@media(max-width:550px){.hero-art{min-height:390px}.hero-kael{height:365px}.heading-kael{width:80px;height:90px}.calendar-kael{height:95px;width:80px}.badge-heading-kael{float:none}.paper-note{padding:12px;font-size:12px;left:0}.constellation.c-one{right:0}.theme-label{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.progress-percent{white-space:nowrap;flex-shrink:0}.progress-heading>div{min-width:0}

/* Signup instructions stay in a centred dialog until dismissed. */
.signup-confirmation{text-align:center;padding:10px 0 4px}.signup-confirmation h2{font-size:clamp(26px,4vw,34px);margin:18px 0}.signup-confirmation p{line-height:1.8;color:#ddc9e6}.confirmation-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#452b53;border:1px solid #896297;font-size:31px;color:#e6c8ed}.confirmation-email{overflow-wrap:anywhere;color:#f5e8fa}.confirmation-reminder{padding:16px 18px;margin:22px 0;border:1px solid #85618e;border-radius:10px;background:#3a2646;line-height:1.7;color:#f0d9f4}.signup-confirmation .status{font-size:13px}.signup-confirmation .buttons{justify-content:center;margin-top:24px}
/* A spacious, quiet desk with a vintage typewriter header. */
.desk-wrap{max-width:1600px;padding:42px 28px}.desk-page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.desk-page-heading h1{font-size:clamp(32px,4vw,48px)}.desk-wrap .writer-layout{grid-template-columns:205px minmax(0,1fr);gap:24px}.desk-wrap .sidebar{position:sticky;top:130px;padding:20px}.sidebar .draft-link{overflow-wrap:anywhere;white-space:normal;text-align:left}.sidebar>button{max-width:100%;white-space:normal}.desk-wrap #editorPane{min-width:0}.editor-card{padding:26px 30px;border-radius:14px}.typewriter-top{display:block;width:min(100%,1000px);height:100px;object-fit:contain;opacity:.48;margin:0 auto 12px;pointer-events:none}.editor-heading{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:20px}.editor-heading h2{font-size:clamp(23px,3vw,31px);line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}.editor-heading>div{min-width:0}.editor-heading>button{flex-shrink:0;font-size:12px}.editor-tools{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;margin:14px 0;border-block:1px solid #64466f}.tool-group{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding-right:8px;border-right:1px solid #64466f}.tool-group:last-of-type{border:0}.editor-tools button{font-size:12px;min-width:34px;min-height:36px;padding:8px 10px;border:1px solid #765781;border-radius:6px}.editor-tools select{width:auto;max-width:150px;padding:8px;font-size:12px;min-height:36px}.writing-paper{min-height:560px;padding:40px 48px;font:18px/1.95 'DM Sans',sans-serif;box-shadow:inset 0 1px 4px #52344c12}.writing-paper:empty::before{content:attr(data-placeholder);color:#a88a9d;pointer-events:none}.editable p,.editable div{margin:0 0 14px}.editable a,.chapter a{color:#704a83;text-decoration:underline}.editable [data-align=center],.chapter [data-align=center]{text-align:center}.editable [data-align=right],.chapter [data-align=right]{text-align:right}.editable [data-align=justify],.chapter [data-align=justify]{text-align:justify}.editable img[data-align=center],.chapter img[data-align=center]{display:block;margin:18px auto}.editable img[data-align=right],.chapter img[data-align=right]{display:block;margin:18px 0 18px auto}.editable img[data-align=left],.chapter img[data-align=left]{display:block;margin:18px auto 18px 0}.editable img.selected-image{outline:3px solid #b581c6;outline-offset:5px}.image-size-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;background:#3c2847;border:1px solid #8b6897;border-radius:8px;padding:14px;margin:12px 0}.image-size-controls label{display:flex;gap:8px;align-items:center;font-size:12px}.image-size-controls input[type=range]{width:130px;padding:0}.image-size-controls input:not([type=range]){width:160px;font-size:12px;padding:8px}.image-size-controls select{width:auto;padding:8px}.image-size-controls output{min-width:36px}.editor-file-hint{font-size:12px;line-height:1.8}.chapter-settings{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.chapter-settings .field{margin:0 0 16px}.editable a[data-file-path],.chapter a[data-file-path]{display:block;padding:18px 20px;border:1px solid #bc9fc6;border-radius:8px;background:#eaddf0;color:#593566;overflow-wrap:anywhere;font-size:15px;text-decoration:none;margin:16px 0}.editable a[data-file-path]::before,.chapter a[data-file-path]::before{content:'📎 Download · ';font-weight:700}.attachment-controls>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #654772;font-size:12px;overflow-wrap:anywhere}.attachment-controls:empty{display:none}.desk-empty{min-height:560px;padding:35px}.desk-maximized{position:fixed!important;inset:0;z-index:2000;overflow:auto;background:#191120;padding:14px 18px;overscroll-behavior:contain}.desk-maximized .editor-card{max-width:1500px;margin:auto}.desk-maximized .editor-tools{position:sticky;top:-15px;z-index:2;background:#281b32;padding:14px}.desk-maximized .writing-paper{min-height:65vh}.desk-focus-open{overflow:hidden}.managed-topic{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #61456a}.managed-topic strong{font-size:14px;line-height:1.7}.managed-topic .status{display:block;font-size:11px;margin-top:4px}.managed-topic .buttons{margin:0;flex-shrink:0}.managed-topic .buttons button{font-size:12px}.tour-spotlight{position:fixed;border:2px solid #d9afe5;border-radius:8px;box-shadow:0 0 0 9999px #0b0513b8;pointer-events:none;transition:width .15s,height .15s}.tour-card{position:fixed;box-sizing:border-box;background:#382345;border:1px solid #ad85bb;border-radius:12px;padding:22px;box-shadow:0 12px 50px #08040e80;max-height:calc(100vh - 28px);overflow:auto}.tour-card::before{content:'';position:absolute;width:13px;height:13px;background:#382345;left:calc(50% - 7px);rotate:45deg;border:1px solid #ad85bb}.tour-card[data-side=below]::before{top:-8px;border-right:0;border-bottom:0}.tour-card[data-side=above]::before{bottom:-8px;border-left:0;border-top:0}.tour-card h3{margin:12px 0;font-size:20px}.tour-card p{font-size:13px;line-height:1.8;color:#e2cce9}.tour-card .buttons{gap:8px;margin-top:20px}.tour-card button{font-size:11px;padding:10px 12px}.tour-card .eyebrow{font-size:9px}#deskTour{position:fixed;inset:0;z-index:5000}.hidden.image-size-controls{display:none}
@media(max-width:900px){.desk-wrap .writer-layout{grid-template-columns:1fr}.desk-wrap .sidebar{position:static;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.sidebar h3{width:100%;margin:0 0 4px}.sidebar .draft-link{width:auto}.editor-heading{align-items:start;flex-wrap:wrap}.editor-heading>button{margin-left:auto}.writing-paper{padding:26px;min-height:500px}.desk-page-heading{align-items:start}.desk-maximized{padding:8px}.managed-topic{align-items:start;flex-wrap:wrap}}
@media(max-width:550px){.desk-wrap{padding:28px 14px}.desk-page-heading{flex-wrap:wrap;gap:10px}.editor-card{padding:18px 14px}.typewriter-top{height:80px}.editor-heading>button{margin-left:0}.writing-paper{padding:22px 18px;font-size:16px;min-height:480px}.chapter-settings{grid-template-columns:1fr;gap:0}.tool-group{border:0;padding-right:0}.editor-tools{gap:6px}.image-size-controls label{flex-wrap:wrap}.desk-maximized .editor-tools{top:-8px}.desk-empty{padding:24px 14px}.managed-topic .buttons{flex-wrap:wrap}.tour-card{padding:18px}}

.modal-backdrop{z-index:6000}.image-size-controls{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(900px,calc(100vw - 32px));max-height:40vh;overflow:auto;z-index:3000;box-shadow:0 12px 45px #0b041180}

.tour-card::before{display:none}.tour-pointer{position:fixed;width:14px;height:14px;background:#382345;rotate:45deg;border:1px solid #ad85bb;pointer-events:none}.tour-pointer[data-side=below]{border-right:0;border-bottom:0}.tour-pointer[data-side=above]{border-left:0;border-top:0}

/* Matching transparent frames: neutral, three quill strokes, blink, smile. */
.quote-twain{display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;cursor:pointer;border-radius:0;box-shadow:none;transform-origin:50% 80%}
.twain-sprite,.coach-sprite{display:block;width:100%;height:auto;aspect-ratio:1;background-image:url('assets/mark-twain-writing-v1.png');background-size:300% 200%;background-position:0 0;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 4px 5px #10071955);animation:twain-idle-writing 12s steps(1,end) infinite}
.quote-twain:hover .twain-sprite,.quote-twain:focus-visible .twain-sprite,.coach-bubble:hover .coach-sprite{animation:none;background-position:100% 100%;transform:rotate(-3deg)}
.quote-twain:focus-visible{outline:2px dashed #e7c5f1;outline-offset:3px}
.quote-twain.twain-replay .twain-sprite{animation:twain-write-burst 1.8s steps(1,end) 3}
.coach-bubble:active .coach-sprite{background-position:50% 100%;transform:scale(.96)}
.coach-bubble.coach-cheer .coach-sprite{animation:twain-cheer 1s steps(1,end) 2,twain-idle-writing 12s steps(1,end) 2s infinite}
@keyframes twain-idle-writing{0%,22%,67%,100%{background-position:0 0}24%,35%,47%,58%{background-position:50% 0}28%,39%,51%,62%{background-position:100% 0}32%,43%,55%,65%{background-position:0 100%}82%,85%{background-position:50% 100%}86%{background-position:0 0}}
@keyframes twain-write-burst{0%,100%{background-position:0 0}12%,43%,75%{background-position:50% 0}24%,55%,87%{background-position:100% 0}36%,67%,94%{background-position:0 100%}}
@keyframes twain-cheer{0%,100%{background-position:0 0}20%,80%{background-position:100% 100%}}
@media(prefers-reduced-motion:reduce){.twain-sprite,.coach-sprite,.quote-twain.twain-replay .twain-sprite,.coach-bubble.coach-cheer .coach-sprite{animation:none!important;transform:none!important;background-position:0 0}.quote-twain:hover .twain-sprite,.quote-twain:focus-visible .twain-sprite,.coach-bubble:hover .coach-sprite{background-position:100% 100%}}

/* Slow, decorative movement; honour reduced-motion preferences. */
.hero-art .hero-kael{animation:kael-breathe 7s ease-in-out infinite;transform-origin:50% 85%}.hero-art:hover .hero-kael{animation-duration:4s}
.hero-art .constellation,.quote-flourish{animation:star-twinkle 3.8s ease-in-out infinite}.hero-art .c-two{animation-delay:-1.2s}.hero-art .c-three{animation-delay:-2.4s}.quote-flourish{animation-delay:-.7s}
.note-orbit{position:absolute;inset:45px;z-index:1;pointer-events:none;animation:note-orbit 65s linear infinite;transform-origin:50% 49%}
.note-orbit .paper-note{animation:note-counterturn 65s linear infinite;animation-timeline:auto;translate:none;transform-origin:center;max-width:150px}
.coach-bubble.coach-speaking .coach-sprite{animation:mark-speaking .75s steps(1,end) infinite!important}
@keyframes kael-breathe{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-5px) rotate(.4deg)}}
@keyframes star-twinkle{0%,100%{opacity:.45;scale:.85}50%{opacity:1;scale:1.12}}
@keyframes note-orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes note-counterturn{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes mark-speaking{0%,100%{background-position:0 0;transform:rotate(-1deg)}35%{background-position:100% 100%;transform:rotate(1deg)}70%{background-position:50% 100%;transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.hero-art .hero-kael,.hero-art .constellation,.quote-flourish,.note-orbit,.note-orbit .paper-note,.coach-bubble.coach-speaking .coach-sprite{animation:none!important;transform:none!important}}
/* One 16-second clock drives the visible orbit and Kael's breathing. */
.breathing-hero{height:570px;min-height:570px!important;margin-bottom:106px}
.breathing-hero .hero-kael{position:absolute;left:20%;top:13%;width:60%;height:72%;margin:0;animation:none;overflow:visible}
.breathing-hero .note-orbit{inset:0;z-index:4;animation:none;pointer-events:none}
.breathing-hero .paper-note{left:50%;top:calc(50% - 20px);width:112px;box-sizing:border-box;padding:4px 3px;max-width:none;rotate:0deg;translate:none;animation:none!important;transform:translate(-50%,-50%) translate(var(--orbit-x,0px),var(--orbit-y,-170px));text-shadow:0 1px 4px #160b1f}
.breathing-hero .paper-note>span{font-size:12px;line-height:1.3;display:block}.breathing-hero .paper-note>.book-logo{display:block;width:56px;height:62px;margin:3px auto}
.breath-cue{display:grid;grid-template-columns:1fr 22px;gap:2px 3px;padding:6px 7px;border:1px solid #bd92cf88;border-radius:8px;background:#291b36ed;color:#f5e6fb;text-align:left;font:11px/1.35 'DM Sans',sans-serif;box-shadow:0 4px 12px #120a2166;text-shadow:none}.breath-cue strong{font-size:12px}.breath-cue b{font:600 18px/1.1 Georgia,serif!important;margin:0!important;text-align:center;grid-column:2;grid-row:1/3}.breath-cue small{grid-column:1;font-size:9px}
.breathing-controls{position:absolute;top:100%;left:0;right:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;color:#d5b9df;text-align:center;font:11px/1.4 'DM Sans',sans-serif;padding:8px 0}.breathing-controls>span{flex-basis:100%;letter-spacing:.12em}.breathing-controls button{border:1px solid #8a6599;background:#30203b;color:#edd6f5;padding:6px 10px;border-radius:20px;min-height:32px;font:inherit}.breathing-controls small{flex-basis:100%;font-size:10px}.breathing-controls a{font-size:10px;color:#d8b5e1}
.kael-breath-torso{transform-origin:560px 950px;transform:translateY(calc(var(--breath-expansion,0) * -3px)) scale(calc(1 + var(--breath-expansion,0) * .012),calc(1 + var(--breath-expansion,0) * .018))}
.kael-wind-pages{transform-origin:790px 1085px;animation:kael-pages-wind 5s ease-in-out infinite}
@keyframes kael-pages-wind{0%,100%{transform:skewY(0deg) translateY(0)}45%{transform:skewY(-.9deg) translateY(-3px)}75%{transform:skewY(.35deg) translateY(1px)}}
.breath-paused .kael-wind-pages{animation-play-state:paused}.breathing-hero .hero-caption{bottom:5px}
@media(max-width:550px){.breathing-hero{height:480px;min-height:480px!important;margin-bottom:110px}.breathing-hero .hero-kael{left:14%;width:72%;top:16%;height:70%}.breathing-hero .paper-note{width:100px}.breathing-hero .paper-note>span{font-size:11px}.breathing-hero .paper-note>.book-logo{width:46px;height:51px}.breath-cue{font-size:10px;padding:5px}.breathing-controls button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.breathing-hero .paper-note{transform:translate(-50%,-50%) translate(var(--orbit-x,0px),var(--orbit-y,-170px))!important}.kael-breath-torso{transform:none!important}.kael-wind-hair{filter:none}.kael-wind-pages{animation:none!important}}
.breath-cue .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.breath-cue{box-sizing:border-box;min-height:56px}
/* Four breathing cycles per orbit, with crisp compositor movement. */
.breathing-hero .paper-note{width:148px;transform:translate(-50%,-50%) translate3d(var(--orbit-x,0px),var(--orbit-y,-170px),0);will-change:transform;backface-visibility:hidden}
.breath-cue{grid-template-columns:1fr 30px;align-items:center;min-height:46px;padding:7px}.breath-cue strong{font-size:16px}.breath-cue b{font-size:30px!important;grid-row:1}.breath-cue small{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.breathing-hero .hero-kael{transform:translateY(calc(var(--breath-expansion,0) * -4px)) scale(calc(1 + var(--breath-expansion,0) * .014));transform-origin:50% 85%;filter:drop-shadow(0 0 calc(2px + var(--breath-expansion,0) * 9px) #dfc1ee99)}
.kael-breath-torso{transform:translateY(calc(var(--breath-expansion,0) * -8px)) scale(calc(1 + var(--breath-expansion,0) * .022),calc(1 + var(--breath-expansion,0) * .032))}
.home-calm-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;flex-basis:100%}.home-calm-controls [role=status]{font-size:10px;flex-basis:100%}
.breathing-hero{margin-bottom:150px}@media(max-width:550px){.breathing-hero{margin-bottom:164px}.breathing-hero .paper-note{width:138px}.breath-cue strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.breathing-hero .hero-kael{transform:none!important;filter:drop-shadow(0 0 3px #dfc1ee66)}}
