:root {color-scheme:light;--background:#faf8f9;--foreground:#331d28;--primary:#601b37;--primary-foreground:#fff;--secondary:#f3e5eb;--secondary-foreground:#601b37;--muted:#f5eef1;--muted-foreground:#735d67;--accent:#f5e3eb;--accent-foreground:#601b37;--border:#e8dce2;--input:#ded0d7;--ring:#9d5270;--radius:.6rem;--card:#fff;--card-foreground:#331d28;--popover:#fff;--popover-foreground:#331d28}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b56b8b;outline-offset:4px}a{color:inherit}h1,h2,h3,p{margin:0}.top{height:90px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,24px)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--primary);font-size:27px;font-weight:700;letter-spacing:-1.2px}.brand-dot{color:#b7658b}.topnote,.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#87566c}.topnote{font-size:11px}main{max-width:1250px;padding:45px 30px 30px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,3.4vw,46px);line-height:1.16;letter-spacing:-1px;margin-top:9px}.page-heading p{margin-top:12px;color:#735d67}.primary,.secondary{border-radius:7px;border:1px solid var(--primary);padding:13px 20px;min-height:49px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .15s}.primary{background:var(--primary);color:white}.primary:hover:not(:disabled){background:#792347}.secondary{background:transparent;border-color:#d8bcca;color:var(--primary)}.secondary:hover{background:#f6e9ef}.workspace{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.3fr);gap:26px;align-items:start}.panel{background:white;border:1px solid var(--border);border-radius:12px}.entry{padding:26px}.section-top{display:flex;align-items:center;gap:12px;margin-bottom:23px}.step{font-size:12px;color:#8f5b72;border:1px solid #e5ccd8;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0}h2{font-size:20px;font-weight:600;letter-spacing:-.5px}.count{margin-left:auto;font-size:13px;background:#f6edf1;padding:4px 10px;border-radius:20px;white-space:nowrap}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}label span{font-size:12px;font-weight:400;color:#7d6972}input{display:block;width:100%;height:47px;border:1px solid var(--input);border-radius:6px;padding:10px 12px;background:#fff;color:var(--foreground);font-size:16px;margin-bottom:18px}input:focus{outline:2px solid #a1607d;outline-offset:2px}input::placeholder{color:#95868c}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px}.picker{width:100%!important;height:47px!important;font-size:15px!important;box-shadow:none!important}.field{margin-bottom:18px;min-width:0}.fieldhelp{font-size:13px;color:#7c6671;line-height:1.6;margin:0 0 20px}.full{width:100%}.saved-note{font-size:12px;text-align:center;color:#876e79;margin-top:13px}.collection{padding:26px 28px}.collection .section-top{margin-bottom:12px}.list-intro{font-size:14px;color:#806a74;margin-bottom:22px}.empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #e6d5df;background:#fcf9fb;border-radius:8px;padding:25px;color:#8b6477}.empty h3{font-size:17px;color:#563243;font-weight:500;margin:16px 0 8px}.empty p{font-size:14px;line-height:1.7}.wine-list{padding:0;margin:0;list-style:none}.wine-row{display:flex;align-items:start;gap:15px;padding:20px 0;border-bottom:1px solid #eee3e9}.wine-number{display:flex;align-items:center;justify-content:center;width:40px;height:49px;background:#f4e6ee;color:#782e4e;border-radius:22px 22px 7px 7px;font-size:19px;font-family:Georgia,serif;flex-shrink:0}.wine-number.white,.wine-number.sparkling{background:#f4f0d7;color:#777030}.wine-number.rose{background:#ffe4eb;color:#a94768}.wine-number.orange{background:#ffe9d5;color:#a45a26}.person{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#9a647e}.wine-detail{flex:1;min-width:0;overflow-wrap:anywhere}.wine-detail h3{font-size:18px;font-weight:600;margin:3px 0 5px;line-height:1.35}.vintage{font-weight:400;color:#886f7b;margin-left:3px;white-space:nowrap}.wine-meta{font-size:13px;color:#79636e}.reason{font-size:13px;margin-top:8px;color:#8b526b}.row-actions{display:flex;gap:3px;flex-wrap:wrap;max-width:70px}.row-actions button{border:0;background:transparent;color:#8a6d7b;width:31px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:5px}.row-actions button:hover:not(:disabled){background:#f6e8ef}.generate-area{padding-top:24px}.generate-area>p{font-size:13px;color:#886f7b;text-align:center;margin-top:10px}.guest-status{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px;background:#f7edf2;border-radius:6px}.explanation{font-size:13px;margin-top:24px;border-top:1px solid var(--border);padding-top:18px;color:#745e6a}.explanation summary{cursor:pointer;font-weight:600;color:#694355}.explanation p{margin-top:12px;line-height:1.6}.explanation a{display:inline-block;margin-top:10px;text-decoration:underline}.photo-strip{height:155px;position:relative;overflow:hidden;border-radius:10px;margin-top:22px;background:#341d27}.photo-strip img{width:100%;height:100%;object-fit:cover;object-position:center 57%;opacity:.57}.photo-strip span{position:absolute;left:24px;bottom:24px;color:#fff;font-family:Georgia,serif;font-size:24px;line-height:1.15}.host-note{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;color:#765b69}.host-note span{max-width:780px}.text-button{border:0;background:transparent;padding:8px 0;text-decoration:underline;font-size:13px;color:var(--primary);white-space:nowrap}.privacy{font-size:12px;color:#806b75;margin:12px 0}.error{padding:14px 20px;background:#fce7e9;color:#8b2037;border-radius:8px;margin-bottom:20px}.error button{text-decoration:underline;margin-left:8px}.loading{padding:40px 0;color:#765b69}footer{max-width:1190px;margin:20px auto 0;border-top:1px solid var(--border);padding:22px 0 30px;display:flex;justify-content:space-between;font-size:12px;color:#967889}footer>span{font-weight:700;font-size:17px;letter-spacing:-1px}footer a{text-decoration:none}.welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center;padding:35px 0 50px}.welcome h1{font-size:clamp(36px,4vw,52px);margin:18px 0 24px;line-height:1.14}.welcome h1 em{color:#954d6c;font-weight:400}.intro>p{max-width:450px;color:#79636e;line-height:1.7}.welcome form{margin-top:30px;max-width:410px}.welcome .primary{width:100%}.small{font-size:12px;color:#8a7280;display:block;margin-top:15px}.welcome-photo{margin:0;height:490px;border-radius:140px 140px 14px 14px;overflow:hidden;position:relative;background:#39232d}.welcome-photo img{width:100%;height:100%;object-fit:cover}.welcome-photo figcaption{position:absolute;bottom:0;padding:60px 25px 25px;color:white;background:linear-gradient(transparent,#27141de6);width:100%;font-family:Georgia,serif;font-size:24px}.copy-fallback{margin:20px 0}
@media(max-width:800px){.top{height:75px;padding:0 22px}.topnote{font-size:9px;letter-spacing:1.5px}main{padding:30px 18px}.page-heading{align-items:start;flex-direction:column;gap:22px}.page-heading h1{font-size:34px}.workspace{grid-template-columns:1fr;gap:22px}.photo-strip{display:none}.collection,.entry{padding:23px}.host-note{align-items:start;flex-direction:column;gap:5px}.welcome{grid-template-columns:1fr;gap:30px;padding:10px 0}.welcome-photo{height:250px;border-radius:12px}.welcome h1{font-size:38px}.intro>p{max-width:none}.welcome form{max-width:none}.welcome-photo figcaption{font-size:20px}footer{margin:15px 18px 0;gap:20px}.row-actions{max-width:64px}.wine-row{gap:10px}.wine-detail h3{font-size:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

[hidden]{display:none!important}.notice{background:#f6edf1;padding:16px 18px;border-radius:8px;font-size:14px;color:#694355;margin-bottom:20px}.error{font-size:14px}.source{font-size:12px;display:inline-block;margin:5px 10px 0 0;color:#735163;text-decoration:underline}.status{font-size:13px;margin-top:8px;color:#875b70}.status.warning{color:#924613}.row-actions button{font-size:18px}.toast{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:20;background:#601b37;color:#fff;border-radius:8px;padding:14px 20px;max-width:90vw;box-shadow:0 4px 20px #331d2822}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.progress{font-size:14px!important;line-height:1.6;color:#601b37!important}.edit-cancel{margin-top:12px}.brand svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.5}.wine-number{border-radius:50%;height:40px}.wine-row{scroll-margin-top:30px}.danger{color:#a92a46}.welcome-photo img{width:100%;height:100%}button{border:0}a,button{touch-action:manipulation}.copy-fallback input{height:auto;min-height:47px}.connection{margin:10px 0;font-size:13px;color:#806b75}#year{max-width:180px}.host-key-note{font-size:12px!important}.busy-mark{display:inline-block;width:14px;height:14px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
