.abbott-main{padding:32px 0 70px;color:var(--ink,#233f35)}
.ab-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin-bottom:32px;color:#67796d}
.ab-breadcrumb a{color:inherit}.ab-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;padding:25px 0 65px}
.abbott-main h1{font-size:clamp(34px,4.2vw,58px);line-height:1.12;letter-spacing:-1.6px;margin:10px 0 20px;font-weight:500}
.abbott-main h2{font-size:24px;line-height:1.25;font-weight:500}.ab-lead{font-size:22px;line-height:1.5;color:#516557}.ab-hero p:not(.eyebrow){max-width:600px}
.ab-hero-maze{background:#e9eee4;border-radius:50%;padding:40px;max-width:320px;justify-self:center;width:100%}.ab-hero-maze svg{display:block;width:100%}.ab-hero-maze path{fill:none;stroke:#496452;stroke-width:7;stroke-linecap:square}.ab-hero-maze circle{fill:#315f52}.ab-hero-maze .ab-red{fill:#aa523b;stroke:none}
.ab-game-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.ab-card{padding:32px;background:#f4f3eb;border:1px solid #dbdfd3;border-radius:16px}.ab-card p{max-width:460px}.ab-link{font-weight:600;color:#315f52;text-decoration:none;border-bottom:1px solid #a1b09d;padding-bottom:4px}.ab-about{max-width:740px;margin:64px 0 10px}
.ab-game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.ab-game-heading h1{font-size:clamp(32px,4vw,48px);margin-bottom:8px}.ab-game-heading .ab-lead{margin:0}
.ab-play-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:40px;align-items:start}.ab-play{border:1px solid #d6dfd2;border-radius:18px;padding:24px;background:#fafaf5;min-width:0}.ab-play-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.ab-play-top h2{margin:0;font-size:22px}#move-count{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;color:#586d5d}
.ab-board{max-width:500px;margin:0 auto;border-radius:9px;outline-offset:3px;touch-action:manipulation}.ab-board:focus{outline:none}.ab-play:has(.ab-board:focus-visible) .ab-play-top h2{text-decoration:underline;text-decoration-color:#749684;text-underline-offset:5px}.ab-board svg{display:block;width:100%;max-height:440px}.ab-board .ab-cell{fill:#f0f2e9;stroke:#dbe1d4;stroke-width:.018}.ab-board .ab-wall{stroke:#364e40;stroke-width:.085;stroke-linecap:round;fill:none;pointer-events:none}.ab-board .ab-player{fill:#26705d;stroke:#fafaf5;stroke-width:.035;pointer-events:none}.ab-board .ab-monster{fill:#ae533d;stroke:#fafaf5;stroke-width:.035;pointer-events:none}.ab-board .ab-token-label{font:700 .19px system-ui;fill:white;text-anchor:middle;dominant-baseline:central;pointer-events:none}.ab-board .ab-exit{fill:#d7e8c6;cursor:pointer}
.ab-board{background:radial-gradient(ellipse at center,#f4ecd9 0%,#f7f4e9 58%,#fafaf5 78%)}
.ab-board .ab-cell{stroke:#c9b993;stroke-width:.012;cursor:pointer}.ab-board .ab-cell:hover{filter:brightness(1.045)}
.ab-board .ab-wall{stroke:#536456;stroke-width:.11;stroke-linecap:round}.ab-wall-shadow{stroke:#7b725b;stroke-width:.14;opacity:.35}.ab-wall-light{stroke:#8e9b83;stroke-width:.028}.ab-wall-shadow,.ab-wall-light,.ab-character{pointer-events:none}
.ab-board .ab-exit{fill:#d3e4b7;stroke:#8ea865;stroke-width:.025}
.ab-keyboard-help{text-align:center;font-size:12px;color:#64725d;line-height:2.2;margin:10px 0}.ab-keyboard-help kbd{font:11px system-ui;background:#f1f0e6;border:1px solid #d7dbc9;border-bottom-width:2px;border-radius:4px;padding:3px 6px;white-space:nowrap}
.ab-touch .ab-keyboard-help{display:none}
.ab-legend{display:flex;justify-content:center;gap:20px;font-size:12px;margin:10px 0}.ab-legend span{display:flex;align-items:center;gap:5px}.ab-dot{width:11px;height:13px;border-radius:2px 2px 6px 6px;background:#26705d;border:1px solid #b58b45}.ab-triangle{width:12px;height:11px;border-radius:3px 3px 6px 6px;background:#ae533d;border-top:3px solid #d2b780}.ab-status{background:#eaf0e4;border-radius:8px;padding:11px 14px;min-height:46px;font-size:14px;margin:14px 0;text-align:center}.ab-status[data-status=lost]{background:#f4e3db;color:#793e2c}.ab-status[data-status=won]{background:#d9eaca;color:#315729}
.abbott-main button{font:inherit;border:1px solid #becdbb;background:#fffef8;color:#2c513f;border-radius:9px;padding:10px 15px;min-height:44px;cursor:pointer;touch-action:manipulation}.abbott-main button:hover:not(:disabled){background:#e8efdf;border-color:#739367}.abbott-main button:focus-visible,.abbott-main a:focus-visible{outline:3px solid #749684;outline-offset:3px}.abbott-main button:disabled{opacity:.4;cursor:default}.ab-controller{display:none;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,46px);gap:5px;justify-content:center}.ab-controller button{padding:0;font-size:24px}.ab-controller [data-action=up]{grid-column:2;grid-row:1}.ab-controller [data-action=left]{grid-column:1;grid-row:2}.ab-controller [data-action=wait]{grid-column:2;grid-row:2;font-size:13px;background:#eaf0e4}.ab-controller [data-action=right]{grid-column:3;grid-row:2}.ab-controller [data-action=down]{grid-column:2;grid-row:3}.ab-tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:16px}.ab-tools button{font-size:13px}.ab-animation{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#596a59;margin-top:14px}.ab-animation input{accent-color:#315f52;width:16px;height:16px}.ab-save{font-size:12px;color:#6e7c6d;text-align:center;margin-bottom:0}#hint-text{font-size:14px;text-align:center;margin:12px 0 0}#hint-text:empty{display:none}
.ab-guide{padding-top:6px}.ab-guide h2{font-size:26px}.ab-guide ol{padding-left:23px}.ab-guide li{padding-left:6px;margin-bottom:14px;line-height:1.6;font-size:15px}.ab-guide details{padding:14px 0;border-top:1px solid #d5ded1;border-bottom:1px solid #d5ded1;font-size:14px}.ab-guide summary{cursor:pointer;font-weight:600}.ab-credit{font-size:13px;color:#667665;margin-top:24px}.ab-guide>a{font-size:13px}.ab-levels{margin-top:48px;scroll-margin-top:24px}.ab-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center}.ab-section-heading span{font-size:13px;color:#62715e}.ab-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ab-level-card{display:flex;align-items:center;gap:14px;border:1px solid #d5decf;padding:20px;border-radius:12px;color:#36543f;text-decoration:none;background:#fcfcf5}.ab-level-card:hover{background:#edf1e6}.ab-level-card[aria-current=true]{border-color:#497359;box-shadow:inset 0 0 0 1px #497359}.ab-level-number{font-size:26px;color:#8a9b81;font-family:Georgia,serif}.ab-level-card strong{display:block;font-size:15px}.ab-level-card small{display:block;margin-top:5px;color:#75836d;font-size:12px}.ab-level-result{margin-left:auto}.ab-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px){.ab-play-layout{grid-template-columns:1fr;gap:25px}.ab-guide{max-width:620px}.ab-level-grid{grid-template-columns:repeat(2,1fr)}.ab-hero{gap:25px}.ab-hero-maze{padding:20px}.ab-game-heading{align-items:flex-start}.ab-game-heading>.ab-link{font-size:13px;white-space:nowrap}}
@media(max-width:520px){.abbott-main{padding-top:20px}.ab-breadcrumb{margin-bottom:20px}.ab-hero{grid-template-columns:1fr;padding:0 0 30px}.ab-hero-maze{display:none}.ab-game-cards{grid-template-columns:1fr}.ab-card{padding:24px}.ab-game-heading{display:block;margin-bottom:20px}.ab-game-heading>.ab-link{display:inline-block;margin-top:12px}.ab-game-heading .ab-lead{font-size:17px}.ab-play{padding:12px;border-radius:12px}.ab-play-top h2{font-size:19px}.ab-board svg{max-height:340px}.ab-legend{gap:12px;font-size:11px}.ab-status{font-size:13px;margin:10px 0}.ab-section-heading{display:block}.ab-level-grid{grid-template-columns:1fr}.ab-section-heading h2{margin-bottom:8px}.ab-levels{margin-top:32px}}

.ab-touch .ab-controller{display:grid}
.ab-level-card[hidden]{display:none}.ab-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:18px;background:#eeefe5;border-radius:12px;margin:20px 0}.ab-filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:150px}.ab-filters select{font:inherit;min-height:44px;max-width:100%;padding:10px;border:1px solid #bfccb7;border-radius:7px;background:#fffef8;color:#31553c}.ab-filters .ab-filter-check{flex-direction:row;align-items:center;min-height:44px}.ab-filters input{width:17px;height:17px;accent-color:#315f52}.ab-pagination{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:20px}.ab-pagination span,#filter-status{font-size:13px;color:#66765e}.ab-source p{overflow-wrap:anywhere;font-size:12px}.ab-level-card strong{overflow-wrap:anywhere}
@media(max-width:520px){.ab-filters{padding:12px;gap:12px}.ab-filters label{width:100%;min-width:0}.ab-level-card{padding:15px}}

.ab-level-card.is-locked{background:#f2f1eb;color:#6b7568}.ab-level-card.is-locked .ab-access{color:#806b43}.ab-account{font-size:14px;color:#586d5d}.ab-locked{margin-bottom:24px}.ab-locked a{display:inline-block;padding:8px 0}

.ab-report{margin:18px 0;font-size:14px}.ab-report summary{cursor:pointer;min-height:40px}.ab-report label{display:block;margin-bottom:8px}.ab-report textarea{display:block;width:100%;min-height:110px;box-sizing:border-box;border:1px solid #bfccb7;border-radius:8px;padding:10px;font:inherit;background:#fffef8}.ab-report p{overflow-wrap:anywhere}.ab-level-card .ab-approval{font-size:11px;color:#57725b}

/* The game starts in the first viewport; reference information follows the field. */
.ab-game-page .abbott-main{padding-top:10px}.ab-game-page .ab-breadcrumb{margin-bottom:8px;font-size:12px}
.ab-game-page .ab-game-heading{margin-bottom:14px;gap:14px}.ab-game-page .ab-game-heading h1{font-size:30px;letter-spacing:-.7px;margin:0}.ab-game-page .ab-game-heading>.ab-link{font-size:13px}
.ab-game-page .ab-play-layout{gap:24px;grid-template-columns:minmax(0,1fr) 300px}.ab-game-page .ab-play{padding:14px 18px}.ab-game-page .ab-play-top{margin-bottom:8px}.ab-game-page .ab-play-top h2{font-size:20px}
.ab-game-page .ab-board svg{max-height:clamp(220px,calc(100svh - 345px),420px)}
.ab-game-page .ab-legend{margin:6px 0}.ab-game-page .ab-status{margin:8px 0;padding:8px 10px;min-height:0}.ab-game-page .ab-keyboard-help{margin:6px 0}.ab-game-page .ab-tools{margin:8px 0 0}.ab-game-page #hint-text:empty{display:none}
.ab-game-page .ab-guide{font-size:14px}.ab-game-page .ab-guide .eyebrow{margin:0 0 8px;letter-spacing:1px}.ab-rule-brief{margin:0 0 12px;line-height:1.55}.ab-game-page .ab-guide details{border-top:1px solid #d6dfd2;margin:0;padding:8px 0}.ab-game-page .ab-guide summary{cursor:pointer;min-height:28px;display:list-item;line-height:28px}.ab-game-page .ab-guide details details{border:0}.ab-game-page .ab-guide ol{padding-left:22px}.ab-game-page .ab-guide li{margin-bottom:8px}.ab-game-page .ab-guide .ab-animation{justify-content:flex-start}.ab-game-page .ab-guide .ab-save{text-align:left;line-height:1.5}.ab-progress-panel{margin-top:18px;display:flex;gap:22px;align-items:center;border-top:1px solid #d6dfd2;padding-top:10px}.ab-progress-panel #progress-summary{background:none;padding:0;text-align:left;font-size:13px;flex:1}.ab-progress-panel .ab-account{font-size:13px;flex:1;margin:0}.ab-game-page .ab-levels{margin-top:26px}
@media(max-width:800px){.ab-game-page .header{padding:6px 0;gap:4px}.ab-game-page .brand small{display:none}.ab-game-page .nav{gap:0 14px}.ab-game-page .nav a{font-size:13px}.ab-game-page .ab-play-layout{grid-template-columns:1fr;gap:16px}.ab-game-page .ab-game-heading{display:flex;align-items:center;margin-bottom:10px}.ab-game-page .ab-game-heading h1{font-size:24px}.ab-game-page .ab-game-heading>.ab-link{margin:0;font-size:12px;white-space:nowrap}.ab-game-page .ab-play{padding:10px}.ab-game-page .ab-board svg{max-height:clamp(180px,calc(100svh - 480px),300px)}.ab-game-page .ab-tools{gap:6px}.ab-game-page .ab-tools button{padding:7px 10px;font-size:13px}.ab-progress-panel{display:block}.ab-progress-panel .ab-account{margin-top:10px}.ab-game-page .ab-controller{grid-template-rows:repeat(3,44px);gap:3px}}
@media(max-width:380px){.ab-game-page .ab-game-heading{align-items:flex-start;flex-direction:column;gap:2px}.ab-game-page .ab-board svg{max-height:210px}}

.ab-game-page .ab-board svg{max-height:clamp(220px,calc(100svh - 365px),400px)}
@media(max-width:800px){.ab-game-page .header .nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;width:100%;gap:14px}.ab-game-page .header .nav a{flex-shrink:0}.ab-game-page .ab-board svg{max-height:clamp(180px,calc(100svh - 520px),290px)}}
@media(max-width:380px){.ab-game-page .ab-game-heading{flex-direction:row;align-items:center;gap:8px}.ab-game-page .ab-game-heading h1{font-size:22px}.ab-game-page .ab-board svg{max-height:190px}}

/* Compact level picker and sidebar progress. */
.ab-guide .ab-progress-panel{display:block;margin:0 0 14px;padding:0 0 12px;border-top:0;border-bottom:1px solid #d6dfd2}.ab-guide .ab-progress-panel #progress-summary{margin:0 0 8px;min-height:0;line-height:1.6}.ab-guide .ab-progress-panel .ab-account{margin:0;line-height:1.5}
.ab-game-page .ab-section-heading h2{font-size:24px;margin:0}.ab-game-page .ab-section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}.ab-game-page .ab-filters{padding:0;background:none;margin:12px 0 6px;gap:12px 20px;align-items:center}.ab-game-page .ab-filters>label{flex-direction:row;align-items:center;min-width:0;width:auto}.ab-level-jump{display:flex;gap:6px;align-items:center;margin-left:auto}.ab-filters .ab-level-jump label{min-width:0;width:auto;margin-right:2px}.ab-filters .ab-level-jump input{width:90px;height:44px;padding:8px;border:1px solid #bfccb7;border-radius:7px;background:#fffef8;font:inherit;box-sizing:border-box}.ab-level-jump button{padding:8px 12px}.ab-game-page #filter-status{margin:6px 0 10px}
.ab-game-page .ab-level-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}.ab-game-page .ab-level-card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:0;padding:9px 3px 7px;border-radius:8px;min-height:66px;box-sizing:border-box;text-align:center}.ab-game-page .ab-level-number{font:600 20px system-ui;color:#36543f;line-height:1.3}.ab-game-page .ab-level-meta small{font-size:10px;margin:2px 0 0}.ab-game-page .ab-level-result{position:absolute;right:4px;top:2px;font-size:10px;margin:0}.ab-game-page .ab-level-card .ab-approval{position:absolute;left:5px;top:2px;margin:0;font-size:11px}.ab-game-page .ab-level-card.is-complete{background:#e3eddc}.ab-game-page .ab-level-card.is-locked{background:#f0efe9}.ab-game-page .ab-level-card.is-locked .ab-level-number{color:#727b6d}.ab-catalog-legend{font-size:12px;color:#66765e;margin:8px 0}.ab-game-page .ab-pagination{margin-top:10px}
@media(max-width:800px){.ab-game-page .ab-level-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.ab-game-page .ab-filters{gap:6px 14px}.ab-level-jump{margin-left:0}.ab-game-page .ab-section-heading h2{font-size:22px}.ab-game-page .ab-level-card{min-height:62px}.ab-game-page .ab-level-number{font-size:18px}}
.ab-game-page .ab-level-card[hidden]{display:none}
.ab-hint-dialog{position:fixed;inset:0;margin:auto;width:min(420px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #bdcdb6;border-radius:14px;background:#fcfcf5;color:#36543f;box-shadow:0 16px 60px #253d3833}.ab-hint-dialog::backdrop{background:#213b354d}.ab-hint-dialog h2{font-size:23px;margin:0 0 12px}.ab-hint-dialog p{font-size:15px;line-height:1.6;margin:0 0 20px}.ab-hint-actions{display:flex;flex-wrap:wrap;gap:8px}.ab-hint-dialog #hint-text{text-align:left;font-size:17px;margin:0 0 20px}.ab-hint-dialog #hint-reveal{background:#eaf0e4}
.ab-game-page .ab-level-card .ab-stars{display:block;color:#936718;font-size:12px;line-height:14px;min-height:14px;letter-spacing:1px}.ab-game-page .ab-level-card{min-height:80px}
.ab-win-dialog{text-align:center;border:2px solid #8ba76b}.ab-win-dialog .ab-win-stars{font-size:44px;letter-spacing:5px;color:#ab7926;margin:6px 0 14px}.ab-win-dialog .ab-hint-actions{justify-content:center}.ab-win-dialog #win-next{background:#dce9cb;font-weight:600}

.ab-sound{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;cursor:pointer;order:2}.ab-sound input{width:16px;height:16px;accent-color:#315f52}

.ab-exit-icon,.ab-exit-legend{color:#4c733d}.ab-exit-legend{width:15px;height:15px;display:inline-block}
/* Compact entry point for all Abbott games. */
.ab-index-page .abbott-main{padding:16px 0 28px}.ab-index-page .ab-breadcrumb{margin-bottom:16px;font-size:13px}.ab-index-heading{margin-bottom:22px}.ab-index-heading h1{font-size:32px;letter-spacing:-.6px;margin:0 0 10px}.ab-index-heading p{max-width:780px;font-size:16px;line-height:1.6;margin:0;color:#516557}.ab-index-page .ab-game-cards{gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.ab-index-page .ab-card{padding:20px;display:flex;flex-direction:column;align-items:flex-start}.ab-index-page .ab-card .eyebrow{font-size:11px;margin:0 0 8px}.ab-index-page .ab-card h2{font-size:24px;margin:0 0 8px}.ab-index-page .ab-card p:not(.eyebrow){font-size:14px;line-height:1.5;margin:0 0 12px}.ab-index-page .ab-card .ab-link{margin-top:auto;min-height:44px;display:inline-flex;align-items:center;padding-bottom:0;box-sizing:border-box}@media(max-width:520px){.ab-index-heading h1{font-size:27px}.ab-index-heading p{font-size:15px}.ab-index-page .ab-card{padding:16px}.ab-index-page .ab-game-cards{gap:12px}}
