:root{--bg: var(--tg-theme-bg-color, #000000);--bg-elevated: rgba(28, 28, 30, 1);--bg-glass: rgba(44, 44, 46, .65);--bg-glass-thick: rgba(44, 44, 46, .82);--fg: var(--tg-theme-text-color, #ffffff);--fg-secondary: rgba(235, 235, 245, .6);--fg-tertiary: rgba(235, 235, 245, .3);--hint: var(--tg-theme-hint-color, rgba(235, 235, 245, .3));--link: var(--tg-theme-link-color, #0a84ff);--accent: rgba(0, 145, 255, 1);--accent-from: rgba(0, 145, 255, 1);--accent-to: rgba(88, 86, 214, 1);--border: rgba(255, 255, 255, .08);--border-focus: rgba(0, 145, 255, .6);--card-shadow: 0 8px 32px rgba(0, 0, 0, .3);--sk-base: rgba(127, 127, 127, .08);--sk-hl: rgba(127, 127, 127, .18);--error: #ff453a;--success: #30d158;--separator: rgba(84, 84, 88, .65);--btn-lg-shadow: 1.25px 0 0 -.75px rgba(230, 230, 230, 1), -1.25px 0 0 -.75px rgba(230, 230, 230, 1), 0 8px 15px 0 rgba(0, 0, 0, .04), 0 40px 10px -40px inset rgba(17, 17, 17, 1), 0 -40px 10px -40px inset rgba(17, 17, 17, 1), 0 1px 0 0 inset rgba(38, 38, 38, 1), 0 -1px 0 0 inset rgba(38, 38, 38, 1), 0 4px .5px -4px inset rgba(153, 153, 153, 1), 0 -4px .5px -4px inset rgba(153, 153, 153, 1), -20px 0 20px -30px inset rgba(217, 217, 217, 1), 20px 0 20px -30px inset rgba(217, 217, 217, 1)}[data-theme=light]{--bg-elevated: rgba(255, 255, 255, 1);--bg-glass: rgba(255, 255, 255, .65);--bg-glass-thick: rgba(255, 255, 255, .82);--fg-secondary: rgba(60, 60, 67, .6);--fg-tertiary: rgba(60, 60, 67, .3);--border: rgba(0, 0, 0, .08);--card-shadow: 0 8px 32px rgba(0, 0, 0, .08);--sk-base: rgba(120, 120, 128, .08);--sk-hl: rgba(120, 120, 128, .18);--separator: rgba(60, 60, 67, .12)}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0}#app{min-height:100vh;display:flex;flex-direction:column;padding:20px;gap:16px}.app-header{position:relative;background:linear-gradient(135deg,var(--accent-from) 0%,var(--accent-to) 100%);color:#fff;padding:24px 20px 20px;overflow:hidden;border-radius:20px}.wind-rose{position:absolute;top:-20px;right:-20px;width:160px;height:160px;opacity:.25;animation:rose-spin 60s linear infinite}@keyframes rose-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-title{position:relative;z-index:1}.app-title h1{font-size:24px;font-weight:700;letter-spacing:-.3px;margin-bottom:0;color:#fff}.app-subtitle{font-size:13px;opacity:.85;margin-top:2px;color:#fff}.app-nav{padding:4px;background:var(--bg-glass);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);border-radius:16px;border:1px solid var(--border);position:-webkit-sticky;position:sticky;top:20px;z-index:10}.app-nav ul{display:flex;gap:4px;list-style:none;padding:0;margin:0}.app-nav li{flex:1}.nav-link{display:flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--fg-secondary);font-size:14px;font-weight:600;transition:all .25s ease}.nav-link.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #0091ff4d}#page{flex:1;animation:page-fade .3s ease-out}@keyframes page-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.glass-card{background:var(--bg-glass);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);border-radius:20px;border:1px solid var(--border);padding:20px;box-shadow:var(--card-shadow)}.profile-card{background:linear-gradient(135deg,var(--accent-from) 0%,var(--accent-to) 100%);color:#fff;border-radius:20px;padding:20px;position:relative;overflow:hidden;border:none}.profile-card:before{content:"";position:absolute;top:-30px;right:-30px;width:100px;height:100px;background:#ffffff1a;border-radius:50%}.profile-card-username{font-size:20px;font-weight:700;margin-bottom:4px;position:relative}.profile-card-meta{font-size:13px;opacity:.9;margin-bottom:12px;position:relative}.profile-card-status{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fff3;backdrop-filter:blur(8px);border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;position:relative}.profile-card-about{font-size:13px;opacity:.85;margin-top:8px;margin-bottom:4px;position:relative;line-height:1.4;max-height:2.8em;overflow:hidden}.profile-fields{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;position:relative}.hashtag{background:#ffffff26;backdrop-filter:blur(8px);padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:none;color:inherit}.status-pill:before{content:"";width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--dot-color, #888);animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 var(--dot-color)}50%{box-shadow:0 0 0 5px var(--dot-color, transparent)}}.status-pill--under_review{--dot-color: #ff9f0a}.status-pill--published{--dot-color: #30d158}.status-pill--queued{--dot-color: #0a84ff}.status-pill--deleted,.status-pill--declined{--dot-color: #ff453a}.status-pill--replaced{--dot-color: #636366}fieldset{border:none;padding:0;margin:0 0 16px;min-width:0}fieldset label,fieldset legend{display:block;font-size:13px;font-weight:600;color:var(--fg);margin-bottom:6px;letter-spacing:-.1px}fieldset small{display:block;font-size:12px;color:var(--fg-secondary);margin-top:4px}input[type=text],input[type=number],textarea,select{display:block;width:100%;padding:14px 16px;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:14px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}input[type=text]:focus,input[type=number]:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0091ff26}input::placeholder,textarea::placeholder{color:var(--fg-tertiary)}textarea{min-height:100px;resize:vertical}input[type=file]{display:block;width:100%;padding:12px 16px;background:var(--bg-elevated);border:1px dashed var(--border);border-radius:14px;color:var(--fg-secondary);font-size:14px;cursor:pointer;transition:border-color .2s}input[type=file]:hover{border-color:var(--accent)}button,[role=button],a[role=button]{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;outline:none;text-decoration:none}.btn-primary,.btn-accent,button[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;height:52px;padding:0 24px;background:#000;color:#fff;font-size:17px;font-weight:600;border-radius:calc(infinity * 1px);box-shadow:var(--btn-lg-shadow);filter:blur(0px);letter-spacing:-.2px}.btn-primary:hover,.btn-accent:hover,button[type=submit]:hover{filter:brightness(1.1)}.btn-primary:active,.btn-accent:active,button[type=submit]:active{transform:scale(.98)}.btn-small{display:flex;align-items:center;justify-content:center;gap:4px;width:66px;height:28px;padding:0 12px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;border-radius:calc(infinity * 1px)}.btn-small:hover{filter:brightness(1.1)}.btn-secondary,button.secondary,button[type=button]{display:flex;align-items:center;justify-content:center;width:100%;height:44px;padding:0 20px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--fg);font-size:15px;font-weight:500;border-radius:calc(infinity * 1px);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-glass-thick)}.branch-pill{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:calc(infinity * 1px);cursor:pointer;font-size:13px;font-weight:500;color:var(--fg-secondary);user-select:none;transition:all .2s}.branch-pill:has(input:checked){background:var(--accent);color:#fff;border-color:var(--accent)}.branch-pill input[type=checkbox]{display:none}.combobox{position:relative}.combobox-input-wrap{position:relative;display:flex;align-items:center}.combobox-input-wrap:after{content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--fg-secondary);pointer-events:none;transition:transform .2s}.combobox.open .combobox-input-wrap:after{transform:translateY(-50%) rotate(180deg)}.combobox-input{display:block;width:100%;padding:14px 40px 14px 16px;background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:14px;font-size:16px;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.combobox-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0091ff26}.combobox-input::placeholder{color:var(--fg-tertiary)}.combobox-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 40px #0006;z-index:100;padding:4px;-webkit-overflow-scrolling:touch}.combobox.open .combobox-dropdown{display:block}.combobox-item{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .15s}.combobox-item:hover,.combobox-item.highlighted{background:#ffffff14}.combobox-item-name{font-size:17px;font-weight:600;color:var(--fg);line-height:1.2}.combobox-item-region{font-size:13px;font-weight:400;color:var(--fg-secondary);line-height:1.2}.combobox-empty{padding:12px;text-align:center;color:var(--fg-secondary);font-size:14px}.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip-list .chip{font-size:13px;padding:8px 14px;line-height:1.4}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:calc(infinity * 1px);font-size:13px;font-weight:500;color:var(--fg-secondary);user-select:none;transition:all .2s}.chip .chip-region{color:var(--fg-tertiary);font-size:12px;font-weight:400}.chip .remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;margin-left:2px;border-radius:50%;background:#ffffff26;border:none;color:inherit;font-size:14px;line-height:1;cursor:pointer;transition:background .15s}.chip .remove:hover{background:#ffffff40}.chip.togglable{cursor:pointer}.chip.togglable.active{background-color:var(--accent);color:#fff;border-color:var(--accent)}.chip.togglable[class*=chip-flag-].active{background-color:transparent;color:#1a1a1a;text-shadow:0 1px 2px rgba(255,255,255,.4)}.chip.togglable.chip-flag-trans.active{background-image:linear-gradient(90deg,#5bcefa,#f5a9b8,#fff,#f5a9b8,#5bcefa)}.chip.togglable.chip-flag-femboy.active{background-image:linear-gradient(90deg,#f5a9b8,#7eb6f5)}.chip.togglable.chip-flag-twink.active{background-image:linear-gradient(90deg,#fffacd,#ffb6c1)}.chip.togglable.chip-flag-girl.active{background-image:linear-gradient(90deg,#ffb6c1,#ff69b4)}.chip.togglable.chip-flag-boy.active{background-image:linear-gradient(90deg,#87ceeb,#4169e1)}.chip.togglable.chip-flag-androgynous.active{background-image:linear-gradient(90deg,#ba55d3,#ffb6c1)}.chip.togglable.chip-flag-tomboy.active{background-image:linear-gradient(90deg,#7eb6f5,#9370db)}.chip.togglable.chip-flag-nonbinary.active{background-image:linear-gradient(90deg,#fcf434,#9c59d1)}.chip.togglable.chip-flag-genderfluid.active{background-image:linear-gradient(90deg,#ff75a2,#be18d6,#7eb6f5)}.chip.togglable.chip-flag-agender.active{background-image:linear-gradient(90deg,#b9f9c5,#d3d3d3)}button.chip,.chip[type=button]{width:auto;height:auto;padding:8px 14px;font-size:13px;font-family:inherit}.type-carousel,.branch-carousel{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0;margin-top:8px}.combobox-item--region{background:#ffffff0a}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--bg-glass-thick);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);color:var(--fg);padding:12px 20px;border-radius:calc(infinity * 1px);font-size:14px;font-weight:500;z-index:1000;box-shadow:0 8px 32px #0000004d;border:1px solid var(--border);max-width:90vw;text-align:center}.toast--visible{display:block!important;animation:toast-pop .3s ease-out}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.chart-wrap{position:relative;width:100%;margin-bottom:16px}.chart-wrap canvas{max-height:220px}.chart-wrap.chart-sm canvas{max-height:180px}.chart-title{font-size:13px;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-weight:600}.error-msg{color:var(--error);font-size:13px;margin-bottom:12px;padding:10px 14px;background:#ff453a1f;border-radius:12px}.empty-state{text-align:center;padding:40px 20px;color:var(--fg-secondary)}.empty-state-icon{font-size:48px;margin-bottom:12px;opacity:.5}article,article.card-like{background:var(--bg-glass);-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--border);border-radius:20px;box-shadow:var(--card-shadow);padding:20px}article header{padding:0;margin-bottom:16px}article header strong{font-size:18px;font-weight:700;color:var(--fg)}article footer{padding:0;margin-top:16px}.photo-grid{display:flex;gap:8px;overflow-x:auto;padding:4px 0;margin-bottom:12px;-webkit-overflow-scrolling:touch}.photo-grid--stats{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:12px;overflow:hidden}.photo-grid--stats img,.photo-grid--stats video{width:100%;aspect-ratio:1;object-fit:cover;display:block}.photo-thumb{width:80px;height:80px;flex-shrink:0;border-radius:10px;overflow:hidden;position:relative;cursor:pointer;touch-action:none}.photo-thumb img,.photo-thumb video{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}.photo-thumb .remove-photo{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:#0009;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1.5px solid rgba(255,255,255,.5);padding:0;line-height:1;z-index:2;transition:background .15s}.photo-thumb .remove-photo:hover{background:#ff3b30d9}.photo-thumb{touch-action:none}.photo-thumb.dragging{opacity:.85;box-shadow:0 8px 24px #0000002e;z-index:1000;will-change:transform;transition:none}.photo-thumb.drag-placeholder{opacity:.3;border:2px dashed var(--accent, #0091ff);border-radius:10px;background:#0091ff14}.lightbox-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer}dialog{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border);border-radius:20px;padding:0;max-width:320px;width:calc(100% - 40px);box-shadow:0 16px 48px #00000080}dialog::backdrop{background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog article{background:transparent;border:none;box-shadow:none;border-radius:0;padding:24px 20px 16px}dialog article header{margin-bottom:16px}dialog article header p{font-size:17px;font-weight:600;color:var(--fg)}dialog article footer{margin-top:16px;display:flex;gap:8px;justify-content:flex-end}dialog article footer button{flex:1;height:44px}dialog article footer .contrast,dialog article footer .confirm-modal{background:var(--accent);color:#fff;border:none}dialog article footer .contrast:hover,dialog article footer .confirm-modal:hover{filter:brightness(1.1)}dialog .close-modal{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:var(--bg-glass);color:var(--fg-secondary);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}dialog .close-modal:after{content:"✕"}#page.container-fluid{padding:0}header:has(.app-header){border-bottom:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fg-tertiary);border-radius:4px}.profile-card .photo-grid{margin-bottom:12px}#save-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000}.save-overlay-content{text-align:center;color:#fff;font-size:16px;font-weight:500}.save-spinner{width:40px;height:40px;border-radius:50%;margin:0 auto 16px;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.15) 90deg,#fff 270deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button[type=submit].is-loading{opacity:.7;pointer-events:none;position:relative}button[type=submit].is-loading:after{content:"";position:absolute;width:18px;height:18px;top:50%;left:50%;margin:-9px 0 0 -9px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.2) 90deg,#fff 270deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));animation:spin .8s linear infinite}#upload-progress{position:fixed;top:0;left:0;width:0;height:4px;background:#007aff;z-index:10001;transition:width .2s ease;display:none}#gate{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px;background:var(--bg)}.gate-card{text-align:center;max-width:340px;width:100%}.gate-icon{font-size:56px;margin-bottom:16px}.gate-card h2{font-size:22px;font-weight:600;margin:0 0 12px}.gate-card p{font-size:15px;color:var(--fg-secondary);line-height:1.5;margin:0 0 24px}.gate-card code{background:var(--bg-glass);padding:2px 6px;border-radius:4px;font-size:14px}.gate-btn{display:inline-block;padding:14px 32px;background:var(--accent);color:#fff;text-decoration:none;border-radius:12px;font-size:16px;font-weight:600;transition:opacity .15s}.gate-btn:active{opacity:.7}.gate-hint{font-size:13px!important;color:var(--hint)!important;margin-top:16px!important;margin-bottom:0!important}
