/* A station opens its own ticket counter. Lettering stays crisp on paper. */
dialog[data-layout]{width:min(870px,94vw);max-height:92dvh;background:#f7efda}
dialog[data-layout] .dialoghead{min-height:45px;padding:0 13px 0 24px;border-bottom:3px double #b4a185}
dialog[data-layout] .dialoghead .folio{letter-spacing:.2em}
dialog[data-layout] #close{height:44px;min-width:44px;padding:0;border:0}
dialog[data-layout] #sheet{padding:0;background-image:radial-gradient(#ad96742b .6px,transparent .8px);background-size:5px 5px}
dialog[data-layout] #dialogTitle:focus{outline:0}
.entrance-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32%;align-items:center;gap:15px;min-height:185px;padding:18px 32px 20px;border-bottom:3px double #948367;background:linear-gradient(97deg,#f4e8ca 48%,#eadbb9 86%,#dfcca6)}
.entrance-banner:before{content:"";position:absolute;inset:7px;border:1px solid #8a735d54;pointer-events:none}
.entrance-banner .kicker,.entry-instruction,.entry-foot{letter-spacing:.015em}
.entrance-banner .kicker,.lesson-place,.evidence-caption,.guide-name,.slip-tip,.ticket-stars{font:700 .71rem/1.35 ui-monospace,monospace}
.entrance-banner .kicker,.lesson-place,.evidence-caption,.guide-name{text-transform:uppercase;letter-spacing:.12em}
.entrance-banner #dialogTitle{font:700 clamp(2.1rem,4.2vw,3.5rem)/.98 Georgia,serif;letter-spacing:-.052em}
.entrance-banner p{margin:0;max-width:49ch;line-height:1.47}
.entrance-art{object-fit:contain;justify-self:center;width:100%;height:153px;filter:drop-shadow(3px 4px 0 #6b513026);transform:rotate(-2deg)}
.entry-choices{padding:19px 30px 14px}
#sheet .entry-choices h3{font-size:clamp(1.5rem,2.6vw,2.05rem);letter-spacing:-.035em;margin:0}
.entry-instruction{margin:5px 0 14px;font-size:.93rem}
.tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.ticket{--ticket:#c5d8c1;--seal:#335a4c;--stamp:#90ae93;
  position:relative;display:grid;grid-template-columns:69px minmax(0,1fr);grid-template-rows:minmax(80px,auto) auto;
  align-items:center;align-content:space-between;gap:0 7px;min-width:0;
  padding:11px 12px 0;color:#263343;background:var(--ticket);border:1px solid #73654f;border-radius:2px 4px 3px 2px;
  box-shadow:2px 3px 0 #705b4033;transform:rotate(-.7deg);text-align:left;
  transition:transform .16s,box-shadow .16s}
.ticket-2{--ticket:#e7ca89;--seal:#74471e;--stamp:#ba9558;transform:rotate(.65deg)}
.ticket-3{--ticket:#ddb5a3;--seal:#803f3b;--stamp:#b78575;transform:rotate(-.4deg)}
.ticket:before{content:"";pointer-events:none;position:absolute;inset:4px;border:1px solid #70584250}
.ticket:hover,.ticket:focus-visible{background:var(--ticket);box-shadow:2px 5px 0 #705b4040;transform:translateY(-3px)}
.ticket:active{transform:translateY(1px)}
.guide-portrait{position:relative;justify-self:center;overflow:hidden;width:67px;height:72px;align-self:center;
  border:1px solid var(--seal);border-radius:50% 47% 44% 46%;box-shadow:inset 0 0 0 3px #f5ebcf88;
  background:repeating-linear-gradient(135deg,transparent 0 3px,#f7f1dc55 3px 4px),var(--stamp)}
.guide-portrait img{display:block;position:absolute;width:126%;max-width:none;height:auto;left:-20%;top:3px}
.ticket-2 .guide-portrait img{left:-12%;width:112%;top:2px}.ticket-3 .guide-portrait img{left:-12%;width:115%;top:2px}
.ticket-print{display:grid;gap:2px;position:relative;padding-bottom:1px}
.ticket-stars{font-size:.98rem;line-height:1.2;color:var(--seal);letter-spacing:.07em}
.ticket-print strong{font:700 clamp(1.1rem,2.35vw,1.68rem)/1.1 Georgia,serif;letter-spacing:-.045em}
.ticket-print .guide-name{font-size:.64rem;letter-spacing:.05em;color:var(--seal)}
.ticket-stub{grid-column:1/-1;align-self:end;border-top:1px dashed #7e6f51;margin:8px -8px 0;padding:9px 5px 11px;font:550 .81rem/1.25 system-ui,sans-serif;text-align:center}
.entry-foot{border-top:1px solid #bcac8e;margin:3px 30px 0;padding:4px 0 7px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.paper-link{min-height:44px;padding:6px 0;background:transparent;border:0;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}
.paper-link:hover{background:transparent;color:var(--red)}
/* The prompt and the loose evidence can be read independently. */
.lesson-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 24px;border-bottom:1px solid #ad9a79;background:#efe2c4}
.lesson-place{color:#784e37;font-size:.7rem}
.level-switch{position:relative;flex:none;margin:0}
.level-switch summary,.one-hint summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer}
.level-switch summary::-webkit-details-marker,.one-hint summary::-webkit-details-marker{display:none}
.level-switch summary{color:var(--ink);font-size:.85rem;min-height:44px;padding:3px 1px 3px 8px}
.level-switch summary:after{content:'▾';color:#745e40}
.level-switch summary .ticket-stars{font-size:.83rem;letter-spacing:0;color:#905d20}
.level-switch[open] summary:after{transform:rotate(180deg)}
.level-switch .tickets{position:absolute;z-index:4;right:-6px;top:100%;width:min(430px,83vw);background:#f3e6c9;padding:10px;border:1px solid #766248;box-shadow:3px 5px 0 #61503a4d;gap:7px}
.compact .ticket{display:flex;flex-direction:column;gap:5px;align-items:center;padding:8px 4px;transform:none}
.compact .guide-portrait{width:42px;height:43px}.compact .ticket-print{justify-items:center}.compact .ticket-print strong{font-size:1.05rem}
.compact [aria-current=true]{outline:2px solid #3a4b46;outline-offset:-4px}
.lesson-spread{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.83fr);align-items:start;gap:25px;padding:25px clamp(16px,3vw,32px) 27px;min-height:320px}
.lesson-main{min-width:0}.lesson-main #dialogTitle{margin:0 0 14px;font:700 clamp(1.9rem,3.25vw,2.7rem)/1.03 Georgia,serif;letter-spacing:-.047em;text-wrap:balance}
.lesson-main .question{font:400 clamp(1.08rem,1.8vw,1.25rem)/1.52 system-ui,sans-serif;margin:0;color:#252f36}
.read-line{display:block;margin-bottom:.45em}
.answer-area{margin-top:21px}
.number-form label{display:block;margin:0 0 6px;font-weight:700;font-size:.86rem}
.write-answer{display:flex;gap:7px;align-items:stretch;flex-wrap:wrap}
.number-field{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1.5px solid var(--ink);border-radius:3px 2px 2px 3px;background:#fff9ea}
.number-field:focus-within{outline:2px solid #1f6980;outline-offset:2px}
.number-field input{border:0;background:transparent;color:var(--ink);outline:none;padding:9px 0 9px 12px;min-width:0;width:5rem;font:700 1.2rem Georgia,serif}
.number-field input:focus-visible{outline:0}
.answer-unit{padding-right:10px;font-size:.9rem;font-weight:600}
.write-answer .primary,.answer-result .primary{border-color:#263650}
.one-hint{margin:10px 0 0;border:0;font-size:.9rem}
.one-hint summary{width:max-content;color:#64492c;font-weight:650;padding:2px 4px 2px 0;gap:7px;text-decoration:underline;text-underline-offset:3px}
.one-hint summary:before{content:'?';display:grid;place-items:center;width:19px;height:19px;border:1.5px solid currentColor;border-radius:50%;font:bold .77rem Georgia}
.one-hint p{margin:0;padding:9px 13px;border-left:3px solid #ab823e;background:#eadab8;line-height:1.48}
summary:focus-visible,.fact input:focus-visible{outline:3px solid #196799;outline-offset:2px}
.answer-choices{display:grid;gap:6px}
.answer-choice{display:flex;align-items:center;gap:9px;padding:7px 10px;text-align:left;font-size:.94rem;line-height:1.35;background:#fbf5e5;border-color:#a59170}
.answer-choice span{display:grid;place-items:center;flex:none;border:1px solid #a99472;border-radius:50%;width:23px;height:23px;font:bold .79rem Georgia;color:#68543c}
.answer-choice:hover{border-color:var(--teal);background:#e9ead6}
.try-again{font-size:.92rem;color:#863e2b;border-left:2px solid currentColor;padding-left:9px}
.answer-result.solved{border-top:1px dashed #9c997d;padding-top:15px;margin-top:16px}
.correct-stamp{display:inline-block;color:#315b48;font:bold 1.1rem Georgia}.answer-result .discuss{font-size:.9rem;font-style:italic;color:#4e5247}
.evidence{position:relative;align-self:start;min-width:0;margin:2px 0 3px;background:#f9f0d8;border:1px solid #9d896b;border-radius:2px;box-shadow:3px 4px 0 #a8946f40;transform:rotate(.55deg);overflow:hidden}
.evidence:before{content:"";display:block;height:6px;background:repeating-linear-gradient(126deg,#40586a 0 9px,#f5e9cf 9px 18px,#ae5a45 18px 27px,#f5e9cf 27px 36px);opacity:.85}
.evidence-caption{text-align:center;padding:9px 5px 1px;color:#584b3c;font-size:.61rem}
.evidence-art{display:block;width:100%;height:clamp(98px,16vh,150px);object-fit:contain;padding:5px 10px 6px;background:radial-gradient(ellipse at center,var(--wash) -80%,transparent 68%)}
.evidence:has(.evidence-art:last-child) .evidence-art{height:190px}
.evidence .cash-tray,.fact-slip{margin:0;padding:7px 13px 10px;border:0;border-top:1px dashed #9f8967;background:#fff8e6}
.evidence .cash-row{justify-content:center;gap:6px 9px;padding:4px 0}
.evidence .cash-note{width:115px}
.count-piece{position:relative;display:grid;place-items:center;background:transparent;border:0;width:100%;min-width:44px;min-height:44px;padding:0}
.count-piece:hover{background:#dfceab66}
.count-piece[aria-pressed=true] img{transform:translateY(-3px) rotate(-9deg);opacity:.65}
.count-piece[aria-pressed=true]:after{content:'✓';position:absolute;right:-1px;bottom:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#395f50;color:#fff6de;font-weight:bold}
.evidence .cash-row figcaption{font-size:.72rem;margin-top:0}
.slip-tip{display:block;margin:1px 0 4px;color:#6f614e;font:italic .77rem/1.3 Georgia,serif}
.fact{cursor:pointer;display:grid;grid-template-columns:15px 1fr auto;align-items:center;gap:7px;min-height:44px;border-bottom:1px dotted #a79173;color:#474237;font-size:.85rem;line-height:1.3}
.fact:last-child{border-bottom:0}.fact b{text-align:right;color:#2c3944;font-weight:700}
.fact input{width:14px;height:14px;accent-color:#45654d;margin:0}.fact:has(input:checked){background:#dce6cf}
@media(max-width:760px){
  .ticket{grid-template-columns:54px 1fr;gap:0 4px;padding:10px 9px 0}.guide-portrait{width:49px;height:57px}
  .lesson-spread{gap:17px;padding:18px}
}
@media(max-width:590px){
  dialog[data-layout]{width:96vw;max-height:94dvh}.entrance-banner{grid-template-columns:1fr 25%;padding:16px 17px;min-height:128px;gap:7px}
  .entrance-banner p{font-size:.87rem}.entrance-art{height:100px}.entrance-banner #dialogTitle{font-size:2.02rem}
  .entry-choices{padding:14px 13px 9px}.entry-instruction{font-size:.85rem}.tickets{gap:5px}
  .ticket{display:flex;flex-direction:column;align-content:normal;justify-content:flex-start;gap:4px;padding:8px 3px 0}.ticket-print{justify-items:center}.guide-portrait{width:51px;height:56px}.ticket-print .guide-name{font-size:.54rem}.ticket-stub{align-self:stretch;margin:3px 0 0;padding:6px 1px 8px;font-size:.69rem}.entry-foot{margin:3px 13px 0}.entry-foot button{font-size:.78rem}
  .lesson-meta{padding:1px 12px;gap:4px}.lesson-place{font-size:.61rem;letter-spacing:.055em}.level-switch summary{font-size:.78rem;gap:5px}
  .lesson-spread{display:flex;flex-direction:column;padding:16px;gap:14px;min-height:0}.lesson-main,.evidence{width:100%}
  .lesson-main #dialogTitle{margin:0 0 9px;font-size:2rem}.lesson-main .question{font-size:1.02rem}.answer-area{margin-top:14px}
  .evidence{display:grid;grid-template-columns:minmax(65px,30%) 1fr;align-items:center;transform:none}.evidence:before{grid-column:1/-1;width:100%}
  .evidence-caption{grid-column:1/-1;padding:6px 5px 2px}.evidence-art{height:76px;padding:3px}
  .evidence:has(.evidence-art:last-child) .evidence-art{grid-column:1/-1;height:90px}
  .evidence .cash-tray,.fact-slip{border:0;border-left:1px dashed #9f8967;padding:6px 8px}.fact{font-size:.78rem}.slip-tip{font-size:.7rem}
}
@media(prefers-reduced-motion:reduce){.ticket{transition:none}}.quiet .ticket{transition:none}
dialog[data-layout=workbench] #sheet{padding:0 clamp(15px,4vw,30px) 12px}
.workbench-banner{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#ece0bf;border-bottom:3px double #a28a68;padding:10px clamp(15px,4vw,30px);margin:0 calc(-1 * clamp(15px,4vw,30px)) 11px}
.workbench-banner .kicker{font-size:.69rem;letter-spacing:.1em}.workbench-banner #dialogTitle{margin:5px 0 0}
.workbench-art{width:clamp(82px,15vw,143px);height:clamp(59px,11vh,88px);object-fit:contain}
.work-foot{border-top:1px dashed #b4a07e;display:flex;gap:18px;margin-top:14px;justify-content:space-between}
dialog[data-layout=workbench] .ledger{margin:10px 0;padding:9px;gap:8px;background:#ebdfc2}
dialog[data-layout=workbench] .toolbar button{background:#faf4e3;border-bottom:2px solid #8c785a}
dialog[data-layout=workbench] .stack button{background:#fff8e6}
.level-switch summary{padding:4px 10px;border:1px solid #9d8865;background:#f9f0d8;border-radius:3px}
.level-switch summary:hover{background:#fff6df}
/* A quiet desk: the task, its objects and one close button. */
dialog .dialoghead,dialog[data-layout] .dialoghead{position:sticky;top:0;z-index:8;display:block;height:0;min-height:0;padding:0;border:0;background:transparent}
dialog #close,dialog[data-layout] #close{position:absolute;right:8px;top:8px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #a99779;background:#f7efda;color:var(--ink);box-shadow:1px 2px 0 #705b4033}
dialog #close:hover{background:#e7d9bb}
dialog:not([data-layout]) #sheet{padding-top:32px}
dialog:not([data-layout]) #dialogTitle{padding-right:40px}
.entrance-banner{padding-right:60px}
.lesson-meta{justify-content:flex-start;padding:9px 65px 0 25px;border:0;background:transparent}
.lesson-spread{padding-top:16px}
.level-switch .tickets{left:0;right:auto}
.difficulty-notes{display:inline-flex;align-items:center;min-height:22px;padding-right:2px}
.difficulty-notes img{width:33px;height:21px;object-fit:contain;filter:drop-shadow(1px 1px 0 #79654355);transform:rotate(-7deg)}
.difficulty-notes img+img{margin-left:-14px;transform:rotate(4deg)}
.difficulty-notes img:nth-child(3){transform:rotate(11deg)}
.ticket{grid-template-columns:88px minmax(0,1fr);grid-template-rows:minmax(113px,auto) auto;gap:0 6px}
.guide-portrait{width:86px;height:108px;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden}
.ticket .guide-portrait img{width:100%;left:0;top:0;filter:drop-shadow(1px 2px 0 #705b4033)}
.ticket-1 .guide-portrait img{width:119%;left:-8%}
.ticket-2 .guide-portrait img{width:112%;left:-6%}
.ticket-3 .guide-portrait img{width:110%;left:-5%;top:4px}
.ticket-print .guide-name{text-transform:none;letter-spacing:0;font:650 .87rem/1.25 system-ui,sans-serif}
.ticket-stub{font-weight:400;min-height:46px}
.compact .guide-portrait{width:52px;height:57px}
.compact .ticket-print .guide-name{font-size:.74rem}
.number-form{max-width:340px}
.number-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px;padding:9px;background:#dfcfad;border:1px solid #b29b75;border-radius:6px 4px 5px 3px;box-shadow:inset 0 2px 4px #7e654022}
.number-key{height:46px;min-height:46px;padding:3px 8px;font:700 1.32rem Georgia,serif;color:#263650;background:#fff8e6;border:1px solid #9e8866;border-bottom:3px solid #9e8866;border-radius:4px;box-shadow:0 1px 1px #80623a22}
.number-key:hover{background:#f8e8c3}.number-key:active{transform:translateY(1px);border-bottom-width:1px;background:#ead8b3}
.number-key.edit-key{font:650 .78rem system-ui,sans-serif;background:#f1e4c9}
.number-key:last-child{font-size:1.4rem}
.keypad-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.number-field input{width:6.6rem;font-variant-numeric:tabular-nums;cursor:text;caret-color:#263650}
.write-answer{flex-wrap:nowrap}.write-answer .primary{flex:1}
.contact-link{display:inline-flex;align-items:center;min-height:44px;font-weight:700;text-underline-offset:4px}
.progress-settings{border-top:1px solid #bca987;padding-top:9px;margin-top:24px}
.workbench-banner{padding-right:55px}
@media(max-width:760px){
  .ticket{grid-template-columns:60px minmax(0,1fr);padding:9px 8px 0}.guide-portrait{width:60px;height:80px}
  .ticket-print .guide-name{font-size:.75rem}
}
@media(max-width:590px){
  .ticket{display:flex}.guide-portrait{width:70px;height:85px}
  .ticket-stub{font-size:.73rem;min-height:62px}.ticket-print .guide-name{font-size:.75rem}
  .entrance-banner{padding-right:48px}
  .lesson-meta{padding:9px 60px 0 16px}
  .lesson-spread{gap:12px;padding-top:14px}
  .number-form{max-width:none}.number-pad{max-width:340px}
  .number-field input{width:6rem}
}
@media(max-height:700px) and (min-width:591px){
  .lesson-spread{padding-top:12px;padding-bottom:18px;gap:20px}
  .lesson-main #dialogTitle{font-size:2rem;margin-bottom:10px}
  .lesson-main .question{font-size:1.05rem;line-height:1.4}
  .answer-area{margin-top:12px}.number-pad{margin-top:7px;padding:6px;gap:5px}
}
