.sp-couple{border:0;border-radius:22px;padding:0;width:min(1120px,96vw);max-width:100vw;height:min(920px,94dvh);max-height:100dvh;color:#263c34;background:#faf8f3;box-shadow:0 25px 100px #182b3455}.sp-couple::backdrop{background:#162b2ac9}.sp-couple header{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;border-bottom:1px solid #d8ddd5;gap:10px}.sp-couple h2{font-size:26px;margin:0;font-family:Georgia,serif}.sp-couple header small{color:#68776d}.sp-couple button{min-height:42px;border:1px solid #cbd3c9;background:#fffefa;border-radius:12px;padding:9px 14px;color:inherit;cursor:pointer}.sp-couple button[aria-pressed=true]{background:#315c4c;color:white;border-color:#315c4c}.sp-couple button:focus-visible,.sp-couple input:focus-visible,.sp-couple select:focus-visible{outline:3px solid #bd9361;outline-offset:2px}.sp-couple-layout{display:grid;grid-template-columns:46% 54%;height:calc(100% - 78px)}.sp-couple-visual{display:flex;flex-direction:column;min-height:0;background:#f1eee8}.sp-couple-canvas{flex:1;min-height:180px;position:relative}.sp-couple-canvas canvas{width:100%;height:100%;display:block}.sp-couple-camera{display:flex;gap:7px;justify-content:center;padding:9px;flex-wrap:wrap}.sp-couple-camera input{width:130px}.sp-couple-controls{padding:22px;overflow-y:auto;min-width:0}.sp-couple-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.sp-couple-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sp-couple-options button{text-align:left;min-height:52px;font-size:14px}.sp-couple fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}.sp-couple legend{font-weight:700;margin-bottom:9px;font-size:15px}.sp-couple-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.sp-couple-colors label{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #d7ddd3;border-radius:12px;padding:9px;font-size:13px}.sp-couple input[type=color]{width:42px;height:42px;border:0;padding:2px;background:none;cursor:pointer}.sp-couple-status{padding:8px 12px;text-align:center;font-size:13px;min-height:34px}.sp-couple-prep article{padding:13px 0;border-bottom:1px solid #d6ddd5}.sp-couple-prep article>button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px}.sp-couple-prep strong,.sp-couple-prep small{display:block}.sp-couple-prep small{font-size:12px;font-weight:400;margin-top:4px;color:#627269}.sp-couple-prep select{width:100%;padding:10px;margin-top:8px;background:#fff;border:1px solid #ced8cd;border-radius:10px}.sp-couple details{margin:18px 0;font-size:13px;line-height:1.6}.sp-couple summary{cursor:pointer}.sp-couple a{color:#31674d}.sp-couple-primary{background:#315c4c!important;color:white!important}.sp-couple [hidden]{display:none!important}
@media(max-width:700px){.sp-couple{width:100vw;height:100dvh;border-radius:0;margin:0}.sp-couple header{padding:10px 14px}.sp-couple h2{font-size:22px}.sp-couple-layout{height:calc(100% - 67px);grid-template-columns:1fr;grid-template-rows:38% 62%}.sp-couple-controls{padding:14px 16px}.sp-couple-camera{padding:4px}.sp-couple-camera button{font-size:12px;min-height:34px;padding:6px 10px}.sp-couple-status{font-size:12px;padding:3px;min-height:24px}.sp-couple-tabs{position:sticky;top:-14px;padding:9px 0;background:#faf8f3;z-index:2}.sp-couple-tabs button{padding:8px 10px;font-size:13px}.sp-couple-colors{gap:6px}.sp-couple-colors label{padding:6px}.sp-couple-options button{font-size:13px}.sp-couple-camera input{width:95px}}

body #spCouple{color:#263c34!important;box-sizing:border-box;overflow:hidden}body #spCouple *{box-sizing:border-box}body #spCouple button{background:#fffefa!important;color:#263c34!important;box-shadow:none!important;min-width:0;line-height:1.3}body #spCouple button[aria-pressed=true],body #spCouple .sp-couple-primary{background:#315c4c!important;color:#fff!important}body #spCouple label,body #spCouple legend,body #spCouple small{color:#52695b!important}body #spCouple header{height:78px}body #spCouple .sp-couple-camera button{padding:8px 12px;min-height:38px;height:38px}body #spCouple .sp-couple-camera label{display:flex;align-items:center}body #spCouple input[type=range]{margin:0;padding:0;height:32px}body #spCouple input[type=color]{min-height:42px;flex-shrink:0}body #spCouple .sp-couple-options button{padding:10px;height:auto}body #spCouple .sp-couple-tabs button{height:auto} @media(max-width:700px){body #spCouple header{height:67px}}

body #spCouple button{width:auto!important;flex:none!important}body #spCouple header>div{min-width:0}body #spCouple header>button{white-space:nowrap}body #spCouple .sp-couple-options button,body #spCouple .sp-couple-prep article>button{width:100%!important}body #spCouple .sp-couple-tabs,body #spCouple .sp-couple-camera{flex-direction:row!important;align-items:center;justify-content:flex-start}body #spCouple .sp-couple-camera{justify-content:center}body #spCouple .sp-couple-camera input{width:100px!important}body #spCouple .sp-couple-colors label{color:#263c34!important}body #spCouple h2{line-height:1.2!important} @media(max-width:700px){body #spCouple .sp-couple-camera{gap:5px}body #spCouple .sp-couple-camera input{width:65px!important}body #spCouple .sp-couple-camera button{padding:6px 8px;font-size:12px}body #spCouple .sp-couple-tabs{gap:6px}body #spCouple .sp-couple-tabs button{font-size:12px;padding:8px 10px}body #spCouple header>button{padding:9px 12px}body #spCouple header small{font-size:10px}}
/* Phone-first navigation: fixed stage, one detail, persistent thumb navigation. */
body #spCouple .sp-couple-layout{grid-template-rows:minmax(0,1fr) 72px}
body #spCouple .sp-couple-visual{grid-column:1;grid-row:1}
body #spCouple .sp-couple-controls{grid-column:2;grid-row:1;display:flex;flex-direction:column;overflow:hidden;padding:0}
body #spCouple .sp-couple-content{overflow-y:auto;overscroll-behavior:contain;padding:14px 18px;min-height:0;flex:1}
body #spCouple .sp-couple-subtabs{display:flex;gap:6px;overflow-x:auto;flex-shrink:0;padding:10px 14px;scrollbar-width:thin;border-bottom:1px solid #dedfd5}
body #spCouple .sp-couple-subtabs button{white-space:nowrap;min-height:44px;font-size:13px;padding:8px 14px}
body #spCouple .sp-couple-tabs{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));position:static;margin:0;padding:6px 10px;gap:4px;border-top:1px solid #d8ddd5;background:#faf8f3}
body #spCouple .sp-couple-tabs button{width:100%!important;height:56px;border:0;background:transparent!important;font-size:12px;padding:4px 2px;border-radius:12px}
body #spCouple .sp-couple-tabs button span{display:block;font:23px Georgia,serif;line-height:26px}
body #spCouple .sp-couple-tabs button[aria-pressed=true]{background:#315c4c!important}
body #spCouple .sp-couple-canvas{touch-action:pan-y;cursor:grab}
body #spCouple .sp-couple-options button{min-height:54px;border-width:2px}
body #spCouple .sp-couple-camera button{min-height:44px;height:44px}
body #spCouple .sp-couple-colors{margin-bottom:12px}
body #spCouple .sp-couple-options button[aria-pressed=true]::after{content:' ✓';float:right}
@media(max-width:700px){
 body #spCouple{height:100dvh;max-height:100dvh;width:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
 body #spCouple header{height:62px;padding:8px 16px}
 body #spCouple header small{display:none}
 body #spCouple h2{font-size:22px}
 body #spCouple header>button{min-height:44px}
 body #spCouple .sp-couple-layout{height:calc(100% - 62px);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(200px,1.1fr) minmax(170px,1fr) 72px}
 body #spCouple .sp-couple-visual{grid-column:1;grid-row:1;position:relative}
 body #spCouple .sp-couple-canvas{min-height:0}
 body #spCouple .sp-couple-controls{grid-column:1;grid-row:2;border-radius:22px 22px 0 0;background:#faf8f3;box-shadow:0 -5px 18px #324c3510;z-index:1}
 body #spCouple .sp-couple-tabs{grid-column:1;grid-row:3}
 body #spCouple .sp-couple-camera{padding:3px 12px;gap:6px}
 body #spCouple .sp-couple-camera [data-save]{display:none}
 body #spCouple .sp-couple-camera button{font-size:12px;padding:8px 12px}
 body #spCouple .sp-couple-camera input{width:90px!important;min-height:44px}
 body #spCouple .sp-couple-status{min-height:20px;padding:0 8px 3px;font-size:11px}
 body #spCouple .sp-couple-content{padding:12px 16px}
 body #spCouple .sp-couple-options{gap:8px}
 body #spCouple .sp-couple-options button{font-size:13px}
 body #spCouple .sp-couple-subtabs{padding:8px 12px;min-height:60px}
 body #spCouple[data-section=prep] .sp-couple-layout{grid-template-rows:0 minmax(0,1fr) 72px}
 body #spCouple[data-section=prep] .sp-couple-visual{visibility:hidden;overflow:hidden}
 body #spCouple[data-section=prep] .sp-couple-subtabs{display:none}
}
@media(max-height:650px) and (max-width:700px){body #spCouple .sp-couple-layout{grid-template-rows:minmax(125px,.85fr) minmax(145px,1fr) 66px}body #spCouple .sp-couple-status{display:none}body #spCouple .sp-couple-tabs button{height:50px}}
body #spCouple .sp-couple-tabs button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important}
body #spCouple .sp-couple-tabs button span{display:block!important;float:none!important;width:auto!important}
body:has(#spCouple[open]){overflow:hidden!important}
body #spCouple .sp-couple-content fieldset legend{display:none}
body #spCouple .sp-couple-colors{display:flex;flex-wrap:wrap}
body #spCouple .sp-couple-colors label{padding:0 10px 0 0;min-height:44px;gap:4px}
body #spCouple .sp-couple-subtabs:has(button:only-child){display:none}
body #spCouple .sp-couple-picker{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:12px;padding:8px 0}
body #spCouple .sp-couple-picker button{width:54px!important;height:54px!important;min-height:54px;font-size:25px;border:1px solid #cbd3c9;border-radius:50%;padding:0!important}
body #spCouple .sp-couple-current{text-align:center;min-width:0}
body #spCouple .sp-couple-current strong{display:block;font-size:16px;line-height:1.4;color:#263c34}
body #spCouple .sp-couple-current small{display:block;font-size:12px;margin-top:5px}
body #spCouple .sp-couple-content:has(.sp-couple-picker){display:flex;flex-direction:column;justify-content:center}
body #spCouple .sp-couple-content fieldset{margin:0 0 8px}
body #spCouple .sp-couple-colors{justify-content:center}
@media(max-width:700px){body #spCouple .sp-couple-layout{grid-template-rows:minmax(200px,1fr) 204px 72px}body #spCouple .sp-couple-content{padding:8px 20px}body #spCouple .sp-couple-picker{gap:10px}body #spCouple .sp-couple-content>p{font-size:12px;margin:6px 0}body #spCouple .sp-couple-colors{margin-bottom:5px}}
@media(max-height:650px) and (max-width:700px){body #spCouple .sp-couple-layout{grid-template-rows:minmax(110px,1fr) 190px 66px}body #spCouple .sp-couple-subtabs{min-height:52px;padding:4px 10px}body #spCouple .sp-couple-picker button{height:48px!important;min-height:48px;width:48px!important}}
