:root{--bg: #f4ece3;--bg-2: #ead9cc;--paper: #fffaf4;--ink: #2b1a12;--muted: #7a5c4d;--line: #e4d3c6;--accent: #c45c3e;--accent-dark: #9a3d27;--ok: #3e6b4c;--reserved: #8a8178;--shadow: 0 12px 40px rgba(80, 40, 20, .08);--radius: 18px;--gutter: max(16px, env(safe-area-inset-left, 0px));--gutter-right: max(16px, env(safe-area-inset-right, 0px));--page-max: 1120px}*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{max-width:100%;overflow-x:hidden}body{margin:0;width:100%;min-height:100%;min-height:100dvh;color:var(--ink);font-family:Figtree,system-ui,sans-serif;font-size:16px;line-height:1.45;background:radial-gradient(1200px 500px at 10% -10%,#f8d7c4 0%,transparent 55%),radial-gradient(900px 400px at 100% 0%,#e7d7c8 0%,transparent 50%),var(--bg);padding-bottom:env(safe-area-inset-bottom,0px)}#root{width:100%;min-height:100%;min-height:100dvh;min-height:100svh}img,svg,video{max-width:100%}h1,h2,h3,.serif{font-family:Fraunces,Georgia,serif;font-weight:650;letter-spacing:-.02em;overflow-wrap:anywhere}p,li{overflow-wrap:break-word}a{color:inherit}.page{width:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center}.shell{width:100%;max-width:var(--page-max);margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-right);min-width:0;flex:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 8px;width:100%;min-width:0}.topbar>*{min-width:0}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;flex-shrink:0}.mark{width:34px;height:34px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-family:Fraunces,serif}.nav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-width:0}.account-menu-wrap{position:relative;margin-left:auto;flex-shrink:0}.burger-btn{min-width:44px;min-height:44px;padding:10px}.burger-icon{display:grid;gap:4px;width:18px}.burger-icon span{display:block;height:2px;background:currentColor;border-radius:999px}.account-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;display:grid;gap:2px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:12}.account-menu button,.account-menu a{border:0;background:transparent;color:var(--ink);text-align:left;padding:10px 12px;border-radius:8px;font-weight:600;width:100%;text-decoration:none}.account-menu button:hover,.account-menu button:focus-visible,.account-menu a:hover,.account-menu a:focus-visible{background:var(--bg-2)}.btn,button,.linkish{font:inherit;cursor:pointer}.btn{border:0;background:var(--accent);color:#fff;padding:12px 18px;border-radius:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.btn:hover{background:var(--accent-dark)}.btn[disabled]{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.full{width:100%}.btn.ok{background:var(--ok)}.muted{color:var(--muted)}.hero{padding:48px 0 24px;max-width:720px;width:100%}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.demo-preview{padding:8px 0 40px;width:100%;max-width:560px}.demo-card{overflow:hidden}.demo-card .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.demo-card h2{margin:0;font-size:1.6rem}.badge.demo{width:auto;padding:4px 10px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.hero h1{font-size:clamp(36px,6vw,58px);line-height:1.05;margin:0 0 16px}.hero p{font-size:18px;line-height:1.5;margin:0 0 24px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:12px 0 48px}.card,.panel{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.7)}.step{padding:20px}.step h3{margin:0 0 8px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;width:100%}.grid>*{min-width:0}.grid .empty{grid-column:1 / -1}.gift{overflow:hidden;display:flex;flex-direction:column;min-height:100%;width:100%;padding:0;color:inherit;text-align:left}button.gift{appearance:none;font:inherit;cursor:pointer}.gift .gift-photo,.gift img,.gift .placeholder-img{width:100%;max-width:100%;height:220px;max-height:220px;object-fit:cover;object-position:center;display:block;background:#efe4d8}.gift .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.gift h3{margin:0;font-size:20px}.price{color:var(--accent);font-weight:700;font-size:18px}.gift .spacer{flex:1}.gift-actions{display:grid;gap:8px;width:100%}.gift-actions .btn{width:100%}.gift a.ext{color:var(--muted);font-size:14px}.gift.reserved{background:#e8e4df;box-shadow:none;border-color:#d4cec8;color:#6b6560}.gift.reserved img,.gift.reserved .gift-photo,.gift.reserved .placeholder-img{filter:grayscale(1) brightness(.82);opacity:.65}.gift.reserved h3,.gift.reserved .muted,.gift.reserved .price{color:#6f6a66}.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;color:var(--reserved)}.badge.booked{width:100%;padding:12px 14px;border-radius:12px;background:#d9d4cf;color:#4f4a46;text-transform:none}.form{display:grid;gap:12px;width:100%}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.create-list{display:grid;grid-template-columns:1fr;gap:12px;padding:16px;margin-bottom:20px;width:100%}.add-gift-bar{margin:4px 0 16px;display:flex;justify-content:flex-start;width:100%}.preview-thumb{width:120px;height:120px;max-width:min(120px,42vw);max-height:120px;object-fit:cover;border-radius:12px;display:block;background:#efe4d8}label{display:grid;gap:6px;font-size:14px;font-weight:600}input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:inherit;font-size:16px;font-weight:400;line-height:1.4;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;width:100%;min-width:0;max-width:100%}input[type=checkbox]{width:18px;height:18px;min-width:18px;padding:0;margin:0;accent-color:var(--accent);flex-shrink:0}.toggle-row{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}textarea{min-height:90px;resize:vertical}.auth-card{max-width:420px;width:100%;margin:48px auto;padding:28px}.auth-card h1{margin-top:0}.error{color:#9a3d27;background:#f8e4dc;padding:10px 12px;border-radius:10px;font-size:14px}.wish-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:28px 0 18px;flex-wrap:wrap;width:100%}.wish-head>*{min-width:0;max-width:100%}.wish-actions{position:relative;display:flex;gap:8px;flex-shrink:0;align-items:center}.overflow-btn{min-width:44px;min-height:44px;padding:6px 10px;font-size:22px;line-height:1;letter-spacing:.12em}.overflow-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;display:grid;gap:2px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:12}.overflow-menu button{border:0;background:transparent;color:var(--ink);text-align:left;padding:10px 12px;border-radius:8px;font-weight:600;width:100%}.overflow-menu button:hover,.overflow-menu button:focus-visible{background:var(--bg-2)}.price-row{display:grid;grid-template-columns:minmax(0,1fr) 8.5rem;gap:10px;width:100%;min-width:0}.price-row>*{min-width:0}.list{display:grid;gap:12px;padding-bottom:40px}.row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px 18px;text-decoration:none;min-width:0}.row>*{min-width:0}.share{display:flex;gap:8px;align-items:center;background:#fff;border:1px dashed var(--line);padding:8px 8px 8px 12px;border-radius:12px;font-size:14px;width:100%;max-width:100%;min-width:0;flex-wrap:wrap}.share input{border:0;padding:6px;flex:1 1 auto;min-width:0;width:100%}.modal-backdrop{position:fixed;inset:0;background:#2b1a126b;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));z-index:20}.modal{width:min(480px,100%);padding:28px;position:relative;max-height:min(90dvh,100%);overflow:auto}.modal h2{margin:0 0 8px}.close{position:absolute;top:12px;right:12px;border:0;background:transparent;font-size:22px;cursor:pointer}.sheet-backdrop{position:fixed;inset:0;background:#2b1a126b;z-index:30}.sheet{position:fixed;z-index:31;background:var(--paper);box-shadow:var(--shadow);overflow:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.sheet .close{z-index:2;width:44px;height:44px;border-radius:12px;background:#fffaf4eb}.sheet .gift-photo,.sheet .placeholder-img{width:100%;height:220px;max-height:36vh;object-fit:cover;background:#efe4d8}.sheet-handle{display:none;width:100%;height:28px;flex-shrink:0;touch-action:none;cursor:grab}.sheet-handle:after{content:"";display:block;width:44px;height:5px;border-radius:999px;background:var(--line);margin:10px auto 0}.sheet-body{padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px));display:grid;gap:10px}.sheet-body h2{margin:0;font-size:1.6rem}.reserve-form{gap:14px}.reserve-sheet{padding-top:48px}.reserve-gift-title{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:650}.field-hint{font-size:13px;font-weight:400;color:var(--muted)}.text-cancel{border:0;background:transparent;color:var(--muted);text-align:center;width:100%;padding:8px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.sheet-body .badge{width:auto;justify-self:start;padding:4px 10px;border-radius:999px;background:#efe8e2}.sheet-body .badge.booked{width:auto;background:#d9d4cf}.sheet-actions{display:grid;gap:10px;margin-top:8px}@media(max-width:720px){.sheet{left:0;right:0;bottom:0;max-height:min(92dvh,100%);border-radius:22px 22px 0 0}.sheet-handle{display:block}}@media(min-width:721px){.sheet{top:0;right:0;bottom:0;width:min(420px,100%);border-radius:22px 0 0 22px}}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:15px}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.empty{padding:28px;text-align:center;color:var(--muted)}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.footer{padding:32px 0 48px;color:var(--muted);font-size:14px}@media(min-width:721px){.create-list{grid-template-columns:1fr 1fr auto;align-items:center}}@media(max-width:720px){.grid,.steps,.split{grid-template-columns:1fr}.hero{padding-top:20px}.hero-actions .btn{flex:1 1 0}.hero h1{font-size:clamp(28px,8vw,40px)}.wish-head h1,.auth-card h1{font-size:1.65rem}.row strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row .btn{width:100%}.topbar{flex-direction:row;align-items:center;justify-content:space-between}.nav{display:flex;width:auto}.nav .btn,.nav a.btn{width:auto}.auth-card{margin:24px auto;padding:20px}.add-gift-bar .btn,.form-actions .btn,.gift-actions .btn,.share .btn{width:100%}.wish-head{flex-wrap:nowrap;align-items:flex-start}.wish-actions{width:auto;margin-left:auto}.wish-actions .overflow-btn{flex:none;width:auto}.share{padding:10px}.modal{padding:22px 18px}.footer{text-align:center}.gift .gift-photo,.gift img,.gift .placeholder-img{height:180px;max-height:180px}}
