*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FDFAF9;--accent: #C4A4A0;--accent-dark: #A88884;--accent-light: #F0E8E6;--text: #2D2827;--text-muted: #8A7F7D;--surface: #FFFFFF;--border: #EDE5E3;--radius: 14px;--radius-sm: 8px;--shadow-sm: 0 1px 6px rgba(0, 0, 0, .05);--t: .15s ease;--nav-h: 58px}html,body,#root{min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.spinner{display:flex;justify-content:center;align-items:center;padding:56px 16px}.spinner__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);margin:0 4px;animation:bounce 1.4s ease-in-out infinite}.spinner__dot:nth-child(2){animation-delay:.2s}.spinner__dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.35}40%{transform:scale(1);opacity:1}}.error-msg{text-align:center;padding:48px 24px;color:var(--text-muted);font-size:14px}.home{padding:36px 16px 32px;min-height:100vh}.home__header{text-align:center;margin-bottom:32px}.home__logo{font-family:Cormorant Garamond,Georgia,serif;font-size:42px;font-weight:600;color:var(--accent);letter-spacing:-.5px;line-height:1}.home__tagline{font-size:13px;color:var(--text-muted);margin-top:6px;letter-spacing:.02em}.home__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cat-card{background:var(--surface);border-radius:var(--radius);padding:20px 16px 16px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t),box-shadow var(--t)}.cat-card:active{transform:scale(.96);box-shadow:none}.cat-card__emoji{font-size:30px;line-height:1}.cat-card__name{font-size:13px;font-weight:500;color:var(--text);line-height:1.3}.cat-card__count{font-size:11px;font-weight:500;background:var(--accent-light);color:var(--accent);padding:3px 10px;border-radius:20px;align-self:flex-start}.screen-hdr{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--accent-light);color:var(--accent-dark);flex-shrink:0;font-size:16px;-webkit-tap-highlight-color:transparent;transition:background var(--t)}.back-btn:active{background:var(--border)}.screen-hdr__title{font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:600;color:var(--text);line-height:1.2;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chips{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;scrollbar-width:none;background:var(--bg);border-bottom:1px solid var(--border)}.chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.search-wrap{padding:12px 16px 4px}.search{position:relative}.search__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;opacity:.45}.search input{width:100%;padding:10px 16px 10px 38px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-family:inherit;font-size:14px;color:var(--text);outline:none;transition:border-color var(--t)}.search input:focus{border-color:var(--accent)}.search input::placeholder{color:var(--text-muted)}.entry-list{padding:12px 16px 24px;display:flex;flex-direction:column;gap:10px}.entry-card{background:var(--surface);border-radius:var(--radius);padding:16px;border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t)}.entry-card:active{transform:scale(.98)}.entry-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.entry-card__name{font-size:15px;font-weight:500;color:var(--text);line-height:1.3}.verified-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;background:#e8f5e9;color:#2e7d32;white-space:nowrap;flex-shrink:0}.entry-card__meta{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-muted);margin-bottom:4px}.entry-card__price{font-size:13px;font-weight:500;color:var(--accent)}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 16px 32px}.pg-btn{padding:8px 20px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.pg-btn:not(:disabled):active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.pg-btn:disabled{opacity:.35;cursor:not-allowed}.pg-info{font-size:13px;color:var(--text-muted)}.entry-screen__body{padding:24px 16px 48px}.entry-screen__name{font-family:Cormorant Garamond,Georgia,serif;font-size:34px;font-weight:600;line-height:1.15;color:var(--text);margin-bottom:14px}.entry-screen__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag{font-size:12px;font-weight:500;padding:4px 12px;border-radius:20px}.tag--sub{background:var(--accent-light);color:var(--accent-dark)}.tag--verified{background:#e8f5e9;color:#2e7d32}.tag--rating{background:#fff8e1;color:#e65100}.info-block{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;margin-bottom:16px}.info-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none}.info-row__icon{font-size:16px;min-width:22px;text-align:center;margin-top:1px}.info-row__value{color:var(--text);flex:1;line-height:1.4}.desc-block{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);padding:16px;margin-bottom:20px;font-size:14px;line-height:1.65;color:var(--text)}.desc-block__title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);font-weight:500;margin-bottom:8px}.contacts{display:flex;flex-direction:column;gap:10px}.contact-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius);font-size:14px;font-weight:500;color:var(--text);background:var(--surface);border:1.5px solid var(--border);cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.contact-btn:active{background:var(--accent-light);border-color:var(--accent)}.contact-btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.contact-btn--primary:active{background:var(--accent-dark);border-color:var(--accent-dark)}.contact-btn__icon{font-size:18px}.heart-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-size:20px;color:var(--accent);background:var(--accent-light);flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform var(--t),background var(--t)}.heart-btn:active{transform:scale(.88)}.heart-btn--active{background:var(--accent);color:#fff}.app-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-shell__content{flex:1;overflow-y:auto;padding-bottom:var(--nav-h)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);display:flex;background:var(--surface);border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-muted);-webkit-tap-highlight-color:transparent;transition:color var(--t);padding-bottom:2px}.bottom-nav__tab--active{color:var(--accent)}.bottom-nav__icon-wrap{position:relative;line-height:1}.bottom-nav__icon{font-size:22px}.bottom-nav__label{font-size:10px;font-weight:500;letter-spacing:.02em}.bottom-nav__badge{position:absolute;top:-4px;right:-8px;min-width:16px;height:16px;border-radius:8px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;line-height:16px;text-align:center;padding:0 4px;pointer-events:none}.cabinet{min-height:100vh}.cabinet__profile{display:flex;align-items:center;gap:14px;padding:20px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.cabinet__avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}.cabinet__avatar--initials{display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:600}.cabinet__info{flex:1;min-width:0}.cabinet__name{font-size:17px;font-weight:600;color:var(--text)}.cabinet__username{font-size:13px;color:var(--text-muted);margin-top:2px}.cabinet__section{padding:16px}.cabinet__section-title{display:flex;align-items:center;gap:8px;font-family:Cormorant Garamond,Georgia,serif;font-size:20px;font-weight:600;color:var(--text);margin-bottom:14px}.cabinet__badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:11px;background:var(--accent-light);color:var(--accent);font-family:Inter,sans-serif;font-size:12px;font-weight:700;padding:0 6px}.cabinet__empty{text-align:center;color:var(--text-muted);font-size:14px;line-height:1.6;padding:32px 0}.fav-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t)}.fav-card:active{transform:scale(.98)}.fav-card__body{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.fav-card__photo{width:46px;height:46px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.fav-card__text{min-width:0}.fav-card__name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav-card__sub{font-size:12px;color:var(--accent);margin-top:2px}.fav-card__loc{font-size:12px;color:var(--text-muted);margin-top:2px}.compare-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;font-size:16px;font-weight:700;color:var(--accent);background:var(--accent-light);flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform var(--t),background var(--t)}.compare-btn:active{transform:scale(.88)}.compare-btn--active{background:var(--accent);color:#fff}.tools-screen{padding:36px 16px 32px;min-height:100vh}.tools-screen__header{text-align:center;margin-bottom:28px}.tool-cards{display:flex;flex-direction:column;gap:12px}.tool-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--t)}.tool-card:active{transform:scale(.98)}.tool-card__icon{font-size:32px;flex-shrink:0}.tool-card__info{flex:1;min-width:0}.tool-card__name{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text);margin-bottom:4px}.tool-card__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:10px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:0 5px}.tool-card__desc{font-size:13px;color:var(--text-muted);line-height:1.4}.tool-card__arrow{font-size:24px;color:var(--border);flex-shrink:0}.calc-screen{min-height:100vh}.calc-body{padding:16px;display:flex;flex-direction:column;gap:0}.calc-section{padding:16px;border-bottom:1px solid var(--border)}.calc-section:last-child{border-bottom:none}.calc-section__title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:6px}.calc-subtitle{font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text-muted)}.guests-row{display:flex;align-items:center;gap:12px}.guests-input{flex:1;text-align:center;padding:10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:18px;font-weight:600;color:var(--text);background:var(--surface);outline:none;transition:border-color var(--t)}.guests-input[type=range]{-webkit-appearance:none;height:6px;background:var(--border);border:none;border-radius:3px;padding:0;cursor:pointer}.guests-input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--accent);cursor:pointer}.guests-input:focus{border-color:var(--accent)}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:6px}.stepper{display:flex;align-items:center;gap:8px;flex-shrink:0}.stepper__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-light);color:var(--accent-dark);font-size:20px;font-weight:500;line-height:1;-webkit-tap-highlight-color:transparent;transition:background var(--t)}.stepper__btn:active{background:var(--accent);color:#fff}.stepper__val{min-width:32px;text-align:center;font-size:15px;font-weight:600;color:var(--text)}.drink-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.drink-row:last-child{border-bottom:none}.drink-row__emoji{font-size:22px;flex-shrink:0}.drink-row__name{flex:1;font-size:14px;color:var(--text)}.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{padding:7px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1.5px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t);white-space:nowrap}.choice-chip--active{background:var(--accent);border-color:var(--accent);color:#fff}.calc-result{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);margin-top:8px;overflow:hidden}.calc-result__row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;color:var(--text)}.calc-result__row:last-of-type{border-bottom:none}.calc-result__val{font-weight:600;color:var(--accent);white-space:nowrap;margin-left:12px}.calc-result__total{font-weight:700;font-size:15px;border-top:2px solid var(--border)!important;padding-top:12px!important}.calc-result__tip{font-size:12px;color:var(--text-muted);line-height:1.5;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.priority-mark{color:var(--accent);font-size:12px}.calc-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:40px 16px}.checklist-screen{min-height:100vh}.checklist-progress-wrap{padding:12px 16px 8px;background:var(--surface);border-bottom:1px solid var(--border)}.checklist-progress-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden}.checklist-progress-fill{height:100%;border-radius:3px;background:var(--accent);transition:width .3s ease}.checklist-progress-label{font-size:12px;color:var(--text-muted);margin-top:6px;text-align:right}.checklist-body{padding:12px 16px 32px}.checklist-category{margin-bottom:24px}.checklist-category__title{display:flex;justify-content:space-between;align-items:center;font-family:Cormorant Garamond,Georgia,serif;font-size:18px;font-weight:600;color:var(--text);margin-bottom:10px}.checklist-category__count{font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:var(--text-muted)}.checklist-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:7px;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.checklist-item--done{background:var(--accent-light);border-color:var(--accent-light)}.checklist-item--done .checklist-item__label{text-decoration:line-through;color:var(--text-muted)}.checklist-check{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--border);font-size:12px;font-weight:700;color:var(--surface);flex-shrink:0;transition:all var(--t)}.checklist-check--done{background:var(--accent);border-color:var(--accent)}.checklist-item__label{font-size:14px;color:var(--text);line-height:1.35;flex:1}.checklist-note{font-size:13px;color:var(--text-muted);background:var(--accent-light);border-radius:var(--radius-sm);padding:12px 14px;line-height:1.5;margin-top:16px}.compare-screen{min-height:100vh}.compare-clear-btn{font-size:13px;color:var(--text-muted);padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.compare-clear-btn:active{border-color:var(--accent);color:var(--accent)}.compare-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.compare-table{min-width:320px;padding:12px 0}.compare-header-row,.compare-data-row{display:grid;grid-template-columns:90px repeat(3,1fr);border-bottom:1px solid var(--border)}.compare-row-label{padding:10px 8px 10px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center}.compare-col-header{padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;border-left:1px solid var(--border)}.compare-col-empty{justify-content:center}.compare-name-btn{font-size:13px;font-weight:600;color:var(--accent-dark);text-align:center;line-height:1.3;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.compare-remove-btn{font-size:11px;color:var(--text-muted);background:var(--border);border-radius:10px;padding:2px 6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.compare-remove-btn:active{background:var(--accent);color:#fff}.compare-add-slot{font-size:12px;color:var(--accent);background:var(--accent-light);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--t)}.compare-add-slot:active{background:var(--accent);color:#fff}.compare-cell{padding:10px 8px;font-size:13px;color:var(--text);border-left:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;word-break:break-word}.compare-cell--empty{color:var(--border)}.compare-cell--contacts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.compare-contact-link{font-size:20px;text-decoration:none;-webkit-tap-highlight-color:transparent}.compare-contacts-row{align-items:flex-start}.compare-empty{display:flex;flex-direction:column;align-items:center;padding:60px 24px;text-align:center}.compare-empty__icon{font-size:56px;margin-bottom:16px}.compare-empty__title{font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:600;color:var(--text);margin-bottom:10px}.compare-empty__hint{font-size:14px;color:var(--text-muted);line-height:1.6;margin-bottom:24px}.compare-empty__btn{padding:12px 28px;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:15px;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--t)}.compare-empty__btn:active{background:var(--accent-dark)}.guide-section-screen,.guide-item-screen{padding:0 0 32px;min-height:100vh}.guide-section__header{display:flex;align-items:center;gap:12px;padding:16px 16px 12px;position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:1px solid var(--border)}.guide-section__title{font-size:18px;font-weight:700;margin:0;line-height:1.3}.guide-back-btn{font-size:22px;color:var(--text-muted);padding:4px 8px;border-radius:var(--radius-sm);flex-shrink:0;transition:background var(--t)}.guide-back-btn:active{background:var(--accent-light)}.guide-cards{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.guide-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--t);-webkit-tap-highlight-color:transparent}.guide-card:active{transform:scale(.98)}.guide-card__emoji{font-size:28px;flex-shrink:0}.guide-card__info{flex:1;min-width:0}.guide-card__title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:2px}.guide-card__preview{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-card__arrow{font-size:22px;color:var(--text-muted);flex-shrink:0}.guide-empty{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:15px}.guide-article{padding:20px 16px 40px}.guide-article__title{font-size:22px;font-weight:700;line-height:1.35;margin-bottom:20px;color:var(--text)}.guide-article__body{font-size:15px;line-height:1.75;color:var(--text)}.guide-article__body h3{font-size:17px;font-weight:700;margin:24px 0 10px;color:var(--text)}.guide-article__body p{margin-bottom:14px}.guide-article__body ul,.guide-article__body ol{padding-left:20px;margin-bottom:14px}.guide-article__body li{margin-bottom:6px}.guide-article__body b,.guide-article__body strong{font-weight:600}.guide-article__body hr{border:none;border-top:1px solid var(--border);margin:24px 0}.guide-article__body a{color:var(--accent-dark);text-decoration:underline}.guide-article__body details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;overflow:hidden}.guide-article__body summary{padding:12px 16px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.guide-article__body summary:after{content:"›"}.guide-article__body details[open] summary:after{content:"⌄"}.guide-article__body details>*:not(summary){padding:0 16px 14px}.assistant-screen{padding:0 0 80px;min-height:100vh}.assistant-hero{text-align:center;padding:32px 16px 20px;background:linear-gradient(135deg,#6c3fc5,#a055f5);color:#fff}.assistant-hero__icon{font-size:48px;margin-bottom:8px;animation:pulse-icon 2s ease-in-out infinite}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.assistant-hero__title{font-size:22px;font-weight:700;margin:0 0 6px}.assistant-hero__sub{font-size:14px;opacity:.85;margin:0;line-height:1.4}.assistant-form{padding:16px;display:flex;flex-direction:column;gap:12px}.assistant-textarea{width:100%;box-sizing:border-box;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:14px;color:var(--text);resize:vertical;min-height:96px;font-family:inherit;line-height:1.5;transition:border-color .2s}.assistant-textarea:focus{outline:none;border-color:#a055f5}.assistant-textarea:disabled{opacity:.6}.assistant-examples__label{font-size:12px;color:var(--text-muted);margin:0 0 6px}.assistant-example-btn{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;color:var(--text-muted);cursor:pointer;margin-bottom:6px;line-height:1.4;transition:background .15s,border-color .15s}.assistant-example-btn:hover{background:#f0e8ff;border-color:#a055f5;color:#6c3fc5}.assistant-generate-btn{background:linear-gradient(135deg,#6c3fc5,#a055f5);color:#fff;border:none;border-radius:var(--radius-sm);padding:14px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}.assistant-generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.assistant-generate-btn:not(:disabled):active{transform:scale(.97)}.assistant-error{background:#fff0f0;border:1px solid #ffc0c0;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;color:#c0392b}.assistant-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;color:var(--text-muted);font-size:14px}.assistant-loading__dots{display:flex;gap:6px}.assistant-loading__dots span{width:10px;height:10px;background:#a055f5;border-radius:50%;animation:bounce-dot 1.2s ease-in-out infinite}.assistant-loading__dots span:nth-child(2){animation-delay:.2s}.assistant-loading__dots span:nth-child(3){animation-delay:.4s}@keyframes bounce-dot{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-8px);opacity:1}}.assistant-result{padding:0 16px 16px;display:flex;flex-direction:column;gap:20px}.assistant-summary{background:#f4edff;border:1px solid #d6b5ff;border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;color:#5a2fa0;display:flex;gap:8px;align-items:flex-start;line-height:1.5}.assistant-summary__icon{font-size:16px;flex-shrink:0;margin-top:1px}.assistant-section__title{font-size:16px;font-weight:700;margin:0 0 12px;color:var(--text)}.assistant-roadmap{display:flex;flex-direction:column;gap:0;position:relative}.roadmap-step{display:flex;gap:12px;position:relative;padding-bottom:16px}.roadmap-step:before{content:"";position:absolute;left:68px;top:20px;bottom:0;width:2px;background:#e0d0ff}.roadmap-step:last-child:before{display:none}.roadmap-step__month{flex-shrink:0;width:72px;font-size:11px;font-weight:600;color:#a055f5;text-align:right;padding-top:2px;line-height:1.3}.roadmap-step__task{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;color:var(--text);line-height:1.4;flex:1;position:relative}.roadmap-step__task:before{content:"";position:absolute;left:-6px;top:10px;width:10px;height:10px;border-radius:50%;background:#a055f5;border:2px solid #fff;box-shadow:0 0 0 2px #a055f5}.assistant-contractors{display:flex;flex-direction:column;gap:10px}.assistant-contractor-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;cursor:pointer;text-align:left;width:100%;transition:background .15s,border-color .15s}.assistant-contractor-card:active{background:#f4edff;border-color:#a055f5}.assistant-contractor-card__photo{width:56px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0}.assistant-contractor-card__photo--empty{display:flex;align-items:center;justify-content:center;background:#f0e8ff;font-size:22px}.assistant-contractor-card__info{flex:1;min-width:0}.assistant-contractor-card__name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-contractor-card__sub{font-size:12px;color:#a055f5;margin-top:2px}.assistant-contractor-card__loc{font-size:12px;color:var(--text-muted);margin-top:3px}.assistant-contractor-card__price{font-size:12px;font-weight:500;color:var(--text);margin-top:3px}.assistant-contractor-card__arrow{font-size:20px;color:var(--text-muted);flex-shrink:0}.assistant-reset-btn{background:transparent;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-size:14px;color:var(--text-muted);cursor:pointer;text-align:center;width:100%}.assistant-reset-btn:active{background:var(--surface)}.onboarding{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,#1a0533,#2d0a5e,#1a0533);color:#fff}.onboarding__top{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px 32px;text-align:center}.onboarding__hearts{font-size:56px;margin-bottom:16px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding__title{font-size:28px;font-weight:800;margin:0 0 12px;line-height:1.2}.onboarding__sub{font-size:15px;opacity:.75;margin:0;line-height:1.5}.onboarding__form{background:#fff;border-radius:24px 24px 0 0;padding:28px 20px 32px;display:flex;flex-direction:column;gap:16px}.onboarding__field{display:flex;flex-direction:column;gap:6px}.onboarding__label{font-size:13px;font-weight:600;color:var(--text-muted)}.onboarding__input{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:13px 14px;font-size:15px;color:var(--text);font-family:inherit;width:100%;box-sizing:border-box;transition:border-color .2s}.onboarding__input:focus{outline:none;border-color:#a055f5}.onboarding__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.onboarding__error{font-size:13px;color:#e53935;padding:2px 0}.onboarding__btn{background:linear-gradient(135deg,#6c3fc5,#a055f5);color:#fff;border:none;border-radius:var(--radius-sm);padding:15px;font-size:16px;font-weight:700;cursor:pointer;margin-top:4px;transition:opacity .2s,transform .1s}.onboarding__btn:disabled{opacity:.45;cursor:not-allowed}.onboarding__btn:not(:disabled):active{transform:scale(.97)}.onboarding__skip{background:transparent;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:4px;text-align:center}.countdown{margin:12px 12px 0;background:linear-gradient(135deg,#6c3fc5,#a055f5);border-radius:16px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;color:#fff;cursor:pointer;transition:transform .15s}.countdown:active{transform:scale(.98)}.countdown--soon{background:linear-gradient(135deg,#e67e22,#f39c12)}.countdown--urgent{background:linear-gradient(135deg,#c0392b,#e74c3c)}.countdown__label{font-size:11px;opacity:.8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.countdown__days{font-size:26px;font-weight:800;line-height:1;margin-bottom:4px}.countdown__meta{font-size:12px;opacity:.75}.countdown__icon{font-size:36px;opacity:.9}.home__welcome{margin:12px 12px 0;background:var(--surface);border:1.5px dashed var(--border);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer}.home__welcome-icon{font-size:24px}.home__welcome-title{font-size:14px;font-weight:600;color:var(--text)}.home__welcome-sub{font-size:12px;color:var(--text-muted);margin-top:2px}.home__welcome-arrow{font-size:22px;color:var(--text-muted);margin-left:auto}.home__quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 12px 0}.quick-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 4px;cursor:pointer;transition:background .15s,transform .1s}.quick-btn:active{background:#f0e8ff;transform:scale(.95)}.quick-btn__icon{font-size:22px}.quick-btn__label{font-size:11px;color:var(--text-muted);font-weight:500;white-space:nowrap}.home__section-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:14px 16px 6px}.cabinet__wedding{margin:0 12px 12px;background:linear-gradient(135deg,#6c3fc5,#a055f5);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;cursor:pointer;color:#fff}.cabinet__wedding--empty{background:var(--surface);border:1.5px dashed var(--border);color:var(--text)}.cabinet__wedding--empty .cabinet__wedding-title{color:var(--text)}.cabinet__wedding--empty .cabinet__wedding-date{color:var(--text-muted)}.cabinet__wedding-info{display:flex;align-items:center;gap:12px;flex:1}.cabinet__wedding-icon{font-size:28px}.cabinet__wedding-title{font-size:12px;opacity:.8;margin-bottom:2px}.cabinet__wedding-date{font-size:14px;font-weight:600}.cabinet__wedding-days{font-size:12px;opacity:.75;margin-top:2px}.cabinet__wedding-edit{background:#fff3;border:none;border-radius:8px;padding:6px 8px;font-size:14px;cursor:pointer;flex-shrink:0}.share-btn{background:transparent;border:none;font-size:18px;padding:4px 6px;cursor:pointer;border-radius:8px;transition:background .15s;line-height:1}.share-btn:active{background:var(--accent-light)}.assistant-share-btn{width:100%;background:#fff;border:1.5px solid #a055f5;border-radius:var(--radius-sm);padding:13px;font-size:15px;font-weight:600;color:#a055f5;cursor:pointer;transition:background .15s}.assistant-share-btn:active{background:#f4edff}.cabinet__notif-toggle{background:#ffffff26;border:none;border-radius:8px;padding:5px 8px;font-size:14px;cursor:pointer;opacity:.6}.cabinet__notif-toggle--on{opacity:1}
