.wl-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.wl-modal{background:var(---background-color);border-radius:16px;width:100%;max-width:440px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.2)}html.dark .wl-modal{box-shadow:0 8px 40px rgba(0,0,0,.6)}.wl-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #ebebeb}html.dark .wl-modal__header{border-color:#333}.wl-modal__header h2{font-size:16px;font-weight:700;color:var(---text-color);margin:0}.wl-modal__close{background:none;border:none;cursor:pointer;color:var(---text-color);font-size:18px;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s}.wl-modal__close:hover{background:#f0f0f0}html.dark .wl-modal__close:hover{background:#333}.wl-modal__loading{padding:24px;text-align:center;color:#888;font-size:14px}.wl-modal__list{list-style:none;margin:0;padding:8px 0;overflow-y:auto;flex:1}.wl-modal__item{display:flex;align-items:center;gap:14px;width:100%;padding:12px 24px;background:none;border:none;cursor:pointer;text-align:left;transition:background .12s}.wl-modal__item:hover{background:#f7f7f7}html.dark .wl-modal__item:hover{background:#1e1e1e}.wl-modal__item--saved .wl-modal__item-heart{color:#ff385c}.wl-modal__item-cover{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#ebebeb;flex-shrink:0;display:flex;align-items:center;justify-content:center}html.dark .wl-modal__item-cover{background:#2a2a2a}.wl-modal__item-cover img{width:100%;height:100%;object-fit:cover}.wl-modal__item-cover i{font-size:20px;color:#aaa}.wl-modal__item-info{flex:1;min-width:0}.wl-modal__item-name{display:block;font-size:14px;font-weight:600;color:var(---text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-modal__item-count{display:block;font-size:12px;color:#888;margin-top:2px}.wl-modal__item-heart{font-size:16px;color:#ccc;flex-shrink:0;transition:color .15s}.wl-modal__add-new{display:flex;align-items:center;gap:10px;width:100%;padding:16px 24px;border:none;border-top:1px solid #ebebeb;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(---text-color);transition:background .12s}html.dark .wl-modal__add-new{border-color:#333}.wl-modal__add-new:hover{background:#f7f7f7}html.dark .wl-modal__add-new:hover{background:#1e1e1e}.wl-modal__new-list{padding:16px 24px;border-top:1px solid #ebebeb;display:flex;flex-direction:column;gap:12px}html.dark .wl-modal__new-list{border-color:#333}.wl-modal__new-list input{padding:10px 14px;border:1px solid #ddd;border-radius:10px;font-size:14px;background:var(---background-color);color:var(---text-color);outline:none}html.dark .wl-modal__new-list input{border-color:#444}.wl-modal__new-list input:focus{border-color:#222}html.dark .wl-modal__new-list input:focus{border-color:#aaa}.wl-modal__new-list-actions{display:flex;gap:8px;justify-content:flex-end}.wl-modal__btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.wl-modal__btn--ghost{background:none;color:var(---text-color);border:1px solid #ddd}html.dark .wl-modal__btn--ghost{border-color:#444}.wl-modal__btn--ghost:hover{background:#f0f0f0}html.dark .wl-modal__btn--ghost:hover{background:#2a2a2a}.wl-modal__btn--primary{background:#222;color:#fff}html.dark .wl-modal__btn--primary{background:#fff;color:#222}.wl-modal__btn--primary:hover{background:#444}html.dark .wl-modal__btn--primary:hover{background:#ddd}.wl-modal__btn--primary:disabled{opacity:.5;cursor:not-allowed}.wl-login-prompt{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.wl-login-prompt__card{position:relative;background:var(---background-color);border-radius:16px;padding:36px 32px 28px;text-align:center;max-width:320px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,.2)}.wl-login-prompt__card p{font-size:15px;font-weight:600;color:var(---text-color);margin:12px 0 20px}.wl-login-prompt__close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;color:var(---text-color);font-size:16px;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%}.wl-login-prompt__close:hover{background:#f0f0f0}html.dark .wl-login-prompt__close:hover{background:#333}.wl-login-prompt__icon{font-size:28px;color:#ff385c}.wl-login-prompt__btn{display:inline-block;padding:12px 28px;background:#ff385c;color:#fff;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s}.wl-login-prompt__btn:hover{background:#e31c5f}.wl-tab__loading{text-align:center;color:#888;font-size:14px;padding:40px 0}.wl-tab__empty{text-align:center;padding:60px 0;color:#888}.wl-tab__empty i{font-size:40px;display:block;margin-bottom:12px;color:#ccc}.wl-tab__empty p{font-size:16px;font-weight:600;color:var(---text-color);margin:0 0 6px}.wl-tab__empty span{font-size:14px}.wl-tab__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding-top:8px}.wl-collection-card{background:none;border:none;cursor:pointer;text-align:left;padding:0}.wl-collection-card__cover{width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#ebebeb;display:flex;align-items:center;justify-content:center;margin-bottom:10px}html.dark .wl-collection-card__cover{background:#2a2a2a}.wl-collection-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.wl-collection-card__cover i{font-size:32px;color:#aaa}.wl-collection-card:hover .wl-collection-card__cover img{transform:scale(1.04)}.wl-collection-card__name{font-size:14px;font-weight:600;color:var(---text-color);margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-collection-card__count{font-size:13px;color:#888;margin:0}.wl-collection-view__back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(---text-color);padding:0;margin-bottom:16px}.wl-collection-view__back:hover{text-decoration:underline}.wl-collection-view__title{font-size:22px;font-weight:700;color:var(---text-color);margin:0 0 24px}.wl-collection-view__loading{text-align:center;color:#888;font-size:14px;padding:40px 0}.wl-collection-view__empty{text-align:center;padding:60px 0;color:#888}.wl-collection-view__empty i{font-size:40px;display:block;margin-bottom:12px;color:#ccc}.wl-collection-view__empty p{font-size:15px;font-weight:600;color:var(---text-color);margin:0}.wl-collection-view__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.wl-room-card{position:relative}.wl-room-card__link{display:block;text-decoration:none;color:var(---text-color)}.wl-room-card__image-wrap{aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#ebebeb;margin-bottom:10px}html.dark .wl-room-card__image-wrap{background:#2a2a2a}.wl-room-card__image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.wl-room-card__link:hover .wl-room-card__image-wrap img{transform:scale(1.04)}.wl-room-card__no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.wl-room-card__no-image i{font-size:32px;color:#aaa}.wl-room-card__body{padding-right:32px}.wl-room-card__name{font-size:13px;font-weight:600;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-room-card__price{font-size:13px;margin:0}.wl-room-card__price strong{font-weight:700}.wl-room-card__price span{font-weight:400;color:#888}.wl-room-card__remove{position:absolute;top:10px;right:10px;width:34px;height:34px;border:none;background:hsla(0,0%,100%,.85);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);transition:background .15s,transform .15s;padding:0}.wl-room-card__remove i{font-size:15px;color:#ff385c;line-height:1}.wl-room-card__remove:hover{background:hsla(0,0%,100%,.97);transform:scale(1.1)}