/* Codex design tokens: charcoal leather, aged gold, parchment, ember, glacier. */
body.tcl-body{--ink:#242016;--gold:#e9c57b;--border:#9e783e;--parchment:#f1e3bf;--blue:#63cadd;--ember:#f9ad39;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;margin:0;background:#101416 url('codex-backdrop.webp') center top/100% auto repeat-y;color:#f3ecd9;font:16px/1.55 var(--sans);min-height:100vh}
.tcl-body *{box-sizing:border-box}.tcl-body button,.tcl-body input,.tcl-body select{font:inherit}.tcl-body button,.tcl-body a{-webkit-tap-highlight-color:transparent}.tcl-body button{cursor:pointer}.tcl-body a{color:inherit}.tcl-body button:focus-visible,.tcl-body a:focus-visible,.tcl-body input:focus-visible,.tcl-body select:focus-visible,.tcl-body summary:focus-visible{outline:3px solid #21a6c8;outline-offset:4px}.tcl-body button{border-radius:2px}.tcl-body h1,.tcl-body h2,.tcl-body h3,.tcl-body p{margin:0}.tcl-body svg{display:block}.codex-shell{width:88%;max-width:1440px;margin:auto}.topbar{display:flex;align-items:center;gap:20px;border:1px solid var(--border);border-top:0;background:#101516ed;min-height:66px;padding:0 28px}.brand{font:27px var(--serif);text-decoration:none;text-transform:uppercase;letter-spacing:3px;color:var(--gold)!important}.brand-divider{height:27px;width:1px;background:var(--border)}.brand-title{font:16px var(--serif);letter-spacing:2px;text-transform:uppercase;color:var(--gold)}.topbar nav{display:flex;align-self:stretch;margin-left:auto;gap:28px}.topbar nav button{padding:12px 0;border:0;border-bottom:3px solid transparent;background:none;color:#e5e5df;font:16px var(--serif);white-space:nowrap}.topbar nav button[aria-current=page]{color:var(--gold);border-bottom-color:var(--gold)}.hero{display:flex;align-items:center;justify-content:center;gap:32px;min-height:207px;padding:28px 16px;text-align:center;background:#101416e8}.hero h1{font:bold clamp(27px,3vw,47px)/1.15 var(--serif);letter-spacing:-1.1px;color:#f3d189}.hero p{font:21px/1.4 var(--serif);margin-top:15px;color:#f3ecd9}.hero img{width:110px;height:110px;object-fit:contain;border-radius:50%}.mobile-break{display:none}.workbench{display:grid;grid-template-columns:170px minmax(0,1fr) 340px;align-items:stretch;background:var(--parchment) url('parchment.webp') center/650px;border:3px double var(--border);box-shadow:0 0 0 6px #151614,0 0 0 7px #a28149,0 14px 35px #0008;min-height:650px}.library-sidebar{display:flex;flex-direction:column;background:#101618f5;padding:15px 0;color:#eee5ce;border-right:1px solid var(--border)}.library-sidebar nav{display:flex;flex-direction:column;gap:6px}.library-sidebar button{border:0;border-left:3px solid transparent;color:#eee5ce;background:none;min-height:57px;text-align:left;padding:13px 13px;font:16px var(--serif);display:flex;align-items:center;justify-content:space-between;gap:6px}.library-sidebar button small{font:11px var(--sans);color:#bfae87}.library-sidebar button[aria-pressed=true]{background:#19364a;border-left-color:#f1c879;box-shadow:inset 0 0 18px #64b3d51a}.library-sidebar button:hover{background:#23353c}.sidebar-note{padding:30px 20px;margin-top:auto;text-align:center;color:#bea979;font-size:12px}.sidebar-note p{font:12px/2 var(--serif);letter-spacing:2px;text-transform:uppercase}.sidebar-note a{display:block;font-size:11px;margin-top:18px}.rule-line{display:block;height:1px;background:#9b7945;margin:0 auto 25px;width:80%}.catalog{padding:20px;min-width:0;color:var(--ink)}.search-tools{display:flex;gap:10px}.search-wrap{position:relative;flex:1;min-width:0}.search-wrap svg{position:absolute;left:12px;top:13px;width:21px;height:21px;stroke:#665c48;stroke-width:1.7;fill:none}.search-tools input,.search-tools select,.explorer select{min-height:47px;border:1px solid #af9b6d;background:#fffcf055;color:#352c1d;border-radius:3px;width:100%;padding:10px 12px;font-size:14px}.search-tools input{padding-left:42px}.search-tools input::placeholder{color:#685c46;opacity:1}.search-tools select{width:150px}.catalog-heading{display:flex;align-items:center;justify-content:space-between;margin:16px 0 12px;gap:8px}.catalog-heading h2{font:20px var(--serif)}.catalog-heading span{font-size:12px;color:#6b5a38}.entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:552px;overflow:auto;padding:2px 5px 6px 2px;scrollbar-width:thin;scrollbar-color:#9c7d45 #e6d6ae}.entry-card{display:flex;flex-direction:column;min-height:178px;padding:16px 16px 12px;border:1px solid #b6a071;background:#fff8e849;box-shadow:inset 0 0 22px #96672012;position:relative}.entry-card:before,.entry-card:after{content:'';position:absolute;width:8px;height:8px;border:1px solid #a88b50;pointer-events:none}.entry-card:before{left:3px;top:3px;border-right:0;border-bottom:0}.entry-card:after{right:3px;bottom:3px;border-left:0;border-top:0}.entry-card.selected{border-color:#b67f22;box-shadow:0 0 0 1px #d9ab57,inset 0 0 18px #b0802e12;background:#fff9e980}.entry-card h3{font:700 20px/1.15 var(--serif);letter-spacing:-.3px}.entry-card h3 button{background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit}.card-recipe{display:flex;align-items:center;gap:12px;flex:1;margin:10px 0;min-height:72px}.pattern-diagram{width:86px;height:75px;flex-shrink:0;overflow:visible}.connections line{stroke:#a57e35;stroke-width:1.7}.node{stroke:#704819;stroke-width:1.5;fill:#f3b23f}.node-2{fill:#56b9d4;stroke:#185275}.node-0{fill:#1b2529;stroke:#92754a}.family-mark{fill:#103846}.seal-label{font:8px var(--sans);fill:currentColor}.card-recipe strong{font-size:12px;line-height:1.3}.card-recipe p{font-size:12px;line-height:1.45;margin-top:4px}.family-note{font-size:10px;display:block;margin-top:5px;color:#345e6c}.text-link{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:none;color:#115174;font-size:13px!important;font-weight:600!important;text-align:left}.text-link svg,.gold-button svg,.related-link svg{width:19px;height:19px;flex-shrink:0}.text-link:hover{text-decoration:underline}.entry-detail{background:#11191bf5;border:3px double #ac8c4e;padding:22px;color:#e6e2d4;margin:20px 18px 20px 0;min-width:0;max-height:654px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a28149 #152023}.detail-status{font-size:10px!important;letter-spacing:1.1px;text-transform:uppercase;color:#bcad8b;margin-bottom:7px!important}.entry-detail h2{font:700 33px/1.15 var(--serif);color:#f0ce85;overflow-wrap:anywhere}.entry-detail .detail-recipe{font:17px/1.4 var(--serif);margin-top:10px}.detail-art{min-height:114px;display:flex;align-items:center;justify-content:center;margin:8px 0}.pattern-diagram.large{width:190px;height:150px;color:#e8cca0}.entry-detail .node-1{fill:#f3c56d;stroke:#805a25;filter:drop-shadow(0 0 2px #e2a231)}.entry-detail .connections line{stroke:#e6c687}.entry-detail p{font:14px/1.65 var(--sans);margin-bottom:15px}.entry-detail h3{font:19px var(--serif);color:#edcd8e;margin:24px 0 10px;border-bottom:1px solid #755b32;padding-bottom:7px}.entry-detail dl{margin:0;font-size:13px}.entry-detail dt{color:#baa882;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-top:10px}.entry-detail dd{margin:3px 0 12px}.detail-callout{border-left:2px solid #b49355;padding-left:12px;margin-top:18px!important}.fine-print{font-size:12px!important;line-height:1.6!important;color:#b6b5ab}.related-link{display:grid;grid-template-columns:1fr 20px;gap:1px 6px;width:100%;background:none;color:#efecd9;border:0;border-bottom:1px solid #3d4038;text-align:left;padding:10px 0}.related-link span{font:16px var(--serif)}.related-link small{font-size:11px;color:#bcb4a0}.related-link svg{grid-column:2;grid-row:1/3;align-self:center}.related-link:hover span{color:var(--gold);text-decoration:underline}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #a97f39;background:#e8c783 url('parchment.webp') center/500px;color:#302410;font:600 15px var(--serif)!important;min-height:42px;padding:10px 20px;box-shadow:inset 0 0 12px #8d581d22}.gold-button:hover{background-color:#f9dda2;filter:brightness(1.05)}.gold-button.full{width:100%;margin-top:23px}.copy-link{display:block;margin:15px auto 3px;background:none;border:0;color:#c9ba98;font-size:12px!important;text-decoration:underline}.copy-status{display:block;text-align:center;font-size:11px;overflow-wrap:anywhere}.recipe-mini{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;width:92px;flex-shrink:0;gap:1px}.recipe-mini svg{width:43px;height:46px}.seal-mini{font-size:9px;color:inherit;text-align:center}.entry-detail .recipe-mini{width:100%;gap:10px}.entry-detail .recipe-mini svg{width:77px;height:84px}.cost-medallion{display:block;font:bold 35px var(--serif);color:#72531f;text-align:center;width:68px;flex-shrink:0}.cost-medallion small{display:block;font:10px var(--sans);text-transform:uppercase;letter-spacing:1px}.entry-detail .cost-medallion{color:var(--gold);font-size:49px}.redemption-banner{display:flex;justify-content:center;align-items:center;gap:30px;background:#ead8ae url('parchment.webp') center/700px;border:3px double #98713b;margin:22px 0 0;padding:20px 26px;color:#392a15;box-shadow:0 6px 15px #0007;text-align:center}.redemption-banner h2{font:700 clamp(22px,2.2vw,31px) var(--serif)}.redemption-banner p{font-size:12px;margin-top:6px}.redemption-banner .catalog-notice{max-width:205px;border-left:1px solid #a99160;padding-left:25px;font:12px/1.6 var(--serif);margin:0}.site-footer{display:flex;align-items:center;justify-content:center;gap:28px;padding:24px 12px;background:#101416dc;color:#bca574;font-size:11px}.site-footer a:first-child{font:18px var(--serif);letter-spacing:4px;text-transform:uppercase;text-decoration:none}.site-footer a:hover{color:#f8dfa2}.empty{padding:30px 20px;grid-column:1/-1}.empty h3{font:22px var(--serif)}.empty p{margin:12px 0 20px}.parchment{background:#f0e0b9 url('parchment.webp') center/700px;color:#2d291d;border:3px double #a5854a;padding:32px;box-shadow:0 0 0 6px #161919,0 0 0 7px #a5854a}.explorer{display:grid;grid-template-columns:330px minmax(0,1fr);gap:48px}.explorer h2,.how-to h2{font:700 34px var(--serif);margin-bottom:15px}.explorer-intro>p{font-size:15px;margin-bottom:23px}.explorer label{display:block;font-weight:600;font-size:13px;margin-bottom:7px}.explorer select{width:100%;background:#fff6de;font-size:15px}.legend{display:grid;gap:8px;margin:20px 0}.legend span{display:flex;align-items:center;gap:10px;font-size:12px}.legend-dot{width:14px;height:14px;border-radius:50%;border:1px solid #775d2c;display:inline-block}.legend-dot.orange{background:#f3b23f}.legend-dot.blue{background:#56b9d4;box-shadow:inset 0 0 0 4px #56b9d4,inset 0 0 0 6px #103846}.legend-dot.blank{background:#1b2529}.parchment .fine-print{color:#6a5b40}.explorer-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}.outline-button{background:transparent;border:1px solid #9a7b3f;color:#493414;padding:8px 12px;font-size:13px!important}.explorer-work{background:#132023;color:#f4ead4;padding:22px 32px;border:3px double #a88547;text-align:center;min-width:0}.explorer-work h3{font:28px var(--serif);color:#efd08e}.explorer-work>p{font-size:14px;margin-top:8px}.study-board{width:min(100%,450px);aspect-ratio:100/105;position:relative;margin:6px auto 12px}.study-board>svg{width:100%;height:100%}.study-board .connections line{stroke:#c4a766;stroke-width:.6}.study-node{position:absolute;width:46px;height:46px;border:3px double #ccab65;border-radius:50%!important;transform:translate(-50%,-50%);padding:0;box-shadow:0 0 12px #0008;background:#19272b;color:#f6dd9f;font:bold 15px var(--serif)!important;display:flex;align-items:center;justify-content:center}.study-node.node-1{background:#eeb447;color:#332109;box-shadow:0 0 14px #eeaa3055}.study-node.node-2{background:#6acada;color:#102f3e;border-color:#d0f7fa;box-shadow:0 0 12px #2dacce55}.study-node.node-2 i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:#153444}.study-node:hover{filter:brightness(1.2)}.study-seal-note{position:absolute;left:0;right:0;bottom:0;color:#b9c4c2;font-size:11px}.study-feedback{border:1px solid #657473;padding:14px;background:#ffffff06;text-align:left}.study-feedback strong{font-size:14px}.study-feedback p{font-size:13px;margin-top:4px}.study-feedback.ready{border-color:#caaa65;background:#caaa6510}.explorer-work .fine-print{color:#b5c0be;margin-top:16px}.how-to>header{max-width:650px;margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-bottom:1px solid #b49b67;padding-bottom:30px}.steps b{font:32px var(--serif);color:#8c6529;display:block;margin-bottom:8px}.steps h3{font:20px var(--serif);margin-bottom:8px}.steps p{font-size:13px}.guide-list{max-width:920px;margin:22px auto}.guide-list details{border-bottom:1px solid #b9a271;padding:14px 0}.guide-list summary{font:19px var(--serif);cursor:pointer;padding:4px 0}.guide-list details p{font-size:15px;line-height:1.8;padding:15px 25px;max-width:820px}.source-note{max-width:920px;margin:28px auto 0;font-size:13px}.source-note h3{font:22px var(--serif);margin-bottom:12px}.source-note p{margin-bottom:10px}.source-note a{display:inline-block;margin:12px 20px 0 0;color:#145370}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:10%;top:-100px;background:#efd295;color:#111!important;z-index:999999;padding:14px}.skip-link:focus{top:10px}.loading,.no-script{margin:70px auto;padding:30px;max-width:900px}.no-script article{margin:25px 0}.no-script h2{color:var(--gold)}
body.tcl-body{background-size:100% 100vh;background-attachment:fixed;background-repeat:no-repeat}.entry-detail .pattern-diagram.large .node{r:8px}.entry-detail .pattern-diagram.large{height:125px}.entry-detail .detail-art{min-height:108px}
@media(min-width:1600px){.workbench{grid-template-columns:190px minmax(0,1fr) 380px}.entry-list{max-height:640px}.entry-card{min-height:202px}.entry-detail{max-height:745px}.card-recipe p{font-size:13px}.hero{min-height:235px}}
@media(max-width:1200px){.codex-shell{width:92%}.topbar{gap:14px;padding:0 18px}.brand-title{font-size:13px;letter-spacing:1px}.topbar nav{gap:20px}.workbench{grid-template-columns:145px minmax(0,1fr) 290px}.catalog{padding:15px}.entry-detail{padding:18px;margin:15px 12px 15px 0}.entry-card{padding:13px}.entry-card h3{font-size:18px}.card-recipe{gap:6px}.pattern-diagram{width:68px}.hero h1{font-size:36px}.hero p{font-size:19px}.hero img{width:90px;height:90px}.search-tools{flex-wrap:wrap}.search-tools .search-wrap{flex-basis:100%}.search-tools select{width:100%}.search-tools>label:last-child{width:100%}.entry-list{max-height:530px}.entry-detail{max-height:684px}}
@media(max-width:1000px){.topbar{flex-wrap:wrap;padding:15px 20px 0;gap:12px}.topbar nav{flex-basis:100%;margin:0;justify-content:center}.hero{min-height:190px}.hero h1{font-size:32px}.hero img{display:none}.workbench{grid-template-columns:145px minmax(0,1fr)}.entry-detail{grid-column:1/-1;margin:0 16px 18px;max-height:none;scroll-margin-top:20px}.entry-list{max-height:540px}.catalog{padding:18px}.search-tools{flex-wrap:nowrap}.search-tools .search-wrap{flex-basis:auto}.search-tools>label:last-child{width:auto}.search-tools select{width:155px}.detail-art{float:right;margin:5px 10px 15px 25px}.entry-detail>p,.entry-detail dl{max-width:700px}.related-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 25px}.entry-detail .gold-button{max-width:350px;display:flex;margin:25px auto 0}.entry-detail h3{clear:both}.explorer{grid-template-columns:260px minmax(0,1fr);gap:20px;padding:24px}.explorer-work{padding:20px}.study-node{width:39px;height:39px}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){body.tcl-body{background-size:auto 1000px}.codex-shell{width:94%}.topbar{padding:14px 10px 0;justify-content:center;gap:10px}.brand{font-size:21px}.brand-title{font-size:10px;letter-spacing:.7px}.brand-divider{height:21px}.topbar nav{gap:25px}.topbar nav button{font-size:14px;padding:10px 0}.hero{min-height:190px;padding:24px 9px}.hero h1{font-size:30px;line-height:1.12;letter-spacing:-.5px}.mobile-break{display:block}.hero p{font-size:17px;line-height:1.45;margin-top:15px}.desktop-break{display:none}.workbench{display:block;border-width:1px;box-shadow:0 0 0 3px #151614,0 0 0 4px #a28149}.library-sidebar{padding:6px;border-right:0;border-bottom:1px solid var(--border)}.library-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.library-sidebar button{padding:10px 7px;font-size:12px;min-height:40px;gap:4px}.library-sidebar button small{font-size:10px}.sidebar-note{display:none}.catalog{padding:14px 10px}.search-tools{gap:8px;flex-wrap:wrap}.search-tools .search-wrap{flex-basis:100%}.search-tools>label:last-child{width:100%}.search-tools select{width:100%;min-height:40px}.catalog-heading{margin-top:15px}.catalog-heading h2{font-size:19px}.entry-list{gap:9px;max-height:520px;padding:2px 4px 6px 2px}.entry-card{padding:12px 10px;min-height:193px}.entry-card h3{font-size:18px;line-height:1.2}.card-recipe{display:block;margin:8px 0}.card-recipe .pattern-diagram{height:62px;width:75px;margin:auto}.card-recipe strong{font-size:11px}.card-recipe p{font-size:11px;line-height:1.4}.text-link{font-size:11px!important}.entry-detail{margin:3px 10px 12px;padding:20px}.entry-detail h2{font-size:29px}.entry-detail .detail-recipe{font-size:16px}.detail-art{float:none;margin:8px 0}.related-list{display:block}.recipe-mini{margin:0 auto;width:100%}.recipe-mini svg{width:34px;height:42px}.cost-medallion{font-size:30px;margin:5px auto}.redemption-banner{display:block;padding:22px 15px;margin-top:15px}.redemption-banner h2{font-size:23px}.redemption-banner p{font-size:12px;line-height:1.6}.redemption-banner .catalog-notice{max-width:none;border-left:0;border-top:1px solid #baa376;padding:12px 0 0;margin-top:15px}.site-footer{flex-wrap:wrap;gap:8px 20px;padding:25px 10px}.site-footer span{font-size:10px}.site-footer a:first-child{font-size:16px}.explorer{display:block;padding:20px 13px}.explorer h2,.how-to h2{font-size:29px}.explorer-intro>p{font-size:14px}.explorer-work{margin-top:25px;padding:17px 12px}.explorer-work h3{font-size:25px}.study-node{width:36px;height:36px;font-size:13px!important}.parchment{box-shadow:0 0 0 3px #161919,0 0 0 4px #a5854a}.how-to{padding:22px 18px}.steps{gap:20px 16px}.steps h3{font-size:19px}.steps p{font-size:12px}.guide-list summary{font-size:18px}.guide-list details p{padding:12px 3px;font-size:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{body.tcl-body{background:#fff;color:#111}.codex-shell{width:100%}.topbar,.hero,.library-sidebar,.catalog,.site-footer,.copy-link,.gold-button,.skip-link{display:none}.workbench{display:block;border:0;box-shadow:none;background:#fff}.entry-detail{color:#111;background:#fff;border:1px solid #555;max-height:none;margin:0;overflow:visible}.entry-detail h2,.entry-detail h3,.fine-print,.related-link{color:#111}.redemption-banner{box-shadow:none;background:#fff}.detail-status{color:#333}.parchment{background:#fff;box-shadow:none}.guide-list details{display:block}.guide-list details p{display:block}}

.topbar nav .dictionary-nav{align-self:center;font:16px Georgia,serif;white-space:nowrap;text-decoration:none;color:#e9c57b}.planner-dictionary-link{margin:12px 0!important;font-size:14px!important}.planner-dictionary-link a{color:#145370}@media(max-width:640px){.topbar nav{gap:15px;flex-wrap:wrap}.topbar nav .dictionary-nav{font-size:14px}}
