.lab-gift-compose{border-top:1px solid #69503e;padding:16px 20px 21px;background:#1f1814}
.lab-gift-compose-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px}
.lab-gift-compose-head h3,.lab-gift-sequence h2{font:400 clamp(1.65rem,3vw,2.5rem)/1.1 var(--serif);letter-spacing:-.035em;margin-top:4px}
.lab-gift-compose-head>button{flex:none}
.lab-gift-compose-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:19px}
.lab-gift-compose textarea{display:block;width:100%;margin-top:6px;padding:9px 10px;resize:vertical;border:1px solid #625043;border-radius:5px;background:#181411;color:#f7e9d7;font:14px/1.5 system-ui,sans-serif}
.lab-gift-compose textarea::placeholder{color:#b9a795}
.lab-gift-compose form>p{margin:0 0 10px}
.lab-gift-compose>.lab-status{margin:7px 0 0!important}
.lab-gift-output{border-top:1px solid #584233;margin-top:15px;padding-top:11px}
.lab-gift-output input{font:13px/1.4 var(--mono)}
.lab-gift-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px}
.lab-gift-actions>.lab-status{flex-basis:100%;margin:0!important}

.lab-letter{position:relative;isolation:isolate;min-width:0;padding:clamp(18px,2.4vw,31px);color:#33231b;background:linear-gradient(155deg,#fff3db,#ebd5af 92%);border:1px solid #b89570;border-radius:4px;box-shadow:0 9px 18px #120a0570,inset 0 0 0 1px #fff7e4a6}
.lab-letter::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('./grain.svg');opacity:.17;mix-blend-mode:multiply}
.lab-letter::after{content:"";position:absolute;right:12px;top:12px;width:15px;height:15px;border-top:1px solid #a27d5d;border-right:1px solid #a27d5d;pointer-events:none}
.lab-letter-kicker{color:#634934;font:750 10px/1.35 var(--mono);letter-spacing:.12em}
.lab-letter-kicker .lab-dot{width:6px;height:6px;margin-right:4px;background:#ad4a28}
.lab-letter .lab-letter-to,.lab-letter .lab-letter-from,.lab-letter blockquote{font-family:var(--hand,"Segoe Print"),cursive;font-weight:var(--hand-weight,400);overflow-wrap:anywhere}
.lab-letter .lab-letter-to{margin-top:15px;font-size:clamp(1.45rem,3vw,2.15rem);line-height:1.2}
.lab-letter blockquote{margin:10px 0 0;padding:0;font-size:clamp(1.25rem,2.7vw,1.85rem);line-height:1.35;white-space:pre-wrap}
.lab-letter .lab-letter-from{margin-top:14px;font-size:clamp(1.2rem,2.3vw,1.6rem);line-height:1.2}
.lab-letter-preview{min-height:150px}
.lab-letter-preview blockquote,.lab-case-letter blockquote{font-size:clamp(1.15rem,2.4vw,1.65rem)}
.lab-case-letter{margin:0 20px 17px}
.lab-case-letter .lab-letter-to{font-size:1.6rem}

.lab-gift-page{min-height:calc(100vh - 138px);padding:clamp(30px,5.4vw,70px) 0 clamp(35px,6vw,75px)}
.lab-gift-page:focus{outline:none}
.lab-gift-intro{margin-bottom:clamp(19px,3vw,33px)}
.lab-gift-intro h1{font-size:clamp(2.6rem,6.6vw,6.4rem);overflow-wrap:anywhere;margin-top:12px}
.lab-gift-display{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(13px,3vw,35px)}
.lab-gift-deck{min-width:0;padding:clamp(9px,1.7vw,19px);border:1px solid #6b503d;border-radius:9px;background:radial-gradient(ellipse at center,#50382a,#241a15 78%);box-shadow:0 12px 40px #0a060477}
.lab-gift-deck-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding-top:12px}
.lab-gift-deck-meta p{color:#f2cbb0;letter-spacing:.07em}
.lab-gift-deck-meta .lab-side-choices{flex:none}
.lab-gift-deck-meta .lab-side-choices button{background:#211914}
.lab-gift-deck-meta .lab-side-choices button[aria-pressed=true]{background:#572f1e}
.lab-gift-display>.lab-letter{min-height:clamp(185px,20vw,275px);margin-top:4px}
.lab-gift-sequence{border-top:1px solid #564234;margin-top:clamp(21px,4vw,48px);padding-top:18px}
.lab-gift-tracklists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px;margin:14px 0}
.lab-gift-tracklists>.lab-case-side{border:1px solid #5b4638;border-radius:6px;background:#251d18;padding:12px 15px}
.lab-gift-tracklists .lab-case-list li{border-top:1px solid #4c392c;padding:6px 0}
.lab-gift-tracklists .lab-case-list li:first-child{border-top:0}
.lab-gift-tracklists .lab-song-link{font-size:14px}
.lab-gift-missing h1{font-size:clamp(2.4rem,5.5vw,4.75rem)}
.lab-gift-missing>p:not(.lab-kicker){color:var(--muted);margin:13px 0}
.lab-apple-save{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lab-apple-save p{max-width:36ch;color:var(--muted);font-size:12px}
.lab-apple-save p:empty{display:none}

@media(max-width:715px){
  .lab-gift-compose{padding:14px}
  .lab-gift-compose-grid,.lab-gift-display,.lab-gift-tracklists{grid-template-columns:minmax(0,1fr)}
  .lab-gift-compose-grid{gap:11px}
  .lab-gift-compose textarea,.lab-gift-output input{font-size:16px}
  .lab-case-letter{margin:0 14px 13px}
  .lab-gift-display>.lab-letter{margin:0}
}
@media(max-width:390px){
  .lab-gift-deck-meta{flex-wrap:wrap}
  .lab-gift-compose-head{align-items:start}
}
