:root{--page-bg: #fafafa;--surface: #ffffff;--surface-secondary: #f5f5f5;--border: #e0e0e0;--border-subtle: #f0f0f0;--accent: #2c2c2c;--accent-hover: #1a1a1a;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--shadow-sm: 0 1px 3px rgba(0,0,0,.1);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;background-color:var(--page-bg)}.section{background-color:var(--page-bg)}.container{max-width:1200px;margin:0 auto}.img-responsive,.design-full{display:block;width:100%;height:auto}.design{position:relative}.design-cta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--surface);border:2px solid var(--accent);color:var(--accent);padding:16px 32px;font-size:18px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.design-cta:hover{background:var(--accent);color:var(--surface);transform:translate(-50%,-50%) translateY(-2px);box-shadow:var(--shadow-lg)}.design-header{display:flex;align-items:flex-start;padding:12px 0}.logo-top-left{height:48px;width:auto}.logo-link{display:inline-block;line-height:0;padding:8px;border-radius:12px;transition:all .2s ease}.logo-link:hover{background:var(--surface-secondary);transform:scale(1.05)}.logo-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:var(--surface-secondary)}.design-page .container{max-width:90%}.mt10{margin-top:50px}.design-body{margin-top:0}.fp-section{padding-top:var(--design-header-h, 0px)}.global-header{position:fixed;top:0;left:0;right:0;z-index:2000;background:#fff;box-shadow:0 2px 12px #00000014}.global-header .container{max-width:100%!important;margin:0;padding:8px 16px}.design-header{justify-content:flex-start}.header-offset{height:0}.design-main{display:grid;grid-template-columns:3fr 1fr;gap:24px;align-items:start}.viewer-viewport{height:calc(100vh - var(--design-header-h, 0px) - 120px - 40px)}.viewer{position:relative;width:100%;height:100%;overflow:hidden;border-radius:16px;box-shadow:var(--shadow-lg);background:var(--surface)}.viewer-base,.viewer-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:top center;display:block}.viewer-overlay{pointer-events:none;z-index:1}.controls{display:flex;flex-direction:column;gap:12px}.room-title{font-size:24px;font-weight:600;color:var(--text-primary);text-align:center;padding:16px 0;margin-bottom:8px;border-bottom:2px solid var(--border)}.control{padding:16px 20px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text-primary);cursor:pointer;text-align:left;display:block;transition:all .2s ease;box-shadow:var(--shadow-sm)}.control:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.control.active{background:var(--accent);color:var(--surface);border-color:var(--accent);box-shadow:var(--shadow-md)}.control.small{padding:12px 16px;font-size:14px;font-weight:500}.control-row{display:flex;align-items:center;justify-content:space-between;min-height:36px}.control-title{font-weight:600;color:var(--text-primary);font-size:15px}.control.active .control-title{color:var(--surface)}.control-price{font-weight:600;display:inline-flex;align-items:center;line-height:1;color:var(--text-primary);font-size:15px}.control.active .control-price{color:var(--surface)}.control-sub{margin-top:8px;font-size:13px;color:var(--text-secondary);line-height:1.4}.control.active .control-sub{color:#ffffffd9}.design-tabs{position:static;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 0;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-top:16px}.tabs-inner{display:flex;gap:12px;justify-content:center;width:100%}.tab{padding:12px 20px;border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-primary);border-radius:999px;cursor:pointer;transition:all .2s ease;font-weight:500}.tab:hover{background:var(--surface);border-color:var(--accent);transform:translateY(-1px)}.tab.active{background:var(--accent);color:var(--surface);border-color:var(--accent);box-shadow:var(--shadow-sm)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes wipe-in{0%{clip-path:inset(0 100% 0 0);opacity:.92}to{clip-path:inset(0 0 0 0);opacity:1}}.anim-fade-in{animation:fade-in .38s ease-out both;will-change:opacity}.anim-fade-out{animation:fade-out .38s ease-in both;will-change:opacity}.anim-wipe-in{animation:wipe-in 3s cubic-bezier(.16,1,.3,1) both;will-change:clip-path,opacity}@media (prefers-reduced-motion: reduce){.anim-fade-in,.anim-fade-out,.anim-wipe-in{animation-duration:1ms}}.summary{position:relative;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.global-summary{position:fixed;right:5%;bottom:110px;width:calc((90vw - 24px)/4);background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);z-index:1999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:1;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.summary-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;height:56px;padding:0 20px;transition:all .2s ease;border-radius:16px}.summary-total{font-weight:600;font-size:16px;color:var(--text-primary);line-height:1;display:flex;align-items:center}.summary-toggle{border:1px solid var(--border);background:var(--surface-secondary);color:var(--text-secondary);border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;height:36px;cursor:pointer;transition:all .2s ease;font-size:14px}.summary-toggle:hover{border-color:var(--accent);color:var(--accent)}.checkout-button{background:var(--accent);color:var(--surface);border:none;border-radius:8px;padding:0 16px;height:36px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.checkout-button:hover{background:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.1)}.summary-panel{position:absolute;left:0;right:0;bottom:calc(100% + 12px);width:100%;max-height:50vh;overflow:auto;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;display:none;padding:16px;z-index:60;color:var(--text-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.summary.open .summary-panel,.global-summary.open .summary-panel{display:block}.summary-item{padding:8px 0;border-bottom:1px solid var(--border-subtle)}.summary-item:last-child{border-bottom:none}.summary-item-row{display:flex;justify-content:space-between;font-size:14px;font-weight:500;color:var(--text-primary)}.summary-item-sub{font-size:13px;color:var(--text-secondary);margin-top:4px}.room-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 80px);margin-top:-40px;padding:40px 20px}.room-selection-title{font-size:48px;font-weight:600;color:var(--text-primary);margin-bottom:60px;text-align:center}.room-cards{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;max-width:1200px}.room-card{flex:1;min-width:350px;max-width:420px;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #0000001f,0 2px 16px #00000014;transition:all .3s ease;cursor:pointer}.room-card:hover{transform:translateY(-8px);box-shadow:0 16px 48px #0003,0 8px 24px #0000001f}.room-card-image{width:100%;height:300px;object-fit:fill;display:block}.room-selection-expanded{width:100%;height:100%;position:relative}.room-selection-layout{display:flex;align-items:flex-start;gap:60px;max-width:1200px;margin:0 auto}.selected-room-card{flex:0 0 auto;width:500px;background:var(--surface);border-radius:16px;overflow:hidden;box-shadow:0 16px 48px #0003,0 8px 24px #0000001f}.selected-room-image{width:100%;height:400px;object-fit:fill;display:block}.building-selection{flex:1;padding:0 40px}.building-selection-title{font-size:36px;font-weight:600;color:var(--text-primary);margin:0 0 30px}.building-options{display:flex;flex-direction:column;gap:20px}.building-option{background:var(--surface);border:2px solid var(--border);color:var(--text-primary);padding:20px 30px;border-radius:12px;cursor:pointer;font-size:18px;font-weight:500;transition:all .3s ease;box-shadow:var(--shadow-sm)}.building-option:hover{border-color:var(--accent);background:var(--surface-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.floor-options{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;max-width:500px}.floor-option{background:var(--surface);border:2px solid var(--border);color:var(--text-primary);padding:15px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;text-align:center;transition:all .3s ease;box-shadow:var(--shadow-sm)}.floor-option:hover{border-color:var(--accent);background:var(--surface-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.room-options{display:flex;gap:20px;max-width:300px}.room-option{background:var(--surface);border:2px solid var(--border);color:var(--text-primary);padding:20px 30px;border-radius:12px;cursor:pointer;font-size:18px;font-weight:500;transition:all .3s ease;box-shadow:var(--shadow-sm);flex:1;text-align:center}.room-option:hover{border-color:var(--accent);background:var(--surface-secondary);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.selection-complete{text-align:center}.selection-summary{background:var(--surface-secondary);border:1px solid var(--border);border-radius:12px;padding:30px;margin-top:20px}.selection-summary p{margin:10px 0;font-size:18px;color:var(--text-primary)}.action-buttons{display:flex;gap:20px;justify-content:center;margin-top:30px}.action-button{padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid transparent;min-width:160px}.action-button.primary{background:var(--accent);color:var(--surface);border-color:var(--accent);box-shadow:var(--shadow-lg)}.action-button.primary:hover{background:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-xl);filter:brightness(1.1)}.action-button.secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.action-button.secondary:hover{background:var(--surface-secondary);border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.back-button{position:absolute;top:0;right:40px;background:var(--surface);border:2px solid var(--accent);color:var(--accent);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .2s ease;box-shadow:var(--shadow-md)}.back-button:hover{background:var(--accent);color:var(--surface)}@media (max-width: 768px){.room-selection-title{font-size:36px;margin-bottom:40px}.room-cards{gap:20px;flex-direction:column;align-items:center}.room-card{min-width:280px;max-width:320px}.room-card-image{height:200px}.room-selection-layout{flex-direction:column;gap:30px}.selected-room-card{width:90%}.selected-room-image{height:250px}.building-selection{padding:20px}.building-selection-title{font-size:28px;text-align:center}.back-button{top:20px;right:20px;padding:8px 16px;font-size:14px}.floor-options{grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px}.floor-option{padding:12px;font-size:14px}.room-options{flex-direction:column;gap:15px;max-width:250px}.room-option{padding:15px 20px;font-size:16px}.selection-summary{padding:20px}.selection-summary p{font-size:16px}.action-buttons{flex-direction:column;gap:15px;margin-top:20px}.action-button{padding:14px 24px;font-size:15px;min-width:auto}}.checkout-details{max-width:1200px;margin:0 auto;padding:40px 20px 20px;height:100vh;display:flex;flex-direction:column;box-sizing:border-box}.checkout-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;flex-shrink:0}.checkout-title{font-size:48px;font-weight:600;color:var(--text-primary);margin:0;flex:1;text-align:left}.checkout-back-button{background:var(--surface);border:2px solid var(--border);color:var(--text-primary);border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.checkout-back-button:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-secondary)}.checkout-content{display:flex;gap:40px;flex:1;overflow:hidden}.checkout-left{flex:2;display:flex;flex-direction:column}.checkout-right{flex:1;display:flex;flex-direction:column}.details-list{flex:1;overflow-y:auto;padding-right:20px}.detail-item{padding:25px;margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);transition:all .3s ease}.detail-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.detail-info{width:100%}.detail-name{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 10px}.detail-description{font-size:16px;color:var(--text-secondary);margin:0;line-height:1.5}.detail-price{font-size:24px;font-weight:600;color:var(--accent);margin-left:30px}.checkout-summary-card{background:var(--surface);border:2px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:fit-content;position:sticky;top:0}.summary-card-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-subtle)}.summary-card-header h3{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.summary-card-body{padding:16px 24px;border-bottom:1px solid var(--border-subtle)}.summary-line{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.summary-line:not(:last-child){border-bottom:1px solid var(--border-subtle)}.summary-item-name{font-size:14px;color:var(--text-secondary);flex:1}.summary-item-price{font-size:16px;font-weight:600;color:var(--text-primary)}.summary-card-footer{padding:24px;display:flex;flex-direction:column;gap:20px}.checkout-total{display:flex;align-items:center;gap:10px}.total-label{font-size:24px;font-weight:500;color:var(--text-primary)}.total-amount{font-size:32px;font-weight:700;color:var(--accent)}.signature-button{background:var(--accent);color:var(--surface);border:none;border-radius:12px;padding:16px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-lg);width:100%}.signature-button:hover{background:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-xl);filter:brightness(1.1)}@media (max-width: 768px){.checkout-header{flex-direction:column;gap:20px;align-items:stretch}.checkout-title{font-size:36px;order:1}.checkout-back-button{order:0;align-self:flex-start}.checkout-content{flex-direction:column;gap:30px}.checkout-left{order:1}.checkout-right{order:0}.details-list{padding-right:0}.detail-item{padding:20px}.checkout-summary-card{position:static}.summary-card-header h3,.total-label{font-size:20px}.total-amount{font-size:28px}}.signature-image-container{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;background:var(--surface-secondary);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.signature-image-container:hover{background:var(--surface);border-color:var(--primary);transform:translateY(-1px)}.signature-image{max-width:200px;max-height:80px;border:1px solid var(--border);border-radius:8px;background:#fff}.signature-text{font-size:14px;color:var(--text-secondary);font-weight:500}.signature-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.signature-modal{background:#f5f5f5;border-radius:16px;box-shadow:var(--shadow-xl);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.signature-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid var(--border);background:#fff;border-radius:16px 16px 0 0}.signature-modal-header h3{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.signature-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.signature-modal-close:hover{background:var(--surface-secondary);color:var(--text-primary)}.signature-area{padding:4px;flex:1;display:flex;flex-direction:column;background:#fff;margin:16px 24px;border-radius:12px;border:2px solid #e0e0e0;position:relative}.signature-area:before{content:"请在此区域内签字";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ccc;font-size:16px;pointer-events:none;z-index:1}.signature-modal-footer{display:flex;gap:16px;padding:16px 24px 24px;border-top:1px solid var(--border);justify-content:flex-end;background:#fff;border-radius:0 0 16px 16px}.signature-cancel-button{background:var(--surface);border:2px solid var(--border);color:var(--text-primary);border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.signature-cancel-button:hover{border-color:var(--accent);background:var(--surface-secondary)}.signature-confirm-button{background:var(--accent);border:2px solid var(--accent);color:var(--surface);border-radius:8px;padding:12px 24px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.signature-confirm-button:hover{background:var(--accent);transform:translateY(-1px);filter:brightness(1.1)}.next,.prev{top:calc(50% - 20px);position:absolute;background:#ffffff80;border-radius:30px;width:40px;height:40px;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;font-weight:700;font-size:18px;z-index:2}.next{right:10px}.prev{left:10px}.box{line-height:26px;margin:0;padding:9px 34px;letter-spacing:0px;font-weight:400;font-size:16px;border-radius:50px;cursor:pointer;display:inline-block}
