:root{font-family:Arial,sans-serif;color:#12344a;background:#f4f8fa}*{box-sizing:border-box}body{margin:0}header{background:#073f67;color:#fff;padding:24px;text-align:center}header h1{margin:0 0 6px}.panel,.summary,.issues{max-width:1050px;margin:20px auto;background:#fff;padding:18px;border-radius:14px;box-shadow:0 2px 10px #0001}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.controls h2{width:100%;margin:0 0 4px}.upload h2{margin-top:0}label{display:grid;gap:5px;font-weight:700}select,button,input[type=file]{padding:10px 12px;border-radius:8px;border:1px solid #aac3d1;font-size:15px}button{background:#0b6d87;color:#fff;border:0;font-weight:700;cursor:pointer}.secondary{background:#647985}.note{font-size:13px;color:#667}.issues{background:#fff8df}.issues:empty{display:none}.card-wrap{max-width:620px;margin:20px auto;padding:12px;background:#fff;box-shadow:0 2px 14px #0002}canvas{width:100%;height:auto;display:block}.table-head{display:flex;justify-content:space-between;align-items:center}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px;border-bottom:1px solid #ddd}#printArea{display:none}@media(max-width:650px){.controls{display:grid}.data{overflow:auto}}
@media print{
 @page{size:letter portrait;margin:0}
 header,.panel,.summary,.issues{display:none!important}html,body{background:#fff!important;margin:0!important;padding:0!important;width:8.5in!important}
 .card-wrap{position:absolute!important;margin:0!important;padding:0!important;width:4.25in!important;height:5.5in!important;max-width:none!important;box-shadow:none!important}.card-wrap canvas{width:4.25in!important;height:5.5in!important;display:block!important}
 body[data-print-position='top-left'] .card-wrap{left:0!important;top:0!important}body[data-print-position='top-right'] .card-wrap{left:4.25in!important;top:0!important}body[data-print-position='bottom-left'] .card-wrap{left:0!important;top:5.5in!important}body[data-print-position='bottom-right'] .card-wrap{left:4.25in!important;top:5.5in!important}
 #printArea{display:none}body.batch-print .card-wrap{display:none!important}body.batch-print #printArea{display:block!important}body.batch-print #printArea .print-page{position:relative!important;width:8.5in!important;height:11in!important;margin:0!important;padding:0!important;page-break-after:always!important;break-after:page!important;overflow:hidden!important}body.batch-print #printArea .print-page:last-child{page-break-after:auto!important;break-after:auto!important}body.batch-print #printArea .print-card{position:absolute!important;width:4.25in!important;height:5.5in!important;margin:0!important;padding:0!important;display:block!important}body.batch-print #printArea .slot-0{left:0!important;top:0!important}body.batch-print #printArea .slot-1{left:4.25in!important;top:0!important}body.batch-print #printArea .slot-2{left:0!important;top:5.5in!important}body.batch-print #printArea .slot-3{left:4.25in!important;top:5.5in!important}
}
.position-control{display:grid;gap:6px;margin-left:auto;min-width:190px}.position-label{font-weight:700;font-size:14px}.position-grid{width:92px;height:118px;padding:5px;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:4px;border:2px solid #aac3d1;border-radius:7px;background:#f7fafb}.position-grid button{min-width:0;padding:0;border-radius:3px;background:#dbe8ee;border:1px solid #b7ccd6}.position-grid button.selected{background:#0b6d87;box-shadow:inset 0 0 0 2px #fff}.position-control small{color:#667;max-width:210px}
.mode-panel h2{margin-top:0}.mode-buttons{display:flex;gap:12px}.mode-btn{background:#dbe8ee;color:#12344a}.mode-btn.selected{background:#0b6d87;color:white}.birthday-mode header{background:#e44359}
[hidden]{display:none!important}.home-screen{min-height:100vh;padding:28px 4vw 50px;background:#fbfbff}.home-hero{max-width:1600px;min-height:520px;margin:0 auto;border-radius:28px;background:radial-gradient(circle at 20% 20%,#d9ccff88 0 3px,transparent 4px),radial-gradient(circle at 80% 30%,#9fe5e188 0 3px,transparent 4px),linear-gradient(115deg,#f6efff 0 30%,#fff 50%,#e8fbfa 100%);background-size:44px 44px,52px 52px,auto;display:grid;grid-template-columns:1fr 3fr 1fr;align-items:center;gap:20px;padding:50px;box-shadow:0 12px 35px #32106b22}.home-title{text-align:center}.cristina{font:900 clamp(64px,7vw,118px)/.9 Georgia,serif;font-style:italic;color:#9a4be0;text-shadow:0 5px 0 #42136f,0 0 0 5px #fff}.seacrest-celebrates{margin:20px auto 0;padding:14px 30px;border-radius:22px;background:linear-gradient(#9e49df,#6820a7);color:#fff;font:900 clamp(36px,4.2vw,72px)/1 Arial,sans-serif;text-shadow:0 4px 0 #35105d;box-shadow:0 8px 0 #42136f}.creator{font:900 clamp(44px,5vw,82px)/1 Arial,sans-serif;color:#c28aee;text-shadow:0 4px 0 #4b1678;margin-top:12px}.recognition{margin:28px auto 0;font:700 clamp(18px,1.8vw,30px)/1.2 Arial;letter-spacing:.28em;color:#43246c}.home-side{font:italic 700 clamp(20px,2vw,36px)/1.35 Georgia;color:#133e63}.home-side-right{text-align:center}.creator-buttons{max-width:1250px;margin:30px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:28px}.creator-card{min-height:145px;border-radius:28px;border:4px solid;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:18px 30px;color:#222;box-shadow:0 9px 18px #0002;transition:.15s transform,.15s box-shadow}.creator-card:hover{transform:translateY(-3px);box-shadow:0 13px 24px #0003}.creator-card b{display:block;font-size:clamp(28px,3vw,48px)}.creator-card small{display:block;font-size:22px;letter-spacing:.2em;margin-top:4px}.creator-icon{font-size:62px}.arrow{font-size:72px;line-height:.7}.birthday-card{background:linear-gradient(135deg,#f2d7ff,#e9c4ff);border-color:#7b2ab8;color:#642094}.anniversary-card{background:linear-gradient(135deg,#d9fbfa,#bdeff1);border-color:#178aa0;color:#08788e}.generator-header{background:white!important;padding:0 0 12px!important}.generator-header img{width:100%;max-height:250px;object-fit:cover;display:block}.back-home{display:block;margin:12px auto 0;background:#5b5b6d}.birthday-mode .generator-header{background:white!important}@media(max-width:900px){.home-hero{grid-template-columns:1fr;padding:28px}.home-side{display:none}.creator-buttons{grid-template-columns:1fr}}
@media print{.home-screen,.generator-header{display:none!important}}
