.complete-recipe{width:100%;clear:both}.recipe-groups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px}.recipe-group{display:flex;flex-direction:column;align-items:center;max-width:110px;text-align:center;font:12px/1.3 var(--sans)}.recipe-group .pattern-diagram{height:78px;width:78px}.recipe-group span{font:inherit}.recipe-plus{color:inherit;font:20px var(--serif)}.extra-sticker{display:grid;place-items:center;border:2px dashed currentColor;border-radius:50%;width:38px;height:38px;margin:15px;font-weight:700!important}.recipe-total{font:600 13px/1.5 var(--sans);text-align:center;margin:12px 0!important}.complete-recipe.compact .recipe-group{max-width:68px;font-size:10px}.complete-recipe.compact .pattern-diagram{width:48px;height:52px}.complete-recipe.compact .extra-sticker{width:26px;height:26px;margin:10px}.complete-recipe.compact .recipe-total{font-size:11px}.entry-card:has(.complete-recipe) .card-recipe{display:block}.entry-card:has(.complete-recipe) .card-recipe>div:last-child{margin-top:9px;text-align:center}.entry-detail .detail-art:has(.complete-recipe){float:none;width:100%;height:auto;max-height:none;margin:18px 0}.entry-detail .detail-art .fine-print{font-size:12px}.recipe-warning{font-size:12px}
.passport-planner{padding:30px;color:#302619}.planner-heading{margin-bottom:24px}.planner-heading h2{font:bold 34px/1.15 var(--serif);margin:5px 0 10px}.eyebrow{font-size:11px;letter-spacing:2px;color:#745b2f}.planner-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px}.planner-controls{border-right:1px solid #ad9362;padding-right:24px}.planner-controls label,.claim-fields label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.planner-controls select,.claim-fields input{display:block;width:100%;min-height:44px;margin-top:6px;border:1px solid #a4874d;background:#fff8e9;color:#292217;padding:9px;font-size:14px;border-radius:3px}.planner-controls h3{font:700 23px/1.2 var(--serif);margin:22px 0 9px}.planner-controls p{font-size:14px}.planner-minimum{margin:12px 0!important;font-weight:700}.paint-tools{border:0;padding:0;margin:20px 0}.paint-tools legend{font-size:13px;font-weight:600;margin-bottom:7px}.paint-tools button{display:block;width:100%;text-align:left;padding:9px 12px;margin:6px 0;border:1px solid #99804f;background:#fff9e9;color:#342719;font-size:13px}.paint-tools button[aria-pressed=true]{outline:2px solid #654817;outline-offset:1px}.paint-tools .paint-1{border-left:8px solid #d39325}.paint-tools .paint-2{border-left:8px solid #168eaa}.paint-tools .paint-0{border-left:8px solid #393b36}.planner-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.planner-actions button{font-size:13px}.planner-controls .paths-toggle{display:flex;align-items:center;gap:7px;font-weight:400;margin:16px 0}.paths-toggle input{width:16px;height:16px}.planner-canvas{min-width:0}.grid-note{padding:10px 14px;background:#fff5d788;border-left:3px solid #9b7737;font-size:13px;margin-bottom:16px}.practice-grid-note{border-left-color:#16788a}.passport-scroll{overflow-x:auto;padding:4px;scrollbar-width:thin}.passport-grid{position:relative;width:100%;min-width:520px;background-size:100% 100%;background-color:#182125;border:1px solid #a8884c;isolation:isolate}.passport-grid.plain{background:#122229}.passport-grid svg,.print-grid svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.grid-path{stroke:#a99462;stroke-width:.35;opacity:.8}.illustrated:not(.show-paths) .grid-path{opacity:0}.matched-path{stroke:#f9e680;stroke-width:.8;filter:drop-shadow(0 0 1px #ee9711)}.group-1 .matched-path{stroke:#75e0ec}.group-2 .matched-path{stroke:#e7b9ff}.group-3 .matched-path{stroke:#d7ecac}.passport-node{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:8.6%;aspect-ratio:1;border-radius:50%!important;border:2px solid #d0ad63;background:#181c1a;color:#e7dbc1;font:700 clamp(13px,1.4vw,21px) var(--serif)!important;box-shadow:0 0 0 3px #181c1a88;gap:1px}.passport-node.family-0{background:#151d20e8}.passport-node.family-1{background:radial-gradient(circle at 35% 30%,#ffe496,#c68314);color:#291806;box-shadow:0 0 15px #ffb12b80}.passport-node.family-2{background:radial-gradient(circle at 35% 30%,#baf9ff,#158aa6);border-color:#acffff;color:#063044;box-shadow:0 0 15px #47d8ff80}.passport-node i{font-style:normal;position:absolute;bottom:1px;font-size:13px}.passport-node:focus-visible{z-index:3;outline:3px solid #fff!important}.planner-result{padding:17px;border:1px solid #a68b55;background:#fff9e8;margin:18px 0 12px;font-size:14px}.planner-result strong{display:block;margin-bottom:7px}.planner-result.ready{border-color:#467558;background:#eff4dc}.placement-list{font-size:13px;padding-left:22px;line-height:1.8}.planner-canvas h3{font:700 20px var(--serif);margin-top:14px}.planner-canvas>p{margin-top:12px!important}.claim-builder{border-top:1px solid #ad9362;margin-top:30px;padding-top:25px}.claim-builder h2{font:bold 27px var(--serif);margin-bottom:12px}.claim-builder>p{font-size:14px;margin-bottom:15px}.claim-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.claim-fields label{margin:0}.claim-builder .fine-print{margin:15px 0}.claim-warning{background:#fff8df;border-left:3px solid #a57a2f;padding:15px}.claim-print{display:none}
@media(max-width:1100px){.planner-layout{grid-template-columns:220px minmax(0,1fr);gap:18px}.passport-planner{padding:24px}.planner-controls{padding-right:15px}.passport-grid{min-width:480px}.claim-fields{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.planner-layout{display:block}.planner-controls{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.planner-controls>h3,.planner-controls>p,.planner-controls>.text-link{grid-column:1/-1}.planner-controls h3{margin:5px 0}.paint-tools{margin:5px 0}.planner-controls .paths-toggle{align-self:center}.planner-actions{align-content:center}.planner-canvas{margin-top:18px}.passport-grid{min-width:520px}.planner-heading h2{font-size:29px}}
@media(max-width:520px){.passport-planner{padding:20px 13px}.planner-controls{display:block}.planner-controls select{max-width:100%}.planner-controls h3{margin:17px 0 10px}.paint-tools{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}.paint-tools button{width:auto;flex:1 1 90px;font-size:11px;padding:9px 6px;margin:0}.paint-tools legend{margin-bottom:10px}.claim-fields{grid-template-columns:1fr}.planner-result{font-size:13px}.complete-recipe.compact .pattern-diagram{width:40px;height:45px}.complete-recipe.compact .recipe-group{max-width:49px}.recipe-total{overflow-wrap:anywhere}.passport-scroll:before{content:'Swipe sideways to view all 20 sockets on the passport.';display:block;font-size:11px;margin-bottom:8px;color:#665534}.planner-heading h2{font-size:28px}}
@media print{
 @page{size:letter;margin:12mm}
 body.tcl-body.printing-claim{background:#fff!important;color:#111!important;font:10pt/1.3 Arial,sans-serif}
 body.printing-claim>*:not(#codex-app){display:none!important}
 body.printing-claim .codex-shell>header,body.printing-claim .hero,body.printing-claim .redemption-banner,body.printing-claim .site-footer,body.printing-claim .passport-planner,body.printing-claim .skip-link{display:none!important}
 body.printing-claim .codex-shell{width:100%;max-width:none;margin:0}
 body.printing-claim .claim-print{display:block;color:#111;background:#fff;font:10pt/1.3 Arial,sans-serif}
 .claim-print header{border-top:4px double #6a542d;border-bottom:1px solid #6a542d;padding:8px 0;margin-bottom:9px;display:block;text-align:center}
 .claim-print h1{font:bold 23pt Georgia,serif;margin:5px 0}.claim-print h2{font:bold 16pt Georgia,serif;margin:9px 0}.claim-print h3{font:bold 11pt Georgia,serif;margin:5px 0}.claim-print p{margin:5px 0!important}.print-meta{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.print-layout{display:grid;grid-template-columns:52% 1fr;gap:13px;margin:10px 0;align-items:start}.print-grid{position:relative;border:1px solid #777;width:100%}.print-grid .grid-path{stroke:#777;stroke-width:.3;opacity:1}.print-grid .matched-path{stroke:#111;stroke-width:.7;filter:none}.print-socket{position:absolute;transform:translate(-50%,-50%);border:1px solid #444;border-radius:50%;width:7%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fff;font:bold 7pt Arial}.print-socket.filled{border:2px solid #111;background:#e8e8e8;print-color-adjust:exact}.surrender-pledge{border:2px solid #333;padding:8px;break-inside:avoid}.instructor-box{border:1px solid #777;padding:8px;margin-top:10px;break-inside:avoid}.claim-print footer{border-top:1px solid #888;margin-top:9px;padding-top:5px;font-size:8pt;overflow-wrap:anywhere}
}
