@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/cinzel-latin.woff2)format("woff2")}@font-face{font-family:Alegreya;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-latin.woff2)format("woff2")}@font-face{font-family:Alegreya;font-style:italic;font-weight:400 900;font-display:swap;src:url(/fonts/alegreya-italic-latin.woff2)format("woff2")}:root{--font-display:"Cinzel", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body:"Alegreya", "Palatino Linotype", "Book Antiqua", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--walnut:#3a2617;--walnut-deep:#241509;--oak:#8a5a33;--brass:#c9a24a;--gold:#f0cd6a;--parchment:#efe3c8;--stone:#7a746c;--amber:#e8a44a;--velvet:#6b1f22;--ink:#23221f;--muted:#bfb39b;--book-gray:#e6e7e8;--book-gray-edge:#6d6e71;--book-green:#bcdda6;--book-green-edge:#3f6b2f;--book-gold:#ffd476;--book-gold-edge:#9c7a1e;--book-blue:#afdff4;--book-blue-edge:#1f5f8a;--book-pink:#f9b5ab;--book-pink-edge:#8f2a22;--line:#c9a24a59;--veil:#140c06b8;--hand-card-h:min(214px, calc((56dvh - 76px) / 2));--hand-card-w:calc(var(--hand-card-h) * 2 / 3);--chart-card-w:108px;--note-card-w:140px;font-family:var(--font-body);-webkit-text-size-adjust:100%;font-size:17px;line-height:1.4}h1,h2,h3,.topbar-title,.tile-title,.hand-head strong,.result-line,.card-ribbon,.card-heading,.row-tag,button.link,button.primary,button.secondary,button.danger,.row-button>span,.map-node.type-complaint,.map-node.type-diagnosis{font-family:var(--font-display);letter-spacing:.03em}*{box-sizing:border-box}html,body{background:var(--walnut-deep);min-height:100%;color:var(--parchment);margin:0}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.app{min-height:100dvh}.topbar{z-index:2;padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--veil);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--line);align-items:center;gap:8px;font-size:14px;display:flex;position:sticky;top:0}.topbar-title{text-align:center;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.topbar-score{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;min-width:4.5em}button.link{color:var(--gold);white-space:nowrap;background:0 0;border:0;padding:6px 4px;font-size:15px}button.primary,button.secondary,button.option,button.row-button{border-radius:12px;padding:12px 18px;font-size:16px;font-weight:600}button.primary{background:var(--brass);color:#1f1407;border:0}button.secondary{color:var(--parchment);border:1px solid var(--line);background:#0000004d}button:disabled{opacity:.45;cursor:default}.home{min-height:100dvh;padding:28px 16px 40px;padding-top:calc(28px + env(safe-area-inset-top));background:var(--walnut) center top / cover no-repeat}.home>*{max-width:30rem;margin-left:auto;margin-right:auto}.home-head{text-align:center;margin-bottom:22px}.home-emblem{border:3px solid var(--brass);background:radial-gradient(circle at 50% 40%, #5a3a1f, var(--walnut-deep));width:76px;height:76px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 10px;font-size:40px;display:grid;box-shadow:0 6px 18px #0000008c,inset 0 0 0 2px #00000059}.home h1{letter-spacing:.14em;color:var(--gold);text-shadow:0 2px 8px #000000b3;font-size:34px;font-weight:700}.home-head .muted{font-style:italic}.tiles,.list,.plain{margin:0;padding:0;list-style:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.tile{border:1px solid var(--line);text-align:center;background:#0a05028c;border-radius:16px;justify-items:center;gap:8px;width:100%;padding:14px 10px;display:grid;box-shadow:0 4px 14px #00000073}.tile-art{aspect-ratio:1;border:3px solid var(--brass);background:var(--oak);border-radius:50%;place-items:center;width:104px;display:grid;overflow:hidden;box-shadow:0 4px 12px #00000073}.tile-art img{object-fit:cover;width:100%;height:100%;display:block}.tile-fallback{font-family:var(--font-display);color:var(--gold);text-shadow:0 2px 6px #0009;font-size:44px;font-weight:700}.tile-title{font-size:16px;font-weight:600}.tile small,.row-button small{color:var(--muted);font-size:12px}.algorithms .list{gap:10px;margin-top:12px;display:grid}.home-foot{text-align:center;margin-top:28px}.clean-solves{color:var(--gold)}.settings{max-width:30rem;margin:0 auto;padding:0 16px 40px}.debrief,.settings{background:var(--walnut-deep)}.settings section{margin-top:22px}.settings h3{text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:8px;font-size:15px}.settings .actions{margin-top:12px}button.danger{background:var(--velvet);color:var(--parchment);border:1px solid var(--book-pink);border-radius:12px;padding:12px 18px;font-size:16px;font-weight:600}.small{font-size:13px}button.row-button{text-align:left;border:1px solid var(--line);width:100%;color:var(--parchment);background:#0a05028c;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card{--card-paper:var(--parchment);--card-edge:var(--stone);aspect-ratio:2/3;color:var(--ink);text-align:center;perspective:900px;background:0 0;border:0;flex:none;padding:0;display:block;position:relative;container-type:inline-size}.card.frame-exam{--card-edge:#a3242b}.card.frame-lab{--card-edge:#6b3fa0}.card.frame-imaging{--card-edge:#2f8fa3}.card.frame-history{--card-edge:#9a6a2f}.card.frame-diagnosis{--card-edge:#c9a24a;--card-paper:#f6e7b8}.card.frame-treatment{--card-edge:#2a4f9e}.card.frame-finding{--card-edge:#2f7d4f;--card-paper:#e8efd9}.card.frame-patient{--card-edge:#6b1f22}.card.frame-back{--card-edge:#3a2617}.card-face,.card-back-face{border-radius:var(--frame-radius,5%) / var(--frame-radius-v,3.33%);backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.card-face{background:var(--card-paper);border:3px solid var(--card-edge);box-shadow:0 3px 10px #0006}.card.has-art .card-face{box-shadow:none;filter:drop-shadow(0 3px 6px #00000073);background:0 0;border-color:#0000}.card-art{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.card-back-face{background:var(--walnut);border:3px solid var(--brass);transform:rotateY(180deg)}.card-back-face.has-art{border-color:#0000}.card-flip{transform-style:preserve-3d;position:absolute;inset:0}.card-gem{left:var(--gem-cx,19.5%);top:var(--gem-cy,13.5%);width:var(--gem-size,14%);aspect-ratio:1;color:#fff;filter:drop-shadow(0 1px 1px #000000b3);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.card.no-art .card-gem{background:var(--card-edge);border-radius:50%;box-shadow:0 1px 3px #0006}.card-gem .icon{width:68%;height:68%}.icon{vertical-align:-.15em;width:1em;height:1em;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background-color:currentColor;display:inline-block}.icon-fallback{background:0 0;place-items:center;font-size:.8em;font-weight:700;line-height:1;display:inline-grid}.card-ribbon{left:var(--std-ribbon-x,16%);top:var(--std-ribbon-y,55%);width:var(--std-ribbon-w,68%);height:var(--std-ribbon-h,7%);color:#2b1d0e;justify-content:center;align-items:center;font-weight:700;line-height:1.05;display:flex;position:absolute}.card-ribbon>span{letter-spacing:0;transform-origin:0;max-width:100%;font-size:10px;display:inline-block}.card-ribbon>span.wrapped{background:#efe3c8f0;border-radius:3px;padding:0 3px;box-shadow:0 0 0 1px #3c280a59}.fused-item{display:block}.card.no-art .card-ribbon{background:#ffffff8c;border-radius:4px}.card-text{color:#3b2a14;line-height:1.18;position:absolute;overflow:hidden}.layout-standard .card-text{left:var(--std-text-x,17%);top:var(--std-text-y,67%);width:var(--std-text-w,66%);height:var(--std-text-h,20%);padding:3%;font-size:max(10px,5.8cqw);display:flex;overflow-y:auto}.layout-standard .card-text-inner{margin:auto}.layout-note .card-text,.layout-back .card-text{left:var(--note-text-x,17%);top:var(--note-text-y,34%);width:var(--note-text-w,66%);height:var(--note-text-h,53%);text-align:left;padding:3% 4%;font-size:max(10px,5.6cqw);overflow-y:auto}.layout-back .card-text{left:var(--back-text-x,17%);top:var(--back-text-y,34%);width:var(--back-text-w,66%);height:var(--back-text-h,53%)}.card.size-patient .card-text{font-size:max(11px,4.4cqw)}.card-text p{margin:0 0 .45em}.card-text p:last-child{margin-bottom:0}.card-text .trigger{color:#6b1f22;font-style:italic}.card-heading{color:#2b1d0e;margin-bottom:.35em;font-size:1.15em;display:block}.card-badge{background:var(--walnut-deep);color:var(--gold);border:1px solid var(--brass);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;line-height:1.4;position:absolute;bottom:-2%;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #00000080}.card.dimmed{opacity:.55;filter:saturate(.5)}.card.size-hand{width:var(--hand-card-w)}.card.size-chart{width:var(--chart-card-w)}.card.size-note{width:var(--note-card-w)}.card.size-patient{width:min(78%,280px)}.card.size-fused{width:160px}button.card:active .card-face{transform:scale(.97)}.play{background:var(--walnut) center top / cover no-repeat;flex-direction:column;height:100dvh;display:flex}.chart-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:12px 12px 18px;overflow-y:auto}.chart{flex-direction:column;gap:14px;max-width:30rem;margin:0 auto;padding:0;list-style:none;display:flex}.row{flex-wrap:wrap;align-items:flex-start;gap:10px;max-height:1200px;transition:max-height .45s,opacity .35s,margin-top .45s;display:flex}.row.fused-away{opacity:0;pointer-events:none;max-height:0;margin-top:-14px;overflow:hidden}.row-play{align-items:center}.row-patient{justify-content:center}.row-patient .response{justify-content:center;width:100%}.row-merge{justify-content:center}.row.dimmed .card:not(.dimmed){opacity:.6;filter:saturate(.5)}.row.dimmed .card.keep{opacity:1;filter:none}.row.auto .card{opacity:.7;filter:grayscale(.6)}.row.auto .card-badge{color:var(--parchment);border-color:var(--stone);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.response{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.arrow{color:var(--brass);align-self:center;font-size:22px;line-height:1}.branch{width:30px;height:30px;color:var(--book-green);border:2px solid var(--book-green);background:#1d2a1d;border-radius:50%;place-items:center;font-size:21px;font-weight:700;line-height:1;display:inline-grid}.branch-neg{color:var(--book-pink);border-color:var(--book-pink);background:#2a1d1d}.row-tag{width:100%;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.hand-pane{padding:8px 12px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);border-top:1px solid var(--line);background:linear-gradient(#0a050280,#0a0502bf);flex:none}.hand-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-height:20px;margin-bottom:8px;font-size:14px;display:flex}.hand-head .hint{color:var(--muted);font-size:13px}.hand-head .hint .icon{color:var(--gold)}.hand-head .note:before{content:"“"}.hand-head .note:after{content:"”"}.hand-head .failed{color:var(--book-pink);font-weight:600}.hand-head .tier{font-variant-numeric:tabular-nums;border:1px solid var(--line);border-radius:999px;padding:0 6px;font-size:11px}.hand{grid-template-columns:repeat(2, var(--hand-card-w));justify-content:center;gap:10px 12px;display:grid}.hand.cols-3{--hand-card-w:min(calc(var(--hand-card-h) * 2 / 3), calc((100vw - 48px) / 3));grid-template-columns:repeat(3, var(--hand-card-w))}.hand-done{text-align:center;justify-items:center;gap:8px;padding-top:14px;display:grid}.result-line{color:var(--gold);text-shadow:0 2px 6px #0009;font-size:23px;font-weight:700}.share-grid{letter-spacing:2px;font-size:22px;line-height:1.3}@keyframes deal-in{0%{opacity:0;transform:translateY(26px)scale(.96)}to{opacity:1;transform:none}}.card.deal-in{animation:.32s ease-out backwards deal-in;animation-delay:calc(var(--i,0) * 60ms)}@keyframes flip-in{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.card.flip-in .card-flip{animation:.55s ease-out flip-in}@keyframes merge-in{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.card.merge-in{animation:.5s ease-out merge-in}@media (prefers-reduced-motion:reduce){.card.deal-in,.card.flip-in .card-flip,.card.merge-in{animation:none}.row{transition:none}}.debrief{max-width:30rem;margin:0 auto;padding:0 16px 40px}.debrief section{margin-top:22px}.debrief h3{text-transform:uppercase;letter-spacing:.08em;color:var(--gold);margin-bottom:8px;font-size:15px}.result{text-align:center;justify-items:center;gap:8px;padding-top:20px;display:grid}.legend{margin-top:6px;font-size:12px}.notes{flex-wrap:wrap;gap:12px;display:flex}.notes .card{width:168px}.plain li{border-top:1px solid var(--line);padding:8px 0;font-size:15px}.plain li:first-child{border-top:0}.options{gap:8px;margin-top:10px;display:grid}button.option{color:var(--parchment);border:1px solid var(--line);text-align:left;background:#0000004d;font-weight:500}button.option.right{border-color:var(--book-green);color:var(--book-green);opacity:1}button.option.wrong{border-color:var(--book-pink);color:var(--book-pink);opacity:1}.pearl-text{margin-top:12px;font-size:15px}.actions{gap:10px;margin-top:28px;display:grid}.map-scroll{-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:#00000047;border-radius:12px;padding:8px;overflow:auto}.map-stage{position:relative;overflow:hidden}.map{transform-origin:0 0;position:absolute;top:0;left:0}.map-tools{text-align:right}.map-edges{color:#efe3c880;position:absolute;inset:0;overflow:visible}.edge{fill:none;stroke:#efe3c873;stroke-width:1.5px}.edge.route{stroke:var(--gold);stroke-width:3px}.edge-label circle{fill:#1d2a1d;stroke:var(--book-green);stroke-width:1.5px}.edge-label text{fill:var(--book-green);font-size:13px;font-weight:700}.edge-label.neg circle{fill:#2a1d1d;stroke:var(--book-pink)}.edge-label.neg text{fill:var(--book-pink)}.map-node{text-align:center;color:#1f1a12;background:var(--book-gray);border:2px solid var(--book-gray-edge);opacity:.55;white-space:pre-line;border-radius:8px;place-items:center;padding:6px 8px;font-size:11px;line-height:1.15;display:grid;position:absolute}.map-node.revealed,.map-node.route{opacity:1}.map-node.route{box-shadow:0 0 0 3px var(--gold)}.map-node.type-complaint{background:var(--parchment);border-color:var(--oak);border-radius:999px;font-weight:700}.map-node.type-category{background:#f1efe9;border-color:#515c51}.map-node.type-finding{background:var(--book-green);border-color:var(--book-green-edge)}.map-node.type-diagnosis{background:var(--book-gold);clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%);border:0;padding:6px 20px;font-weight:700}.map-node.type-diagnosis.route{box-shadow:none;background:linear-gradient(var(--gold), #d9a93c)}.map-node.type-treatment{background:var(--book-blue);border-color:var(--book-blue-edge)}.map-node.type-reference{background:var(--book-pink);border-color:var(--book-pink-edge)}.map-plays{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:4px;display:flex;position:absolute;top:100%;left:-10px;right:-10px}.ghost{color:var(--parchment);white-space:nowrap;background:#0009;border:1px dashed #efe3c8bf;border-radius:999px;padding:2px 7px;font-size:10px;line-height:1.3}.ghost.outcome-correct{border-style:solid;border-color:var(--book-green);color:var(--book-green)}.ghost.outcome-early,.ghost.outcome-off-path{color:var(--gold)}.ghost.fatal{border-color:var(--book-pink);color:var(--book-pink)}.shell{max-width:30rem;margin:0 auto;padding:3rem 1.25rem}.shell pre{white-space:pre-wrap;color:var(--book-pink);font-size:12px}
