:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg2: var(--tg-theme-secondary-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #16161a);--hint: var(--tg-theme-hint-color, #8a8a93);--accent: var(--tg-theme-button-color, #2f6bff);--accent-text: var(--tg-theme-button-text-color, #ffffff);--link: var(--tg-theme-link-color, #2f6bff);--danger: #e5484d;--ok: #2fa66a;--warn: #d98a00;--radius: 16px;--tabbar: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg2);color:var(--text)}body{font:16px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif}#root{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}.app{padding:12px 16px calc(var(--tabbar) + 24px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}h1{font-size:24px;margin:8px 0 4px;letter-spacing:-.02em}h2{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--hint);margin:24px 4px 8px;font-weight:600}p{margin:0 0 8px}.hint{color:var(--hint);font-size:14px}.center{text-align:center}.card{background:var(--bg);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card.flush{padding:0;overflow:hidden}.row{display:flex;align-items:center;gap:12px;padding:14px 16px;border:0;background:none;width:100%;text-align:left;cursor:pointer}.row+.row{border-top:1px solid var(--bg2)}.row .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);font-size:18px;flex:none}.row .grow{flex:1;min-width:0}.row .title{font-weight:500}.row .sub{color:var(--hint);font-size:14px}.row .chev{color:var(--hint)}.hero{border-radius:20px;padding:20px;margin-bottom:12px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#000),color-mix(in srgb,var(--accent) 55%,#6a2cff))}.hero .label{opacity:.8;font-size:14px}.hero .big{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:4px 0}.hero .note{opacity:.9;font-size:14px;background:#ffffff29;border-radius:10px;padding:8px 10px;margin-top:12px}.hero .note.warn{background:#ffbe3c47}.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.action{background:var(--bg);border:0;border-radius:var(--radius);padding:14px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer}.action .ico{font-size:24px}.action.primary{background:var(--accent);color:var(--accent-text)}.btn{display:block;width:100%;border:0;border-radius:14px;padding:14px 16px;font-weight:600;background:var(--accent);color:var(--accent-text);cursor:pointer}.btn.secondary{background:var(--bg2);color:var(--text)}.btn.danger{background:var(--danger);color:#fff}.btn.small{display:inline-block;width:auto;padding:8px 14px;border-radius:10px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.btns{display:flex;gap:8px}.btns .btn{flex:1}.field{display:block;margin-bottom:12px}.field>span{display:block;font-size:13px;color:var(--hint);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid transparent;background:var(--bg2);border-radius:12px;padding:12px 14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:14px}.check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--accent)}.check a{color:var(--link)}.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--bg2);color:var(--hint);white-space:nowrap}.badge.pending,.badge.invited{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.badge.approved,.badge.paid,.badge.visit_confirmed{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.badge.rejected{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.meter{height:8px;background:var(--bg2);border-radius:99px;overflow:hidden;margin:8px 0 4px}.meter>div{height:100%;background:var(--accent);border-radius:99px}.pos{color:var(--ok);font-weight:600}.neg{color:var(--danger);font-weight:600}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--bg2);display:flex;z-index:10}.tab{flex:1;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--hint);cursor:pointer}.tab .ico{font-size:22px}.tab.on{color:var(--accent);font-weight:600}.thumb{width:100%;max-height:260px;object-fit:contain;background:var(--bg2);border-radius:12px;display:block;margin:8px 0}.toast{position:fixed;left:16px;right:16px;bottom:calc(var(--tabbar) + 16px + env(safe-area-inset-bottom));background:#222;color:#fff;padding:12px 16px;border-radius:12px;z-index:20;text-align:center}.toast.err{background:var(--danger)}.spinner{width:28px;height:28px;border:3px solid var(--bg2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--hint);padding:28px 12px}.empty .ico{font-size:34px}.kv{display:flex;justify-content:space-between;gap:12px;padding:4px 0}.rules li{margin-bottom:6px}ul.rules{padding-left:20px;margin:8px 0}.lecture{display:block;text-decoration:none;color:inherit}.warnbox{background:color-mix(in srgb,var(--warn) 16%,var(--bg));border-radius:12px;padding:12px;margin-bottom:12px;font-size:14px}.chat{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.bubble{max-width:84%;padding:10px 14px;border-radius:16px;white-space:pre-wrap;font-size:15px;line-height:1.35}.bubble.bot{align-self:flex-start;background:var(--bg);border-bottom-left-radius:4px}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px}.chat-input{display:flex;gap:8px;align-items:flex-end}.chat-input textarea{flex:1;resize:none;border:1px solid transparent;background:var(--bg2);border-radius:14px;padding:12px 14px;outline:none;max-height:140px}.chat-input textarea:focus{border-color:var(--accent)}.chat-input .btn{width:auto;padding:12px 18px;flex:none}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice-row .btn{width:auto;flex:none;padding:10px 16px}
