:root{--text:#746a5b;--text-h:#423728;--bg:#fdfaf4;--bg-alt:#f5efe3;--panel-bg:#fff;--border:#ece4d4;--accent-gold:#c19a5b;--accent-gold-h:#a37c3f;--accent-gold-bg:#c19a5b1f;--accent-sage:#8a9873;--accent-sage-bg:#8a987321;--shadow:#42372812 0 8px 24px -6px;--shadow-sm:#4237280d 0 2px 10px;--sans:"Inter", "Segoe UI", system-ui, Roboto, sans-serif;--serif:"Playfair Display", Georgia, "Iowan Old Style", serif;font:17px/160% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;max-width:1120px;min-height:100svh;margin:0 auto;padding:0 24px;display:flex}h1,h2,h3{font-family:var(--serif);color:var(--text-h);letter-spacing:-.01em;font-weight:600}button{font:inherit}input,select,textarea{font:inherit;color:inherit}a{color:var(--accent-gold-h)}.panel,.paywall-modal{background:var(--panel-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;position:relative}.panel:before{content:"";background:linear-gradient(90deg, var(--accent-gold), var(--accent-sage));opacity:.55;border-radius:0 0 2px 2px;height:2px;position:absolute;top:0;left:24px;right:24px}.hero-cta,.solve-btn,.paywall-cta,.seo-cta,.pricing-cta{background:var(--accent-gold);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 26px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;box-shadow:0 4px 14px -4px #a9824c8c}.hero-cta:hover,.solve-btn:not(:disabled):hover,.paywall-cta:hover,.seo-cta:hover,.pricing-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #a9824c99}.solve-btn:disabled{background:var(--border);box-shadow:none;cursor:not-allowed}.inline-form button,.paste-box button,.constraint-form button,.export-actions button{background:var(--accent-sage);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 18px;font-weight:500;transition:opacity .15s}.inline-form button:hover,.paste-box button:not(:disabled):hover,.constraint-form button:not(:disabled):hover,.export-actions button:hover{opacity:.88}.paste-box button:disabled,.constraint-form button:disabled{background:var(--border);cursor:not-allowed}input[type=text],input[type=number],select,textarea{border:1px solid var(--border);background:var(--bg);border-radius:10px;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent-gold);outline:none}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:26px 0;display:flex}.site-logo{font-family:var(--serif);color:var(--text-h);font-size:23px;font-weight:600;text-decoration:none}.site-nav{flex-wrap:wrap;gap:26px;display:flex}.site-nav a{color:var(--text);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #0000;padding-bottom:2px;font-size:13px;font-weight:500;text-decoration:none}.site-nav a:hover,.site-nav a.active{color:var(--accent-gold-h);border-bottom-color:var(--accent-gold)}.hero{text-align:center;padding:64px 0 48px;position:relative;overflow:hidden}.hero-ornament{opacity:.55;pointer-events:none;position:absolute;top:-10px}.hero-ornament-left{left:-10px}.hero-ornament-right{right:-10px}.sprig-stem{fill:none;stroke:var(--accent-sage);stroke-width:1.6px;stroke-linecap:round}.sprig-leaf{fill:var(--accent-sage);fill-opacity:.22;stroke:var(--accent-sage);stroke-width:1px;stroke-opacity:.5}.sprig-bud{fill:var(--accent-gold);fill-opacity:.6}@media (width<=900px){.hero-ornament{display:none}}.hero-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-sage);margin-bottom:18px;font-size:12px;font-weight:600;display:block}.hero h1{margin:0 0 20px;font-size:46px;font-style:italic;line-height:1.18}.hero-subtitle{max-width:600px;color:var(--text);margin:0 auto 30px;font-size:17px}.hero-points{color:var(--accent-sage);flex-wrap:wrap;justify-content:center;gap:10px 28px;margin:28px 0 0;padding:0;font-size:13px;font-weight:500;list-style:none;display:flex}.site-footer{border-top:1px solid var(--border);text-align:center;margin-top:56px;padding:32px 0 44px}.site-footer-links{flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:14px;display:flex}.site-footer-links a{color:var(--text);font-size:13px;text-decoration:none}.site-footer-links a:hover{color:var(--accent-sage)}.site-footer-legal{flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0 0 14px;display:flex}.site-footer-legal a{color:var(--text);opacity:.6;font-size:12px;text-decoration:none}.site-footer-legal a:hover{opacity:1}.site-footer-note{opacity:.7;margin:0;font-size:13px}.seo-page,.legal-page{max-width:720px;margin:0 auto;padding:44px 0 60px}.seo-page h1,.legal-page h1{margin-bottom:22px;font-size:34px;font-style:italic}.seo-page h2,.legal-page h2{margin:34px 0 12px;font-size:21px}.seo-page p,.seo-page li,.legal-page p,.legal-page li{font-size:16px;line-height:1.65}.seo-page ul,.legal-page ul{padding-left:20px}.legal-page .placeholder{background:var(--accent-gold-bg);color:var(--accent-gold-h);border-radius:4px;padding:1px 6px;font-size:14px}.legal-updated{opacity:.65;margin-top:-8px;font-size:13px}.pricing-page{text-align:center;max-width:780px;margin:0 auto;padding:44px 0 60px}.pricing-page h1{margin-bottom:14px;font-size:36px;font-style:italic}.pricing-intro{max-width:560px;margin:0 auto 40px;font-size:16px}.pricing-cards{text-align:left;flex-wrap:wrap;gap:20px;margin-bottom:40px;display:flex}.pricing-card{background:var(--panel-bg);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;flex:300px;padding:28px}.pricing-card.highlight{border-color:var(--accent-gold);box-shadow:var(--shadow)}.pricing-card h2{margin:0 0 4px;font-size:20px}.pricing-price{font-family:var(--serif);color:var(--text-h);margin:6px 0 18px;font-size:32px}.pricing-price span{font-size:14px;font-family:var(--sans);color:var(--text);font-weight:400}.pricing-card ul{flex-direction:column;gap:10px;margin:0 0 20px;padding:0;font-size:15px;list-style:none;display:flex}.pricing-card li:before{content:"✓ ";color:var(--accent-sage);font-weight:600}.pricing-faq{text-align:left;margin-top:48px}.pricing-faq h2{text-align:center;margin-bottom:20px;font-size:22px}.pricing-faq-item{border-top:1px solid var(--border);padding:16px 0}.pricing-faq-item h3{margin:0 0 6px;font-size:16px}.pricing-faq-item p{margin:0;font-size:15px}.confirmation-page{text-align:center;max-width:520px;margin:80px auto;padding:0 0 60px}.confirmation-icon{margin-bottom:16px;font-size:40px}.confirmation-page h1{margin-bottom:14px;font-size:30px;font-style:italic}.confirmation-page p{margin-bottom:28px;font-size:16px}.app-header{text-align:center;border-top:1px solid var(--border);margin-top:8px;padding:40px 0 20px}input.project-name-input{font-family:var(--serif);text-align:center;color:var(--text-h);background:0 0;border:none;border-bottom:1px solid #0000;border-radius:0;width:100%;padding:4px;font-size:30px;font-style:italic}input.project-name-input:focus{border-bottom-color:var(--accent-gold);outline:none}.project-name-input::placeholder{color:var(--text);opacity:.5}.summary{margin-top:8px;font-size:14px}.paywall-hint{color:var(--accent-gold-h)}.app-main{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:28px 0 56px;display:flex}.panel{flex:360px;padding:26px 24px 24px}.panel h2{align-items:center;gap:8px;margin:0 0 18px;font-size:21px;display:flex}.count-badge{font-family:var(--sans);color:var(--accent-sage);background:var(--accent-sage-bg);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.inline-form{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.inline-form input[type=text],.inline-form input[type=number],.inline-form select{flex:1;padding:9px 12px}.link-btn{color:var(--accent-gold-h);cursor:pointer;background:0 0;border:none;margin-bottom:14px;padding:0;font-size:13px;text-decoration:underline}.paste-box{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.paste-box textarea{resize:vertical;width:100%;padding:12px}.paste-box button{align-self:flex-start}.hint{color:var(--text);margin:0 0 8px;font-size:13px}.empty-hint{opacity:.65;margin:0;font-size:13px}.guest-list,.table-list{flex-direction:column;gap:6px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.guest-list li,.table-list li{background:var(--bg-alt);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.table-list li{flex-wrap:wrap}.guest-row{flex-direction:column;flex:1;gap:6px;display:flex}.guest-row-main{align-items:center;gap:8px;display:flex}.guest-name{flex:1;font-size:15px}.guest-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{background:var(--accent-sage-bg);color:var(--accent-sage);border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:12px;font-weight:500;display:inline-flex}.tag-chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:12px}.tag-chip button:hover{opacity:1}.tag-add-select{border:1px dashed var(--border);color:var(--text);background:0 0;border-radius:999px;padding:3px 8px;font-size:12px}.table-label-input{flex:120px;min-width:100px;padding:7px 10px}.table-list select{padding:7px 10px}.table-list input[type=number]{width:64px;padding:7px 10px}.remove-btn{color:var(--text);opacity:.45;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 6px;font-size:18px;line-height:1}.remove-btn:hover{opacity:1;color:#b03a2e}.warning-hint{color:#b03a2e;margin:0 0 8px;font-size:13px}.constraint-type-choices{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.chip-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;transition:background .15s,color .15s}.chip-btn.active{background:var(--accent-sage);border-color:var(--accent-sage);color:#fff}.constraint-form{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.constraint-form select{flex:140px;padding:9px 12px}.constraint-list{flex-direction:column;gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.constraint-list li{background:var(--bg-alt);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.solve-result{margin-top:10px}.violation-list{margin:0;padding-left:18px;font-size:13px}.canvas-panel{flex:100%}.canvas-panel.locked .svg-scroll{opacity:.6}.guest-pool{border:1px dashed var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;margin-bottom:14px;padding:12px;display:flex}.guest-pool.droppable{border-color:var(--accent-gold);background:var(--accent-gold-bg)}.guest-chip{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;padding:6px 13px;font-size:13px}.guest-chip.selected{background:var(--accent-gold);border-color:var(--accent-gold);color:#fff}.svg-scroll{background:var(--bg-alt);border-radius:14px;padding:4px;overflow-x:auto}.table-shape{fill:var(--panel-bg);stroke:var(--accent-sage);stroke-width:2px;cursor:grab;touch-action:none}.canvas-panel.locked .table-shape{cursor:default}.table-label{fill:var(--text-h);font-family:var(--serif);font-size:13px}.seat circle{fill:var(--bg);stroke:var(--border);stroke-width:1.5px;cursor:pointer}.seat.occupied circle{fill:var(--accent-sage-bg);stroke:var(--accent-sage)}.seat.selected circle{fill:var(--accent-gold-bg);stroke:var(--accent-gold);stroke-width:2px}.seat-name{fill:var(--text-h);font-family:var(--sans);cursor:pointer;font-size:12px;font-weight:500}.seat.selected .seat-name{fill:var(--accent-gold-h);font-weight:600}.export-actions{flex-wrap:wrap;gap:8px;display:flex}.paywall-overlay{z-index:100;background:#18140f8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.paywall-modal{text-align:center;max-width:400px;box-shadow:var(--shadow);padding:36px 30px}.paywall-modal h2{font-style:italic}.paywall-close{cursor:pointer;color:var(--text);background:0 0;border:none;font-size:20px;position:absolute;top:12px;right:16px}.paywall-cta{margin-top:18px}@media (width<=720px){.app-main{flex-direction:column}.panel{width:100%}.project-name-input{font-size:23px}.hero h1{font-size:30px}.hero-subtitle{font-size:15px}.pricing-cards{flex-direction:column}}
