:root{--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8f98);--link:var(--tg-theme-link-color,#2481cc);--button:var(--tg-theme-button-color,#2481cc);--button-text:var(--tg-theme-button-text-color,#fff);--secondary-bg:var(--tg-theme-secondary-bg-color,#f0f2f5);--section-bg:var(--tg-theme-section-bg-color,var(--bg));--separator:var(--tg-theme-section-separator-color,#7f7f7f2e);--accent:var(--tg-theme-accent-text-color,var(--link));--destructive:var(--tg-theme-destructive-text-color,#e5484d);--subtitle:var(--tg-theme-subtitle-text-color,var(--hint));--section-header:var(--tg-theme-section-header-text-color,var(--hint));--radius:14px;--gutter:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:var(--tg-theme-bg-color,#17212b);--text:var(--tg-theme-text-color,#f5f5f5);--hint:var(--tg-theme-hint-color,#8b98a5);--secondary-bg:var(--tg-theme-secondary-bg-color,#0e1621);--section-bg:var(--tg-theme-section-bg-color,#17212b)}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--secondary-bg);color:var(--text);margin:0;padding:0;font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow-x:hidden}a{color:var(--link);text-decoration:none}h1{margin:4px 0 12px;font-size:22px}h2{margin:20px 0 8px;font-size:17px}p{margin:6px 0}.app{min-height:100vh;padding:12px var(--gutter) 24px;max-width:720px;margin:0 auto}.app.with-tabs{padding-bottom:84px}.hint{color:var(--hint)}.small{font-size:13px}.link{color:var(--link)}.danger{color:var(--destructive)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:10px;display:flex}.mt{margin-top:12px}.center{text-align:center}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--section-header);margin:18px 4px 6px;font-size:12px}.card{background:var(--section-bg);color:var(--text);border-radius:var(--radius);margin-bottom:10px;padding:14px;display:block}a.card:active{opacity:.8}.list{background:var(--section-bg);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.list-item{color:var(--text);border-bottom:1px solid var(--separator);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.list-item:last-child{border-bottom:0}.list-item .grow{flex:1;min-width:0}.list-item .chev{color:var(--hint)}.list-item.unread{background:color-mix(in srgb, var(--button) 9%, transparent)}.btn{font:inherit;background:var(--button);color:var(--button-text);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;padding:12px 16px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.secondary{background:color-mix(in srgb, var(--button) 14%, transparent);color:var(--button)}.btn.danger{background:color-mix(in srgb, var(--destructive) 14%, transparent);color:var(--destructive)}.btn.small{width:auto;padding:8px 12px;font-size:14px}.btn-row{gap:8px;display:flex}.btn-row .btn{flex:1}.badge{white-space:nowrap;background:var(--secondary-bg);border-radius:999px;padding:3px 8px;font-size:12px;display:inline-block}.pill{background:var(--secondary-bg);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.pill.accent{background:color-mix(in srgb, var(--button) 18%, transparent);color:var(--button)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--separator);background:var(--section-bg);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 12px;font-size:14px}.chip.on{background:var(--button);color:var(--button-text);border-color:var(--button)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>label{color:var(--hint);padding:0 4px;font-size:13px}.input,textarea.input,select.input{border:1px solid var(--separator);background:var(--section-bg);width:100%;color:var(--text);font:inherit;border-radius:12px;outline:none;padding:11px 12px}.input:focus{border-color:var(--button)}textarea.input{resize:vertical;min-height:90px}.counter{color:var(--hint);align-self:flex-end;font-size:12px}.stepper{align-items:center;gap:12px;display:flex}.stepper button{background:var(--secondary-bg);width:38px;height:38px;color:var(--text);border:0;border-radius:50%;font-size:20px}.toggle{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.toggle:last-child{border-bottom:0}.switch{flex:none;width:46px;height:28px;position:relative}.switch input{opacity:0;width:0;height:0}.switch span{background:var(--separator);border-radius:999px;transition:all .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:all .2s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--button)}.switch input:checked+span:before{transform:translate(18px)}.listing-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.listing-date{font-weight:600}.listing-time{color:var(--subtitle);font-size:14px}.listing-meta{margin-top:6px;font-size:14px}.listing-event{margin-top:6px;font-weight:500}.listing-text{white-space:pre-wrap;word-break:break-word;margin:6px 0 0}.listing-req{margin-top:8px}.clamp{-webkit-line-clamp:2;line-clamp:2;color:var(--subtitle);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.listing-foot{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.user-line{color:var(--text);align-items:center;gap:10px;display:flex}.avatar{background:color-mix(in srgb, var(--button) 20%, transparent);width:40px;height:40px;color:var(--button);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.user-line-name{font-weight:500}.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px;display:grid}.stat{background:var(--section-bg);border-radius:var(--radius);padding:12px}.stat b{font-size:22px;display:block}.stat span{color:var(--hint);font-size:13px}.stars{justify-content:center;gap:6px;margin:12px 0;display:flex}.star{color:var(--separator);cursor:pointer;background:0 0;border:0;padding:0;font-size:40px;line-height:1}.star.on{color:#f5b301}.stars-static span{color:var(--separator)}.stars-static span.on{color:#f5b301}.state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 0;display:flex}.empty{text-align:center;padding:36px 16px}.empty-icon{font-size:44px}.empty-title{margin-top:8px;font-weight:600}.spinner{border:3px solid var(--separator);border-top-color:var(--button);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;display:inline-block}.spinner.small{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.tabs{background:var(--section-bg);border-top:1px solid var(--separator);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--hint);flex-direction:column;align-items:center;gap:2px;min-width:56px;font-size:11px;display:flex}.tab span{font-size:20px;position:relative}.tab.on{color:var(--button)}.dot{background:var(--destructive);color:#fff;border-radius:8px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-style:normal;display:grid;position:absolute;top:-4px;right:-12px}.bottom-bar{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(transparent, var(--secondary-bg) 30%);gap:8px;display:flex;position:sticky;bottom:0}.bottom-bar .btn{flex:1}.segmented{background:var(--section-bg);border-radius:12px;margin-bottom:12px;padding:3px;display:flex;overflow-x:auto}.segmented button{color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:8px 10px;font-size:14px}.segmented button.on{background:var(--button);color:var(--button-text)}.kv{grid-template-columns:auto 1fr;gap:6px 12px;display:grid}.kv dt{color:var(--hint)}.kv dd{word-break:break-word;margin:0}.review{border-bottom:1px solid var(--separator);padding:10px 0}.review:last-child{border-bottom:0}.sentinel{height:1px}.banner{background:color-mix(in srgb, var(--button) 12%, transparent);border-radius:var(--radius);margin-bottom:10px;padding:12px 14px}.banner.warn{background:#f5b3012e}.banner.danger{background:color-mix(in srgb, var(--destructive) 14%, transparent)}
