/* Ball x Pit: original arcade recipe notebook; shared components/layout retained. */
.bxp .mobile-nav summary{white-space:nowrap;font-size:13px;padding:10px 12px}
.bxp .tool-actions{align-items:center}.bxp #route-selection{font-size:13px;font-weight:750;flex:1 1 120px}.bxp.route-ready .tool-actions{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:30;width:min(760px,calc(100% - 28px));background:#fffefb;border:2px solid #5a38a6;border-radius:10px;padding:12px;box-shadow:0 8px 35px #251d3830}.bxp.route-ready{padding-bottom:135px}
body.bxp{--ink:#251d38;--muted:#625b6b;--green:#5a38a6;--pale:#eee8f8;--paper:#fcfaf4;--white:#fffefb;--gold:#b9edb3;--line:#ddd5e7}
.bxp .brand{font-size:23px;letter-spacing:-.04em}.bxp .brand small{letter-spacing:.05em}.bxp .hero{grid-template-columns:1fr 1fr;padding:48px 0 35px;gap:44px}.bxp .hero h1{font-size:clamp(3rem,5.5vw,5.4rem);letter-spacing:-.055em}.bxp .hero-art{transform:none;padding:0;border:0;border-radius:24px;background:#251d38;box-shadow:none;overflow:hidden}.bxp .hero-art img{aspect-ratio:1000/760;border-radius:0}.bxp .hero-art figcaption{padding:12px 22px;color:#e3dcec;font-size:12px}.bxp .hero-art a{color:#b9edb3}.bxp .button{box-shadow:0 3px 0 #342063;border-radius:6px}.bxp .statusbar{background:#eee8f8;border-radius:4px}.bxp .statusbar strong{font-size:17px}.bxp .hub-group{padding:18px 0 26px;border-top:1px solid var(--line)}.bxp .hub-group>h3{font-size:1.15rem;color:var(--green);margin:0 0 20px}.bxp .hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bxp .card{border-radius:8px;padding:24px;border-top:4px solid var(--green)}.bxp .card h4{font:800 1.3rem/1.2 var(--heading);margin:18px 0 12px}.bxp .card h4 a{text-decoration:none;color:var(--ink)}.bxp .card .number{background:var(--gold);color:var(--ink);border:0;border-radius:20px}.bxp .overview{max-width:88ch;margin-inline:auto}.bxp .sources{font-size:13px;border-top:1px solid var(--line);padding-top:25px;overflow-wrap:anywhere}.bxp .sources h2{font-size:1.4rem}.bxp .article-head{padding-top:5px}.bxp .crumbs{overflow-wrap:anywhere}.bxp .ref a{padding:3px 2px;font-size:11px}.bxp .tool{background:#fff;border:2px solid var(--green);border-radius:12px;padding:24px;margin:24px 0}.bxp .tool-fields{display:grid;grid-template-columns:2fr 1fr;gap:18px}.bxp .tool label{font-weight:650;font-size:14px;display:block}.bxp select{display:block;width:100%;margin:8px 0 12px;padding:13px 12px;border:1px solid #9b8caf;border-radius:5px;background:#fcfaf4;color:var(--ink);font:inherit;min-width:0}.bxp fieldset{margin:12px 0;border:1px solid var(--line);padding:14px;border-radius:6px}.bxp legend{font-size:13px}.bxp .owned-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bxp button{font:700 14px/1.4 var(--body);padding:12px 18px;cursor:pointer;border:1px solid #9b8caf;border-radius:6px;color:var(--ink);background:#fff}.bxp button.button{color:#fff;background:var(--green)}.bxp button:disabled{cursor:default;background:#eee;color:#625b6b;border-color:#ccc;box-shadow:none}.bxp .tool-actions{display:flex;flex-wrap:wrap;gap:12px}.bxp #route-status{padding:12px;background:var(--pale);font-weight:650;border-radius:6px}.bxp dialog{width:min(760px,calc(100% - 32px));max-height:85vh;border:2px solid var(--green);border-radius:12px;color:var(--ink);background:var(--paper);padding:24px;overflow:auto}.bxp dialog::backdrop{background:#181021b5}.bxp #route-close{float:right;margin:0 0 12px 12px}.bxp dialog h2{clear:both;font-size:1.7rem}.bxp .route-tree ul{padding-left:24px;border-left:1px solid #9b8caf}.bxp .route-tree li{padding:5px 0}.bxp .carried{color:#246134;font-weight:750}.bxp .table-wrap{overflow-x:auto;max-width:100%}.bxp table{min-width:560px}.bxp td small{display:block;font-size:12px;color:var(--muted)}.bxp .tick{min-height:44px;min-width:44px;display:grid!important;place-items:center}.bxp input[type=checkbox]{width:21px;height:21px;accent-color:var(--green)}.bxp .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.bxp [data-checklist] table{min-width:1150px}.bxp .related{display:flex;flex-wrap:wrap;gap:12px 25px;padding:20px 0}.bxp .related h2{width:100%;margin-bottom:5px}.bxp .footer{background:#251d38;color:#eee8f8}.bxp .footer a{color:#b9edb3}.bxp .footer p{color:#ddd5e7}
@media(max-width:1050px){.bxp .desktop-nav{gap:18px}.bxp .brand{font-size:21px}}
@media(max-width:900px){.bxp .hero{grid-template-columns:1fr;padding-top:30px;gap:25px}.bxp .hero-art{max-width:650px}.bxp .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bxp .statusbar{grid-template-columns:repeat(2,1fr)}.bxp .statusbar div{padding:15px}.bxp .brand{font-size:21px}}
@media(max-width:600px){.bxp .hub-grid{grid-template-columns:1fr}.bxp .hero h1{font-size:3.25rem}.bxp .hero{padding-top:22px}.bxp .hero .lead{font-size:17px}.bxp .tool{padding:16px}.bxp .tool-fields,.bxp .owned-fields{grid-template-columns:1fr}.bxp .tool button{min-height:44px}.bxp .article-head h1{font-size:2.3rem}.bxp .article-head .answer{font-size:18px}.bxp .statusbar{margin-bottom:35px}.bxp dialog{padding:18px}.bxp .brand small{font-size:9px}}
