/* Screen-owned components. These do not share legacy menu/profile selectors.
   Solid surfaces under text; background artwork belongs to the scene only. */
.launch-scene{
 display:flex;align-items:center;position:relative;width:100%;height:100%;
 padding:clamp(26px,5vh,70px) clamp(28px,8vw,240px);
 background:linear-gradient(90deg,#071510fa 0%,#0b1915ef 24%,#0b19158a 51%,#08110f1a 75%);
}
.launch-content{position:relative;flex:0 1 590px;min-width:0;max-height:100%;overflow-y:auto;scrollbar-width:thin;padding:8px 12px 8px 0}
.launch-eyebrow{font:800 clamp(11px,.78vw,15px)/1.4 var(--font-ui);letter-spacing:.21em;color:#cfb377;margin-bottom:clamp(20px,3.2vh,40px)}
.launch-title{font:700 clamp(68px,min(7.3vw,11.4vh),140px)/.97 var(--font-display);letter-spacing:-.045em;color:#f8e9be;margin:0;text-shadow:0 4px 16px #0003}
.launch-tagline{font:500 clamp(19px,1.4vw,27px)/1.4 var(--font-display);color:#dbc497;margin:clamp(16px,2.6vh,28px) 0 clamp(22px,3.4vh,38px)}
.launch-actions{display:grid;gap:12px;width:clamp(264px,23vw,394px);max-width:100%}
.launch-actions .wood-btn{display:flex;justify-content:space-between;gap:18px;min-width:0;width:100%;min-height:clamp(49px,5.1vh,68px);padding:12px 21px;font-size:clamp(19px,1.4vw,25px);border:0;border-radius:12px;letter-spacing:0;background:#20352a;box-shadow:none;transition:background .18s,translate .18s}
.launch-actions .wood-btn.gold{color:#2e281b;background:linear-gradient(135deg,#f4db9e,#cfa65f);box-shadow:0 7px 20px #0003}
.launch-actions .wood-btn:hover:not(.gold){background:#2c4335}
.launch-actions svg{width:21px;height:21px;flex:none}
.launch-links{display:flex;gap:22px;align-items:center;margin-top:20px;flex-wrap:wrap}
.launch-links .text-btn{font:700 12px/1.4 var(--font-ui);letter-spacing:.08em;color:#cfbea0;border:0;min-height:38px;display:inline-flex;align-items:center;text-decoration:none}
.launch-save{font:500 clamp(12px,.88vw,16px)/1.65 var(--font-ui);color:#c9baa0;margin-top:20px}
.launch-version{position:absolute;top:20px;right:24px;font:700 11px var(--font-ui);letter-spacing:.12em;color:#bfac83}
/* An opaque selection room with a single hierarchy, not stacked glass cards. */
.appetite-scene{display:flex;flex-direction:column;background:#0a1611d9;overflow:hidden}
.appetite-scene>.hud{position:relative;inset:auto;flex:none;height:76px;align-items:center;background:#0b1713;z-index:2}
.appetite-shell{width:min(1392px,calc(100% - 64px));max-height:calc(100% - 104px);min-height:0;margin:auto;display:flex;flex-direction:column;background:#14231c;border:0;border-radius:26px;box-shadow:0 26px 80px #0005;overflow:hidden}
.appetite-heading{flex:none;padding:clamp(22px,3vh,40px) 28px 20px;text-align:center;background:#14231c}
.appetite-heading .eyebrow{color:#d4bc88;font-size:12px;letter-spacing:.18em}
.appetite-heading h1{margin:9px 0 9px;color:#fae9c3;font:700 clamp(30px,2.5vw,48px)/1.1 var(--font-display);letter-spacing:-.025em}
.appetite-heading p{font:500 clamp(14px,1.1vw,18px)/1.4 var(--font-ui);color:#cfccb8;margin:0}
.appetite-content{overflow-y:auto;min-height:0;padding:0 28px;scrollbar-width:thin;scrollbar-color:#91805d #14231c}
.appetite-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:8px 0}
.appetite-choice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;position:relative;min-width:0;background:#21352a;border:0!important;border-radius:18px;box-shadow:none;padding:16px 22px 22px;color:#f8e8c6;text-align:center;transition:background .18s ease,translate .18s ease}
.appetite-choice::before,.appetite-choice::after{display:none}
.appetite-choice.active{background:#354431;box-shadow:none}
.appetite-choice:hover{background:#2d4233;translate:0 -3px}
.appetite-choice.active:hover{background:#3a4b35}
.appetite-choice:focus-visible{outline:2px solid #f1d795;outline-offset:-5px}
.appetite-selection{display:flex;align-items:center;justify-content:center;gap:6px;min-height:24px;font:700 12px/1.4 var(--font-ui);color:#bbcbb9;letter-spacing:.03em}
.appetite-selection svg{width:16px;height:16px;color:#f5db97}.appetite-choice.active .appetite-selection{color:#f4dfa3}
.appetite-art{display:block;width:100%;height:clamp(94px,13.2vh,186px);object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 9px #0003)}
.appetite-copy{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;max-width:340px}
.appetite-copy>strong{font:700 clamp(24px,1.8vw,32px)/1.12 var(--font-display);color:#fff0ce;letter-spacing:-.025em}
.appetite-copy>span{font:600 clamp(14px,1.05vw,18px)/1.5 var(--font-ui);color:#e4e3d1;min-height:3em}
.appetite-copy>small{font:800 11px/1.4 var(--font-ui);letter-spacing:.1em;color:#d6c392;margin-top:auto}
.appetite-keepsakes{padding:clamp(15px,2.1vh,28px) 0 0;background:#14231c}
.keepsake-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.keepsake-heading h2{font:700 19px/1.2 var(--font-display);color:#efdfba;margin:0;letter-spacing:0}
.keepsake-heading p{font:600 12px var(--font-ui);color:#c6c9b4;margin:0}
.keepsake-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.keepsake-choice{background:#1e3127;border:0!important;border-radius:10px;padding:12px 9px;display:flex;align-items:center;gap:8px;text-align:left;color:#e8e4ca;min-width:0;min-height:65px}
.keepsake-choice.active{background:#39422d}.keepsake-choice:hover:not(:disabled){background:#2e4333}
.keepsake-choice:disabled{opacity:1;filter:none;background:#192921;color:#a4ad9e;cursor:not-allowed}
.keepsake-choice img{width:28px;height:32px;object-fit:contain;flex:none}
.keepsake-choice:disabled img{filter:grayscale(.75);opacity:.65}
.keepsake-choice strong{font:700 12px/1.25 var(--font-ui);display:block}.keepsake-choice small{font:500 11px/1.25 var(--font-ui);color:#c8c7af;display:block;margin-top:4px}
.keepsake-choice:disabled small{color:#aeb5a6}
.appetite-deck{padding:18px 0 14px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px;font:500 14px/1.3 var(--font-ui);color:#c4c8b4}
.appetite-deck strong{font-weight:700;color:#f0e3bc}
.appetite-deck .text-btn{border:0;font:800 12px var(--font-ui);display:flex;align-items:center;gap:6px;color:#e6c98e;min-height:36px;letter-spacing:.03em}
.appetite-deck svg{width:16px;height:16px}
.appetite-footer{position:relative;flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:18px 28px;background:#0f1e17;min-height:88px}
.appetite-back{display:inline-flex;gap:8px;align-items:center;justify-self:start;color:#dbccb0;font-size:12px;letter-spacing:.07em;border:0;min-height:44px}
.appetite-back svg{height:17px;width:17px}
.appetite-run-options{display:flex;align-items:center;gap:18px;font:600 13px var(--font-ui);color:#e0d8bd}
.appetite-run-options input[type=text]{width:145px;min-width:0;background:#22382b;border:0;border-radius:8px;padding:12px;color:#f5e7be;font:600 13px var(--font-ui);height:44px}
.appetite-run-options input::placeholder{color:#c0c4ae}.appetite-run-options label{display:flex;gap:7px;align-items:center;min-height:44px;white-space:nowrap}.appetite-run-options input[type=checkbox]{accent-color:#d2b36c;width:16px;height:16px}
.appetite-start{justify-self:end;min-height:50px;font-size:20px;border:0!important;border-radius:10px;padding:12px 23px;white-space:nowrap;box-shadow:none!important}
@media(min-width:1800px) and (min-height:1000px){
 .appetite-shell{width:min(1560px,calc(100% - 160px))}.appetite-content{padding-inline:40px}.appetite-heading{padding-block:38px 25px}.appetite-footer{padding:24px 40px;min-height:102px}
 .appetite-art{height:190px}.appetite-choice{padding:20px 28px 28px}.appetite-selection{font-size:14px}.appetite-copy>span{font-size:19px}.appetite-copy>small{font-size:12px}.keepsake-choice{padding:16px 12px;min-height:78px}.keepsake-choice strong{font-size:14px}.keepsake-choice small{font-size:12px}.appetite-deck{font-size:16px;padding:22px 0}.appetite-start{font-size:24px;min-height:58px}
 .appetite-scene>.hud{height:88px}.appetite-shell{max-height:calc(100% - 120px)}
}
@media(min-width:761px) and (max-height:800px){
 .appetite-scene>.hud{height:56px}.appetite-shell{max-height:calc(100% - 72px);width:min(1240px,calc(100% - 42px));border-radius:20px}.appetite-heading{padding:15px 24px 10px}.appetite-heading h1{font-size:30px}.appetite-heading p{font-size:14px}.appetite-art{height:88px}.appetite-choice{padding:10px 15px 15px;gap:5px}.appetite-copy{gap:7px}.appetite-copy>strong{font-size:23px}.appetite-copy>span{font-size:14px}.appetite-copy>small{font-size:10px}.appetite-selection{font-size:11px;min-height:20px}.appetite-keepsakes{padding-top:12px}.keepsake-options{gap:6px}.keepsake-choice{min-height:55px;padding:8px}.appetite-deck{padding:10px 0 6px;font-size:13px}.appetite-footer{padding:12px 24px;min-height:73px}.appetite-start{min-height:46px;font-size:18px}
}
@media(max-width:1050px) and (min-width:761px){
 .keepsake-options{grid-template-columns:repeat(3,minmax(0,1fr))}.appetite-content{padding-inline:20px}.appetite-options{gap:12px}.appetite-copy>span{font-size:14px}.appetite-copy>small{font-size:10px}.appetite-footer{gap:12px;padding-inline:20px}.appetite-run-options{gap:10px}.appetite-run-options input[type=text]{width:120px}.appetite-start{padding:12px 16px;font-size:18px}
}
@media(max-width:760px) and (orientation:portrait){
 .launch-scene{padding:45px 28px 28px;align-items:center;background:linear-gradient(90deg,#0b1a16f0,#0b1a16ce 65%,#08120db3)}
 .launch-content{flex-basis:100%;padding:0}.launch-eyebrow{font-size:10px;margin-bottom:20px;letter-spacing:.15em}.launch-title{font-size:clamp(56px,15vw,88px)}.launch-tagline{font-size:20px;margin:18px 0 23px}.launch-actions{width:100%;gap:10px}.launch-actions .wood-btn{height:48px;min-height:48px;font-size:19px;padding:10px 18px}.launch-links{gap:20px;margin-top:15px}.launch-links .text-btn{font-size:11px}.launch-save{font-size:12px;margin-top:14px}.launch-version{top:14px;right:18px;font-size:9px}
 .appetite-scene>.hud{height:58px;padding:9px 15px}.appetite-shell{width:calc(100% - 20px);max-height:calc(100% - 66px);margin:0 auto 8px;border-radius:16px}
 .appetite-heading{padding:15px 16px 14px}.appetite-heading .eyebrow{font-size:9px;letter-spacing:.1em}.appetite-heading h1{font-size:26px;margin:7px 0}.appetite-heading p{font-size:12px}.appetite-content{padding:0 12px}
 .appetite-options{display:flex;flex-direction:column;gap:9px;padding:0}.appetite-choice{display:grid;grid-template-columns:90px minmax(0,1fr);grid-template-rows:auto 1fr;gap:4px 10px;padding:12px;text-align:left;min-height:133px;border-radius:12px}.appetite-selection{grid-column:2;justify-content:start;font-size:10px;min-height:17px}.appetite-art{grid-column:1;grid-row:1/3;width:90px;height:99px}.appetite-copy{grid-column:2;grid-row:2;align-items:start;gap:6px}.appetite-copy>strong{font-size:22px}.appetite-copy>span{font-size:13px;min-height:0;line-height:1.35}.appetite-copy>small{font-size:9px;letter-spacing:.05em}
 .appetite-keepsakes{padding-top:18px}.keepsake-heading{gap:9px}.keepsake-heading h2{font-size:16px}.keepsake-heading p{font-size:11px}.keepsake-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.keepsake-choice{padding:9px;min-height:63px}.keepsake-choice strong{font-size:12px}.keepsake-choice small{font-size:10px}.appetite-deck{gap:6px;font-size:12px;padding:14px 0}
 .appetite-footer{grid-template-columns:1fr auto;gap:8px;padding:10px 12px;min-height:0}.appetite-back{grid-row:1;grid-column:1;font-size:11px;min-height:32px}.appetite-run-options{grid-column:2;grid-row:1;gap:10px;font-size:12px}.appetite-run-options input[type=text]{width:105px;height:34px;padding:7px 9px;font-size:11px}.appetite-run-options label{min-height:32px}.appetite-start{grid-column:1/-1;grid-row:2;justify-self:stretch;min-height:45px;font-size:19px;padding:9px}
}
@media(max-height:500px) and (orientation:landscape){
 .launch-scene{padding:30px 35px 20px;align-items:center}.launch-content{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;width:100%;max-width:850px;flex-basis:850px}.launch-eyebrow{grid-column:1;font-size:9px;margin-bottom:10px}.launch-title{grid-column:1;font-size:54px}.launch-tagline{grid-column:1;font-size:18px;margin:14px 0}.launch-actions{grid-column:2;grid-row:1/4;width:100%;gap:8px}.launch-actions .wood-btn{min-height:39px;height:39px;font-size:16px;padding:8px 12px}.launch-links{grid-column:2;gap:16px;margin-top:10px}.launch-save{grid-column:1;grid-row:4;font-size:10px;margin:0}.launch-links .text-btn{font-size:10px;min-height:30px}
 .appetite-scene>.hud{height:45px;min-height:45px}.appetite-shell{max-height:calc(100% - 49px);width:calc(100% - 24px);border-radius:12px}.appetite-heading{padding:10px}.appetite-heading h1{font-size:23px;margin:4px 0}.appetite-heading .eyebrow,.appetite-heading p{display:none}.appetite-content{padding:0 14px}.appetite-art{height:68px}.appetite-options{gap:10px}.appetite-choice{padding:10px;gap:4px}.appetite-copy>strong{font-size:20px}.appetite-copy>span{font-size:12px}.appetite-copy>small{font-size:9px}.appetite-selection{font-size:10px}.appetite-keepsakes{padding-top:10px}.keepsake-options{grid-template-columns:repeat(3,1fr)}.appetite-deck{font-size:12px;padding:10px}.appetite-footer{padding:8px 14px;min-height:58px}.appetite-start{font-size:17px;min-height:40px;padding:8px 14px}.appetite-run-options input[type=text]{height:38px}
}
@media(prefers-reduced-motion:reduce){.appetite-choice,.launch-actions .wood-btn{transition:none}}

/* V24 home art pass: responsive title screen with generated hero assets. */
.launch-scene{
 isolation:isolate;justify-content:center;overflow:hidden;background:#08110d;
 --hero-x:0px;--hero-y:0px;--hero-rx:0deg;--hero-ry:0deg;
}
.launch-backdrop,.launch-overlay{
 position:absolute;inset:0;pointer-events:none;
}
.launch-backdrop{
 background-size:cover;background-position:center center;opacity:.9;transform:scale(1.02);
}
.launch-backdrop.mobile{display:none}
.launch-overlay{
 background:
  radial-gradient(circle at 72% 44%,rgba(255,205,109,.26),transparent 24%),
  linear-gradient(90deg,rgba(5,10,8,.9) 0%,rgba(6,12,10,.82) 30%,rgba(8,15,12,.55) 56%,rgba(8,14,11,.72) 100%),
  linear-gradient(180deg,rgba(3,6,5,.2) 0%,rgba(3,6,5,.48) 100%);
}
.launch-shell{
 position:relative;z-index:1;width:min(1520px,calc(100% - 56px));height:100%;
 display:grid;grid-template-columns:minmax(340px,480px) minmax(420px,1fr);align-items:center;
 gap:clamp(28px,4vw,72px);padding:clamp(34px,5vh,74px) 0;
}
.launch-content{
 position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:0;
 padding:clamp(24px,2.8vw,34px);border-radius:28px;
 background:linear-gradient(180deg,rgba(10,23,18,.86),rgba(8,17,13,.8));
 border:1px solid rgba(246,222,166,.12);box-shadow:0 24px 60px rgba(0,0,0,.28);
 backdrop-filter:blur(8px);max-height:none;overflow:visible;
}
.launch-eyebrow{margin-bottom:18px}
.launch-kicker{margin:0 0 8px;color:#f3d58e;font:900 clamp(14px,1vw,18px)/1.1 var(--font-ui);letter-spacing:.22em;text-transform:uppercase}
.launch-tagline{
 max-width:32ch;font-size:clamp(18px,1.28vw,24px);margin:4px 0 20px;color:#f0deba;
}
.launch-hooks{
 display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 24px;
}
.launch-hooks span{
 display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;
 border-radius:999px;background:rgba(222,193,125,.12);border:1px solid rgba(240,215,154,.14);
 color:#f0dba7;font:800 11px/1.1 var(--font-ui);letter-spacing:.12em;
}
.launch-actions{width:min(100%,360px);gap:10px}
.launch-actions .wood-btn{width:100%;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.22)}
.launch-actions .wood-btn:not(.gold){background:linear-gradient(180deg,#1f3429,#182920)}
.launch-links{margin-top:18px;gap:16px 18px}
.launch-links .text-btn{opacity:.9}
.launch-save{margin-top:16px;max-width:34ch}
.launch-visual{
 position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
 min-width:0;
}
.launch-art-card{
 position:relative;width:min(56vw,900px);max-width:100%;display:flex;align-items:center;justify-content:center;
 transform:translate3d(var(--hero-x),var(--hero-y),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));
 transform-style:preserve-3d;transition:transform .24s ease-out;animation:heroFloat 7s ease-in-out infinite;will-change:transform;
}
.launch-logo-art{
 display:block;width:100%;height:auto;object-fit:contain;
 filter:drop-shadow(0 34px 54px rgba(0,0,0,.42));
 border-radius:24px;
}
.launch-poster-note{
 margin-top:-24px;align-self:flex-end;max-width:320px;padding:16px 18px;border-radius:20px;
 background:linear-gradient(180deg,rgba(17,33,26,.92),rgba(11,22,17,.84));
 border:1px solid rgba(247,222,158,.14);box-shadow:0 18px 36px rgba(0,0,0,.28);
 color:#e9d7af;text-align:left;
}
.launch-poster-note strong{display:block;font:700 clamp(20px,1.5vw,28px)/1.05 var(--font-display);color:#fff1cd}
.launch-poster-note span{display:block;margin-top:8px;font:600 14px/1.45 var(--font-ui);color:#d8ccb3}
.launch-version{z-index:2}

@media (max-width:1200px){
 .launch-shell{grid-template-columns:minmax(320px,420px) minmax(360px,1fr);gap:28px}
 .launch-art-card{width:min(58vw,760px)}
 .launch-poster-note{margin-top:-10px;max-width:280px}
}
@media (max-width:980px){
 .launch-scene{padding:0 18px}
 .launch-shell{width:min(980px,100%);grid-template-columns:1fr;grid-template-rows:auto auto;gap:12px;padding:72px 0 24px}
 .launch-visual{order:-1;align-items:center}
 .launch-art-card{width:min(82vw,560px)}
 .launch-poster-note{align-self:center;margin-top:-6px;max-width:420px;text-align:center}
 .launch-content{padding:22px 20px 20px;border-radius:22px}
 .launch-tagline,.launch-save{max-width:none}
}
@media(max-width:760px) and (orientation:portrait){
 .launch-scene{padding:0 12px;background:#08110d}
 .launch-backdrop.desktop{display:none}
 .launch-backdrop.mobile{display:block;background-position:center top;opacity:.82}
 .launch-overlay{background:linear-gradient(180deg,rgba(5,10,8,.34) 0%,rgba(7,13,11,.58) 16%,rgba(7,13,11,.84) 38%,rgba(7,13,11,.92) 100%)}
 .launch-shell{width:100%;padding:64px 0 18px;gap:10px}
 .launch-visual{order:-1}
 .launch-art-card{width:min(88vw,420px)}
 .launch-logo-art{max-height:42vh;width:auto;max-width:100%}
 .launch-poster-note{display:none}
 .launch-content{padding:18px 16px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(10,21,17,.84),rgba(9,18,15,.92));box-shadow:0 14px 34px rgba(0,0,0,.22)}
 .launch-eyebrow{font-size:10px;margin-bottom:14px}
 .launch-kicker{font-size:12px;letter-spacing:.18em;margin-bottom:6px}
 .launch-tagline{font-size:16px;line-height:1.45;margin:12px 0 14px}
 .launch-hooks{gap:7px;margin-bottom:16px}
 .launch-hooks span{min-height:30px;padding:6px 10px;font-size:10px;letter-spacing:.1em}
 .launch-actions{width:100%;gap:8px}
 .launch-actions .wood-btn{min-height:46px;height:46px;font-size:17px;padding:10px 16px;border-radius:14px}
 .launch-links{gap:14px 16px;margin-top:12px}.launch-links .text-btn{font-size:11px;min-height:32px}
 .launch-save{font-size:11px;line-height:1.55;margin-top:12px}
 .launch-version{top:12px;right:12px;font-size:9px}
}
@media(max-height:500px) and (orientation:landscape){
 .launch-backdrop.mobile{display:none}.launch-backdrop.desktop{display:block}
 .launch-overlay{background:linear-gradient(90deg,rgba(5,10,8,.86) 0%,rgba(6,12,10,.76) 34%,rgba(8,14,11,.5) 100%)}
 .launch-shell{grid-template-columns:minmax(300px,390px) minmax(300px,1fr);gap:18px;padding:50px 0 18px}
 .launch-content{padding:18px 18px 16px;border-radius:20px}
 .launch-eyebrow{font-size:9px;margin-bottom:10px}
 .launch-kicker{font-size:11px;letter-spacing:.16em;margin-bottom:5px}
 .launch-tagline{font-size:14px;margin:10px 0 12px}
 .launch-hooks{gap:6px;margin-bottom:12px}.launch-hooks span{font-size:9px;min-height:26px;padding:5px 9px}
 .launch-actions{gap:7px}.launch-actions .wood-btn{min-height:38px;height:38px;font-size:15px;padding:7px 12px;border-radius:12px}
 .launch-links{gap:12px;margin-top:10px}.launch-links .text-btn{font-size:10px;min-height:28px}
 .launch-save{font-size:10px;line-height:1.45;margin-top:10px}
 .launch-art-card{width:min(46vw,430px)}
 .launch-logo-art{max-height:66vh;width:auto}
 .launch-poster-note{display:none}
}

@keyframes heroFloat{
 0%,100%{transform:translate3d(var(--hero-x),var(--hero-y),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));}
 50%{transform:translate3d(var(--hero-x),calc(var(--hero-y) - 10px),0) rotateX(var(--hero-rx)) rotateY(var(--hero-ry));}
}
