:root{--glass-bg: rgba(16, 28, 46, .72);--glass-border: rgba(255, 255, 255, .16);--glass-highlight: rgba(255, 214, 112, .35);--primary-gold: #ffd166;--primary-amber: #ff9f1c;--primary-coral: #ff595e;--text-light: #f8fafc;--text-muted: #cbd5e1;--font-sans: "Noto Sans TC", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Noto Serif TC", serif;--font-display: "Unbounded", "Noto Sans TC", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:var(--font-sans);color:var(--text-light);-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}.tw-app-root{position:relative;width:100vw;height:100vh;overflow:hidden;transition:background .8s ease}.tw-canvas-container{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.tw-glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:0 16px 40px #0000006b,inset 0 1px 1px #ffffff2e}.tw-header{position:absolute;top:16px;left:20px;right:20px;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none;gap:12px}.tw-header>*{pointer-events:auto}.tw-header__brand{display:flex;align-items:center;gap:10px;cursor:pointer;padding:8px 14px;border-radius:999px;background:#0c1626a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);transition:transform .2s ease,border-color .2s ease}.tw-header__brand:hover{transform:translateY(-1px);border-color:var(--primary-gold)}.tw-header__logo-badge{font-size:24px;filter:drop-shadow(0 2px 6px rgba(255,90,95,.6))}.tw-header__title{font-family:var(--font-display);font-size:14px;font-weight:800;letter-spacing:.4px;background:linear-gradient(90deg,#fff,#ffd166);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tw-header__subtitle{font-size:11px;color:var(--text-muted)}.tw-header__room-pill{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-size:14px}.tw-header__room-label{color:var(--text-muted);font-size:12px}.tw-header__room-name{font-weight:700;color:#fff3b0}.tw-header__actions{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px}.tw-header__chip-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;color:var(--text-light);border:1px solid rgba(255,255,255,.14);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.tw-header__chip-btn:hover,.tw-header__chip-btn.active{background:linear-gradient(135deg,#ffd166,#ff9f1c);color:#141b29;border-color:transparent}.tw-icon-btn{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:var(--text-light);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.tw-icon-btn:hover{background:#ffd16640;border-color:var(--primary-gold);color:var(--primary-gold)}.tw-main-layout{position:absolute;top:76px;right:20px;bottom:20px;left:20px;z-index:10;display:flex;align-items:stretch;justify-content:space-between;pointer-events:none;gap:20px}.tw-wishes-panel{width:400px;max-width:100%;height:100%;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:14px;pointer-events:auto;animation:fadeInSlideLeft .35s ease}@keyframes fadeInSlideLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.tw-wishes-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tw-wishes-panel__title{font-size:21px;font-weight:900;letter-spacing:.5px;color:#fff}.tw-wishes-panel__count{font-size:12.5px;color:var(--text-muted);margin-top:2px}.tw-wishes-panel__count strong{color:var(--primary-gold);font-size:14px}.tw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:14px;font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;transition:all .22s ease;white-space:nowrap}.tw-btn--primary{background:linear-gradient(135deg,#ffd166,#ff9f1c 55%,#ff595e);color:#161925;box-shadow:0 6px 20px #ff9f1c66}.tw-btn--primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 10px 26px #ff9f1c94}.tw-btn--secondary{background:#ffffff1a;color:var(--text-light);border:1px solid rgba(255,255,255,.22)}.tw-btn--secondary:hover{background:#ffffff2e;border-color:#ffffff73}.tw-wishes-panel__controls{display:flex;flex-direction:column;gap:10px}.tw-search-box{position:relative;display:flex;align-items:center}.tw-search-box__icon{position:absolute;left:12px;color:var(--text-muted)}.tw-search-box input{width:100%;padding:9px 32px 9px 36px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#0a12208c;color:var(--text-light);font-size:13.5px;outline:none;transition:border-color .2s}.tw-search-box input:focus{border-color:var(--primary-gold)}.tw-search-box__clear{position:absolute;right:10px;background:none;border:none;color:var(--text-muted);cursor:pointer}.tw-filter-tabs{display:flex;gap:6px}.tw-filter-tabs button{flex:1;padding:6px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s}.tw-filter-tabs button.active{background:#ffd16633;border-color:var(--primary-gold);color:var(--primary-gold)}.tw-wishes-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:4px}.tw-wishes-list::-webkit-scrollbar{width:5px}.tw-wishes-list::-webkit-scrollbar-thumb{background:#ffffff38;border-radius:999px}.tw-wish-item{padding:12px 14px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .2s ease}.tw-wish-item:hover{background:#ffffff1c;transform:translateY(-1px);border-color:#ffd16673}.tw-wish-item.selected{background:linear-gradient(135deg,#ffd16638,#ff595e2e);border-color:var(--primary-gold);box-shadow:0 6px 18px #ffd16633}.tw-wish-item__top{display:flex;gap:12px;align-items:flex-start}.tw-wish-item__meta{flex:1;min-width:0}.tw-wish-item__name-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.tw-wish-item__username{font-weight:700;font-size:14.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tw-wish-item__avatar-tag{font-size:11px;padding:2px 7px;border-radius:999px;background:#ffd16629;color:#ffd166;white-space:nowrap}.tw-wish-item__text{font-size:13px;line-height:1.48;color:#e2e8f0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tw-wish-item__bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.tw-wish-item__location{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;color:var(--text-muted)}.tw-wish-item__actions{display:flex;align-items:center;gap:6px}.tw-wish-action-btn{background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:var(--text-muted);width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .18s}.tw-wish-action-btn:hover{color:#fff;background:#ffffff2e}.tw-wish-action-btn--danger:hover{color:#ff4d6d;border-color:#ff4d6d66}.tw-wish-like-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:var(--text-light);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s}.tw-wish-like-btn.liked,.tw-wish-like-btn:hover{border-color:#ff4d6d;background:#ff4d6d2e;color:#ffccd5}.tw-wishes-panel__footer{display:flex;gap:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}.tw-wishes-panel__footer .tw-btn{flex:1;font-size:13px;padding:9px 12px}.tw-scene-overlay{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:18px;pointer-events:none}.tw-scene-hint{padding:9px 18px;border-radius:999px;font-size:13px;color:#e2e8f0;pointer-events:auto}.tw-wish-detail-card{position:relative;width:430px;max-width:92vw;border-radius:26px;padding:28px 28px 22px;text-align:center;pointer-events:auto;border:1.5px solid rgba(255,209,102,.55);animation:popUpCard .3s cubic-bezier(.16,1,.3,1)}@keyframes popUpCard{0%{opacity:0;transform:translateY(22px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tw-wish-detail-card__ribbon{position:absolute;top:-13px;left:50%;transform:translate(-50%);background:linear-gradient(90deg,#c1121f,#e63946,#c1121f);color:#fff3b0;font-size:12px;font-weight:700;padding:5px 18px;border-radius:999px;border:1.5px solid #ffd166;box-shadow:0 4px 12px #00000059;white-space:nowrap}.tw-wish-detail-card__close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}.tw-wish-detail-card__nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:#0f172ad9;color:#ffd166;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.tw-wish-detail-card__nav:hover{background:var(--primary-gold);color:#111}.tw-wish-detail-card__nav--left{left:-19px}.tw-wish-detail-card__nav--right{right:-19px}.tw-wish-detail-card__avatar-wrap{display:flex;justify-content:center;margin-top:6px;margin-bottom:12px}.tw-wish-detail-card__tags{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.tw-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:3px 10px;border-radius:999px;background:#ffffff1f;color:#e2e8f0}.tw-badge--gold{background:#ffd16638;color:#ffd166;font-weight:700}.tw-wish-detail-card__message{font-family:var(--font-serif);font-size:17px;line-height:1.6;color:#fff;margin:10px 0 14px;padding:0 8px}.tw-wish-detail-card__author{font-size:15px;font-weight:700;color:var(--primary-gold);display:flex;flex-direction:column;gap:3px;margin-bottom:16px}.tw-wish-detail-card__date{font-size:11.5px;font-weight:400;color:var(--text-muted)}.tw-wish-detail-card__footer{display:flex;justify-content:center;gap:10px}.tw-btn--like-large{background:#ff4d6d38;border:1.5px solid #ff4d6d;color:#fff}.tw-btn--like-large.liked,.tw-btn--like-large:hover{background:linear-gradient(135deg,#ff4d6d,#c9184a);color:#fff}.tw-modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:76px 20px 24px;pointer-events:none}.tw-wizard-container{width:680px;max-width:100%;max-height:calc(100vh - 104px);overflow-y:auto;border-radius:28px;padding:24px 28px;pointer-events:auto;animation:popUpCard .28s ease}.tw-wizard__top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tw-wizard__steps{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tw-wizard__step-pill{padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text-muted);cursor:pointer}.tw-wizard__step-pill.active{background:linear-gradient(135deg,#ffd166,#ff9f1c);color:#141b29;border-color:transparent}.tw-wizard__step-pill.done{border-color:#ffd16680;color:#ffd166}.tw-wizard__title-group{text-align:center;margin-bottom:16px}.tw-wizard__title-group h2{font-size:22px;font-weight:900;color:#fff;margin-bottom:4px}.tw-wizard__title-group p{font-size:13.5px;color:var(--text-muted)}.tw-avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.tw-avatar-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:18px;border:1.5px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text-light);cursor:pointer;transition:all .2s ease}.tw-avatar-card:hover{background:#ffffff1f;transform:translateY(-2px)}.tw-avatar-card.selected{background:linear-gradient(145deg,#ffd16647,#ff595e38);border-color:var(--primary-gold);box-shadow:0 6px 20px #ffd16640}.tw-avatar-card__name{font-size:13px;font-weight:700;color:#fff}.tw-avatar-card__tag{font-size:11px;color:#ffd166;opacity:.9}.tw-ornament-selector{background:#0a122073;border-radius:16px;padding:12px 14px;margin-bottom:18px;border:1px solid rgba(255,255,255,.1)}.tw-ornament-selector__label{font-size:12.5px;color:var(--text-muted);margin-bottom:8px;font-weight:600}.tw-ornament-pills{display:flex;flex-wrap:wrap;gap:8px}.tw-ornament-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:var(--text-light);font-size:12.5px;cursor:pointer;transition:all .18s}.tw-ornament-pill.active{background:#ffd1663d;border-color:var(--primary-gold);color:#ffd166;font-weight:700}.tw-ornament-dot{width:10px;height:10px;border-radius:50%}.tw-wizard__body--spot{text-align:center}.tw-spot-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0 24px;flex-wrap:wrap}.tw-spot-badge{display:flex;align-items:center;gap:10px;padding:8px 18px;border-radius:999px;background:#ffd1662e;border:1.5px solid var(--primary-gold);font-weight:700;color:#fff3b0}.tw-make-card-header{display:flex;align-items:center;gap:18px;margin-bottom:14px}.tw-make-card-header .tw-wizard__title-group{text-align:left;margin-bottom:0}.tw-make-card-avatar-preview{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}.tw-make-card-avatar-change{font-size:11px;color:var(--primary-gold);text-decoration:underline;white-space:nowrap}.tw-inspiration-section{margin-bottom:14px}.tw-inspiration-label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px}.tw-inspiration-chips{display:flex;flex-wrap:wrap;gap:6px}.tw-inspiration-chip{padding:5px 11px;border-radius:999px;border:1px solid rgba(255,209,102,.35);background:#ffd1661a;color:#fff3b0;font-size:12px;cursor:pointer;transition:all .18s}.tw-inspiration-chip:hover{background:#ffd16647;transform:translateY(-1px)}.tw-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tw-form-group{margin-bottom:12px}.tw-form-label-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:6px;color:#e2e8f0}.tw-char-counter{font-size:11.5px;color:var(--text-muted)}.tw-input,.tw-textarea{width:100%;padding:11px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#0a1220a6;color:#fff;font-size:14px;font-family:var(--font-sans);outline:none;transition:border-color .2s}.tw-input:focus,.tw-textarea:focus{border-color:var(--primary-gold)}.tw-textarea{resize:none;line-height:1.5}.tw-form-error{color:#ff758f;font-size:13px;font-weight:600;margin-bottom:10px}.tw-wizard__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.tw-wizard__footer-right{display:flex;gap:10px}.tw-scene-picker{width:820px;max-width:100%;border-radius:28px;padding:24px 28px;pointer-events:auto;animation:popUpCard .28s ease}.tw-scene-picker__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.tw-scene-picker__header h2{font-size:22px;font-weight:900}.tw-scene-picker__header p{font-size:13.5px;color:var(--text-muted);margin-top:4px}.tw-scene-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tw-scene-card{border-radius:20px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0d;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:all .22s ease}.tw-scene-card:hover{transform:translateY(-3px);border-color:#ffd1668c}.tw-scene-card.active{border-color:var(--primary-gold);background:#ffd16624;box-shadow:0 10px 28px #00000059}.tw-scene-card__preview{height:110px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.tw-scene-card__badge{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:#0000008c;color:#ffd166;border:1px solid rgba(255,209,102,.4)}.tw-scene-card__glow{width:70px;height:70px;border-radius:50%;filter:blur(22px);opacity:.55;position:absolute}.tw-scene-card__icon{font-size:44px;position:relative;z-index:2}.tw-scene-card__body{padding:14px;flex:1}.tw-scene-card__body h3{font-size:16px;font-weight:800;margin-bottom:3px}.tw-scene-card__sub{font-size:12px;color:var(--primary-gold);margin-bottom:8px;font-weight:600}.tw-scene-card__body p{font-size:12.5px;color:var(--text-muted);line-height:1.5}.tw-scene-card__footer{padding:10px 14px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;font-weight:700;text-align:center}.tw-scene-card__selected{color:var(--primary-gold);display:inline-flex;align-items:center;gap:5px}.tw-scene-card__choose{color:var(--text-muted)}.tw-share-modal{position:relative;width:480px;max-width:100%;border-radius:26px;padding:30px 28px;text-align:center;pointer-events:auto;animation:popUpCard .28s ease}.tw-modal-close{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.tw-share-modal__badge{display:inline-block;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--primary-gold);background:#ffd16629;padding:4px 12px;border-radius:999px;margin-bottom:10px}.tw-share-modal h2{font-size:22px;margin-bottom:8px}.tw-share-modal p{font-size:13.5px;color:var(--text-muted);line-height:1.5}.tw-share-url-box{margin:18px 0;padding:8px 8px 8px 16px;border-radius:999px;background:#0a1220b3;border:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#fff3b0;overflow:hidden}.tw-share-url-box span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-camera-mode-bar{position:absolute;bottom:24px;left:24px;right:24px;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.tw-camera-mode-bar>*{pointer-events:auto}.tw-camera-mode-hint{padding:10px 20px;border-radius:999px;font-size:13.5px;color:#fff3b0}.tw-footer{position:absolute;bottom:20px;right:20px;z-index:15;display:flex;gap:8px}.tw-footer__btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;color:var(--text-muted);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .2s}.tw-footer__btn.active,.tw-footer__btn:hover{color:var(--primary-gold);border-color:#ffd16673}.tw-toast{position:absolute;top:76px;left:50%;transform:translate(-50%);z-index:50;background:#0f172aeb;border:1.5px solid var(--primary-gold);color:#fff3b0;padding:10px 22px;border-radius:999px;font-size:13.5px;font-weight:700;box-shadow:0 10px 28px #00000073;animation:fadeInToast .25s ease}@keyframes fadeInToast{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:900px){.tw-header__room-pill,.hide-sm{display:none}.tw-main-layout{flex-direction:column-reverse;top:68px;right:12px;bottom:12px;left:12px}.tw-wishes-panel{width:100%;height:46%;padding:14px}.tw-avatar-grid{grid-template-columns:repeat(3,1fr)}.tw-scene-cards,.tw-form-row{grid-template-columns:1fr}}
