@import "https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap";@font-face{font-family:Extime;src:url(/fonts/Extime-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Extime;src:url(/fonts/Extime-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Extime;src:url(/fonts/Extime-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Extime;src:url(/fonts/Extime-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--teal:#004650;--teal-light:#e8f4f5;--teal-dark:#003038;--teal-deep:#00252d;--gold:#bc9b48;--gold-light:#f5f0e3;--gold-dark:#a08538;--text1:#1a1a1a;--text2:#4a4a4a;--text3:#8a8a8a;--bg:#fafaf8;--card:#fff;--border:#e5e5e5;--border-light:#f0f0f0;--shadow-sm:0 1px 3px #0046500f;--shadow-md:0 4px 16px #00465014;--shadow-lg:0 8px 32px #0046501f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable;width:100%;font-size:16px;overflow-y:scroll}body{background:var(--bg);color:var(--text1);justify-content:center;width:100%;min-height:100dvh;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;display:flex;overflow-x:hidden}#root{flex-direction:column;flex:1 0 auto;align-items:center;width:100%;min-height:100dvh;display:flex}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}.page{background:var(--bg);flex:none;width:100%;max-width:560px;min-height:100vh;padding-bottom:100px}.hero{text-align:center;background:linear-gradient(165deg, var(--teal) 0%, var(--teal-dark) 40%, var(--teal-deep) 100%);padding:28px 24px 24px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.5;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:1;position:relative}.hero-logo{opacity:.95;width:150px;height:auto;margin-bottom:8px}.brand{letter-spacing:6px;text-transform:uppercase;color:var(--gold);opacity:.95;margin-bottom:16px;font-family:Extime,Georgia,serif;font-size:11px;font-weight:500}.hero-divider{justify-content:center;align-items:center;gap:12px;margin:4px 0 8px;display:flex}.hero-divider:before,.hero-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:40px;height:1px}.hero-divider svg{width:16px;height:16px;fill:var(--gold)}.hero h1{color:#fff;letter-spacing:2px;text-shadow:0 2px 4px #0003;margin-bottom:8px;font-family:Extime,Georgia,serif;font-size:24px;font-weight:600}.sub{color:#ffffffd9;letter-spacing:1px;margin-bottom:6px;font-size:13px;font-weight:300}.season{color:var(--gold);letter-spacing:2px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:1px solid #bc9b4866;border-radius:20px;margin-top:10px;padding:5px 16px;font-size:11px;display:inline-block}.hero-company{border:1px solid var(--gold);color:var(--gold);letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#bc9b4833;border-radius:24px;margin-top:8px;padding:6px 14px;font-size:12px;font-weight:500;display:inline-block}.steps{border-bottom:1px solid var(--border-light);background:#fff;justify-content:center;align-items:center;gap:0;padding:20px 24px;display:flex;position:relative}.step{color:var(--text3);align-items:center;gap:8px;font-size:12px;transition:color .3s;display:flex}.step .num{background:var(--border-light);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;transition:background-color .3s,color .3s,box-shadow .3s;display:flex}.step.active{color:var(--teal);font-weight:600}.step.active .num{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#fff;box-shadow:0 2px 8px #0046504d}.step.done{color:var(--gold)}.step.done .num{background:var(--gold);color:#fff}.step-connector{background:var(--border-light);flex:1;max-width:40px;height:2px;margin:0 8px}.step-connector.active{background:linear-gradient(90deg, var(--gold), var(--border-light))}.content{padding:24px 20px}.section-header{margin-bottom:20px}.section-title{color:var(--text1);align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.section-title:after{content:"";background:linear-gradient(90deg, var(--border), transparent);flex:1;height:1px;margin-left:12px}.section-icon{background:var(--teal-light);border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.section-icon svg{width:14px;height:14px;fill:var(--teal)}.ship-tabs{gap:12px;margin-bottom:24px;display:flex}.ship-tab{border:2px solid var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background:#fff;flex:1;padding:20px 16px;transition:border-color .3s,background .3s;position:relative;overflow:hidden}.ship-tab:before{content:"";background:var(--gold);height:3px;transition:transform .3s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.ship-tab.active:before{transform:scaleX(1)}.ship-tab.active{border-color:var(--teal);background:linear-gradient(180deg, var(--teal-light), #fff)}.ship-tab .name{color:var(--text1);margin-bottom:4px;font-family:Extime,Georgia,serif;font-size:16px;font-weight:600}.ship-tab.active .name{color:var(--teal)}.ship-tab .fr{color:var(--text3);letter-spacing:1px;font-size:10px;font-style:italic}.ship-tab .desc{color:var(--text2);margin-top:8px;font-size:11px;line-height:1.4}.type-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.type-tab{border:2px solid var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;color:var(--text2);background:#fff;min-width:0;padding:14px 16px;font-size:14px;font-weight:600;transition:border-color .3s,background .3s,color .3s,box-shadow .3s}.type-tab.active{border-color:var(--gold);background:var(--gold-light);color:var(--gold-dark);box-shadow:0 2px 8px #bc9b4826}.prod-list{flex-direction:column;gap:16px;display:flex}.prod-card{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;padding:20px;transition:border-color .3s,background .3s,box-shadow .3s,transform .3s;position:relative}.prod-card:hover{border-color:var(--teal);box-shadow:var(--shadow-md);transform:translateY(-2px)}.prod-card:active{transform:scale(.98)}.prod-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px #bc9b4826, var(--shadow-md);background:linear-gradient(180deg, #fff, var(--gold-light))}.prod-card .check{background:var(--teal);color:#fff;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;transition:opacity .3s,transform .3s,background-color .3s;display:flex;position:absolute;top:16px;right:16px;transform:scale(.5)}.prod-card.selected .check{opacity:1;background:var(--gold);transform:scale(1)}.prod-card .tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.prod-card .tag{background:var(--teal);color:#fff;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;display:inline-block}.prod-card .tag.dinner{background:var(--teal-dark)}.prod-card .tag.vip{background:linear-gradient(135deg, var(--gold), var(--gold-dark))}.prod-card .pname{color:var(--text1);letter-spacing:.5px;margin-bottom:4px;font-family:Extime,Georgia,serif;font-size:18px;font-weight:600}.prod-card .pfr{color:var(--text3);margin-bottom:12px;font-family:Extime,Georgia,serif;font-size:13px;font-style:italic}.prod-card .pmeta{color:var(--text2);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.prod-card .pmeta svg{width:14px;height:14px;fill:var(--text3)}.prod-card .pfeat{color:var(--teal);background:var(--teal-light);border-radius:6px;align-items:center;gap:6px;margin-bottom:16px;padding:8px 12px;font-size:12px;display:flex}.prod-card .pfeat svg{width:14px;height:14px;fill:var(--teal);flex-shrink:0}.prod-card .price-row{border-top:1px solid var(--border-light);flex-wrap:wrap;align-items:baseline;gap:8px;padding-top:12px;display:flex}.prod-card .price{color:var(--teal);font-family:Extime,Georgia,serif;font-size:22px;font-weight:700}.prod-card .price-discount{color:var(--gold);font-family:Extime,Georgia,serif;font-size:24px;font-weight:700}.prod-card .price-original{color:var(--text3);font-size:14px;text-decoration:line-through}.prod-card .price-tag{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:#fff;letter-spacing:.5px;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block;box-shadow:0 2px 4px #bc9b484d}.prod-card .price-bev{background:var(--teal);color:#fff;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.prod-card .price-unit{color:var(--text3);margin-left:2px;font-size:12px}.bottom-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border-light);z-index:100;background:#fffffff2;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:16px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.bottom-bar .btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.5px;padding:16px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:background .3s,color .3s,border-color .3s,box-shadow .3s,transform .3s}.bottom-bar .btn-back{border:1px solid var(--border);color:var(--text2);background:#fff}.bottom-bar .btn-back:hover{border-color:var(--text3);background:var(--bg)}.bottom-bar .btn-next{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#fff;border:none;flex:1;font-size:15px;box-shadow:0 4px 15px #0046504d}.bottom-bar .btn-next:hover{transform:translateY(-1px);box-shadow:0 6px 20px #00465066}.bottom-bar .btn-next:disabled{background:var(--border-light);color:var(--text3);box-shadow:none;transform:none}.bottom-bar .btn-next:after{content:" →";letter-spacing:1px}.bottom-bar .btn-back:before{content:"← ";letter-spacing:1px}.form-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:16px;padding:24px 20px}.form-card-title{color:var(--teal);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin-bottom:20px;padding-bottom:12px;font-size:15px;font-weight:600;display:flex}.form-card-title svg{width:18px;height:18px;fill:var(--teal)}.field{margin-bottom:20px}.field:last-child{margin-bottom:0}.field label{color:var(--text1);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.field .req{color:#e74c3c;margin-left:2px}.field .hint{color:var(--text3);margin-top:6px;font-size:11px}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius-md);box-sizing:border-box;appearance:none;background:#fff;outline:none;width:100%;max-width:100%;padding:14px 16px;font-size:16px;transition:border-color .3s,box-shadow .3s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0046501a}.field input::placeholder,.field textarea::placeholder{color:var(--text3)}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a8a8a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.form-row{gap:12px;display:flex}.form-row>div{flex:1}.stepper{align-items:center;gap:12px;max-width:100%;display:flex}.stepper button{border:1px solid var(--border);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--teal);cursor:pointer;background:#fff;justify-content:center;align-items:center;font-size:20px;transition:border-color .2s,background .2s;display:flex}.stepper button:hover{border-color:var(--teal);background:var(--teal-light)}.stepper button:disabled{color:var(--text3);border-color:var(--border-light);background:var(--bg);cursor:not-allowed}.stepper input{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);-moz-appearance:textfield;box-sizing:border-box;width:60px;padding:10px;font-size:16px;font-weight:600}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.stepper-row{gap:16px;max-width:100%;display:flex}.stepper-row>.field{flex:1;min-width:0;max-width:100%}@media (width<=480px){.stepper-row{flex-direction:column;gap:12px}}.passenger-card{background:var(--teal-light);border-radius:var(--radius-md);margin-bottom:12px;padding:14px 16px}.passenger-card:last-child{margin-bottom:0}.passenger-head{margin-bottom:10px}.passenger-badge{color:#fff;background:var(--teal);letter-spacing:.5px;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.passenger-fields{gap:12px;display:flex}.passenger-fields>.field{flex:1;min-width:0}.passenger-fields>.field:first-child{flex:1.5}@media (width<=400px){.passenger-fields{flex-direction:column;gap:8px}}.menu-section{margin-bottom:20px}.menu-section:last-child{margin-bottom:0}.menu-title{color:var(--teal);border-bottom:1px solid var(--teal-light);align-items:center;gap:6px;margin-bottom:12px;padding-bottom:8px;font-size:14px;font-weight:600;display:flex}.menu-title svg{width:14px;height:14px;fill:var(--teal)}.menu-options{flex-direction:column;gap:8px;display:flex}.menu-opt{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.menu-opt:hover{border-color:var(--teal);background:var(--teal-light)}.menu-opt.selected{border-color:var(--gold);background:var(--gold-light)}.menu-opt .radio{border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:border-color .2s;position:relative}.menu-opt.selected .radio{border-color:var(--gold)}.menu-opt.selected .radio:after{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:4px}.menu-opt .opt-name{color:var(--text1);flex:1;font-size:14px}.menu-opt .opt-extra{color:var(--gold);font-size:13px;font-weight:600}.price-summary{background:linear-gradient(180deg, var(--teal-light), #fff);border:2px solid var(--teal);border-radius:var(--radius-lg);margin-top:20px;padding:20px}.price-summary .row{color:var(--text2);border-bottom:1px solid var(--border-light);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.price-summary .row:last-child{border-bottom:none}.price-summary .row.total{border-top:2px solid var(--teal);color:var(--teal);margin-top:8px;padding-top:16px;font-size:18px;font-weight:700}.discount-price{color:var(--gold);font-weight:600}.original-price{color:var(--text3);margin-left:8px;font-size:12px;text-decoration:line-through}.discount-badge{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:#fff;vertical-align:middle;border-radius:4px;margin-left:8px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.error-msg{color:#e74c3c;border-radius:var(--radius-sm);background:#fef0ef;border:1px solid #fdd;align-items:center;gap:8px;margin-top:12px;padding:12px 16px;font-size:13px;display:flex}.error-msg:before{content:"⚠";font-size:14px}.result-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;margin-bottom:20px;overflow:hidden}.result-header{text-align:center;background:linear-gradient(165deg, var(--teal-light), #fff);border-bottom:1px solid var(--border-light);padding:32px 24px 24px}.result-header .icon{justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 16px;display:flex}.result-header .icon svg{width:100%;height:100%;fill:var(--teal)}.result-header h2{color:var(--teal);margin-bottom:4px;font-family:Extime,Georgia,serif;font-size:20px}.result-header p{color:var(--text3);font-size:13px}.result-body{padding:8px 0}.result-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:14px 20px;font-size:14px;display:flex}.result-row:last-child{border-bottom:none}.result-row .rl{color:var(--text2);flex-shrink:0}.result-row .rv{color:var(--text1);text-align:right;max-width:55%;font-weight:500}.result-row .rv.highlight{color:var(--gold);font-weight:700}.result-total{background:linear-gradient(180deg, var(--teal-light), #fff);text-align:center;color:var(--teal);padding:20px;font-family:Extime,Georgia,serif;font-size:20px;font-weight:700}.result-total .badge{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:#fff;vertical-align:middle;border-radius:4px;margin-left:12px;padding:4px 12px;font-family:Noto Sans SC,sans-serif;font-size:12px;display:inline-block}.booking-id{color:var(--gold);letter-spacing:2px;background:var(--gold-light);border-radius:var(--radius-sm);margin-top:8px;padding:8px 20px;font-family:Extime,Georgia,serif;font-size:16px;font-weight:700;display:inline-block}.action-btns{flex-direction:column;gap:12px;display:flex}.action-btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-size:15px;font-weight:600;transition:background .3s,box-shadow .3s,transform .3s;display:flex}.action-btn svg{fill:currentColor;width:18px;height:18px}.action-btn:active{transform:scale(.98)}.action-btn.btn-submit{background:linear-gradient(135deg, var(--teal), var(--teal-dark));color:#fff;box-shadow:0 4px 15px #0046504d}.action-btn.btn-submit:hover{box-shadow:0 6px 20px #00465066}.action-btn.btn-submit:disabled{background:var(--border);box-shadow:none;cursor:not-allowed}.action-btn.btn-copy{background:linear-gradient(135deg, var(--gold), var(--gold-dark));color:#fff;box-shadow:0 4px 15px #bc9b484d}.action-btn.btn-copy:hover{box-shadow:0 6px 20px #bc9b4866}.action-btn.btn-new,.action-btn.btn-back{border:1px solid var(--border);color:var(--text1);background:#fff}.action-btn.btn-new:hover,.action-btn.btn-back:hover{border-color:var(--text3);background:var(--bg)}.action-hint{text-align:center;color:var(--text3);margin:-4px 0 8px;font-size:12px}.submit-hint{text-align:center;color:var(--text3);padding:12px 20px 8px;font-size:13px;line-height:1.5}.success-icon-large{justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto;display:flex}.success-icon-large svg{width:100%;height:100%;fill:var(--gold)}@media (width>=561px){.page{padding-bottom:120px}.hero{padding:60px 32px 48px}.hero h1{font-size:32px}.content{padding:32px 28px}.ship-tab{padding:24px 20px}.prod-card{padding:24px}.form-card{padding:28px 24px}}.btn-import{border:1px solid var(--border);color:var(--teal);background:#fff;justify-content:center;align-items:center;gap:6px;display:flex}.btn-import:hover{border-color:var(--teal);background:var(--teal-light)}.btn-import svg{width:16px;height:16px}.lang-toggle{z-index:10;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #ffffff59;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex;position:absolute;top:12px;right:16px}.lang-toggle:hover{background:#ffffff40;border-color:#ffffff80}.lang-toggle svg{width:14px;height:14px}.import-section,.import-hint{margin-bottom:20px}.import-hint p{color:var(--text2);margin-bottom:16px;font-size:14px}.import-example{background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.import-example-title{color:var(--text3);letter-spacing:1px;padding:10px 16px 0;font-size:12px;font-weight:600}.import-example pre{color:var(--text2);white-space:pre-wrap;word-break:break-all;margin:0;padding:8px 16px 14px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:12px;line-height:1.6}.import-textarea{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;min-height:280px;color:var(--text1);resize:vertical;box-sizing:border-box;background:#fff;padding:16px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:14px;line-height:1.6;transition:border-color .2s}.import-textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #00465014}.import-textarea::placeholder{color:var(--text3);font-family:Noto Sans SC,sans-serif}.import-error{color:#e74c3c;border-radius:var(--radius-sm);background:#fef0ef;border:1px solid #fdd;margin-top:12px;padding:12px 16px;font-size:13px}
