/* Visual contract: Parsicle's illustrated world + Pocket Company's Asteria.
   Presentation only. Graph coordinates, evidence, audio and server rules stay intact. */
:root{--paper:#f8fcff;--ink:#142e58;--muted:#52677d;--blue:#164cc6;--coral:#c84d37;--teal:#147785;--gold:#d6a33d;--ceramic-blue:url('/assets/art/ceramic-cobalt-blank.webp')}
html{background:var(--paper)}body{background:radial-gradient(ellipse at 42% 8%,#e6f6ff 0,transparent 60%),#f9fcff;color:var(--ink)}
.taxical-header{max-width:1440px;padding:20px 36px;border-bottom:1px solid #cbdfe9;background:transparent;min-height:94px}
.taxical-brand{display:flex;gap:11px;align-items:center;letter-spacing:-2px;color:#183641}
.taxical-brand>.brand-tiles{position:relative;width:34px;height:37px;display:block;padding:0;margin:0;flex:none}
.brand-tiles i{position:absolute;width:15px;height:15px;border:1px solid #a79976;border-radius:2px;box-shadow:1px 2px 0 #142e5830;background:#285cc9;top:1px;left:0}
.brand-tiles i:nth-child(2){left:19px;background:#e97456}.brand-tiles i:nth-child(3){top:20px;left:8px;background:#e8b345;transform:rotate(-30deg)}
.taxical-brand>.brand-name{font:bold 43px/.85 Georgia,serif;letter-spacing:-2px;text-transform:none;color:#183641;margin:0;display:block}
.brand-name small{display:block;font:700 8px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:#52677d;margin:9px 0 0 2px}
.taxical-nav{gap:25px}.taxical-nav>a{font-size:13px}.taxical-nav>button{border:1px solid #b3cadd;background:#f4faff;color:#174b82;border-radius:5px;padding:8px 14px}
main{max-width:1440px;padding:26px 36px 65px}.taxical-footer{max-width:1368px;border-top:1px solid #c9dce8;padding:20px 0;margin:0 36px}
h1,h2,h3{color:var(--ink)}.eyebrow{color:#1a5395}.asteria-badge{background:#fffaf0;border:1px solid #d5ae60;color:#154f74;letter-spacing:.13em}
button.primary{background:#164cc6;color:#fff;font:500 18px/1.25 Georgia,serif;min-height:52px;padding:13px 23px;border:1px solid #10368c;border-radius:4px;box-shadow:0 3px 0 #10368c,0 6px 14px #1b4a9420;letter-spacing:-.01em}
button.primary:hover{background:#1046bb;box-shadow:0 3px 0 #10368c,0 8px 20px #1b4a9430;translate:0 -1px}button.primary:active{translate:0 2px;box-shadow:none}
/* One place to arrive. The artwork is the scene, not a thumbnail. */
.illustrated-cover{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);gap:0;align-items:stretch;padding:0;margin:0 0 24px;border:1px solid #bad4e5;border-radius:20px 20px 7px 7px;overflow:hidden;background:#fffefa;box-shadow:0 16px 40px #194f7a14}
.illustrated-cover .cover-world{grid-column:1;grid-row:1;margin:0;min-height:650px;position:relative;overflow:hidden;background:#55cbdc}
.cover-landscape{width:100%;height:100%;object-fit:cover;object-position:36% 45%;position:absolute;inset:0}
.illustrated-cover .cover-copy{grid-column:2;grid-row:1;padding:44px 37px;align-self:center}
.cover-copy h1{font-size:clamp(44px,4.7vw,66px);line-height:1.02;color:#123d98;letter-spacing:-.045em;margin:20px 0 24px}
.cover-copy h1 em{color:var(--coral)}.cover-copy .opening{font-size:16px;line-height:1.65}.cover-copy .mission{font-size:14px;line-height:1.65;margin:0 0 22px;color:#4c627e}.cover-copy .cover-actions{align-items:center;gap:14px;flex-wrap:wrap}.cover-actions>button{min-width:180px}.cover-actions>span{font-size:11px;color:#53677c}
.world-location{position:absolute;top:24px;left:24px;background:#fffef6f5;color:#19405b;font-size:10px;text-transform:uppercase;font-weight:750;letter-spacing:.1em;padding:11px 14px;border-radius:4px;box-shadow:0 3px 8px #12466a20;display:flex;align-items:center;gap:8px;max-width:calc(100% - 48px)}
.location-dot{width:7px;height:7px;border-radius:50%;background:#d3663f;box-shadow:0 0 0 4px #e2b34d30;flex:none}
.world-evidence{position:absolute;bottom:26px;left:26px;right:26px;display:flex;align-items:end;gap:16px;justify-content:space-between;pointer-events:none}
.parcel-label{display:block;background:#fdfbf3;border:1px solid #c7b984;border-top:6px solid #bd8d37;border-radius:3px;padding:16px 18px 14px;font:800 22px/1 var(--sans);letter-spacing:.06em;color:#193e52;box-shadow:3px 5px 0 #172f3b40;transform:rotate(-5deg);max-width:45%}
.parcel-label small{display:block;font:600 8px/1.4 var(--sans);letter-spacing:.1em;margin-top:9px;color:#4a6171}
.world-invitation{background:#fffefa;border:1px solid #d0bc8b;border-top:5px solid #ddb54c;border-radius:2px;padding:17px 20px 16px;box-shadow:3px 5px 0 #172f3b33;transform:rotate(3deg);max-width:62%}
.world-invitation small{font-size:10px;line-height:1.35;color:#53627a;display:block}.world-invitation p{font:30px/1.07 Georgia,serif;letter-spacing:-.04em;margin:10px 0 0;color:#12385f}.world-invitation p span{color:var(--coral)}
.fair-play{margin-top:20px;border-top:0;padding:0 4px;font-size:11px}.how-to{margin-top:24px;padding-top:28px;gap:50px}.how-to h2{color:#16468b}.how-to .folio-index{color:var(--coral)}
/* Chapter selection is a collection of places in the same world. */
.chapter-heading{max-width:850px;padding:7px 0 26px}.chapter-heading h1,.notebook-heading h1{color:#153f99;font-size:clamp(42px,4.5vw,60px)}
.chapter-list{display:grid;grid-template-columns:1fr 1fr;gap:26px;border:0}.chapter-row{display:block;padding:0;border:1px solid #bfd4e5;border-radius:12px 12px 4px 4px;overflow:hidden;background:#fffefa;box-shadow:0 5px 0 #dceaf5,0 12px 26px #254c7410;transition:translate .2s,box-shadow .2s}
.chapter-row:hover{translate:0 -3px;box-shadow:0 6px 0 #dceaf5,0 18px 30px #254c741b}
.chapter-picture{position:relative;height:225px;overflow:hidden}.chapter-picture img{width:100%;height:100%;object-fit:cover;object-position:center 44%;display:block}.chapter-numeral{position:absolute;bottom:15px;left:20px;width:58px;height:58px;border:1px solid #d0aa56;border-radius:4px;color:#164790;background:#fffefa;display:grid;place-items:center;font:32px/1 Georgia,serif;box-shadow:3px 3px 0 #1a445c30}
.chapter-copy{padding:22px}.chapter-copy h2{font-size:32px;color:#153f79;margin:0 0 17px}.chapter-copy>.eyebrow{font-size:10px;color:#a15035}.chapter-records{flex-direction:column;gap:9px}.chapter-records>button{width:100%;max-width:none;min-width:0;background:#f4f8fd;border:1px solid #c5d6e5;box-shadow:0 2px 0 #d9e6f0;border-radius:4px;padding:11px 14px}.chapter-records>button:hover{background:#e9f2ff;border-color:#7c9bc6}.chapter-records>button:disabled{opacity:.6}.record-number{border-color:#b2c4d8;background:#fffefa}
.table-ribbon{background:#e6f4f9;border-left:4px solid #2199ad;border-radius:3px;margin-top:35px}.table-ribbon h2{color:#164781}
/* The puzzle keeps Parsicle's spacious art / word-board composition. */
.taxical-game.puzzle-game.atelier-game{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:42px;align-items:start}
.taxical-game .atelier-world{padding-top:10px;display:block;height:auto;overflow:visible}.taxical-game .world-title{font-size:clamp(35px,3.8vw,53px);line-height:1.05;color:#143e91;margin:18px 0 22px;letter-spacing:-.045em}
.record-world{margin:0 0 20px;position:relative;width:100%;height:355px;border:1px solid #b0cbdc;border-radius:10px 10px 3px 3px;overflow:hidden;box-shadow:0 6px 0 #dfebf4,0 12px 24px #25577d14;background:#a9e2e7}
.record-landscape{width:100%;height:100%;object-fit:cover;object-position:36% center;display:block}.record-world figcaption{position:absolute;bottom:15px;left:15px;right:15px}.record-world .record-stamp{background:#fffef8f5;color:#155d78;box-shadow:0 3px 10px #123a5d20;border-color:#c9b77f;font-size:10px;line-height:1.4;padding:8px 10px}
.record-context{font-size:14px;line-height:1.6;color:#465f79;margin:22px 0}.taxical-game .world-caption{border-top:1px solid #bfd4e0;padding-top:19px;display:flex;gap:17px;margin-top:20px}.world-caption .folio-index{display:block;color:#1b62bb;font:33px/1 Georgia,serif}.taxical-game .world-caption h3{color:#174a7b}.saved-notice{color:#276b76;font-size:11px;margin-top:15px}
.game-progress{min-height:48px;margin-bottom:16px}.game-progress .step{border-radius:50%;width:37px;flex-basis:37px;height:44px;background:#f2f8fd;border:1px solid #b8cedd}.game-progress .step.current{background:#cf5f43;border-color:#ac4531;box-shadow:0 0 0 4px #f4d7bd;color:#fff}.game-progress .step.done{background:#e5f3f9;border-color:#6ea3ba;color:#245a7b}
.board-card.game-board{background:#fffefa;border-color:#b9cddc;border-radius:10px;box-shadow:0 4px 0 #dbe7f1,0 7px 0 #fff,0 8px 0 #ccdeeb,0 16px 30px #214e7a10}.board-card.game-board:before{background:#d2a03f;width:72px}.game-board .puzzle-question{padding:26px 26px 0}.game-board .sentence{color:#142f57;font-size:clamp(28px,2.7vw,35px)}.game-board .puzzle-kicker{color:#936022;letter-spacing:.12em}.game-board .draft-tag{color:#667a8d}.game-board .draft-tag.accepted{background:#e3f2f1;color:#21595e;border:1px solid #aacfd0}
.game-board .magnet-shelf{background:#e9f2fe;border-color:#d2e1f0}.game-board .word-face{background:#fffefa;box-shadow:0 3px 0 #c5d5e1,0 5px 7px #204b6810}.word-tile{background:#fffefa!important}.game-board .toolbar .primary{font:500 18px/1.25 Georgia,serif}.game-board .toolbar #continue{background:#bd4c36;border-color:#923c2c;box-shadow:0 3px 0 #923c2c}.game-board .feedback.good{background:#e6f4ef;border-color:#a9cfc6}.game-board .feedback h3{color:#225b62}
/* Saved records remain illustrated, while their evidence is actual HTML. */
.notebook-records{gap:26px}.notebook-record{border-top:0;border-radius:10px 10px 4px 4px;overflow:hidden;padding:0 25px 24px;background:#fffefa;box-shadow:0 4px 0 #dceaf5,0 12px 26px #254c7410}.notebook-scene{height:175px;margin:0 -25px 22px;overflow:hidden;border-bottom:3px solid #dfb459}.notebook-scene img{height:100%;width:100%;object-fit:cover;object-position:center 45%;display:block}.notebook-record h2{color:#17477f}.notebook-top{flex-wrap:wrap}.record-status{font-size:11px}
.table-moment{max-width:1050px}.table-world{margin:0 0 30px;position:relative;height:320px;overflow:hidden;border-radius:14px 14px 4px 4px;border:1px solid #b9cfdd;box-shadow:0 6px 0 #dceaf4}.table-world img{width:100%;height:100%;object-fit:cover;object-position:center 52%;display:block}.table-world figcaption{position:absolute;bottom:18px;left:20px;background:#fffefaed;padding:8px 13px;font-size:11px;font-weight:700;color:#224969;border-radius:3px}.table-moment h1{color:#153f99;font-size:clamp(39px,5vw,60px)}.table-launch{background:#fffefa;max-width:670px}.table-instruction{font-size:18px}.sound-dialog{background:#fffefa;border-top:5px solid #dab250;box-shadow:0 16px 60px #12375e40}.sound-heading h2{color:#16448d}
@media(min-width:701px) and (max-width:1050px){.illustrated-cover .cover-copy{padding:30px 25px}.cover-copy h1{font-size:46px}.cover-copy .opening{font-size:14px}.cover-copy .mission{font-size:13px}.cover-copy>.eyebrow{font-size:9px}.illustrated-cover .cover-world{min-height:620px}.world-invitation{padding:14px}.world-invitation p{font-size:24px}.parcel-label{font-size:17px;padding:12px}.world-evidence{gap:10px;left:18px;right:18px}.taxical-game.puzzle-game.atelier-game{gap:26px;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.record-world{height:300px}.record-context{font-size:13px}.chapter-picture{height:190px}}
@media(max-width:700px){
 .taxical-header{min-height:80px;padding:14px 16px;gap:10px;flex-wrap:nowrap}.taxical-brand{gap:8px}.taxical-brand>.brand-name{font-size:32px;letter-spacing:-1.7px}.brand-name small{font-size:6px;letter-spacing:.08em;margin-top:7px}.taxical-brand>.brand-tiles{width:25px;height:32px;transform:scale(.8);transform-origin:left center;margin-right:-3px}.taxical-nav{gap:3px 10px;max-width:190px}.taxical-nav>a{font-size:11px;min-height:32px}.taxical-nav>button{font-size:11px;min-height:32px;padding:3px 9px}.taxical-nav>.answer-link{font-size:10px}
 main{padding:18px 14px 42px}.taxical-footer{margin:0 16px;padding:18px 0;gap:10px;font-size:9px}.asteria-badge{font-size:9px}
 .illustrated-cover{display:flex;flex-direction:column;border:0;box-shadow:none;border-radius:0;background:transparent;margin:0;gap:0;overflow:visible;padding:0}.illustrated-cover .cover-copy{display:contents}.cover-copy>.eyebrow{order:0;font-size:9px;margin:2px 0 14px}.cover-copy h1{order:1;font-size:43px;line-height:1;max-width:500px;margin:0 0 20px}.cover-copy h1 br{display:none}.illustrated-cover .cover-world{order:2;min-height:0;height:265px;width:100%;border-radius:10px 10px 4px 4px;border:1px solid #a8cbdc;box-shadow:0 4px 0 #d7e7f3;margin:0 0 25px}.cover-landscape{object-position:38% 45%}.world-location{top:12px;left:12px;padding:8px;font-size:7px;max-width:calc(100% - 24px);letter-spacing:.07em}.world-evidence{left:14px;right:14px;bottom:15px;gap:12px}.parcel-label{font-size:16px;padding:12px;border-top-width:4px}.parcel-label small{font-size:6px}.world-invitation{padding:10px 12px;border-top-width:4px;max-width:58%}.world-invitation small{font-size:7px}.world-invitation p{font-size:23px;margin-top:7px}
 .cover-copy .opening{order:3;font-size:15px;line-height:1.6;margin-bottom:13px}.cover-copy .mission{order:5;font-size:13px;line-height:1.6;margin:18px 0 3px}.cover-copy .cover-actions{order:4;gap:13px;margin-top:6px}.cover-actions>button{font-size:17px;min-width:165px;padding:12px 18px}.cover-actions>span{font-size:10px}.cover-copy>.text-link{order:6;align-self:flex-start;font-size:12px}.fair-play{font-size:10px;margin-top:20px}.how-to{gap:16px;margin-top:23px}.how-to h2{font-size:26px}
 .chapter-heading h1,.notebook-heading h1{font-size:39px}.chapter-list{grid-template-columns:1fr;gap:23px}.chapter-picture{height:190px}.chapter-copy{padding:19px}.chapter-copy h2{font-size:29px}.chapter-numeral{height:49px;width:49px;font-size:28px}.chapter-records>button{padding:12px}.table-ribbon{flex-direction:column;align-items:flex-start;padding:23px}.table-ribbon h2{font-size:28px}
 .record-topline{gap:14px;margin-bottom:12px}.record-topline>span{font-size:11px}.taxical-game.puzzle-game.atelier-game{display:block}.taxical-game .atelier-world{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:0 14px;align-items:start;padding:0;margin:0 0 23px;height:auto;min-height:0;position:relative;overflow:visible}.taxical-game .atelier-world>.eyebrow{grid-column:1;grid-row:1;font-size:8px;margin:0 0 10px}.taxical-game .world-title{grid-column:1;grid-row:2;font-size:30px;line-height:1.08;margin:0 0 11px}.record-world{grid-column:2;grid-row:1/4;width:112px;height:122px;margin:0;border-radius:5px;border-color:#b9d0df;box-shadow:0 4px 0 #dceaf3}.record-world figcaption{display:none}.record-landscape{object-position:28% center}.record-context{grid-column:1/-1;font-size:12px;line-height:1.55;margin:13px 0 0;padding:10px 13px;border-left:3px solid #dab34f;background:#fffefa}.taxical-game .world-caption{grid-column:1;grid-row:3;display:block;border:0;padding:0;margin:0;min-width:0}.world-caption .folio-index,.taxical-game .world-caption h3{display:none}.taxical-game .world-caption p{font-size:12px;line-height:1.4;margin:0}.saved-notice{grid-column:1/-1;font-size:10px;max-width:none;margin:10px 0 0}.game-progress{margin-bottom:12px;gap:8px;min-height:44px}.game-progress .round-label{font-size:10px}.game-progress .step{flex-basis:31px;width:31px;height:40px;min-height:40px}.game-progress .steps{gap:4px}.board-card.game-board{border-radius:7px}.game-board .puzzle-question{padding:20px 16px 0}.game-board .sentence{font-size:27px;line-height:1.25}.game-board .task-prompt{font-size:12px}.game-board .board-surface{padding:16px 12px 8px}.game-board .toolbar{padding:16px 14px}.game-board .toolbar .primary{font-size:17px;min-height:48px}.game-board .magnet-shelf{padding:14px 16px}.game-footnote{font-size:10px;line-height:1.5}.local-relationship-choice{border-top:3px solid #dcb44b!important}.notebook-records{grid-template-columns:1fr;gap:23px}.notebook-record{padding:0 20px 22px}.notebook-scene{height:155px;margin:0 -20px 20px}.notebook-top{flex-wrap:nowrap}.record-status{margin-left:0;font-size:10px}.notebook-record h2{font-size:26px}.table-world{height:210px;margin-bottom:24px;border-radius:9px}.table-world figcaption{font-size:9px;left:12px;bottom:12px;padding:7px 10px}.table-moment{margin-top:5px}.table-moment h1{font-size:38px}.table-instruction{font-size:16px;line-height:1.65}
}
@media(max-width:360px){.taxical-header{padding:12px;justify-content:space-between}.taxical-brand>.brand-name{font-size:29px}.taxical-nav{max-width:146px;gap:2px 8px}.taxical-nav>a{font-size:10px}.taxical-nav>button{font-size:10px}.taxical-nav>.answer-link{font-size:9px}.cover-copy h1{font-size:38px}.cover-actions>button{min-width:155px;font-size:16px}.cover-actions>span{font-size:9px}.illustrated-cover .cover-world{height:245px}.world-invitation p{font-size:21px}.taxical-game .atelier-world{grid-template-columns:minmax(0,1fr) 96px;gap:0 10px}.record-world{width:96px;height:118px}.taxical-game .world-title{font-size:27px}.game-progress{flex-direction:column;align-items:flex-start}.game-progress .steps{width:100%;justify-content:space-between}.game-progress .step{width:38px;flex-basis:38px}.game-board .sentence{font-size:24px}}
@media(prefers-reduced-motion:reduce){.chapter-row,button.primary{transition:none}}
@media print{.cover-world,.record-world,.notebook-scene,.table-world{display:none!important}}
/* On a phone, keep a real scene rather than shrinking it to an icon. */
@media(max-width:700px){
 .taxical-game .atelier-world{display:flex;flex-direction:column;gap:0;margin-bottom:18px}
 .taxical-game .atelier-world>.eyebrow{display:block!important;order:0;font-size:8px;margin:0 0 9px}
 .taxical-game .world-title{order:1;font-size:31px;line-height:1.05;margin:0 0 14px}
 .record-world{order:2;width:100%;height:140px;margin:0 0 12px;flex:none}
 .record-world img{object-position:center 45%}.record-world figcaption{display:block;left:10px;bottom:10px;right:10px}
 .record-world .record-stamp{font-size:8px;padding:5px 7px;line-height:1.2}
 .record-context{order:3;max-width:100%;font-size:12px;margin:0 0 10px;padding:0;border:0;background:transparent}
 .taxical-game .world-caption{order:4;margin:0;padding:0}.taxical-game .world-caption p{font-size:12px}
 .saved-notice{order:5;margin:9px 0 0;font-size:10px}
}
