/* Purposeful motion: one invitation, one print, a quiet place to keep it. */
@media (min-width:761px) {
  .site-header.cloud-header { transition:height .26s ease,min-height .26s ease,border-radius .26s ease; }
  .cloud-header .brand-character,.cloud-header .character-nav a,.cloud-header .character-nav img { transition:width .26s ease,height .26s ease; }
  .site-header.cloud-header.is-compact { height:64px;min-height:64px;border-radius:22px;gap:20px;padding:4px 14px; }
  .cloud-header.is-compact .brand-character { width:50px;height:50px; }
  .cloud-header.is-compact .brand-name { font-size:26px; }
  .cloud-header.is-compact .brand-lettering { gap:3px; }
  .cloud-header.is-compact .brand-caption { font-size:6px; }
  .cloud-header.is-compact .character-nav { gap:6px; }
  .cloud-header.is-compact .character-nav a { flex-direction:row;gap:5px;width:auto;min-width:92px;height:52px;padding:4px 10px;border-radius:17px; }
  .cloud-header.is-compact .character-nav img { width:38px;height:38px; }
  .cloud-header.is-compact .character-nav a>span { font-size:11px; }
  html { scroll-padding-top:92px; }
}
.cloud-invitation { height:170px;position:relative;display:grid;place-items:center;pointer-events:none; }
.invitation-thread { position:absolute;top:0;bottom:0;border-left:1px dashed #abaca08c; }
.invitation-paper { position:relative;display:flex;align-items:center;gap:22px;width:340px;padding:18px 22px;background:#fffaf0;border:1px solid #d8cdb7;box-shadow:0 5px 0 #e8dfce,0 10px 25px #123f490e;transform:translateY(var(--invite-y,0px)) rotate(var(--invite-turn,-5deg)); }
.invitation-paper>span:nth-child(2) { font-size:9px;letter-spacing:.14em; }
.invitation-paper em { display:block;font:italic 20px/1.2 Georgia,serif;letter-spacing:-.02em;margin-top:7px; }
.invitation-star { color:#bf6547;font:34px/1 Georgia,serif; }
.invitation-arrow { font-size:24px;margin-left:auto; }
#pocket-machine { position:relative;grid-template-columns:minmax(260px,.78fr) minmax(0,1.5fr);grid-template-rows:auto 1fr;column-gap:32px;row-gap:18px;padding:20px 0 40px;align-items:start; }
#pocket-machine .arcade-intro { grid-column:1;grid-row:1;padding-top:5px; }
#pocket-machine .arcade-intro>.eyebrow { font-size:10px;margin-bottom:15px;letter-spacing:.13em; }
#pocket-machine .arcade-intro h2 { font-size:clamp(36px,3.6vw,52px); }
#pocket-machine .arcade-intro>p:not(.eyebrow) { font-size:15px;line-height:1.5;margin:13px 0;max-width:300px; }
#pocket-machine .machine-rules { position:relative;margin:12px 0; }
#pocket-machine .machine-rules summary { font-size:13px; }
#pocket-machine .machine-rules[open]>p { position:absolute;left:0;top:18px;width:300px;max-width:80vw;padding:18px;background:#fffaf0;border:1px solid #d7cbb7;border-radius:8px;box-shadow:0 10px 30px #123f4924;z-index:15;font-size:13px; }
#pocket-machine .character-machine-feedback { margin:17px 0 6px;min-height:65px;max-width:360px; }
#pocket-machine .character-machine-feedback .machine-marquee { font-size:11px;min-height:32px; }
#pocket-machine .character-machine-feedback .machine-round { margin-top:4px; }
#pocket-machine .character-machine-feedback .wonder-charge p { font-size:12px; }
#pocket-machine .character-machine-feedback .hold-pair { font-size:12px;min-height:30px;padding:4px 8px; }
#pocket-machine .arcade-collection { font-size:12px;margin:0;padding:5px 0; }
#pocket-machine .machine-shell { grid-column:2;grid-row:1 / 3;justify-self:center;align-self:start;margin:0 46px 0 0;width:calc(100% - 46px);max-width:min(900px,calc((100svh - 215px)*1.3)); }
#pocket-machine .machine-cabinet { transform-origin:50% 90%; }
#pocket-machine .printer-panel { margin-top:-3.7%; }
#pocket-machine .print-preview { position:relative;height:0;z-index:4;pointer-events:none; }
#pocket-machine .print-stage { position:absolute;top:0;left:0;width:100%;height:310px;overflow:hidden;display:flex;justify-content:center; }
#pocket-machine .print-stage.is-delivering { overflow:visible; }
#pocket-machine .print-ghost { width:var(--print-width,200px);flex-basis:var(--print-width,200px);min-height:0;margin:0;pointer-events:none; }
.keepsake-desk { grid-column:1;grid-row:2;position:relative;align-self:start;width:100%;max-width:370px;padding:0 0 0; }
.desk-label { display:block;font-size:9px;letter-spacing:.16em;color:#76908b;margin-bottom:12px; }
.keepsake-desk .printer-output,.keepsake-desk .printer-output:has(.instant-photo[hidden]) { height:280px;overflow:visible;align-items:center;perspective:none; }
.keepsake-desk .printer-empty { position:static;display:grid;align-content:center;place-items:center;gap:18px;height:250px;width:195px;margin:0;border:1px dashed #b9bbb0;border-radius:2px;padding:24px;text-align:center;color:#7a8e89;font:italic 20px/1.3 Georgia,serif;transform:rotate(-3deg);background:#eee9db44; }
.keepsake-desk .printer-empty::before { content:'✳';font:36px/1 Georgia,serif;color:#cab788; }
.keepsake-desk .instant-photo { width:210px;flex-basis:210px;min-height:0;margin:0;padding:10px 10px 12px;box-shadow:1px 2px 2px #fff8,3px 9px 16px #123f4924;transform:rotate(-3deg); }
#pocket-machine .instant-image>img { width:94%;height:88%;left:3%;bottom:0;top:auto;position:absolute;object-fit:contain; }
#pocket-machine .instant-image small { top:10px;left:10px;font-size:8px; }
#pocket-machine .instant-caption { font-size:18px;min-height:20px;margin:9px 0 6px; }
#pocket-machine .instant-quote { font-size:10px;line-height:1.4;display:block; }
#pocket-machine .instant-collect { display:block;font-size:8px;line-height:1.3;margin-top:8px;color:#577d71; }
#pocket-machine .instant-photo.is-developing .instant-image>img { opacity:0; }
#pocket-machine .instant-photo.is-developing .instant-collect { opacity:0; }
.keepsake-desk .machine-utilities { min-height:50px;gap:8px;margin:8px 0 0;flex-wrap:nowrap; }
.keepsake-desk .save-instant { font-size:12px;padding:9px 12px;min-height:40px; }
.keepsake-desk .action-album-open { font-size:12px;padding:7px 12px;min-height:40px; }
.keepsake-desk .action-album-open span { font-size:9px; }
.keepsake-desk .photo-save-status { position:absolute;top:100%;left:0;right:0;font-size:11px;margin:4px 0; }
#pocket-machine .instant-photo.is-awaiting-delivery { visibility:hidden; }
.album-flight { position:fixed;z-index:60;pointer-events:none;width:76px;border:5px solid #fffaf0;box-shadow:0 5px 20px #123f4933;transform-origin:center; }
.arcade-sound { display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:4px 0;margin-left:12px;color:#55756f;font-size:11px;cursor:pointer; }
.arcade-sound[aria-pressed=true] { color:#ae5034; }
@media (min-width:1001px) {
  #pocket-machine { min-height:max(600px,calc(100svh - 110px)); }
  #pocket-machine .machine-shell { margin-top:0; }
}
@media (min-width:1001px) and (max-height:800px) {
  #pocket-machine { row-gap:8px; }
  #pocket-machine .arcade-intro h2 { font-size:38px; }
  #pocket-machine .arcade-intro>.eyebrow { margin-bottom:10px; }
  #pocket-machine .character-machine-feedback { margin-top:10px;min-height:60px; }
  .keepsake-desk .printer-output,.keepsake-desk .printer-output:has(.instant-photo[hidden]) { height:242px; }
  .keepsake-desk .instant-photo { width:180px;flex-basis:180px;padding:8px 8px 10px; }
  .keepsake-desk .printer-empty { height:225px;width:180px;font-size:18px; }
  .desk-label { margin-bottom:5px; }
  #pocket-machine .instant-caption { font-size:16px;margin:7px 0 5px; }
  #pocket-machine .instant-quote { font-size:9px; }
}
@media (max-width:1000px) {
  #pocket-machine { display:grid;grid-template-columns:1fr;row-gap:18px; }
  #pocket-machine .arcade-intro { grid-column:1;grid-row:1;max-width:600px; }
  #pocket-machine .machine-shell { grid-column:1;grid-row:2;max-width:600px;width:calc(100% - 42px);margin:0 42px 0 0; }
  .keepsake-desk { grid-column:1;grid-row:3;justify-self:center;max-width:370px; }
  .keepsake-desk .desk-label { text-align:center; }
  .cloud-invitation { height:130px; }
  .invitation-paper { width:min(340px,90%);padding:14px 17px;gap:14px; }
  .invitation-paper em { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-header.cloud-header,.cloud-header .brand-character,.cloud-header .character-nav a,.cloud-header .character-nav img { transition:none; }
  .invitation-paper { transform:rotate(-3deg); }
}
#pocket-machine [hidden] { display:none!important; }
#pocket-machine .arcade-intro h2 { margin:0; }
#pocket-machine .arcade-intro>p:not(.eyebrow) { max-width:none; }
#pocket-machine .machine-rules summary { min-height:30px;padding:6px 0; }
#pocket-machine .machine-rules { margin:5px 0; }
#pocket-machine .character-machine-feedback .machine-marquee { min-height:22px; }
#pocket-machine .character-machine-feedback { min-height:50px; }
#pocket-machine .arcade-collection { margin-top:0; }
@media(min-width:1001px) and (max-height:800px) {
  #pocket-machine .arcade-intro>p:not(.eyebrow) { font-size:14px;margin:10px 0 5px; }
  #pocket-machine .arcade-intro>.eyebrow { margin-bottom:8px; }
  #pocket-machine .character-machine-feedback { margin:8px 0 4px; }
  #pocket-machine .arcade-intro { padding-top:0; }
}
#pocket-machine .arcade-help { display:flex;align-items:center;gap:15px; }
#pocket-machine .arcade-sound { margin:0; }
#pocket-machine .arcade-collection { display:none; }
#pocket-machine .character-machine-feedback { height:86px;min-height:86px; }
#pocket-machine .character-machine-feedback .machine-round { gap:8px; }
#pocket-machine .character-machine-feedback .machine-marquee { height:24px; }
/* Anchor jumps land predictably while the dock changes its own size. */
html { scroll-behavior:auto; }
@media (min-width:1001px) {
  #pocket-machine { min-height:clamp(600px,calc(100svh - 110px),880px); }
}
