/* Ask JAR;VIS: lovingly overcommitted 1999, legible on 2026 phones. */
:root{font-family:Verdana,Arial,sans-serif;color:#162943;background:#dcebf6;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:repeating-linear-gradient(90deg,#dcebf6 0px,#dcebf6 8px,#e7f2fc 9px,#e7f2fc 10px)}
button,textarea{font:inherit}button{cursor:pointer}a{color:#0739a8}a:visited{color:#71328b}a:hover{text-decoration:none}
.ticker{height:27px;overflow:hidden;background:#092e66;color:#d9e7f8;border-bottom:3px double #f6d66d;font:11px "Courier New",monospace;font-weight:bold;white-space:nowrap;line-height:24px;text-align:center;letter-spacing:1px}
.page{max-width:810px;margin:0 auto 50px;background:#fafaf0;min-height:calc(100vh - 28px);border-left:3px ridge #d8cfaf;border-right:3px ridge #d8cfaf;box-shadow:0 10px 35px #5872873d}
.topline{display:flex;justify-content:space-between;gap:8px;padding:12px 21px 0;color:#52698b;font:10px "Courier New",monospace;font-weight:bold}.topline .right{text-align:right}
.mast{padding:20px 34px 22px;display:flex;align-items:center;justify-content:center;gap:26px}
.mascot{position:relative;width:110px;height:150px;flex:none;filter:drop-shadow(3px 5px 0 #7796b2)}
.mascot .halo{position:absolute;font-size:48px;color:#dd7c00;left:29px;top:-13px;transform:rotate(-15deg)}
.head{position:absolute;top:33px;left:10px;width:89px;height:92px;background:#f6d675;border:4px solid #1c4870;border-radius:24px 24px 34px 34px;box-shadow:inset -9px -7px #efbd63}
.eyes{position:absolute;top:24px;left:12px;font-size:25px;color:#0d326c}.mouth{position:absolute;top:51px;left:27px;font-size:15px;color:#c04423}
.tie{position:absolute;bottom:0;left:43px;color:#b42d36;font-size:32px}
.stamp{color:#c14927;font:10px "Courier New",monospace;font-weight:bold;letter-spacing:1.2px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:bold;margin:3px 0 0;white-space:nowrap;letter-spacing:-3px;font-size:clamp(35px,6.4vw,64px);line-height:1.2;color:#173a80;text-shadow:2px 3px #adc5dd}h1 .ask{font-weight:normal;color:#be472f;font-style:italic;letter-spacing:-2px;font-size:.72em}h1 .colon{color:#e0aa1c}h1 .bang{color:#df6635}.tagline{font-size:12px;color:#637390;margin:5px 0 0;font-family:Georgia,serif}.tagline em{color:#0a417a;font-weight:bold}
.strip{background:#dbcd77;border-block:3px ridge #af9044;text-align:center;padding:8px 10px;color:#193d47;letter-spacing:1px;font:bold 10px "Courier New",monospace}.strip .bullet{margin:0 14px;color:#a34023}
.askbox{margin:23px 31px 16px;background:linear-gradient(#fffefa,#eef7fa);border:3px ridge #f4c86c;padding:25px 27px 20px;box-shadow:5px 5px 0 #97aec7}
.askbox h2{text-align:center;font: bold clamp(20px,3.6vw,31px) Georgia,serif;color:#102f68;margin:0 0 5px}.askbox>p{text-align:center;font:13px Georgia,serif;color:#637496;margin:0 0 23px}textarea{width:100%;border:2px inset #a0a9bd;resize:vertical;min-height:78px;padding:13px;font:17px Georgia,serif;color:#1b2f52;background:#fff;box-shadow:inset 2px 2px 4px #ccd6df}textarea:focus{outline:3px solid #e9b43f;outline-offset:2px}
.formend{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px}.small{font-size:11px;color:#66778b}.bigbutton{background:linear-gradient(#ffeaa6,#edc65b);border:3px outset #e3b654;color:#1f3657;box-shadow:2px 2px 0 #5b759d;font:bold 18px Georgia,serif;padding:12px 19px;white-space:nowrap}.bigbutton:hover,.bigbutton:focus{background:#f7d16a}.bigbutton:active{border-style:inset;box-shadow:0 0 0}.bigbutton:disabled{opacity:.5;cursor:progress}
.samples{text-align:center;margin-top:20px;font-size:11px;color:#6b7b92}.samples button{margin:4px;background:none;border:0;border-bottom:1px dashed #295aa0;color:#23478a;font-size:11px;padding:2px}.samples button:hover{color:#ba4a2d}
.results{margin:24px 31px;border:2px solid #638eb6;background:white;box-shadow:4px 4px 0 #9db1bb}.result-title{background:linear-gradient(90deg,#173b79,#4179a4);color:white;font:bold 14px Georgia,serif;padding:11px 16px}.result-title span{color:#f2d367}.result-title small{font:10px "Courier New",monospace;float:right;margin-top:2px}.machine-intro{font-size:12px;background:#e8f1f5;padding:12px 15px;border-bottom:1px solid #95b1ce}.steps{list-style:none;margin:0;padding:12px 16px;display:grid;gap:8px}.steps li{display:flex;align-items:flex-start;gap:12px;padding:10px;background:#f8f8ef;border:1px dashed #b6ad8c}.step-mark{font:17px "Courier New",monospace;color:#b56a20}.step-body b{display:block;font:12px "Courier New",monospace;color:#233e68}.step-body small{display:block;color:#566981;font:11px Georgia,serif;margin-top:3px}.status{font:bold 10px "Courier New",monospace;color:#3e786b;margin-left:auto}.status.hold{color:#ab6931}
.reply{border-top:5px double #315e80;padding:20px 22px}.ribbon{color:#a9462c;letter-spacing:2px;font:bold 10px "Courier New",monospace}.reply h2{font:24px Georgia,serif;color:#193d74;margin:8px 0}.reply p{font:14px/1.6 Georgia,serif}.reply h3{font:18px Georgia,serif;color:#214775;border-top:1px dotted #8fabc4;padding-top:13px}.sources{margin:0;padding-left:20px;font:12px/1.6 Georgia,serif}.sources li{margin:8px 0}.sources small{display:block;color:#66748c}.next{margin-top:19px;background:#e7f2ea;border:2px ridge #9cb4a1;padding:17px}.next span{font:bold 10px "Courier New",monospace;letter-spacing:2px;color:#416952}.next p{font:20px Georgia,serif;color:#1a4b47;margin:9px 0 17px}.next button,.artifact button{font:12px Georgia,serif;background:#f4f2db;border:2px outset #b7b29f;padding:7px 10px;margin-right:8px;color:#1d4471}
.artifact{display:flex;gap:16px;margin:24px 0 15px;border:1px dashed #c49b50;padding:16px;background:#fffbef}.sheet-icon{font-size:45px;color:#ae733c}.artifact b{font:bold 12px "Courier New",monospace;color:#865d2c}.artifact p{margin:8px 0;font-size:12px}.receipt{font:11px "Courier New",monospace;color:#556d85}.receipt summary{cursor:pointer}.receipt p{word-break:break-all;font-size:11px}
.under{display:flex;align-items:center;gap:20px;margin:26px 32px;background:#f1f1e8;border:1px solid #aeb7b0;padding:12px 17px}.under .sign{border:3px dashed #d5883e;transform:rotate(-3deg);text-align:center;padding:7px 8px;flex:none;background:#f6edc9;color:#a95627;font:bold 11px "Courier New",monospace}.under .sign b{font-size:9px}.under p{color:#52617b;font:11px/1.55 Verdana,sans-serif}
footer{font:10px/2 "Courier New",monospace;text-align:center;color:#607592;padding:18px 12px 30px;border-top:3px double #b5c7d7}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:650px){.mast{padding:22px 12px;gap:11px}.mascot{width:70px;height:100px;transform:scale(.63);transform-origin:0 0;margin-right:-25px}.topline{padding:10px 10px 0}.topline .right{display:none}h1{letter-spacing:-2px}.stamp{font-size:8px}.strip{font-size:9px}.strip .bullet{margin:0 4px}.askbox{margin:15px 12px;padding:23px 14px;box-shadow:3px 3px 0 #97aec7}.formend{flex-direction:column;align-items:stretch}.bigbutton{width:100%}.results,.under{margin:18px 12px}.under{gap:10px;align-items:flex-start}.under .sign{font-size:9px}.result-title small{float:none;display:block}.reply{padding:16px 12px}.artifact{gap:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{body{background:white}.ticker,.samples,.askbox,.topline,.mast,.strip,.under,footer,#ask-next,#download,#print{display:none!important}.page,.results{border:0;box-shadow:none;margin:0;max-width:none}.steps li{break-inside:avoid}}

@keyframes domino-in{from{opacity:0;transform:translateY(-8px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(prefers-reduced-motion:no-preference){.steps li{animation:domino-in .25s ease-out both}}

[hidden]{display:none!important}
select{font:12px Georgia,serif;color:#1b2f52;background:#fff;border:2px inset #a0a9bd;padding:7px;max-width:100%}
.return-choice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font:12px Georgia,serif;color:#52698b}
.return-card{border:3px double #d0b573;background:#fffdf1;margin:20px 0;padding:19px}
.return-card h3{border:0;padding:0;font:bold 23px Georgia,serif;margin:10px 0;color:#1a4b47}
#return-body{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.7 Georgia,serif}
#invitation-tools{margin-top:20px;border-top:1px dashed #b6ad8c;padding-top:15px}
#invitation-tools label{display:block;margin-bottom:8px;font:bold 13px Georgia,serif}
#invitation-editor{font:14px/1.6 Georgia,serif;min-height:270px}
#draft-status{font:11px/1.5 Verdana,sans-serif;color:#865d2c}
.reply button{font:12px Georgia,serif;background:#f4f2db;border:2px outset #b7b29f;padding:8px 10px;margin:4px 6px 4px 0;color:#1d4471}
#song-audio{display:block;width:100%;max-width:380px;margin:15px 0}
.sources,.receipt{overflow-wrap:anywhere}.step-body{min-width:0}.status{flex-shrink:0}
.receipt details{margin-top:15px}.receipt li{margin:9px 0;line-height:1.6}.receipt p{word-break:normal;overflow-wrap:anywhere}
button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c18417;outline-offset:3px}
@media(max-width:650px){.return-choice{align-items:stretch;flex-direction:column}.return-card{padding:12px}.steps{padding:10px 8px}.steps li{gap:6px}.step-body b{font-size:11px}.status{font-size:9px}.artifact{display:block}.sheet-icon{display:none}}
@media print{.return-choice,#song-tools,#invitation-tools,.receipt,.reply button{display:none!important}.return-card{break-inside:avoid}.reply{padding:0}.results{display:block!important}.reply{display:block!important}}

/* Public bridge: a second invitation, not an enrollment. */
.table-door{margin:22px 31px 26px;background:linear-gradient(135deg,#fff1c2,#f1f8e9);border:3px ridge #b4a15d;box-shadow:4px 4px 0 #8cad93;padding:18px 22px;color:#203e3d}
.table-door-stamp{font:bold 10px "Courier New",monospace;letter-spacing:1.4px;color:#6b5b2b}
.table-door h2{font:bold 28px Georgia,serif;color:#234e47;margin:9px 0}
.table-door p{font:14px/1.65 Georgia,serif;max-width:65ch;margin:0 0 17px}
.table-door-button{display:inline-block;padding:11px 15px;color:#f7f3d7!important;background:#22584a;border:3px outset #76a28b;box-shadow:2px 2px 0 #2d4b4b;text-decoration:none;font:bold 13px Georgia,serif}
.table-door-button:hover,.table-door-button:focus{background:#174034;outline:2px solid #ca8e33;outline-offset:3px}
.table-door small{display:block;color:#50635b;font:11px/1.5 "Courier New",monospace;margin:12px 0 0}
@media(max-width:650px){.table-door{margin:18px 12px;padding:14px}.table-door h2{font-size:24px}.table-door-button{display:block;text-align:center;font-size:12px}}
@media print{.table-door{display:none!important}}


/* CAFÉ 004: colorful public front porch; no assets, third-party scripts or tracking. */
.cafe-intro{margin:24px 31px 0;border:4px double #24665f;background:repeating-linear-gradient(135deg,#fff8db 0,#fff8db 14px,#fff5d4 14px,#fff5d4 28px);box-shadow:5px 5px 0 #8ca8a2;position:relative;overflow:hidden}
.cafe-badge{background:#18584d;color:#fff6d8;font:bold 11px/1.5 "Courier New",monospace;letter-spacing:1.5px;text-align:center;padding:9px 12px}
.cafe-hero{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 22px 20px}
.cafe-kicker{color:#a3462b;font:bold 10px "Courier New",monospace;letter-spacing:1.2px;margin:0 0 7px}
.cafe-hero h2{font:bold clamp(27px,4.5vw,43px)/1.06 Georgia,serif;letter-spacing:-1px;color:#194f49;margin:0}
.cafe-hero h2 em{color:#ae4b2a;font-style:italic}
.cafe-hero p:not(.cafe-kicker){font:13px/1.55 Georgia,serif;max-width:42ch;color:#435c57;margin:12px 0 0}
.cafe-receipt{width:118px;min-width:118px;transform:rotate(5deg);border:2px dashed #5b8b7d;background:#fffef4;padding:12px 7px;text-align:center;color:#375d57;box-shadow:4px 4px #d7c9aa}
.cafe-receipt b{display:block;font:bold 11px "Courier New",monospace}
.cafe-receipt span{display:block;font:bold 53px/1.1 Georgia,serif;color:#ab512c}
.cafe-receipt small{display:block;font:bold 9px/1.3 "Courier New",monospace}
.cafe-stages{background:#f5e9b5;border-top:3px dotted #af8f4e;display:flex;justify-content:space-evenly;gap:10px;padding:11px;font:bold 11px "Courier New",monospace;color:#415449}
.cafe-stages span{display:flex;align-items:center;gap:7px}
.cafe-stages b{background:#b84e32;color:white;padding:4px 5px;font:bold 12px "Courier New",monospace}
.cafe-intro+.askbox{margin-top:19px}
.received-note{background:#d7f1e9;border:2px dashed #398073;color:#1c554d!important;padding:11px;font:12px/1.5 Verdana,sans-serif!important;margin:0 0 14px!important}
.samples button.cafe-sample{font:bold 12px "Courier New",monospace;color:#1e564b;background:#e5f3e9;border:2px outset #a1c2ab;padding:6px 8px;margin:5px 3px}
.samples button.cafe-sample:hover,.samples button.cafe-sample:focus{color:#fff;background:#236452}
.handoff{margin:21px 0;border:3px double #438474;background:linear-gradient(#e7f7e9,#faf5d9);padding:16px 18px;box-shadow:3px 3px 0 #b2c6b2}
.handoff .handoff-label{color:#357263;font:bold 11px "Courier New",monospace;letter-spacing:1px}
.handoff h3{font:bold 25px Georgia,serif;margin:8px 0!important;padding:0!important;color:#1f5545;border:0!important}
.handoff p{font:13px/1.6 Georgia,serif;margin:8px 0 12px}
.handoff label{display:block;color:#355849;font:bold 11px/1.4 "Courier New",monospace;margin:11px 0 7px}
.handoff-actions{display:flex;flex-wrap:wrap;gap:3px}
.handoff-actions button{background:#fff0b5;border:2px outset #d0ab53;color:#245448;font-weight:bold}
#handoff-link{display:block;width:100%;padding:10px;border:2px inset #98ac9e;background:#fff;color:#37526a;font:12px/1.4 "Courier New",monospace;overflow-wrap:anywhere}
#handoff-link:focus{outline:3px solid #dda834}
.handoff-status{font:11px/1.5 Verdana,sans-serif!important;color:#4c695f!important}
@media(max-width:650px){.cafe-intro{margin:16px 12px 0}.cafe-badge{font-size:9px;letter-spacing:.5px}.cafe-hero{padding:18px 13px}.cafe-hero h2{font-size:clamp(23px,7vw,34px)}.cafe-receipt{min-width:75px;width:75px;padding:8px 3px}.cafe-receipt span{font-size:35px}.cafe-receipt b{font-size:8px}.cafe-receipt small{font-size:7px}.cafe-stages{font-size:9px;padding:9px 3px;gap:2px}.cafe-stages span{gap:3px}.cafe-stages b{font-size:10px}.handoff{padding:12px 9px}.handoff-actions button{width:100%;text-align:center}}
@media print{.cafe-intro,.handoff{display:none!important}}

.strip-link{color:#113970!important;text-decoration:underline;font:bold 11px "Courier New",monospace;background:#fff6c5;padding:4px 8px}
.contact-door{margin:22px 31px 26px;background:linear-gradient(135deg,#eaf7ed,#fff0c0);border:3px ridge #8eae91;box-shadow:4px 4px 0 #a5bb9c;padding:20px 23px}
.contact-door-stamp{font:bold 10px "Courier New",monospace;letter-spacing:1.2px;color:#876025}
.contact-door h2{font:bold 31px Georgia,serif;margin:8px 0;color:#245647}
.contact-door p{font:14px/1.6 Georgia,serif;margin:0 0 16px}
.contact-door-button{display:inline-block;background:#205644;color:#fff5bf!important;border:3px outset #89b69d;padding:11px 16px;font:bold 14px Georgia,serif;text-decoration:none}
.contact-door small{display:block;color:#576c61;font:11px/1.5 Verdana,sans-serif;margin-top:12px}
@media(max-width:650px){.contact-door{margin:18px 12px;padding:15px}.contact-door-button{display:block;text-align:center}}
@media print{.contact-door{display:none!important}}


/* Question → Table is a deliberate human crossing, not an automatic invite. */
.question-table-bridge{margin:23px 0 19px;padding:19px 21px;background:linear-gradient(132deg,#fff6d5,#e1f5e5);border:3px double #508776;box-shadow:4px 4px 0 #b5cbb7}
.question-table-stamp{font:bold 11px/1.5 "Courier New",monospace;letter-spacing:1px;color:#9b502e}
.question-table-bridge h3{font:bold 27px Georgia,serif;margin:8px 0!important;border:0!important;padding:0!important;color:#215548}
.question-table-bridge p{font:14px/1.55 Georgia,serif;margin:10px 0}
#start-table-from-question{background:#27594c;color:#fff5d9;border:3px outset #80a995;padding:12px 16px;font:bold 14px "Courier New",monospace;cursor:pointer;max-width:100%}
#start-table-from-question:hover,#start-table-from-question:focus-visible{background:#954e2e;color:#fff}
.question-table-status{font:11px/1.5 Verdana,sans-serif!important;color:#486958!important}
@media(max-width:650px){.question-table-bridge{margin:16px 0;padding:16px 12px}.question-table-bridge h3{font-size:23px}#start-table-from-question{width:100%}}
@media print{.question-table-bridge{display:none!important}}
