:root{--bg: var(--tg-theme-bg-color, #ffffff);--text: var(--tg-theme-text-color, #1a1a1a);--hint: var(--tg-theme-hint-color, #8a8a8a);--link: var(--tg-theme-link-color, #2d7ff9);--button: var(--tg-theme-button-color, #2d7ff9);--button-text: var(--tg-theme-button-text-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f2f2f7)}*{box-sizing:border-box}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}body{margin:0;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.container{max-width:640px;margin:0 auto;padding:12px 16px calc(80px + env(safe-area-inset-bottom))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:var(--bg);border-top:1px solid color-mix(in srgb,var(--hint) 25%,transparent);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--hint);font-size:11px;padding:4px 0;cursor:pointer;transition:color .15s}.nav-item.active{color:var(--link)}.nav-item svg{display:block}.back{background:none;border:none;color:var(--link);font-size:15px;padding:8px 0;cursor:pointer}.card{display:block;width:100%;text-align:left;background:var(--secondary-bg);border:none;border-radius:12px;padding:14px 16px;margin-bottom:10px;color:inherit;cursor:pointer;transition:opacity .15s;animation:fade-in .18s ease both}.card:active{opacity:.7}.card-title{font-size:16px;font-weight:600}.card-sub{font-size:13px;color:var(--hint);margin-top:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.badge{font-size:13px;font-weight:600;white-space:nowrap}.badge.owned{color:#34c759}.pill{display:inline-block;font-size:12px;color:var(--hint);background:var(--bg);border-radius:8px;padding:2px 8px;margin-right:6px}.buy-btn{width:100%;background:var(--button);color:var(--button-text);border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;transition:opacity .2s,background .2s}.buy-btn:disabled{opacity:.55}@keyframes btn-unlock{0%{transform:scale(.95);opacity:.5}65%{transform:scale(1.03)}to{transform:scale(1);opacity:1}}.btn-unlocked{animation:btn-unlock .32s cubic-bezier(.34,1.56,.64,1) both}.btn-add{background:var(--button);color:var(--button-text);border:none;border-radius:10px;padding:7px 16px;font-size:14px;font-weight:600;cursor:pointer}.muted{color:var(--hint);font-size:14px}.state{text-align:center;padding:48px 16px;color:var(--hint)}h1{font-size:22px;margin:8px 0 16px}.search-input{width:100%;border:none;border-radius:12px;background:var(--secondary-bg);color:var(--text);font-size:16px;padding:12px 14px;margin:8px 0 12px;outline:none}.search-input::placeholder{color:var(--hint)}.scope-toggle{display:inline-flex;background:var(--secondary-bg);border-radius:10px;padding:3px;margin-bottom:12px}.scope-toggle button{border:none;background:none;color:var(--hint);font-size:13px;padding:6px 12px;border-radius:8px;cursor:pointer}.scope-toggle button.active{background:var(--bg);color:var(--text);font-weight:600}.topic-select-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:12px;border:none;background:var(--secondary-bg);color:var(--text);font-size:15px;cursor:pointer;margin-bottom:4px;text-align:left}.topic-select-arrow{font-size:11px;color:var(--hint);margin-left:8px;flex-shrink:0}.topic-dropdown{background:var(--secondary-bg);border-radius:12px;overflow:hidden;margin-top:4px}.topic-search{width:100%;border:none;border-bottom:1px solid var(--secondary-bg);background:var(--bg);color:var(--text);font-size:14px;padding:10px 14px;outline:none;box-sizing:border-box}.topic-search::placeholder{color:var(--hint)}.topic-list{max-height:260px;overflow-y:auto}.topic-option{display:block;width:100%;text-align:left;padding:11px 14px;border:none;background:none;color:var(--text);font-size:14px;cursor:pointer}.topic-option:hover{background:var(--secondary-bg)}.topic-option.active{color:var(--button);font-weight:600}.topic-empty{padding:12px 14px;color:var(--hint);font-size:14px}mark{background:#ffd60066;color:inherit;border-radius:3px;padding:0 1px}h2{font-size:18px;margin:4px 0 2px}.profile-account-card{display:flex;align-items:center;gap:12px}.profile-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-avatar-initials{background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.profile-account-info{min-width:0;flex:1}.profile-menu-row{display:flex;align-items:center;gap:10px;width:100%;background:var(--card);border:none;border-radius:var(--radius);padding:14px 16px;margin-top:8px;cursor:pointer;color:var(--text);transition:opacity .15s;font-size:15px;text-align:left}.profile-menu-icon{font-size:20px;line-height:1;flex-shrink:0}.profile-menu-label{flex:1;font-weight:500}.profile-menu-chevron{color:var(--muted);font-size:18px;line-height:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;z-index:200;animation:fade-in .18s ease both}.modal-sheet{background:var(--bg);border-radius:20px 20px 0 0;padding:20px 16px calc(24px + env(safe-area-inset-bottom));width:100%;max-height:80dvh;overflow-y:auto;animation:slide-up .22s cubic-bezier(.32,.72,0,1) both}@keyframes slide-up{0%{transform:translateY(60px);opacity:.6}to{transform:translateY(0);opacity:1}}.support-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.support-form-title{font-size:17px;font-weight:600}.support-x-btn{background:none;border:none;font-size:18px;color:var(--hint);cursor:pointer;padding:4px;line-height:1}.support-back-btn{background:none;border:none;font-size:22px;color:var(--link);cursor:pointer;padding:0 4px;line-height:1;width:28px;text-align:left}.support-type-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.support-type-btn{border:1px solid color-mix(in srgb,var(--hint) 30%,transparent);background:none;color:var(--hint);border-radius:20px;padding:5px 12px;font-size:13px;cursor:pointer}.support-type-btn.active{border-color:var(--button);background:var(--button);color:var(--button-text);font-weight:600}.support-textarea{width:100%;border:1px solid color-mix(in srgb,var(--hint) 20%,transparent);border-radius:10px;background:var(--secondary-bg);color:var(--text);font-size:15px;padding:10px 12px;outline:none;resize:none;font-family:inherit;box-sizing:border-box}.support-textarea::placeholder{color:var(--hint)}.support-error{color:#ff3b30;font-size:13px;margin-top:6px}.support-sent{font-size:15px;text-align:center;padding:12px 0;margin-bottom:12px}.support-close-btn{width:100%;background:none;border:1px solid color-mix(in srgb,var(--hint) 30%,transparent);border-radius:10px;padding:10px;font-size:15px;color:var(--link);cursor:pointer}.support-ticket-card.unread{border-left:3px solid var(--button)}.support-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--button);flex-shrink:0}.support-status-badge{font-size:12px;padding:3px 8px;border-radius:10px;white-space:nowrap;font-weight:600}.support-status-badge.status-open{background:color-mix(in srgb,#ff9500 15%,transparent);color:#ff9500}.support-status-badge.status-in_progress{background:color-mix(in srgb,var(--link) 15%,transparent);color:var(--link)}.support-status-badge.status-resolved{background:color-mix(in srgb,#34c759 15%,transparent);color:#34c759}.support-chat{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:52vh;overflow-y:auto;overscroll-behavior:contain}.support-bubble{max-width:80%;padding:10px 14px;border-radius:14px}.bubble-user{align-self:flex-start;background:var(--secondary-bg)}.bubble-admin{align-self:flex-end;background:var(--button);color:var(--button-text)}.bubble-text{font-size:15px;white-space:pre-wrap;word-break:break-word}.bubble-time{font-size:11px;margin-top:4px;opacity:.6}.support-reply-row{display:flex;flex-direction:column}.support-status-btn{width:100%;background:none;border:1px solid color-mix(in srgb,var(--hint) 30%,transparent);border-radius:10px;padding:10px;font-size:14px;color:var(--text);cursor:pointer}.nav-badge{position:absolute;top:-4px;right:-6px;background:#ff3b30;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 4px;min-width:16px;text-align:center;line-height:14px}.tab-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;background:#ff3b30;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 5px;min-width:16px;line-height:14px;vertical-align:middle}.support-btn-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;background:#ff3b30;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 5px;min-width:16px;line-height:14px}.chat-student .bubble-self{align-self:flex-end;background:var(--accent);color:#fff;border-radius:16px 16px 4px}.chat-student .bubble-other{align-self:flex-start;background:var(--card);color:var(--text);border-radius:16px 16px 16px 4px}.stars-banner{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;border:none;border-radius:14px;text-align:left;cursor:pointer;background:linear-gradient(135deg,#fff6d8,#ffe9b0);color:#4a3a05;transition:transform .12s ease,box-shadow .12s ease}.stars-banner:active{transform:scale(.99)}.stars-banner-strong{background:linear-gradient(135deg,#ffd978,#ffbf3c);color:#3d2f00;box-shadow:0 4px 14px #ffaa004d}.stars-banner-icon{font-size:22px;line-height:1;flex-shrink:0}.stars-banner-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.stars-banner-title{font-size:15px;font-weight:600}.stars-banner-text{font-size:13px;opacity:.75}.stars-banner-chevron{font-size:20px;opacity:.45;flex-shrink:0}.stars-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.stars-sheet-title{margin:0;font-size:19px;font-weight:700}.stars-tip{display:flex;gap:12px;padding:14px;border-radius:14px;background:var(--secondary-bg, #f4f4f5)}.stars-tip-icon{font-size:24px;line-height:1.1;flex-shrink:0}.stars-tip-title{font-size:15px;font-weight:600;margin-bottom:4px}.stars-tip-text{font-size:14px;line-height:1.45;color:var(--hint, #8a8a8a)}.stars-divider{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:13px;color:var(--hint, #8a8a8a)}.stars-divider:before,.stars-divider:after{content:"";flex:1;height:1px;background:var(--hint, #8a8a8a);opacity:.25}.stars-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.stars-link-btn{width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--link, #2d7ff9);background:transparent;color:var(--link, #2d7ff9);font-size:15px;font-weight:600;cursor:pointer}.stars-tip-featured{background:linear-gradient(135deg,#fff6d8,#ffeab4);border:1px solid rgba(255,170,0,.35);color:#4a3a05}.stars-tip-featured .stars-tip-text{color:#6b5416}.stars-tip-head{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.stars-tip-head .stars-tip-title{margin-bottom:0}.stars-badge{padding:2px 8px;border-radius:999px;background:#f5a524;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.stars-note{margin:8px 0 0;font-size:12px;color:var(--hint, #8a8a8a)}.secondary-btn{flex:1;background:var(--secondary-bg);color:var(--link);border:none;border-radius:12px;padding:12px;font-size:15px;font-weight:600;cursor:pointer}.secondary-btn:disabled{opacity:.55}.secondary-btn.wide{width:100%;margin-top:12px}.action-row{display:flex;gap:8px;margin-top:10px}.price-old{opacity:.6;font-weight:400}.discount-note{margin:6px 0 0;font-size:13px;color:#1f9d55;text-align:center}.discount-tag{margin-left:8px;padding:2px 8px;border-radius:8px;background:#1f9d551f;color:#1f9d55;font-size:13px;font-weight:600}.share-note{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--secondary-bg);line-height:1.5;font-size:14px}.welcome-banner{position:relative;display:block;width:100%;margin-bottom:12px;padding:12px 36px 12px 14px;border:none;border-radius:14px;background:linear-gradient(135deg,#dff7e8,#bdeccf);color:#11502c;font-size:14px;text-align:left;cursor:pointer;animation:fade-in .25s ease both}.welcome-banner-x{position:absolute;right:12px;top:50%;transform:translateY(-50%);opacity:.6}@property --channel-banner-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes channel-banner-spin{to{--channel-banner-angle: 360deg}}.channel-banner{--ring: color-mix(in srgb, var(--button) 22%, transparent);display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:14px;border:2px solid transparent;border-radius:16px;background:linear-gradient(var(--secondary-bg),var(--secondary-bg)) padding-box,conic-gradient(from var(--channel-banner-angle),var(--ring) 0deg 200deg,var(--button) 280deg,#fe226d 320deg,var(--ring) 360deg) border-box;animation:fade-in .25s ease both,channel-banner-spin 4s linear infinite}.channel-banner-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px}.channel-banner-desc{margin:0;color:var(--hint);font-size:14px;line-height:1.4}.channel-banner-open{width:100%;min-height:44px;border:none;border-radius:12px;background:var(--button);color:var(--button-text);font-weight:600;font-size:15px;cursor:pointer}.channel-banner-open:active{transform:scale(.98)}.channel-banner-x{flex:none;width:32px;height:32px;margin:-6px -6px -6px 0;border:none;border-radius:8px;background:none;color:var(--hint);font-size:15px;cursor:pointer}@media (prefers-reduced-motion: reduce){.channel-banner{animation:fade-in .25s ease both}}.invite-row{background:linear-gradient(135deg,#fff6d8,#ffe9b0);color:#4a3a05}.invite-hero-title{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:18px;font-weight:700;margin-bottom:10px}.tier-progress{height:8px;border-radius:4px;background:#7f7f7f2e;overflow:hidden;margin-bottom:6px}.tier-progress-bar{height:100%;border-radius:4px;background:var(--button);transition:width .4s ease}.invite-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border-radius:12px;background:var(--secondary-bg);font-size:14px;cursor:pointer}.invite-link>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.friends-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:12px;background:var(--secondary-bg);text-align:center;font-size:12px}.friends-stats b{font-size:20px}.tier-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;margin-bottom:6px;background:var(--secondary-bg)}.tier-row.active{outline:2px solid var(--button)}.link-btn{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer}.toast-pill{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:1000;max-width:calc(100% - 32px);padding:9px 16px;border:none;border-radius:999px;background:var(--text);color:var(--bg);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 16px #0000002e;cursor:pointer;animation:toast-in .22s ease both}.toast-pill.done{background:#1f9d55;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.crash-screen{padding:22vh 16px 24px;text-align:center}.crash-emoji{font-size:48px}.crash-screen h2{margin:12px 0 8px}.crash-hint{color:var(--hint);margin:0 0 8px}.pdf-row{display:flex;align-items:center;gap:10px;margin:-4px 0 12px}.pdf-row .secondary-btn{flex:0 0 auto;padding:8px 14px;font-size:14px}.sales-bars{display:flex;align-items:flex-end;gap:3px;height:90px;margin-top:12px}.sales-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.sales-bar-fill{width:100%;min-height:2px;background:var(--button);border-radius:3px 3px 0 0}.sales-bar-label{font-size:10px;color:var(--hint);margin-top:2px}.order-points{margin:10px 0 0;padding-left:0;list-style:none;display:grid;gap:4px}.order-field{display:block;margin-bottom:12px}.order-field .muted{display:block;margin-bottom:4px;font-size:14px}.order-field select,.order-field textarea{width:100%;font:inherit;resize:vertical}.order-hint{font-size:13px;margin-top:10px}.order-copy{color:var(--link);text-decoration:underline}.order-field .search-input{margin:0}.order-preview{background:var(--secondary-bg);border-radius:12px;padding:10px 14px;margin:4px 0}.order-preview-label{font-size:13px;margin-bottom:4px}.order-preview-text{white-space:pre-wrap;font-size:14px}.order-copied{font-size:14px;margin-top:10px;color:var(--text)}.admin-tabs{flex-wrap:wrap;margin-bottom:16px}.subtabs{margin:0 0 14px}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}@media (min-width: 560px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.kpi-card{background:var(--secondary-bg);border-radius:12px;padding:10px 12px;min-width:0}.kpi-card.accent{outline:2px solid var(--button);outline-offset:-2px}.kpi-label{font-size:12px;color:var(--hint)}.kpi-value{font-size:22px;font-weight:700;margin:2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-hint{font-size:12px;color:var(--hint)}.kpi-inbox{width:100%;text-align:left;margin-bottom:12px}.tech-section{background:var(--secondary-bg);border-radius:12px;padding:10px 12px;margin-bottom:24px}.tech-section summary{cursor:pointer;font-weight:600}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card.unread{border-left:3px solid var(--button)}.order-chip{flex-shrink:0;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap;background:var(--secondary-bg);color:var(--hint)}.order-chip-new{background:#2d7ff926;color:#2d7ff9}.order-chip-in_progress{background:#f5a6232e;color:#c77d00}.order-chip-done{background:#30a46c29;color:#30a46c}.order-chip-cancelled{background:#e5484d1f;color:#e5484d}.order-mine-link{width:100%;text-align:left;margin-bottom:12px}.order-status-line{margin-top:8px;font-size:14px;line-height:1.4}.order-urgent{color:#e5484d!important}.order-hit{border:1px solid #30a46c}.order-mode-note{font-size:14px}.order-condition{white-space:pre-wrap;font-size:14px;line-height:1.45}.order-photos{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}.order-photo{position:relative;width:88px;height:88px;border-radius:10px;overflow:hidden;background:var(--secondary-bg)}.order-photo img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.order-photo-big{width:100%;height:auto}.order-photo-big img{height:auto;object-fit:contain}.order-photo-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border:0;border-radius:50%;background:#0000008c;color:#fff;font-size:12px;cursor:pointer}.order-photo-add{display:flex;align-items:center;justify-content:center;border:1px dashed var(--hint);color:var(--link);font-size:14px;cursor:pointer}.order-img-loading{width:100%;height:100%;min-height:60px;background:var(--secondary-bg)}.order-img-fail{font-size:12px;padding:6px}.order-solution{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.order-chat{max-height:360px;overflow-y:auto;margin-bottom:8px}.order-add-photo{display:inline-block;margin-bottom:12px;cursor:pointer}.order-msg{font-size:14px;margin:8px 0}.order-counter{font-size:12px;align-self:flex-end}.order-cancel{color:#e5484d!important;margin-top:12px}.order-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0}.order-actions .buy-btn{margin-top:0}.order-picker{display:flex;flex-direction:column;gap:8px;margin:12px 0}.order-quick{display:flex;flex-wrap:wrap;gap:12px}.order-danger{background:#e5484d!important}.order-chat .bubble-self{align-self:flex-end;background:var(--button);color:var(--button-text);border-radius:16px 16px 4px}.order-chat .bubble-other{align-self:flex-start;background:var(--secondary-bg);color:var(--text);border-radius:16px 16px 16px 4px}.order-chat .bubble-self .bubble-time{color:var(--button-text);opacity:.75}
