Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/improsocial/impro
An extensible Bluesky client for web impro.social
Something went wrong. Try again.
CSS
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162/* @chunk base */:root { color-scheme: light dark;}
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent;}
button { color: inherit; font-family: inherit;}
button:disabled { opacity: 0.5; cursor: default;}
html,body,#app-root { height: 100%;}
@media (min-width: 800px) { :focus-visible { outline: 2px solid var(--primary-button-color); outline-offset: 2px; }}
@media (hover: none) and (pointer: coarse) { :focus, :focus-visible { outline: none; }}
:is( textarea, input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"], input[type="number"]):focus { outline: 1px solid var(--highlight-color); outline-offset: -1px;}
html { /* colors */ --white: #ffffff; --black: #000000; --less-white: #fcfcfc; --off-white: rgb(241, 243, 245); --dark-gray: #1a1a1a; --mid-gray: #262626; --gray: #292929; --light-gray: #404040; --mid-light-gray: #656565; --lighter-gray: #d0d0d0; --lightest-gray: #f3f3f3; --blue: #418af7; --purple: #9054f9; --pink: #df4074; --red: #d81316; --red-muted: #ff4949; --yellow: #e6a817; --muted-gray-light: #666; --muted-gray-dark: #999; --disabled-gray: #464646;
/* theme colors */ --background-color: light-dark(var(--less-white), var(--dark-gray)); --background-color-secondary: light-dark( var(--lightest-gray), var(--mid-gray) ); --text-color: light-dark(var(--dark-gray), var(--off-white)); --text-color-muted: light-dark( var(--muted-gray-light), var(--muted-gray-dark) ); --text-color-secondary: light-dark(var(--gray), var(--lighter-gray)); --generic-border-color: light-dark(var(--lighter-gray), var(--light-gray)); --text-input-background-color: light-dark(var(--off-white), var(--gray)); --post-hover-color: light-dark(var(--lightest-gray), var(--mid-gray)); --callout-color: light-dark(var(--lightest-gray), var(--mid-gray)); --skeleton-color: light-dark(var(--lighter-gray), var(--gray)); --context-menu-background-color: light-dark(var(--white), var(--mid-gray)); --context-menu-item-hover-color: light-dark( var(--off-white), var(--light-gray) ); --post-action-icon-color: light-dark( var(--mid-light-gray), var(--text-color-muted) );
--highlight-color: var(--blue); --highlight-color-tint: color-mix( in srgb, var(--highlight-color) 8%, var(--background-color) ); --highlight-color-tint-hover: var(--post-hover-color);
--text-link-color: var(--highlight-color); --like-color: var(--pink); --error-color: var(--red-muted); --error-subtle-color: color-mix(in srgb, var(--error-color) 12%, transparent); --error-subtle-hover-color: color-mix( in srgb, var(--error-color) 20%, transparent ); --warning-color: var(--yellow); --live-color: light-dark(#e91646, #eb2452);
/* border colors */ --header-border-color: var(--generic-border-color); --embed-border-color: var(--generic-border-color); --post-border-color: var(--generic-border-color); --avatar-border-color: var(--generic-border-color); --reply-context-line-color: light-dark(var(--lighter-gray), var(--mid-gray)); --reply-context-line-width: 2px;
/* button colors */ --primary-button-color: var(--highlight-color); --primary-button-hover-color: color-mix( in srgb, var(--highlight-color) 80%, transparent ); --primary-button-text-color: var(--white); --secondary-button-color: light-dark(var(--lightest-gray), var(--gray)); --secondary-button-hover-color: light-dark( var(--lighter-gray), var(--light-gray) ); --back-button-hover-color: var(--post-hover-color); --icon-button-color: var(--text-color-muted); --tab-bar-button-active-color: var(--highlight-color);
/* avatar sizes */ --avatar-size-quoted-post: 16px; --avatar-size-footer-nav: 24px; --avatar-size-followed-by: 24px; --avatar-size-reply-prompt: 28px; --avatar-size-message: 32px; --avatar-size-message-input: 36px; --avatar-size-post: 40px; --avatar-size-sidebar-compact: 48px; --avatar-size-convo: 50px; --avatar-size-sidebar: 52px; --avatar-size-chat-info-panel: 88px; --avatar-size-profile: 100px;
/* border radius */ --skeleton-border-radius: 4px; --tag-border-radius: 4px; --list-avatar-border-radius: 20%; --feed-avatar-border-radius: 20%; --icon-button-border-radius: 4px; --feed-feedback-inner-border-radius: 6px; --text-input-border-radius: 8px; --moderation-warning-border-radius: 8px; --blocked-post-radius: 8px; --context-menu-button-radius: 8px; --sidebar-nav-item-border-radius: 8px; --context-menu-item-group-border-radius: 8px; --report-selected-item-border-radius: 8px; --toast-border-radius: 8px; --image-preview-border-radius: 8px; --typeahead-border-radius: 8px; --card-border-radius: 8px; --image-border-radius: 10px; --video-border-radius: 10px; --embed-border-radius: 10px; --context-menu-border-radius: 10px; --dialog-border-radius: 12px; --callout-border-radius: 12px; --message-bubble-border-radius: 18px; --sheet-border-radius: 20px; --message-input-border-radius: 24px; --reaction-palette-border-radius: 30px; --avatar-border-radius: 50%; --labeler-avatar-border-radius: 20%; --circular-button-border-radius: 50%; --pill-button-border-radius: 999px; --label-badge-border-radius: 999px;
--sheet-top: 16px; --stacked-sheet-top: calc(var(--sheet-top) + 16px);
/* z-index */ --profile-header-z-index: 1; --context-menu-z-index: 2; --header-z-index: 3; --footer-z-index: 3; --floating-back-button-z-index: 3; --reply-prompt-z-index: 4; --message-input-z-index: 4; --sidebar-search-z-index: 4; --reaction-palette-z-index: 5; --toast-z-index: 5; --fab-z-index: 6; --sidebar-z-index: 8; --lightbox-container-z-index: 9; --lightbox-z-index: 10; --mention-typeahead-z-index: 10; --lightbox-close-z-index: 11;
/* sizing */ --font-size: 15px; --rich-text-emoji-scale: 1.85; --hair: 1px; --chat-detail-header-height: 56px; --footer-height: 55px; --post-thread-reply-prompt-height: 50px; --message-input-min-height: 70px; --sidebar-max-width: 300px; --safe-area-inset-bottom: 0px; /* this needs to be in px because it's used in calc */
/* overlays */ --overlay-color: rgba(0, 0, 0, 0.5); --overlay-color-medium: rgba(0, 0, 0, 0.6); --overlay-color-heavy: rgba(0, 0, 0, 0.7); --overlay-color-darker: rgba(0, 0, 0, 0.8); --overlay-color-darkest: rgba(0, 0, 0, 0.9); --overlay-text-color: white;
/* shadows */ --shadow-color-swatch: 0 2px 4px rgba(0, 0, 0, 0.2); --shadow-color-subtle: 0 1px 3px rgba(0, 0, 0, 0.2); --shadow-color-light: 0 4px 12px rgba(0, 0, 0, 0.15); --shadow-color-medium: 0 4px 20px rgba(0, 0, 0, 0.3); --shadow-color-heavy: 0 -2px 20px rgba(0, 0, 0, 0.4); --shadow-color-hover: 0 6px 16px rgba(0, 0, 0, 0.2); --shadow-color-sidebar: 5px 5px 10px 5px rgba(0, 0, 0, 0.05); --shadow-color-lightbox: 0 0 20px rgba(0, 0, 0, 0.3); --shadow-color-toast: light-dark( 0 0 10px 0 rgba(0, 0, 0, 0.1), 0 0 10px 0 rgba(0, 0, 0, 0.3) );
/* skeleton gradient */ --skeleton-gradient-edge: light-dark( rgba(0, 0, 0, 0.03), rgba(255, 255, 255, 0.05) ); --skeleton-gradient-mid: light-dark( rgba(0, 0, 0, 0.08), rgba(255, 255, 255, 0.1) );
/* indicator backgrounds */ --alt-indicator-background: rgba(26, 26, 26, 0.75);
/* base styles */ background: var(--background-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--text-color); font-size: var(--font-size); scrollbar-gutter: stable;}
/* https://stackoverflow.com/a/60054892 */@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) { html { --hair: 0.5px; }}
/* https://github.com/ionic-team/capacitor/issues/8121 */body.native { --safe-area-inset-bottom: 1.75em;}
/* Installed as a PWA (e.g. added to the iOS home screen) */@media (display-mode: standalone) { html { --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px); }}
/* Don't show backdrop for modals by default */*::backdrop { background-color: transparent;}
*[role="button"] { cursor: pointer;}
a { text-decoration: none; color: inherit;}
hr { border: none; height: var(--hair); background-color: var(--post-border-color);}
/* visually hide alt text */img { font-size: 0;}
/* Fixes display bug with moderation warning */label { cursor: inherit;}
video { display: flex; width: 100%; height: auto;}
.page { width: 100%; min-height: 100%; min-height: calc(100dvh - var(--safe-area-inset-bottom)); background-color: var(--background-color);}
.page.page-hidden { display: none;}
.page.page-visible { display: block;}
#main-layout.layout-hidden { display: none;}
.main-layout-wrapper { display: contents;}
@media (max-width: 799px) { .view-column-center .page::after { display: block; height: calc(var(--footer-height) + var(--safe-area-inset-bottom)); content: ""; }}
.container { display: flex; margin: 0 auto;}
.view-column-right { display: none;}
@media (min-width: 800px) { .view-columns { display: flex; flex-direction: row; justify-content: center; width: 100%; height: 100%; }
.view-column-left { flex: 1 1 var(--sidebar-max-width); min-width: 0; max-width: var(--sidebar-max-width); display: flex; flex-direction: row; justify-content: flex-end; }
.view-column-center { box-sizing: border-box; flex: 1; border-right: var(--hair) solid var(--post-border-color); border-left: var(--hair) solid var(--post-border-color); min-width: 600px; max-width: 600px; }
.view-column-right { display: flex; flex-direction: column; flex: 1 1 var(--sidebar-max-width); min-width: 0; max-width: var(--sidebar-max-width); position: sticky; top: 0; align-self: flex-start; min-height: 100dvh; max-height: 100dvh; overflow-y: auto; }}
trending-pane { display: none;}
@media (min-width: 1100px) { trending-pane { display: block; flex-shrink: 0; }}
.trending-pane { display: block; margin: 16px; padding: 16px; border: var(--hair) solid var(--post-border-color); border-radius: 12px;}
.trending-pane-header { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; padding-bottom: 12px;}
.trending-pane-header app-icon svg { width: 18px; height: 18px; display: block;}
.trending-pane-title { flex: 1; margin: 0; font-size: 15px; font-weight: 600;}
.trending-hide-button { display: flex; align-items: center; padding: 2px; border: none; border-radius: 50%; background: none; cursor: pointer; color: var(--text-color-muted);}
.trending-hide-button svg { width: 20px; height: 20px; display: block;}
pinned-feeds-pane { display: none;}
@media (min-width: 1100px) { pinned-feeds-pane { display: block; flex: 0 1 auto; min-height: 0; overflow-y: auto; }}
.pinned-feeds-pane { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin: 0 16px;}
.pinned-feeds-item { display: flex; align-items: center; gap: 8px; max-width: 100%; box-sizing: border-box; padding: 6px 8px; border: none; border-radius: 8px; background: none; color: var(--text-color-muted); font-family: inherit; font-size: 15px; text-align: left; text-decoration: none; cursor: pointer;}
.pinned-feeds-item app-icon { width: 15px; height: 15px;}
@media (hover: hover) { .pinned-feeds-item:hover { color: var(--text-color); }}
.pinned-feeds-item.active { background: var(--highlight-color-tint); color: var(--text-color); font-weight: 600;}
.pinned-feeds-item-label { overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.pinned-feeds-item-avatar { flex-shrink: 0; width: 20px; height: 20px; border-radius: var(--feed-avatar-border-radius); object-fit: cover;}
.pinned-feeds-item-icon { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 20px; height: 20px; border-radius: var(--feed-avatar-border-radius);}
.pinned-feeds-timeline-icon { background: var(--highlight-color); color: var(--white);}
.pinned-feeds-more-icon { background: var(--post-hover-color);}
.pinned-feeds-item-skeleton { align-self: stretch; max-width: none;}
.pinned-feeds-skeleton-bar { display: inline-block; height: 14px; border-radius: 4px;}
.trending-list { display: flex; flex-direction: column; gap: 4px;}
.trending-row { display: flex; gap: 6px; padding: 2px 0; font-size: 14px; line-height: 1.4; cursor: pointer;}
.trending-row-skeleton { cursor: default;}
.trending-rank { min-width: 16px; color: var(--text-color-muted);}
.trending-label { flex: 1; min-width: 0; color: var(--text-color-muted); overflow-wrap: anywhere;}
.trending-skeleton-bar { display: inline-block; width: 70%; height: 12px; vertical-align: middle; border-radius: var(--skeleton-border-radius);}
.trending-row-skeleton:nth-child(even) .trending-skeleton-bar { width: 55%;}
@media (hover: hover) { .trending-row:not(.trending-row-skeleton):hover .trending-label { color: var(--text-color); text-decoration: underline; }
.trending-hide-button:hover { background-color: color-mix( in srgb, var(--text-color-muted) 15%, transparent ); }}
.rich-text { white-space: pre-wrap; word-wrap: break-word;}
plugin-rich-text { display: contents;}
plugin-slot:empty { display: none;}
.rich-text a { color: var(--text-link-color);}
.rich-text-block { white-space: normal;}
.rich-text-facet-pending { display: none;}
.rich-text-emoji-only { font-size: calc(1em * var(--rich-text-emoji-scale, 1.85)); line-height: 1.15;}
@media (hover: hover) { .rich-text a:hover { text-decoration: underline; }}
/* @chunk buttons */.rounded-button { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 15px; border-radius: var(--pill-button-border-radius); border: none; cursor: pointer; font-size: 14px; transition: background-color 0.2s; background-color: var(--secondary-button-color);}
.rounded-button app-icon[icon="plus-line"] { width: 14px; height: 14px;}
.rounded-button .loading-spinner { border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent;}
.rounded-button.rounded-button-primary { background-color: var(--primary-button-color); color: var(--primary-button-text-color);}
.rounded-button.rounded-button-primary .loading-spinner { border-top-color: var(--primary-button-text-color);}
.rounded-button.rounded-button-secondary-inverted { background-color: var(--text-color); color: var(--background-color);}
.rounded-button.rounded-button-secondary-inverted .loading-spinner { border-top-color: var(--background-color);}
@media (hover: hover) { .rounded-button:not(:disabled):hover { background-color: var(--secondary-button-hover-color); }
.rounded-button.rounded-button-primary:not(:disabled):hover { background-color: var(--primary-button-hover-color); }
.rounded-button.rounded-button-secondary-inverted:not(:disabled):hover { background-color: color-mix( in srgb, var(--text-color) 85%, var(--background-color) ); }}
.rounded-button.bell-button { padding: 6px 10px; display: flex; align-items: center; justify-content: center;}
.rounded-button.bell-button app-icon { width: 20px; height: 20px;}
.rounded-button.chat-button { padding: 6px 10px; display: flex; align-items: center; justify-content: center;}
.rounded-button.chat-button app-icon { width: 20px; height: 20px;}
.rounded-button.ellipsis-button { padding-left: 10px; padding-right: 10px;}
.rounded-button.ellipsis-button span { position: relative; font-weight: 600; top: -4px;}.danger-button { color: var(--error-color); font-size: 15px;}
.text-pill-button { background: none; border: none; font-size: 15px; cursor: pointer; padding: 8px 12px; transition: color 0.2s; border-radius: var(--pill-button-border-radius); color: var(--highlight-color);}
.icon-button { display: inline-flex; align-items: center; justify-content: center; padding: 0; background: none; border: none; color: var(--icon-button-color); cursor: pointer; text-decoration: none; border-radius: var(--icon-button-border-radius); transition: background-color 0.2s;}
.icon-button app-icon { width: 24px; height: 24px;}
@media (hover: hover) { .icon-button:not(:disabled):hover { background-color: var(--back-button-hover-color); }}
.back-button { height: 30px; width: 30px;}
.floating-back-button { position: absolute; display: flex; align-items: center; justify-content: center; border: none; cursor: pointer; background: var(--overlay-color); color: var(--off-white); border-radius: var(--icon-button-border-radius); top: 16px; left: 16px; height: 30px; width: 30px; z-index: var(--floating-back-button-z-index);}
.back-button app-icon,.floating-back-button app-icon { width: 20px; height: 20px;}
.menu-button { font-size: 24px; height: 30px; width: 30px;}
@media (min-width: 800px) { .menu-button { display: none; }}
.inbox-button { position: relative; height: 30px; width: 30px;}
.inbox-button app-icon { width: 24px; height: 24px;}
.feeds-button { height: 30px; width: 30px;}
.feeds-button app-icon { width: 24px; height: 24px;}
.inbox-button .unread-dot { position: absolute; top: 1px; right: 2px; width: 12px; height: 12px; border-radius: 50%; background-color: var(--highlight-color); border: 1px solid var(--background-color);}
.form-group { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%;}
.rounded-button app-icon { display: flex;}
.button-group { display: flex; flex-direction: row; align-items: center; justify-content: space-between; width: 100%;}
.button-group button { width: fit-content;}
form input:not([type="radio"]):not([type="checkbox"]) { width: 100%; padding: 12px; border-radius: var(--text-input-border-radius); border: var(--hair) solid var(--post-border-color); background: var(--text-input-background-color); color: var(--text-color);}
form label { font-size: 14px; margin-bottom: 8px; margin-left: 2px; font-weight: 500; color: var(--text-color-muted);}
#login-form .rounded-button { padding: 10px 20px;}
#login-form .rounded-button-primary .loading-spinner { border-top-color: var(--primary-button-text-color); border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent;}
input,textarea,select { font-size: 16px;}
input::placeholder,textarea::placeholder { color: var(--text-color-muted);}
input[type="color"] { -webkit-appearance: none; appearance: none; width: 40px; height: 40px; border: none; border-radius: 50%; cursor: pointer; overflow: hidden;}
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; border-radius: 50%;}
input[type="color"]::-webkit-color-swatch { border: var(--hair) solid var(--post-border-color); border-radius: 50%; box-shadow: var(--shadow-color-swatch);}
/* Firefox */input[type="color"]::-moz-color-swatch { border: var(--hair) solid var(--post-border-color); border-radius: 50%; box-shadow: var(--shadow-color-swatch);}
.loading-spinner { display: inline-block; width: 16px; height: 16px; vertical-align: middle; border: 2px solid light-dark(var(--lighter-gray), var(--light-gray)); border-top: 2px solid var(--highlight-color); border-radius: 50%; animation: spin 1s linear infinite;}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); }}
.skeleton-animate { background: linear-gradient( 90deg, var(--skeleton-gradient-edge) 25%, var(--skeleton-gradient-mid) 50%, var(--skeleton-gradient-edge) 75% ); background-size: 200% 100%; animation: shimmer 1.5s infinite;}
@keyframes shimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; }}
.post-skeleton { padding: 10px 16px 0 16px; border-bottom: var(--hair) solid var(--post-border-color); display: flex; flex-direction: row; gap: 12px;}
.skeleton-left { width: 45px;}
.skeleton-right { flex: 1; display: flex; flex-direction: column; gap: 8px;}
.skeleton-avatar { width: var(--avatar-size-post); height: var(--avatar-size-post); border-radius: var(--avatar-border-radius);}
.skeleton-content { padding-top: 4px; flex: 1; display: flex; flex-direction: column; min-width: 0; gap: 10px; height: fit-content;}
.skeleton-line { width: 100%; height: 10px; border-radius: var(--skeleton-border-radius);}
.skeleton-line-short { width: 10em; height: 12px; border-radius: var(--skeleton-border-radius);}
.skeleton-line-shorter { width: 7em; height: 12px; border-radius: var(--skeleton-border-radius);}
.skeleton-actions { display: flex; flex-direction: row; align-items: center; gap: 3em; height: 28px; padding-top: 8px; margin-bottom: 8px;}
.skeleton-action { width: 30px; display: flex; align-items: center; justify-content: center;}
.skeleton-action .skeleton-action-icon { width: 18px; height: 18px; color: var(--skeleton-color); display: flex; align-items: center; justify-content: center;}
.skeleton-action .skeleton-action-icon app-icon { width: 18px; height: 18px; display: block;}
.skeleton-action .skeleton-action-icon app-icon svg { width: 100%; height: 100%; display: block;}
.avatar-image-frame { display: inline-block; line-height: 0; width: var(--avatar-size-post); height: var(--avatar-size-post); border-radius: var(--avatar-border-radius); border: var(--hair) solid var(--post-border-color); background-color: var(--skeleton-color); overflow: hidden; flex-shrink: 0;}
/* @chunk layout */.avatar-image-frame.labeler-avatar { border-radius: var(--labeler-avatar-border-radius);}
.avatar-image { width: 100%; height: 100%; display: block;}
.avatar-image--blurred { filter: blur(5px); transform: translateZ(0); will-change: filter;}
.avatar-link { display: flex; align-items: center; justify-content: center; width: fit-content;}
.avatar-live-frame { position: relative; display: inline-flex;}
.avatar-image-frame.avatar-live { border: 2px solid var(--live-color);}
.avatar-live-badge { position: absolute; bottom: -6px; left: 50%; transform: translateX(-50%); background-color: var(--live-color); color: var(--white); font-size: 9.5px; font-weight: 700; letter-spacing: 0.03em; line-height: 1; padding: 2px 4px; border-radius: 4px; pointer-events: none; z-index: 1;}
.avatar-live-button { background: none; border: none; padding: 0; cursor: pointer; display: flex; align-items: center; justify-content: center; width: fit-content; color: inherit; font: inherit;}
.profile-top-row .avatar-image-frame.avatar-live { border-width: 3px; border-color: var(--live-color);}
.profile-top-row .avatar-live-badge { font-size: 12px; padding: 3px 6px; bottom: -8px; border-radius: 5px;}
.avatar-placeholder { width: var(--avatar-size-post); height: var(--avatar-size-post); border-radius: var(--avatar-border-radius); border: var(--hair) solid var(--post-border-color); background-color: var(--skeleton-color);}
header { z-index: var(--header-z-index); background-color: var(--background-color); border-bottom: var(--hair) solid var(--header-border-color); position: sticky; top: 0; margin: 0 auto; left: 0; right: 0;}
#chat-detail-view .header-row { height: var(--chat-detail-header-height);}
#chat-detail-view .header-row .avatar-group { width: var(--avatar-size-post); height: var(--avatar-size-post);}
.header > .header-row { display: flex; flex-direction: row; align-items: center; padding: 8px;}
.header > .header-bottom-row { display: flex;}
.header > .header-bottom-row .bottom-item { flex: 1; min-width: 0;}
.header .header-title-link { display: flex; align-items: center; flex: 1; min-width: 0; cursor: pointer;}
.header .header-title-container { display: flex; flex-direction: column; gap: 2px; margin-left: 8px; flex: 1; min-width: 0;}
.header .header-avatar { margin-left: 8px;}
.header .header-title { display: flex; align-items: center; min-width: 0; font-size: 18px; font-weight: 600;}
.header .header-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.header .header-title-muted-icon { display: inline-flex; flex-shrink: 0; width: 16px; height: 16px; margin-left: 6px; color: var(--text-color-muted);}
.header .header-title-muted-icon svg { width: 100%; height: 100%;}
.header .header-subtitle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: var(--text-color-muted); font-weight: 400;}
.header .header-spacer { flex: 1;}
.header > .header-row:has(.header-title-container) .header-spacer { flex: 0;}
.header .loading-spinner { margin-right: 8px;}
.header > .header-row.has-bottom-row { padding-bottom: 0;}
@media (min-width: 800px) { #home-view .header > .header-row { display: none; }}
tab-bar { display: flex; height: 46px;}
tab-bar .tab-bar-button { border: none; position: relative; background: none; cursor: pointer; color: var(--icon-button-color); font-weight: 600; font-size: 15px; padding-right: 16px; padding-left: 16px; white-space: nowrap; display: flex; align-items: flex-end; justify-content: center;}
tab-bar .tab-bar-button.active { color: var(--text-color);}
tab-bar .tab-bar-button .tab-bar-button-label { display: inline-block; min-width: 3em; border-bottom: 3px solid transparent; padding-bottom: 12px;}
tab-bar .tab-bar-button.active .tab-bar-button-label { border-bottom-color: var(--tab-bar-button-active-color);}
@media (hover: hover) { tab-bar .tab-bar-button:hover { background-color: var(--post-hover-color); }}
tab-bar:not([full-width]) { overflow-x: auto; overflow-y: hidden; scrollbar-width: none;}
.profile-card { margin-bottom: 8px;}
.profile-tab-bar,.list-detail-tab-bar { position: sticky; top: 0; background: var(--background-color); z-index: var(--header-z-index); border-bottom: var(--hair) solid var(--post-border-color);}
.feed-container { min-height: calc(100dvh - 45px);}
.scroll-lock-pinned { position: fixed;}
.sidebar::backdrop { background: var(--overlay-color); opacity: 0; transition: opacity 0.3s cubic-bezier(0.32, 0.72, 0, 1);}
.sidebar { display: flex; justify-content: flex-end; position: fixed; top: 0; left: 0; width: var(--sidebar-max-width); max-width: 80%; height: 100%; max-height: 100%; margin: 0; padding: 0; color: inherit; background: var(--background-color); border: none; border-right: var(--hair) solid var(--post-border-color); z-index: var(--sidebar-z-index); transform: translateX(-100%); transition: transform 0.3s cubic-bezier(0.32, 0.72, 0, 1); overflow-y: auto;}
@media (max-width: 799px) { .sidebar > .sidebar-content { width: var(--sidebar-max-width); max-width: 100%; flex: 0 0 auto; }}
@media (min-width: 800px) { .sidebar { position: sticky; top: 0; height: 100dvh; max-width: var(--sidebar-max-width); transform: none; border-right: none; overflow-y: auto; z-index: 1; transition: none; width: fit-content; }
.sidebar-content { padding-right: 0 !important; }
.sidebar .sidebar-profile { padding-bottom: 0 !important; }
.sidebar .sidebar-profile-avatar .avatar-image-frame, .sidebar .sidebar-profile-avatar .avatar-placeholder { width: var(--avatar-size-sidebar-compact); height: var(--avatar-size-sidebar-compact); }
.sidebar-divider { display: none; }
.sidebar-profile-info { display: none; }
.sidebar-profile-stats { display: none !important; }
.sidebar-nav-label { display: none; }}
@media (min-width: 1200px) { .sidebar-nav-item { justify-content: flex-start; padding-right: 2em !important; }
.sidebar-nav-label { display: block; }}
.sidebar[open] { transform: translateX(0);}
.sidebar[open]::backdrop { opacity: 1;}
.sidebar[open][data-closing] { pointer-events: none; transform: translateX(-100%); transition: transform 0.2s cubic-bezier(0.32, 0.72, 0, 1);}
.sidebar[open][data-closing]::backdrop { opacity: 0; transition: opacity 0.2s cubic-bezier(0.32, 0.72, 0, 1);}
@media (prefers-reduced-motion: reduce) { .sidebar { transition: none; }}
.sidebar-profile { padding: 20px 20px 16px 20px;}
.sidebar-profile-avatar { display: flex; justify-content: flex-start; margin-bottom: 10px;}
@media (min-width: 800px) { .sidebar-profile-avatar { justify-content: center; }}
@media (min-width: 1200px) { .sidebar-profile-avatar { justify-content: flex-start; }}
.sidebar-profile-avatar .avatar-image-frame,.sidebar-profile-avatar .avatar-placeholder { width: var(--avatar-size-sidebar); height: var(--avatar-size-sidebar);}
.sidebar-profile-avatar .avatar-image-frame { border-radius: var(--avatar-border-radius); border: var(--hair) solid var(--post-border-color);}
.sidebar-profile-info { margin-bottom: 12px;}
.sidebar-profile-name { font-size: 20px; font-weight: 700; color: var(--text-color); margin-bottom: 2px;}
.sidebar-profile-handle { font-size: 15px; color: var(--text-color-muted);}
.sidebar-profile-stats { font-size: 14px; color: var(--text-color-muted);}
.sidebar-profile-stats strong { color: var(--text-color); font-weight: 700;}
.sidebar-profile-stats a { margin-bottom: 2px; display: inline-block;}
.sidebar-profile-separator { color: var(--text-color-muted); text-align: center; padding-left: 2px; padding-right: 2px;}
.sidebar-divider { height: var(--hair); background: var(--post-border-color); margin: 0;}
.sidebar-nav { display: flex; flex-direction: column; padding: 4px 0;}
.sidebar-nav-item { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 3px 14px; margin-right: 8px; color: var(--text-color); text-decoration: none; transition: background-color 0.2s; cursor: pointer; font-size: 20px; border-radius: var(--sidebar-nav-item-border-radius);}
@media (hover: hover) { .sidebar-nav-item:hover:not(.disabled) { background: var(--post-hover-color); }}
.sidebar-nav-item.disabled { opacity: 0.5; pointer-events: none;}
.sidebar-nav-icon { position: relative; height: 38px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
app-icon { display: inline-flex; width: 1em; height: 1em; color: inherit;}
app-icon svg { width: 100%; height: 100%;}
plugin-blob-image { display: inline-block; vertical-align: middle;}
plugin-blob-image img { display: block; max-width: 100%; max-height: 128px; font-size: inherit; color: transparent;}
plugin-blob-image .blob-image-fallback { color: var(--text-color-muted);}
.sidebar-nav-icon app-icon,.sidebar-nav-icon > .plugin-icon { width: 24px; height: 24px; color: var(--text-color);}
.sidebar-nav-icon .status-badge { top: 0; left: 12px;}
.sidebar-nav-label { flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.sidebar-compose-button { display: none; margin-top: 12px; margin-left: 10px; width: fit-content; padding: 12px 20px; font-size: 16px; font-weight: 600;}
.sidebar-compose-button app-icon { width: 20px; height: 20px;}
.sidebar-compose-button span { margin-right: 6px;}
@media (min-width: 800px) { .sidebar-compose-button { display: flex; }}
@media (min-width: 800px) and (max-width: 1199px) { .sidebar-compose-button { align-self: center; margin-left: 0; margin-right: 8px; width: 46px; height: 46px; padding: 0; border-radius: var(--circular-button-border-radius); }
.sidebar-compose-button span { display: none; }}
button.sidebar-plugin-nav-item { background: transparent; border: none; text-align: left;}
.sidebar-spacer { flex: 1;}
.sidebar-footer { margin-top: auto; padding: 16px 20px;}
.sidebar-footer .sidebar-text-link { display: block; margin-bottom: 8px;}
.sidebar-content { display: flex; flex-direction: column; min-height: 100%; height: 100%; padding: 0 20px 0 20px;}
.sidebar-header { display: flex; flex-direction: column; align-items: flex-start; gap: 20px;}
@media (min-width: 800px) { .logged-out-sidebar .sidebar-header { align-items: center; }
.logged-out-sidebar .sidebar-nav-item { justify-content: center; }}
.sidebar-text-link { font-size: 14px; color: var(--text-link-color); background: none; border: none; padding: 0; cursor: pointer;}
.logged-out-sidebar .sidebar-title { font-weight: 600; width: 100%; padding-top: 10px; padding-left: 20px; padding-bottom: 6px;}
@media (min-width: 800px) { .logged-out-sidebar .sidebar-title { padding-left: 0; text-align: center; }
.logged-out-sidebar .sidebar-title h1 { margin: 0; }}
.logged-out-sidebar .sidebar-header { gap: 10px;}
.logged-out-sidebar p { font-size: 14px; color: var(--text-color-muted); padding-bottom: 5px; min-width: 100px;}
.logged-out-sidebar .login-button,.logged-out-sidebar .sidebar-about-link { align-self: stretch; margin-top: 8px; margin-right: 20px; margin-bottom: 0px; margin-left: 20px; padding: 10px 20px; white-space: nowrap;}
.footer-nav { position: fixed; bottom: 0; height: calc(var(--footer-height) + var(--safe-area-inset-bottom)); padding-bottom: var(--safe-area-inset-bottom); width: 100%; background: var(--background-color); z-index: var(--footer-z-index); border-top: var(--hair) solid var(--post-border-color);}
@media (min-width: 800px) { .footer-nav { display: none !important; }}
.footer-nav nav { display: flex; align-items: center; height: 100%;}
.footer-nav-item { flex: 1; display: flex; align-items: center; justify-content: center; height: 100%; cursor: pointer; position: relative;}
.footer-nav-item .avatar { height: 24px; width: 24px;}
/* Long-press to open the account switcher: stop iOS link previews / text selection from hijacking the hold gesture */.sidebar-profile-avatar.long-press-enabled,.footer-nav-item.long-press-enabled { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none;}
.footer-nav.logged-out-footer { display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding-right: 20px; padding-left: 20px;}
.footer-nav-item .status-badge { top: 10px; left: calc(50% - 1px);}
.footer-nav-item .avatar-image-frame { width: var(--avatar-size-footer-nav); height: var(--avatar-size-footer-nav);}
.footer-nav-item .avatar-placeholder { width: var(--avatar-size-footer-nav); height: var(--avatar-size-footer-nav);}
.footer-nav-item[disabled] { pointer-events: none; cursor: default; opacity: 0.5;}
.footer-nav-item.active { cursor: default;}
.footer-nav-item app-icon { width: 24px; height: 24px; color: var(--text-color);}
.status-badge { position: absolute; background: var(--highlight-color); color: var(--white); border-radius: var(--context-menu-border-radius); font-size: 12px; display: flex; align-items: center; justify-content: center; padding: 1px 4px; min-width: 20px; border: 1px solid var(--background-color);}
.feed { width: 100%; max-width: 100%; overflow: hidden;}
.feed > div { width: 100%; max-width: 100%; box-sizing: border-box;}
.feed-item { width: 100%; max-width: 100%; box-sizing: border-box;}
/* workaround for iOS Safari subpixel rounding */.feed-item::after { content: ""; display: block; width: 100%; height: 1px; background-color: var(--post-border-color); transform: scaleY(0.5); transform-origin: bottom;}
/* @chunk feed */.feed-end-message { padding: 32px 16px; color: var(--text-color-muted); font-size: 14px; text-align: center;}
.feed-feedback-message { font-size: 13px; color: var(--text-color-muted); padding: 8px; background: light-dark(var(--lightest-gray), var(--mid-gray));}
.feed-feedback-message-inner { padding: 12px 16px; background: var(--background-color); border-radius: var(--feed-feedback-inner-border-radius); border: var(--hair) solid var(--post-border-color);}
.feed-loading-indicator { padding-bottom: 5em; padding-top: 1em; display: flex; justify-content: center;}
container-link { display: block; color: inherit; text-decoration: none; cursor: pointer;}
.post { padding-top: 12px; padding-left: 16px; padding-right: 16px; padding-bottom: 10px; display: flex; gap: 12px; transition: background-color 0.2s;}
.post.clickable { cursor: pointer;}
@media (hover: hover) { .post.clickable:hover { background-color: var(--post-hover-color); }}
.post:has(.post-actions) { /* action bar will take up this space */ padding-bottom: 0;}
.post .top-bar { margin-bottom: 4px;}
/* .large-post moderation-warning .top-bar { margin-bottom: 0;} */
.post-content { position: relative; display: flex; flex-direction: column; flex: 1; min-width: 0;}
.post-content-with-space { position: relative; display: flex; flex-direction: row; gap: 8px; flex: 1; min-width: 0;}
.post-content-top { display: flex; flex-direction: row; gap: 8px; min-width: 0;}
.post-content-bottom { margin-top: 14px;}
.post-content-left { display: flex; flex-direction: column; width: 45px;}
.post-content-right { flex: 1; min-width: 0;}
.post-content-right .post-body > .post-text { margin-top: 5px;}
.post-header-text { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 1px 4px; overflow: hidden;}
@media (hover: hover) { .post-header-text a:hover { text-decoration: underline; }}
.post-name { display: inline-block; flex-shrink: 0; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: bold; line-height: 1.2em;}
.post-username { flex-shrink: 10; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-color-muted);}
.post-separator { color: var(--text-color-muted);}
.post-time { color: var(--text-color-muted);}
.post-full-timestamp { color: var(--text-color-muted); padding-top: 11px; padding-bottom: 5px; font-size: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px;}
/* @chunk post */.who-can-reply-body span { display: block;}.who-can-reply-body span + span { margin-top: 8px;}
.who-can-reply-badge { display: inline-flex; align-items: center; gap: 5px; background: none; border: none; padding: 0; color: var(--text-color-muted); font-size: 13px; cursor: pointer; margin-left: 2px;}.who-can-reply-badge app-icon { width: 15px; height: 15px;}@media (hover: hover) { .who-can-reply-badge:hover { color: var(--text-color); }}@media (hover: hover) { .who-can-reply-badge:hover :not(app-icon) { text-decoration: underline; }}
.who-can-reply-badge-link { color: var(--highlight-color);}
.post-text { line-height: 1.3125; margin-top: -4px;}
.large-post { border-bottom: var(--hair) solid var(--post-border-color);}
.large-post .post-text { font-size: 18px;}
.large-post-header-text { min-width: 0;}
.large-post-header-text .post-header-text { flex: 1; flex-wrap: wrap;}
.large-post-header-text .post-name { font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.large-post-header-text .post-username { width: 100%;}
.large-post-follow-button { margin-left: auto; align-self: center; white-space: nowrap; flex-shrink: 0;}
.label-badge { display: inline-flex; align-items: center; gap: 6px; color: var(--text-color-muted); width: fit-content; border-radius: var(--label-badge-border-radius); border: none; background-color: inherit;}
.label-badge-image { border-radius: var(--avatar-border-radius); object-fit: cover;}
.author-badges { display: flex; flex-wrap: wrap; align-items: center;}
.author-badges .label-badges,.author-badges plugin-slot { display: contents;}
.author-badges:not(:has(.label-badge, plugin-slot:not(:empty))) { display: none;}
.large-post .label-badge { font-size: 13px; min-height: 23px; padding: 3px 8px 4px; margin-right: 4px; margin-top: 5px; background: light-dark(var(--lightest-gray), var(--gray));}
@media (hover: hover) { .large-post .label-badge:hover { background: light-dark(var(--lighter-gray), var(--light-gray)); }}
.large-post .label-badge-image { width: 16px; height: 16px;}
.large-post .author-badges { gap: 4px; margin-top: 3px; margin-bottom: 4px;}
.small-post .pinned-label { font-size: 14px; margin-bottom: 5px; color: var(--text-color-muted); display: flex; flex-direction: row; align-items: center; gap: 3px;}
.pinned-label app-icon { height: 13px; width: 13px;}
.small-post .repost-label { font-size: 14px; margin-bottom: 5px; color: var(--text-color-muted); display: flex; gap: 4px;}
@media (hover: hover) { .small-post .repost-label a:hover, .reply-to-author a:hover { text-decoration: underline; }}
.small-post .repost-label app-icon { height: 17px; width: 17px; color: var(--text-color-muted);}
.small-post .missing-post-indicator { display: flex; flex-direction: row; align-items: center; gap: 6px; border-radius: var(--blocked-post-radius); padding: 14px; background: light-dark(var(--lightest-gray), var(--gray)); color: var(--text-color-muted); width: 100%;}
.small-post .missing-post-indicator app-icon { width: 18px; height: 18px; flex-shrink: 0;}
.small-post .missing-post-indicator.no-unauthenticated { margin-top: 8px;}
.missing-quote-indicator { display: flex; flex-direction: row; align-items: center; gap: 6px;}
.missing-quote-indicator app-icon { width: 18px; height: 18px; flex-shrink: 0;}
.large-post.no-unauthenticated-post { display: block;}
.no-unauthenticated-avatar { width: var(--avatar-size-post); height: var(--avatar-size-post); border-radius: var(--avatar-border-radius); background-color: var(--skeleton-color); display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.no-unauthenticated-avatar app-icon { width: 20px; height: 20px; color: var(--text-color-muted);}
.no-unauthenticated-message { font-style: italic; color: var(--text-color-muted); font-size: 14px; padding-top: 4px;}
.no-unauthenticated-message app-icon { display: inline-block; vertical-align: middle; width: 16px; height: 16px; margin-right: 4px;}
.no-unauthenticated-header { display: flex; flex-direction: row; align-items: center; gap: 10px; margin-bottom: 12px;}
.no-unauthenticated-skeleton-text { display: flex; flex-direction: column; gap: 6px;}
.no-unauthenticated-skeleton-text .skeleton-line { background-color: var(--skeleton-color);}
.no-unauthenticated-message-large { font-size: 18px;}
.small-post .label-badge { font-size: 12px; padding-right: 5px; margin-top: 5px; margin-right: 2px;}
.small-post .label-badge-image { width: 12px; height: 12px;}
.quoted-post .label-badge { font-size: 12px; padding: 0; padding-right: 5px; margin-top: 5px; margin-right: 2px; background: none;}
@media (hover: hover) { .quoted-post .label-badge:hover { background: none; }}
.quoted-post .label-badge-image { width: 12px; height: 12px;}
.post-thread { min-height: calc(100dvh - 46px - var(--safe-area-inset-bottom)); padding-bottom: var(--post-thread-reply-prompt-height);}
/* Guarantees enough content below the main post to scroll it under the header, however short the thread is */.post-thread-main-section { min-height: calc(100dvh - 46px - var(--safe-area-inset-bottom));}
@media (min-width: 800px) { .post-thread { padding-bottom: 0; }}
.post-thread-reply-prompt { position: fixed; left: 0; right: 0; bottom: calc(var(--footer-height) + var(--safe-area-inset-bottom) - 2px); height: var(--post-thread-reply-prompt-height); box-sizing: border-box; color: var(--text-color-muted); cursor: pointer; padding-left: 10px; padding-right: 10px; padding-bottom: 1px; padding-top: 6px; background: var(--background-color); z-index: var(--reply-prompt-z-index);}
.post-thread-reply-prompt-inner { border-radius: var(--pill-button-border-radius); padding: 5px; overflow: hidden; display: flex; flex-direction: row; align-items: center; gap: 8px; background: var(--text-input-background-color);}
@media (min-width: 800px) { .post-thread-reply-prompt { position: static; height: auto; padding: 0; border-bottom: var(--hair) solid var(--post-border-color); z-index: 0; }}
@media (min-width: 800px) { .post-thread-reply-prompt-inner { border-radius: 0; padding: 10px; background: var(--background-color); }}
.post-thread-reply-prompt .avatar { display: flex;}
.post-thread-reply-prompt .avatar .avatar-image-frame { width: var(--avatar-size-reply-prompt); height: var(--avatar-size-reply-prompt);}
.post-thread-reply-prompt-text { padding-bottom: 3px;}
.post-thread-reply-chain { border-bottom: var(--hair) solid var(--post-border-color);}
.post-thread-extra-space { height: 100px;}
.reply-to-author { font-size: 14px; color: var(--text-color-muted); margin-top: 4px;}
.reply-to-author app-icon { display: inline-block; width: 13px; height: 13px; vertical-align: -2px;}
.account-switcher-add-icon app-icon { width: 24px; height: 24px;}
.account-switcher-item.account-switcher-add { color: var(--text-color-secondary);}
.account-switcher-current-check app-icon { width: 24px; height: 24px;}
.post-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; height: 28px; padding-top: 8px; margin-bottom: 8px;}
.large-post .post-actions { height: 32px; padding-top: 0; margin-top: 4px; margin-bottom: 4px;}
.large-post .post-action-icon { transform: scale(1.22); transform-origin: center;}
.large-post .post-action-count { font-size: 16px;}
.large-post .post-action-button { gap: 7px;}
.post-actions-primary { display: flex; flex: 1; max-width: 320px;}
.post-actions-primary > .post-action:first-child { margin-left: -6px;}
.large-post .post-actions-primary > .post-action:first-child { margin-left: -2px;}
.post-actions-secondary { display: flex; justify-content: flex-end; align-items: center; gap: 4px;}
.large-post .post-actions-secondary { gap: 8px;}
.post-actions-secondary .post-action { flex: 0;}
.post-actions .text-button { display: flex; align-items: center; justify-content: center; border-radius: var(--pill-button-border-radius);}
.post-actions .text-button-text { position: relative; top: -6px; font-size: 22px;}
.post-action { flex: 1;}
.post-action-bookmark,.post-action-share { flex: 0;}
.post-action-button { display: flex; align-items: center; justify-content: flex-start; gap: 4px; border: none; background: none; cursor: pointer; color: var(--post-action-icon-color); transition: background-color 0.2s; min-width: 30px; padding: 5px;}
.post-action-button[disabled] { cursor: auto;}
animated-button { display: contents;}
.post-action[disabled] { pointer-events: none; color: var(--disabled-gray);}
.post-action-repost.reposted { color: var(--highlight-color);}
.like-button.active { color: var(--like-color);}
.bookmark-button.active { color: var(--highlight-color);}
.post-action-icon { position: relative; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center;}
.post-action-icon app-icon { width: 18px; height: 18px; display: block;}
.animated-button .post-action-icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; border: 2px solid currentColor; background-color: currentColor; transform: translate(-50%, -50%); opacity: 0; pointer-events: none;}
.animated-button.animating .post-action-icon::after { animation: ripple-out 0.3s ease-out;}
@keyframes ripple-out { 0% { width: 0; height: 0; opacity: 1; } 100% { width: 40px; height: 40px; opacity: 0; }}
.post-action-count { font-size: 14px;}
.post-action-counts { display: flex; flex-direction: row; gap: 16px; border-top: var(--hair) solid var(--post-border-color); border-bottom: var(--hair) solid var(--post-border-color); margin-top: 8px; padding-top: 10px; padding-bottom: 12px;}
.post-action-count-num { font-size: 14px; font-weight: 600;}
.post-action-count-text { font-size: 14px; color: var(--text-color-muted);}
.large-post .post-embed > * { margin-top: 12px;}
.post-embed > * { margin-top: 8px;}
.post-image-container { position: relative;}
.post-image { width: 100%; height: auto; border: var(--hair) solid var(--post-border-color); border-radius: var(--image-border-radius); background-color: var(--background-color); object-fit: cover;}
.post-image-container .alt-indicator { bottom: 9px; right: 6px; top: auto; left: auto; padding: 1px 3px; color: var(--white); background: var(--alt-indicator-background);}
.post-video { position: relative; border: var(--hair) solid var(--post-border-color); border-radius: var(--video-border-radius); overflow: hidden;}
/* Reserve the media height without CSS aspect-ratio, which can flicker while * scrolling video elements in WebKit. Percentage padding is based on width. */.post-video::before { content: ""; display: block; padding-top: var(--post-video-height, 100%);}
.post-video > .alt-indicator { pointer-events: auto; top: 8px; right: 8px; left: auto; padding: 1px 3px; color: var(--white); background: var(--alt-indicator-background); border: none; cursor: pointer;}
.alt-text-dialog { padding: 0; border: none; background: transparent; color: var(--off-white); max-width: min(600px, calc(100vw - 40px)); max-height: 80vh; overflow: visible; margin: auto;}
.alt-text-dialog::backdrop { background: var(--overlay-color-darkest);}
.alt-text-dialog-text { font-size: 16px; line-height: 1.5; white-space: pre-wrap; margin: 0; max-height: 80vh; overflow-y: auto;}
.alt-text-dialog-close { position: fixed; top: 20px; right: 20px; color: var(--overlay-text-color); cursor: pointer; background: var(--overlay-color); width: 40px; height: 40px; border-radius: var(--icon-button-border-radius); display: flex; align-items: center; justify-content: center; border: none;}
.post-video streaming-video { position: absolute; inset: 0; width: 100%; height: 100%;}
.post-video video { display: block; width: 100%; height: 100%; object-fit: cover;}
.post-video img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;}
.youtube-embed { display: block;}
.youtube-embed.is-playing { position: relative; border: var(--hair) solid var(--post-border-color); border-radius: var(--video-border-radius); overflow: hidden; background: var(--black); transform: translateZ(0); /* Prevents video jiggle on iPadOS scroll */}
.external-link-image-wrapper app-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 56px; height: 56px; color: var(--black); background: color-mix(in srgb, var(--white) 70%, transparent); border-radius: 50%; transition: background 0.15s ease;}
@media (hover: hover) { .youtube-embed .external-link a:hover app-icon { background: color-mix(in srgb, var(--white) 85%, transparent); }}
.youtube-embed-iframe { display: block; width: 100%; height: 100%; border: none;}
.alt-indicator { pointer-events: none; position: absolute; display: flex; align-items: center; gap: 3px; top: 8px; left: 8px; background: var(--overlay-color-medium); color: var(--white); padding: 2px 6px; border-radius: var(--tag-border-radius); font-size: 11px; font-weight: 600; letter-spacing: 0.5px;}
.alt-indicator app-icon { width: 11px; height: 11px;}
.external-link { overflow: hidden;}
.embed-card { position: relative; border-radius: var(--embed-border-radius); border: var(--hair) solid var(--embed-border-color);}
.external-link hr { margin-top: 4px; margin-bottom: 2px;}
.external-link-content { display: flex; flex-direction: column; position: relative;}
.external-link-image-wrapper { position: relative;}
.external-link-image { display: block; width: 100%; aspect-ratio: 1200 / 630; border-bottom: var(--hair) solid var(--post-border-color); object-fit: cover;}
.external-link-image-wrapper app-icon { pointer-events: none;}
.external-link-video-placeholder { height: 96px; background: var(--background-color); border-bottom: var(--hair) solid var(--post-border-color);}
.external-link-uri { color: var(--text-color-muted); font-size: 12px;}
.external-link-title { font-size: 14px; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.external-link-description { word-break: break-word; font-size: 12px; overflow: hidden; width: 100%; /* https://stackoverflow.com/a/56523044 */ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;}
.external-link-text { display: flex; flex-direction: column; gap: 4px; padding: 10px 12px;}
.quoted-post { padding: 10px 16px; transition: background-color 0.2s; margin-top: 8px; background: var(--background-color);}
.post-composer .quoted-post,.notification-reply-wrapper .quoted-post { background: transparent;}
.quoted-post-link { cursor: pointer;}
@media (hover: hover) { .quoted-post-link:hover .quoted-post { background-color: var(--post-hover-color); }}
.quoted-post-link .quoted-post-body { padding-right: 16px;}
.quoted-post .post-text { font-size: 14px;}
.quoted-post .avatar-image-frame { width: var(--avatar-size-quoted-post); height: var(--avatar-size-quoted-post);}
.quoted-post-header { display: flex; align-items: center; gap: 8px; min-width: 0;}
.quoted-post-header .post-header-text .post-separator,.quoted-post-header .post-header-text .post-time { flex-shrink: 0;}
.quoted-post-body > .post-text { margin-top: 5px;}
.feed-generator-embed { overflow: hidden;}
.feed-generator-embed-content { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 12px;}
.feed-generator-embed-title { font-size: 14px; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.feed-generator-embed-subtitle { font-size: 13px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.feed-generator-embed-text { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0;}
.feed-avatar { width: 40px; height: 40px; border-radius: var(--feed-avatar-border-radius); object-fit: cover;}
.list-embed { overflow: hidden;}
.list-embed-content { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 12px;}
.list-embed-title { font-size: 14px; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.list-embed-subtitle { font-size: 13px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.list-embed-text { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0;}
.list-avatar { width: 40px; height: 40px; border-radius: var(--embed-border-radius); object-fit: cover;}
.starter-pack-embed { overflow: hidden;}
.starter-pack-embed-content { display: flex; flex-direction: column;}
.starter-pack-embed-title { font-size: 14px; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.starter-pack-embed-description { word-break: break-word; font-size: 13px; overflow: hidden; width: 100%; /* https://stackoverflow.com/a/56523044 */ display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;}
.starter-pack-embed-text { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px;}
.starter-pack-embed-image { max-width: 100%; border-bottom: var(--hair) solid var(--post-border-color);}
.starter-pack-embed-subtitle { color: var(--text-color-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
/* Quoted-post cards carry a margin-top for the feed context; inside preview containers it would leave the close button flush with the card's top edge. */.post-composer-embed-preview .quoted-post,.message-embed-preview .quoted-post { margin-top: 0;}
.embed-preview-close-button { z-index: 1; position: absolute; right: 8px; top: 8px; border-radius: var(--circular-button-border-radius); color: var(--text-color); border: var(--hair) solid var(--post-border-color); background: light-dark(var(--lightest-gray), var(--dark-gray)); width: 33px; height: 33px; cursor: pointer; display: flex; align-items: center; justify-content: center;}
.embed-preview-close-button app-icon { width: 18px; height: 18px;}
.image-preview-item { position: relative; width: 120px; height: 120px; border-radius: var(--image-preview-border-radius); overflow: hidden; border: var(--hair) solid var(--post-border-color);}
.image-preview-item img { width: 100%; height: 100%; object-fit: cover;}
.image-preview-remove-button { z-index: 1; position: absolute; right: 4px; top: 4px; border-radius: var(--circular-button-border-radius); color: var(--overlay-text-color); border: none; background: var(--overlay-color-medium); width: 30px; height: 30px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s;}
@media (hover: hover) { .image-preview-remove-button:hover { background: var(--overlay-color-darker); }}
.image-preview-remove-button span { font-size: 18px; line-height: 1; position: relative; top: -1px;}
.video-preview-item { position: relative; width: 100%; max-width: 360px; border-radius: var(--image-preview-border-radius); overflow: hidden; border: var(--hair) solid var(--post-border-color); background: black;}
.video-preview-item video { width: 100%; display: block; max-height: 360px;}
.video-preview-item .alt-indicator { pointer-events: auto; border: none; cursor: pointer; z-index: 1;}
.video-preview-overlay { position: absolute; inset: 0; background: var(--overlay-color-medium); color: var(--overlay-text-color); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; font-size: 14px; pointer-events: none;}
lightbox-image-group { display: flex; flex-direction: column; overflow: hidden; gap: 4px;}
lightbox-image-group img { cursor: pointer;}
lightbox-image-group.post-images.num-images-2 { flex-direction: row;}
lightbox-image-group.post-images.num-images-2 .post-image-container { flex: 1; max-width: 50%;}
lightbox-image-group.post-images.num-images-2 .post-image { width: 100%; aspect-ratio: 1/1; object-fit: cover;}
lightbox-image-group.post-images.num-images-3 { display: flex; flex-direction: row; gap: 4px; width: 100%;}
lightbox-image-group.post-images.num-images-3 .post-image-container:first-child { flex: 1; aspect-ratio: 1/1;}
lightbox-image-group.post-images.num-images-3 .post-image-container:first-child .post-image { width: 100%; height: 100%; object-fit: cover;}
lightbox-image-group.post-images.num-images-3 .right-column { flex: 1; aspect-ratio: 1/1; display: flex; flex-direction: column; gap: 4px;}
lightbox-image-group.post-images.num-images-3 .right-column .post-image-container { flex: 1; min-height: 0;}
lightbox-image-group.post-images.num-images-3 .right-column .post-image { width: 100%; height: 100%; object-fit: cover;}
lightbox-image-group.post-images.num-images-4 { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 4px; width: 100%;}
lightbox-image-group.post-images.num-images-4 .post-image { width: 100%; height: 100%; aspect-ratio: 1.5/1; object-fit: cover;}
image-carousel { display: block;}
.image-carousel-container { position: relative;}
.carousel-scroller { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; height: 200px;}
.carousel-scroller::-webkit-scrollbar { display: none;}
.carousel-slide { position: relative; flex: 0 0 auto; height: 100%; padding: 0; margin: 0; border: none; background: none; cursor: pointer; scroll-snap-align: start; border-radius: var(--image-border-radius); overflow: hidden;}
.carousel-slide:focus-visible { outline: 2px solid var(--primary-button-color); outline-offset: 2px;}
.carousel-slide .carousel-image { display: block; width: 100%; height: 100%; object-fit: cover; border: var(--hair) solid var(--post-border-color); border-radius: var(--image-border-radius); background-color: var(--background-color); user-select: none; -webkit-user-drag: none;}
.carousel-counter { position: absolute; top: 8px; right: 8px; padding: 2px 8px; background: var(--overlay-color-medium); color: var(--white); border-radius: var(--tag-border-radius); font-size: 12px; font-weight: 600; pointer-events: none;}
.carousel-slide .alt-indicator { top: auto; left: auto; bottom: 8px; right: 8px;}
.crop-indicator { pointer-events: none; position: absolute; bottom: 8px; left: 8px; right: auto; display: inline-flex; align-items: center; justify-content: center; background: var(--overlay-color-medium); color: var(--white); padding: 4px; border-radius: var(--tag-border-radius);}
.carousel-slide:not(:has(.alt-indicator)) .crop-indicator { left: auto; right: 8px;}
.crop-indicator app-icon { width: 14px; height: 14px; display: block;}
@media (min-width: 600px) { .carousel-scroller { height: 260px; }}
@media (min-width: 900px) { .carousel-scroller { height: 300px; }}
.reply-context-line-in { position: absolute; left: 19px; top: -13px; width: var(--reply-context-line-width); height: 13px; background-color: var(--reply-context-line-color);}
.reply-context-line-out-container { position: relative; height: 100%; width: 100%;}
.reply-context-line-out { position: absolute; left: 19px; width: var(--reply-context-line-width); top: 0; bottom: -12px; background-color: var(--reply-context-line-color);}
.reply-context-line-gap { position: absolute; left: 35px; top: -10px; bottom: -12px; width: var(--reply-context-line-width); background-color: var(--reply-context-line-color);}
.load-more-link { display: flex; flex-direction: row; align-items: center; justify-content: flex-start;}
.load-more-spacer { width: 69px; height: 2em; position: relative;}
.load-more-link a { color: var(--text-link-color); font-size: 13px;}
.hidden-replies-button-icon { width: 20px; height: 20px;}
.hidden-replies-button { display: flex; align-items: center; gap: 16px; padding-left: 18px; padding-top: 18px; padding-bottom: 18px; color: var(--text-color-muted); font-size: 14px; border-bottom: var(--hair) solid var(--post-border-color);}
/* i don't know why the hidden attribute isn't working, but this hides it */.hidden-replies-section.expanded .hidden-replies-button { display: none;}
.hidden-replies-section .small-post { border-bottom: var(--hair) solid var(--post-border-color);}
@media (hover: hover) { .hidden-replies-button:hover { background-color: var(--post-hover-color); }}
.muted-parent-toggle-button-icon { width: 20px; height: 20px;}
.muted-parent-toggle-button { display: flex; align-items: center; gap: 16px; padding-left: 26px; padding-right: 26px; padding-top: 18px; padding-bottom: 18px; color: var(--text-color-muted); font-size: 14px;}
/* i don't know why the hidden attribute isn't working, but this hides it */.muted-parent-toggle.expanded .muted-parent-toggle-button { display: none;}
@media (hover: hover) { .muted-parent-toggle-button:hover { background-color: var(--post-hover-color); }}
.muted-account-show-more { color: var(--text-link-color); flex: 1; text-align: right;}
.notifications-feed { padding: 0;}
.notification-item { display: flex; align-items: flex-start; gap: 12px; padding: 10px 16px; border-bottom: var(--hair) solid var(--post-border-color); transition: background-color 0.2s;}
.notification-item-clickable { text-decoration: none; color: inherit;}
@media (hover: hover) { .notification-item:hover { background-color: var(--post-hover-color); cursor: pointer; }}
.notification-item.unread { background-color: var(--highlight-color-tint);}
@media (hover: hover) { .notification-item.unread:hover { background-color: var(--highlight-color-tint-hover); }}
.notification-icon { flex-shrink: 0; width: 32px; height: 32px; margin-top: 1px; margin-left: 6px; margin-right: 6px;}
.notification-icon > app-icon { width: 32px; height: 32px; color: var(--highlight-color);}
.notification-icon > app-icon[icon="like"] { color: var(--like-color);}
/* @chunk notifications */.notification-icon > app-icon[icon="repost"] { color: var(--highlight-color);}
.notification-icon.verified-icon app-icon { color: var(--highlight-color);}
.notification-icon.unverified-icon app-icon { color: var(--text-color-muted);}
.notification-content { flex: 1; min-width: 0;}
.notification-avatars { display: flex; gap: 4px; margin-bottom: 4px; align-items: center;}
.notification-text .automated-account-badge { margin-left: 4px;}
.notification-more { width: 24px; height: 36px; display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--text-color-muted);}
.notification-text { font-size: 15px; line-height: 1.5; color: var(--text-color);}
.notification-text strong { font-weight: 600;}
.notification-others-button { background: none; border: none; padding: 0; margin: 0; font: inherit; font-weight: 600; cursor: pointer;}
@media (hover: hover) { .notification-others-button:hover { text-decoration: underline; }}
.notification-time { color: var(--text-color-muted); font-weight: normal;}
.notification-preview { margin-top: 5px; font-size: 14px; color: var(--text-color-muted);}
.notification-preview-text { white-space: pre-wrap; word-break: break-word; margin-bottom: 8px;}
.notification-preview-text:last-child { margin-bottom: 0;}
.notification-preview-text.unavailable-post { color: var(--text-color-muted); font-style: italic;}
.notification-preview-images { display: grid; gap: 4px; margin-top: 8px; width: fit-content;}
.notification-preview-images:first-child { margin-top: 0;}
/* Single image */.notification-preview-images:has(.notification-preview-image:only-child) { grid-template-columns: 1fr;}
/* Two images */.notification-preview-images:has( .notification-preview-image:nth-child(2):last-child) { grid-template-columns: 1fr 1fr;}
/* Three or four images */.notification-preview-images:has(.notification-preview-image:nth-child(3)) { grid-template-columns: 1fr 1fr;}
.notification-preview-image { height: 100px; aspect-ratio: 1; object-fit: cover; border-radius: var(--image-preview-border-radius); background-color: var(--generic-border-color); border: var(--hair) solid var(--post-border-color);}
.notification-preview-video { position: relative; display: inline-block; height: 100px; aspect-ratio: 1; margin-top: 8px;}
.notification-preview-video:first-child { margin-top: 0;}
.notification-preview-video img { height: 100%; width: 100%; object-fit: cover; border-radius: var(--image-preview-border-radius); background-color: var(--generic-border-color); border: var(--hair) solid var(--post-border-color);}
.video-preview-play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 32px; height: 32px; background-color: var(--overlay-color-medium); border-radius: var(--circular-button-border-radius);}
.video-preview-play-button::after { content: ""; position: absolute; top: 50%; left: 55%; transform: translate(-50%, -50%); border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent var(--overlay-text-color);}
.gif-preview-badge { position: absolute; left: 5px; bottom: 5px; padding: 3px 6px; border-radius: 6px; background-color: var(--overlay-color-darker); color: var(--overlay-text-color); font-size: 8px; font-weight: 600; line-height: 1;}
.notification-reply-wrapper { border-bottom: var(--hair) solid var(--post-border-color);}
.notification-reply-wrapper.unread { background-color: var(--highlight-color-tint);}
.notification-profile-link { font-weight: 600;}
@media (hover: hover) { .notification-profile-link:hover { text-decoration: underline; }}
.chat-main { padding: 0;}
.convo-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; border-bottom: var(--hair) solid var(--post-border-color); transition: background-color 0.2s; cursor: pointer; text-decoration: none; color: inherit; position: relative;}
@media (hover: hover) { .convo-item:hover { background-color: var(--post-hover-color); }}
.convo-item.unread { background-color: var(--highlight-color-tint);}
@media (hover: hover) { .convo-item.unread:hover { background-color: var(--highlight-color-tint-hover); }}
.convo-avatar { flex-shrink: 0;}
.convo-avatar .avatar-image-frame,.convo-avatar .avatar-placeholder { width: var(--avatar-size-convo); height: var(--avatar-size-convo);}
.avatar-group { position: relative; width: var(--avatar-size-convo); height: var(--avatar-size-convo);}
.avatar-group > .avatar-placeholder { width: 100%; height: 100%;}
.avatar-group-item { position: absolute;}
.avatar-group-item .avatar,.avatar-group-item .avatar-image-frame { display: block; width: 100%; height: 100%;}
.avatar-group-2 .avatar-group-item { width: 63.3%; height: 63.3%;}
.avatar-group-2 .avatar-group-item:nth-child(1) { top: 0; left: 0; z-index: 1;}
.avatar-group-2 .avatar-group-item:nth-child(2) { top: 35%; left: 35%;}
.avatar-group-2 .avatar-group-item .avatar-image-frame { border: 2px solid var(--background-color);}
.avatar-group-3 .avatar-group-item:nth-child(1) { width: 56.7%; height: 56.7%; top: 0; left: 0;}
.avatar-group-3 .avatar-group-item:nth-child(2) { width: 46.7%; height: 46.7%; top: 51.7%; left: 31.7%;}
.avatar-group-3 .avatar-group-item:nth-child(3) { width: 38.3%; height: 38.3%; top: 15%; left: 59.2%;}
.avatar-group-4 .avatar-group-item:nth-child(1) { width: 56.7%; height: 56.7%; top: 0; left: 0;}
.avatar-group-4 .avatar-group-item:nth-child(2) { width: 46.7%; height: 46.7%; top: 40.8%; left: 50%;}
.avatar-group-4 .avatar-group-item:nth-child(3) { width: 35%; height: 35%; top: 61.7%; left: 11.7%;}
.avatar-group-4 .avatar-group-item:nth-child(4) { width: 26.7%; height: 26.7%; top: 7.5%; left: 60%;}
/* @chunk chat */.convo-content { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;}
.convo-header { display: flex; align-items: center; gap: 8px;}
.convo-name { font-weight: 600; font-size: 15px; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.convo-time { flex-shrink: 0; font-size: 14px; color: var(--text-color-muted);}
.convo-handle { font-size: 14px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.convo-preview { font-size: 14px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-top: 2px;}
.convo-preview.unread { color: var(--text-color); font-weight: 500;}
.convo-item.skeleton { pointer-events: none;}
.convo-skeleton-avatar { width: var(--avatar-size-convo); height: var(--avatar-size-convo); border-radius: var(--avatar-border-radius);}
.convo-skeleton-name { width: 120px; height: 16px; border-radius: var(--skeleton-border-radius);}
.convo-skeleton-time { width: 40px; height: 14px; border-radius: var(--skeleton-border-radius);}
.convo-skeleton-handle { width: 90px; height: 12px; border-radius: var(--skeleton-border-radius); margin-top: 4px;}
.convo-skeleton-preview { width: 80%; height: 14px; border-radius: var(--skeleton-border-radius); margin-top: 6px;}
.chat-requests-main { padding: 0;}
.chat-request-item { display: flex; flex-direction: column; border-bottom: var(--hair) solid var(--post-border-color); background-color: var(--background-color); transition: background-color 0.2s;}
@media (hover: hover) { .chat-request-item:hover { background-color: var(--post-hover-color); }}
.chat-request-header { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; cursor: pointer; transition: background-color 0.2s;}
@media (hover: hover) { .chat-request-header:hover { background-color: var(--post-hover-color); }}
.chat-request-follow-status { color: var(--text-color-muted); font-size: 13px; margin-top: 6px;}
.chat-request-actions { display: flex; gap: 12px; padding: 0 16px 12px 16px;}
.chat-request-button { flex: 1; padding: 10px 16px; border: none; border-radius: var(--sheet-border-radius); font-size: 14px; cursor: pointer; transition: background-color 0.2s;}
.chat-request-button.accept { background-color: var(--primary-button-color); color: var(--primary-button-text-color);}
@media (hover: hover) { .chat-request-button.accept:hover { opacity: 0.9; }}
.chat-request-button.reject { background-color: var(--text-input-background-color);}
@media (hover: hover) { .chat-request-button.reject:hover { background-color: var(--generic-border-color); }}
.chat-request-item.skeleton .chat-request-header { pointer-events: none;}
.chat-request-skeleton-button { flex: 1; height: 40px; border-radius: var(--sheet-border-radius);}
.chat-detail-main { position: relative; height: calc( 100dvh - var(--chat-detail-header-height) - var(--footer-height) - var(--safe-area-inset-bottom) ); overflow: hidden; /* Gets updated via JS in chat detail view */ --input-bar-height: var(--message-input-min-height);}
.chat-detail-main > infinite-scroll-container { display: block; height: 100%; overflow-y: auto; overscroll-behavior: contain; padding-bottom: var(--input-bar-height); box-sizing: border-box;}
.chat-detail-main .message-list { padding: 16px 16px 8px;}
@media (min-width: 800px) { .chat-detail-main { height: calc( 100dvh - var(--chat-detail-header-height) - var(--safe-area-inset-bottom) ); }}
.chat-detail-main .loading-spinner-container { display: flex; justify-content: center; align-items: center; padding: 16px;}
.chat-detail-empty { display: flex; justify-content: center; align-items: center; padding: 20px 20px; color: var(--text-color-muted); font-size: 15px;}
.chat-info-panel { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 24px 20px; text-align: center;}
.chat-info-panel .profile-follows-you { margin-top: 4px;}
.chat-info-panel > .avatar .avatar-image-frame,.chat-info-panel-avatars > .avatar .avatar-image-frame { width: var(--avatar-size-chat-info-panel); height: var(--avatar-size-chat-info-panel);}
.chat-info-panel-avatars { height: var(--avatar-size-chat-info-panel);}
.chat-info-panel-avatars .avatar-group { width: var(--avatar-size-chat-info-panel); height: var(--avatar-size-chat-info-panel);}
.chat-info-panel-name { display: flex; align-items: center; gap: 4px; margin-top: 8px; font-size: 20px; font-weight: 700; color: var(--text-color);}
.chat-info-panel-handle { font-size: 14px; color: var(--text-color-muted);}
.chat-info-panel-go-to-profile-button { margin-top: 12px; color: var(--text-color); text-decoration: none;}
.chat-info-panel .author-badges { justify-content: center; gap: 4px;}
.chat-info-panel .label-badge { font-size: 13px; min-height: 23px; padding: 3px 8px 4px; background: light-dark(var(--lightest-gray), var(--gray));}
@media (hover: hover) { .chat-info-panel .label-badge:hover { background: light-dark(var(--lighter-gray), var(--light-gray)); }}
.chat-info-panel .label-badge-image { width: 16px; height: 16px;}
.group-chat-header-skeleton-avatar { width: var(--avatar-size-chat-info-panel); height: var(--avatar-size-chat-info-panel);}
.group-chat-header-skeleton-handle-line { display: inline-block;}
.group-chat-members-heading { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; font-weight: 600; color: var(--text-color); border-bottom: var(--hair) solid var(--post-border-color);}
.group-chat-member-count { font-weight: 400; font-size: 14px; color: var(--text-color-muted);}
.group-chat-member-added-by { align-self: center; flex-shrink: 0; font-size: 13px; text-align: right; color: var(--text-color-muted);}
.group-chat-admin-badge { align-self: center; padding: 3px 10px 4px; border-radius: 999px; font-size: 13px; font-weight: 500; color: var(--highlight-color); background: color-mix(in srgb, var(--highlight-color) 12%, transparent);}
.chat-info-panel-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 16px;}
.chat-info-panel-action { gap: 6px;}
.chat-info-panel-action app-icon { width: 18px; height: 18px; display: inline-flex;}
.chat-info-panel-action app-icon svg { width: 100%; height: 100%;}
.chat-info-panel-action-skeleton { width: 90px; height: 34px;}
.chat-info-panel-action.muted { color: var(--error-color); background-color: color-mix(in srgb, var(--error-color) 12%, transparent);}
@media (hover: hover) { .rounded-button.chat-info-panel-action.muted:not(:disabled):hover { background-color: color-mix(in srgb, var(--error-color) 20%, transparent); }}
.convo-item.is-muted { opacity: 0.6;}
.convo-item .convo-muted-icon { display: inline-flex; width: 14px; height: 14px; margin-left: 2px; vertical-align: -2px; color: var(--text-color-muted);}
.convo-item .convo-muted-icon svg { width: 100%; height: 100%;}
.message-day-title { font-size: 12px; color: var(--text-color-muted); margin-bottom: 12px; text-align: center;}
.message-day-title strong { font-weight: 500; color: var(--text-color);}
.message-group { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px;}
.message-author-name { font-size: 0.8rem; color: var(--text-color-muted); margin-left: calc(var(--avatar-size-message) + 8px); margin-bottom: 2px;}
.system-message { text-align: center; font-size: 0.85rem; color: var(--text-color-muted); margin: 12px 0;}
.chat-locked-notice { text-align: center; font-size: 0.9rem; color: var(--text-color-muted); padding: 16px;}
.message-group-sent { align-items: flex-end;}
.message-group-received { align-items: flex-start;}
.message { display: flex; gap: 8px; width: 100%; margin-bottom: 4px; position: relative;}
.message-sent { flex-direction: row-reverse;}
.message-received { flex-direction: row;}
.message-avatar { flex-shrink: 0; width: var(--avatar-size-message); height: var(--avatar-size-message); align-self: flex-start;}
.message-avatar .avatar-image-frame,.message-avatar .avatar-placeholder { width: var(--avatar-size-message); height: var(--avatar-size-message);}
.message-avatar-spacer { width: var(--avatar-size-message); height: var(--avatar-size-message); flex-shrink: 0; align-self: flex-start;}
.message-bubble { max-width: 70%; min-width: 0; padding: 10px 14px; border-radius: var(--message-bubble-border-radius); word-wrap: break-word; overflow-wrap: break-word;}
.message-sent .message-bubble { background-color: var(--highlight-color); color: var(--overlay-text-color); border-bottom-right-radius: 4px;}
.message-received .message-bubble { background-color: var(--text-input-background-color); color: var(--text-color); border-bottom-left-radius: 4px;}
.message-text .rich-text-emoji-only { --rich-text-emoji-scale: 3;}
.message-sent .message-bubble-emoji-only,.message-received .message-bubble-emoji-only { background: none; padding: 0; border-radius: 0; color: var(--text-color);}
.message-bubble a { text-decoration: underline;}
.message-reply-quote { padding: 4px 8px; margin-bottom: 6px; border-radius: 8px; font-size: 13px; opacity: 0.9; cursor: pointer;}
.message-sent .message-reply-quote { background-color: rgba(255, 255, 255, 0.15);}
.message-received .message-reply-quote { background-color: light-dark(rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0.1));}
.message-reply-quote-sender { font-weight: 600; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.message-reply-quote-text { display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.message-reply-quote-text-muted { font-style: italic; opacity: 0.7;}
.message-reply-caption { display: flex; align-items: center; gap: 4px; font-size: 12px; color: var(--text-color-muted); margin-bottom: 2px; cursor: pointer;}
.message-reply-caption-arrow { display: flex;}
.message-reply-caption-arrow app-icon { width: 13px; height: 13px;}
.message-reply-caption-sent { justify-content: flex-end; padding-right: 4px;}
.message-reply-caption-received { justify-content: flex-start; padding-left: 44px;}
@keyframes message-highlight-flash-received { 0% { background-color: transparent; } 10%, 37% { background-color: color-mix( in srgb, var(--highlight-color) 22%, transparent ); } 67% { background-color: transparent; }}
@keyframes message-highlight-flash-sent { 0% { background-color: var(--highlight-flash-base); } 10%, 37% { background-color: color-mix( in srgb, var(--overlay-text-color) 50%, var(--highlight-flash-base) ); } 67% { background-color: var(--highlight-flash-base); }}
.message-wrapper.message-highlighted .message-received .message-bubble,.message-wrapper.message-highlighted .message-received .message-embed > .quoted-post,.message-wrapper.message-highlighted .message-received .message-embed > .quoted-post-link > .quoted-post { animation: message-highlight-flash-received 1500ms ease-out;}
.message-wrapper.message-highlighted .message-sent .message-bubble { --highlight-flash-base: var(--highlight-color); animation: message-highlight-flash-sent 1500ms ease-out;}
.message-wrapper.message-highlighted .message-sent .message-bubble-emoji-only,.message-wrapper.message-highlighted .message-received .message-bubble-emoji-only { animation: none;}
.message-wrapper.message-highlighted .message-sent .message-embed > .quoted-post,.message-wrapper.message-highlighted .message-sent .message-embed > .quoted-post-link > .quoted-post { --highlight-flash-base: var(--highlight-color-tint); animation: message-highlight-flash-sent 1500ms ease-out;}
.message-sent a { color: var(--off-white);}
.message-group-time { font-size: 11px; color: var(--text-color-muted); padding: 0 8px;}
.message-group-time-sent { text-align: right; padding-right: 4px;}
.message-group-time-received { text-align: left; padding-left: 44px;}
/* Message wrapper for reaction palette */.message-wrapper { position: relative; width: 100%;}
.message-embed .quoted-post { background: var(--text-input-background-color); border-radius: var(--message-bubble-border-radius); border: none; margin-top: 0;}
.message-sent .message-embed .quoted-post { background: var(--highlight-color-tint);}
.message-sent .message-embed a { color: inherit;}
.chat-join-link-embed { padding: 12px; display: flex; flex-direction: column; gap: 12px; min-width: 240px; max-width: 100%;}
.message-embed .chat-join-link-embed { background: var(--text-input-background-color); border-radius: var(--message-bubble-border-radius); border: none;}
.message-sent .message-embed .chat-join-link-embed { background: var(--highlight-color-tint);}
.chat-join-link-embed-header { display: flex; flex-direction: row; align-items: center; gap: 12px;}
.chat-join-link-embed-avatars { flex-shrink: 0;}
.chat-join-link-embed-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1;}
.chat-join-link-embed-name { font-weight: 700; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.chat-join-link-embed-meta { font-size: 12px; color: var(--text-color-muted);}
.chat-join-link-embed-owner { font-size: 13px; color: var(--text-color); display: flex; align-items: center; gap: 4px; overflow: hidden; flex-wrap: wrap;}
.chat-join-link-embed-owner-name { color: inherit; font-weight: 500; text-decoration: none;}
.chat-join-link-embed-owner-handle { color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;}
.chat-join-link-embed-unavailable { display: flex; align-items: center; gap: 8px; color: var(--text-color-muted); font-size: 14px; padding: 4px 0;}
.chat-join-link-embed-unavailable app-icon { width: 18px; height: 18px; flex-shrink: 0;}
.chat-join-link-action { gap: 6px; padding: 8px 14px; font-weight: 600; width: 100%;}
.chat-join-link-action[disabled] { background: var(--secondary-button-color); color: var(--text-color);}
.chat-join-link-action app-icon { width: 18px; height: 18px;}
.message-actions { display: flex; align-self: center; flex-shrink: 0;}
.message-sent .message-actions { flex-direction: row-reverse;}
.message-emoji-trigger,.message-more-trigger { background: transparent; border: none; padding: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--text-color-muted); cursor: pointer; opacity: 0; pointer-events: none; -webkit-tap-highlight-color: transparent; touch-action: manipulation;}
.message-emoji-trigger app-icon { width: 20px; height: 20px;}
.message-more-trigger span { font-weight: 600; position: relative; top: -4px;}
.message-wrapper-active .message-emoji-trigger,.message-wrapper-active .message-more-trigger { opacity: 1; pointer-events: auto;}
@media (hover: hover) { .message:hover .message-emoji-trigger, .message:hover .message-more-trigger { opacity: 1; pointer-events: auto; } .message-emoji-trigger:hover, .message-more-trigger:hover { color: var(--text-color); }}
/* Skeleton loader for messages */.message.skeleton { pointer-events: none;}
.message-input-wrapper { display: flex; flex-direction: column; position: absolute; bottom: 0; left: 0; right: 0;}
.message-reply-preview { display: flex; align-items: center; gap: 12px; padding: 8px 16px; background-color: var(--background-color); border-top: 1px solid var(--generic-border-color); z-index: var(--message-input-z-index); font-size: 16px;}
.message-reply-preview-accent { width: 3px; align-self: stretch; background-color: var(--highlight-color); border-radius: 2px;}
.message-reply-preview-content { flex: 1; min-width: 0;}
.message-reply-preview-sender { font-size: 13px; color: var(--text-color-muted); font-weight: 600;}
.message-reply-preview-text { font-size: 15px; color: var(--text-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.message-reply-preview-text-muted { font-style: italic; opacity: 0.7;}
.message-reply-preview-clear { background: none; border: none; color: var(--text-color-muted); cursor: pointer; padding: 4px 8px; display: flex; align-items: center;}
.message-embed-preview { position: relative; padding: 8px 16px; background-color: var(--background-color); border-top: 1px solid var(--generic-border-color); z-index: var(--message-input-z-index);}
.message-embed-preview-pending { display: flex; align-items: center; justify-content: center; min-height: 64px; border: var(--hair) solid var(--embed-border-color); border-radius: var(--embed-border-radius); color: var(--text-color-muted);}
.quoted-post-condensed .post-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;}
.quoted-post-media-thumbs { display: flex; gap: 4px; margin-top: 8px;}
.quoted-post-media-thumb { width: 64px; height: 64px; object-fit: cover; border-radius: var(--image-preview-border-radius); background-color: var(--generic-border-color); border: var(--hair) solid var(--post-border-color);}
.quoted-post-media-video { position: relative;}
.message-embed-preview .embed-preview-close-button { right: 24px; top: 16px;}
.message-input-container { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background-color: var(--background-color); position: relative; min-height: var(--message-input-min-height); z-index: var(--message-input-z-index); flex: 1;}
chat-input { flex: 1;}
chat-input rich-text-input { flex: 1; min-width: 0;}
chat-input .rich-text-input { padding: 12px 16px; border: none; border-radius: var(--message-input-border-radius); background-color: var(--text-input-background-color); color: var(--text-color); font-size: 16px; font-family: inherit; outline: none; /* Cap auto-grow so a long multi-line message scrolls internally instead of pushing the whole input bar up off the top of the (short, mobile) viewport. */ max-height: min(250px, 50vh); overflow-y: auto; line-height: 1.4; scrollbar-width: thin;}
chat-input .rich-text-input[contenteditable="false"],chat-input[disabled] .rich-text-input-placeholder { opacity: 0.6;}
chat-input .rich-text-input-placeholder { padding: 12px 16px; font-size: 16px; line-height: 1.4;}
.message-input-field-wrapper { position: relative; flex: 1; min-width: 0; display: flex;}
.message-input-emoji-wrapper { position: absolute; right: 6px; bottom: 7px; display: flex; align-items: center;}
.message-input-field-wrapper .rich-text-input,.message-input-field-wrapper .rich-text-input-placeholder { padding-right: 46px;}
.message-input-emoji-button { flex-shrink: 0; width: 32px; height: 32px; border-radius: var(--circular-button-border-radius); background: transparent; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text-color-muted); padding: 0; transition: background-color 0.2s, color 0.2s;}
@media (hover: hover) { .message-input-emoji-button:hover:not(:disabled) { background-color: var(--post-hover-color); color: var(--text-color); }}
.message-input-emoji-button app-icon { width: 22px; height: 22px;}
.message-input-send-button { flex-shrink: 0; width: 40px; height: 40px; border-radius: var(--circular-button-border-radius); color: var(--primary-button-text-color); background-color: var(--primary-button-color); border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: opacity 0.2s;}
.message-input-send-button .loading-spinner { border-top-color: var(--primary-button-text-color); border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent;}
@media (hover: hover) { .message-input-send-button:hover:not(:disabled) { opacity: 0.9; }}
.message-input-send-button:active:not(:disabled) { opacity: 0.8;}
.message-input-send-button app-icon { color: var(--overlay-text-color); width: 20px; height: 20px; left: 2px;}
.reaction-palette { position: absolute; top: 100%; left: 0; background: var(--context-menu-background-color); border-radius: var(--reaction-palette-border-radius); padding: 0px 0px; display: flex; gap: 0px; box-shadow: var(--shadow-color-medium); animation: palette-appear 0.2s ease-out; border: var(--hair) solid var(--generic-border-color); z-index: var(--reaction-palette-z-index);}
@keyframes palette-appear { from { opacity: 0; transform: scale(0.9) translateY(5px); } to { opacity: 1; transform: scale(1) translateY(0); }}
.message-group-sent .reaction-palette { right: -10px; left: auto;}
.reaction-palette-button { background: transparent; border: none; color: inherit; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: var(--circular-button-border-radius); transition: background-color 0.15s, transform 0.1s; -webkit-tap-highlight-color: transparent; user-select: none; padding: 0; touch-action: manipulation;}
.reaction-palette-button-inner { font-size: 28px; line-height: 1; display: flex; align-items: center; justify-content: center; pointer-events: none;}
.reaction-palette-button-more .reaction-palette-button-inner { position: relative; bottom: 8px;}
@media (hover: hover) { .reaction-palette-button:hover { background-color: var(--secondary-button-color); }}
.message-content { display: flex; flex-direction: column; min-width: 0; max-width: 70%;}
.message-sent .message-content { align-items: flex-end;}
.message-received .message-content { align-items: flex-start;}
.message-content .message-bubble,.message-content .message-embed { max-width: 100%;}
.message-content .message-embed + .message-bubble { margin-top: 4px;}
.message-reactions { display: inline-flex; align-items: center; gap: 4px; background: var(--background-color); border: var(--hair) solid var(--generic-border-color); border-radius: 999px; padding: 2px 8px; margin-top: -8px; position: relative; user-select: none;}
.message-reactions:not(.message-reactions-static) { cursor: pointer;}
.message-reactions-own { background-color: var(--highlight-color-tint); border-color: var(--highlight-color);}
@media (hover: hover) { .message-reactions:not(.message-reactions-static):hover { background-color: var(--post-hover-color); }
.message-reactions-own:not(.message-reactions-static):hover { background-color: var(--highlight-color-tint-hover); }}
.reaction-palette-button[disabled] { cursor: not-allowed;}
.reaction-palette-button.reaction-palette-button-active { background-color: var(--secondary-button-color);}
@media (hover: hover) { .reaction-palette-button.reaction-palette-button-active:hover { background-color: var(--secondary-button-hover-color); }}
.reaction-bubble { display: inline-flex; align-items: center; gap: 2px; padding: 2px 0; font-size: 14px;}
.reaction-emoji { font-size: 16px; line-height: 1; display: flex; align-items: center;}
.reaction-count { font-size: 12px; font-weight: 600; color: var(--text-color); line-height: 1; padding: 2px 2px 2px 0;}
@media (min-width: 800px) { .bottom-sheet.live-status-dialog { max-width: 400px; }}
.live-status-card { display: flex; flex-direction: column; gap: 14px; padding: 16px;}
.live-status-dialog-content { display: flex; flex-direction: column; padding-top: 10px; overflow-y: auto;}
.live-status-thumb { position: relative; border-radius: 8px; overflow: hidden; aspect-ratio: 1.91 / 1; background-color: var(--skeleton-color);}
.live-status-thumb-image { width: 100%; height: 100%; object-fit: cover; display: block;}
.live-status-thumb-image--blurred { filter: blur(20px); transform: translateZ(0);}
.live-status-thumb-badge { position: absolute; top: 10px; left: 10px; background-color: var(--live-color); color: var(--white); font-size: 13px; font-weight: 700; letter-spacing: 0.03em; line-height: 1; padding: 4px 7px; border-radius: 5px;}
.live-status-title { font-size: 17px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.live-status-domain { margin-top: 4px; font-size: 14px; color: var(--text-color-muted);}
.live-status-watch-button { text-align: center; text-decoration: none;}
.live-status-divider { border-top: var(--hair) solid var(--generic-border-color);}
.live-status-profile-row { display: flex; align-items: center; gap: 10px;}
.live-status-profile-info { flex: 1; min-width: 0;}
.live-status-profile-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.live-status-profile-handle { font-size: 14px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.live-status-footer { text-align: center; font-size: 13px; color: var(--text-color-muted); padding: 0 16px 16px;}
.bottom-sheet.reactions-dialog { height: 28em;}
@media (min-width: 800px) { .bottom-sheet.reactions-dialog { height: auto; max-width: 420px; }}
.reactions-dialog-content { display: flex; flex-direction: column; height: 100%; max-height: 80vh; padding-top: 18px;}
.reactions-dialog-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: var(--hair) solid var(--generic-border-color);}
.reactions-dialog-title { margin: 0; font-size: 16px; font-weight: 600;}
.reactions-dialog-close { display: none; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 0 8px;}
@media (min-width: 800px) { .reactions-dialog-close { display: inline-flex; align-items: center; }}
.reactions-tabs { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; height: 48px; overflow-x: auto; padding: 0 16px; border-bottom: var(--hair) solid var(--generic-border-color); scrollbar-width: thin;}
.reactions-tab { display: inline-flex; align-items: center; gap: 4px; background: var(--background-color); border: var(--hair) solid var(--generic-border-color); border-radius: 16px; padding: 4px 10px; font-size: 14px; cursor: pointer; white-space: nowrap; flex-shrink: 0;}
.reactions-tab-selected { background-color: var(--highlight-color-tint); border-color: var(--highlight-color);}
.reactions-tab-count { font-weight: 600; font-size: 12px;}
.reactions-list { flex: 1 1 auto; min-height: 0; list-style: none; margin: 0; padding: 8px 0; overflow-y: auto;}
.reactions-list li { padding: 0;}
.reaction-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 8px 16px; background: none; border: none; text-align: left; color: var(--text-color); font: inherit;}
.reaction-row:disabled { opacity: 1;}
.reaction-row-own { cursor: pointer;}
@media (hover: hover) { .reaction-row-own:hover { background-color: var(--post-hover-color); }}
.reaction-row-avatar { flex: 0 0 auto; width: 42px; height: 42px;}
.reaction-row-avatar .avatar,.reaction-row-avatar .avatar-image-frame,.reaction-row-avatar .avatar-placeholder,.reaction-row-avatar .avatar-image { width: 42px; height: 42px;}
.reaction-row-info { flex: 1 1 auto; display: flex; flex-direction: column; min-width: 0;}
.reaction-row-name { font-weight: 600; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.reaction-row-handle { font-size: 13px; color: var(--text-color-secondary, var(--text-color)); opacity: 0.7; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.reaction-row-emoji { font-size: 20px; flex: 0 0 auto;}
emoji-picker-dialog emoji-picker,.emoji-picker-dialog-host emoji-picker { --num-columns: 6; --category-emoji-size: 1.125rem; --input-font-size: 16px;}
.emoji-picker-dialog-host { position: fixed; margin: 0; padding: 0; border: none; background: transparent; max-width: none; max-height: none; width: fit-content; height: fit-content; overflow: visible;}
.emoji-picker-dialog-host::backdrop { background: transparent;}
.profile-container { padding: 0; min-height: 100dvh;}
.profile-banner-container { position: relative; width: 100%; height: 150px; background-color: light-dark(var(--lightest-gray), var(--gray));}
.profile-banner { width: 100%; height: 100%; object-fit: cover;}
.profile-banner--blurred { filter: blur(100px);}
/* @chunk profile */.profile-banner-container lightbox-image-group { display: block; width: 100%; height: 100%;}
.profile-header { position: relative; z-index: var(--profile-header-z-index); padding: 16px; padding-bottom: 4px;}
.profile-header .avatar { position: absolute; top: -65px; left: 0;}
.profile-header .avatar-image-frame { width: var(--avatar-size-profile); height: var(--avatar-size-profile); border-color: var(--background-color); border-width: 2px;}
.profile-top-row { position: relative; display: flex; align-items: flex-start; justify-content: flex-end;}
.profile-top-row .rounded-button { margin-left: 4px;}
.profile-info { margin-top: 10px;}
.profile-name { font-size: 28px; font-weight: 800; margin: 0 0 4px 0; line-height: 1.2;}
.verification-badge { display: inline-flex; align-items: center; vertical-align: middle; /* margin-left: 1px; */ /* margin-bottom: -1px; */ flex-shrink: 0; color: var(--highlight-color);}
.verification-badge svg { width: 12px; height: 12px;}
.profile-info .verification-badge { margin-left: 6px; margin-bottom: 2px;}
.profile-list-item .verification-badge { margin-left: 3px; margin-bottom: 2px;}
.notification-text .verification-badge { margin-left: 4px; margin-bottom: 2px;}
.profile-name .verification-badge svg { width: 18px; height: 18px;}
.automated-account-badge { display: inline-flex; align-items: center; vertical-align: middle; flex-shrink: 0; color: var(--text-color-muted); background: none; border: none; padding: 0; cursor: pointer; font: inherit;}
.automated-account-badge app-icon { width: 12px; height: 12px;}
.profile-info .automated-account-badge { margin-left: 6px; margin-bottom: 2px;}
.profile-list-item .automated-account-badge { margin-left: 3px; margin-bottom: 2px;}
.profile-name .automated-account-badge app-icon { width: 18px; height: 18px;}
.profile-handle { color: var(--text-color-muted); font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;}
.profile-handle-row { display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 8px;}
.profile-card .author-badges { gap: 4px; margin-top: 12px; padding: 0 16px;}
.profile-card .label-badge { font-size: 13px; min-height: 23px; padding: 3px 8px 4px; background: light-dark(var(--lightest-gray), var(--gray));}
@media (hover: hover) { .profile-card .label-badge:hover { background: light-dark(var(--lighter-gray), var(--light-gray)); }}
.profile-card .label-badge-image { width: 16px; height: 16px;}
.profile-follows-you { font-size: 13px; background: var(--secondary-button-color); padding: 3px 8px; border-radius: var(--tag-border-radius); display: inline-block; width: fit-content; flex: none;}
.profile-blocked-badge { font-size: 13px; background: var(--secondary-button-color); padding: 3px 8px; border-radius: var(--tag-border-radius); display: inline-block; margin-left: 1em;}
.profile-stats { padding: 0 16px 0 16px; display: flex; gap: 10px;}
.profile-stat { color: var(--text-color-muted); font-size: 15px; text-decoration: none;}
.profile-stat strong { color: var(--text-color); font-weight: 600;}
@media (hover: hover) { a.profile-stat:hover { cursor: pointer; text-decoration: underline; }}
.known-followers-summary { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 0 16px; color: var(--text-color-muted); font-size: 14px; text-decoration: none; line-height: 1.3;}
@media (hover: hover) { .known-followers-summary:hover .known-followers-text { text-decoration: underline; }}
.known-followers-summary strong { color: var(--text-color); font-weight: 600;}
.known-followers-avatars { display: flex; flex-shrink: 0;}
.known-followers-avatar { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--background-color); overflow: hidden; margin-left: -8px;}
.known-followers-avatar:first-child { margin-left: 0;}
.chat-request-follow-status .known-followers-summary { margin-top: 0; padding: 0;}
.chat-request-follow-status .known-followers-avatar { width: 20px; height: 20px;}
.known-followers-avatar .avatar,.known-followers-avatar .avatar-image-frame,.known-followers-avatar .avatar-image { width: 100%; height: 100%; border-radius: 50%;}
.profile-description { margin-top: 12px; padding: 0 16px 0px 16px; line-height: 1.3;}
.profile-description a { color: var(--text-link-color);}
@media (hover: hover) { .profile-description a:hover { text-decoration: underline; }}
.profile-skeleton { pointer-events: none;}
.profile-skeleton .profile-list-item-body { gap: 8px;}
.profile-list-item { display: flex; flex-direction: column; gap: 8px; padding: 12px 16px; border-bottom: var(--hair) solid var(--post-border-color);}
container-link.profile-list-item,button.profile-list-item-button { cursor: pointer;}
button.profile-list-item-button { display: flex; background: none; border: none; color: inherit; font: inherit; text-align: left; width: 100%;}
button.profile-list-item-button.is-disabled { cursor: not-allowed; opacity: 0.55;}
.profile-list-item-row { display: flex; align-items: flex-start; gap: 12px; width: 100%;}
@media (hover: hover) { container-link.profile-list-item:hover, button.profile-list-item-button:not(:disabled):hover { background: var(--post-hover-color); }}
/* This element fixes a weird bug on iOS safari where the chatDetail page would render extra slowly. I don't know why it works, but it does. */.hack-x { color: transparent;}
.profile-list-item-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;}
.profile-list-item-name { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--text-color); text-decoration: none;}
@media (hover: hover) { .profile-list-item-name:hover { text-decoration: underline; }}
.profile-list-item-display-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%;}
.profile-list-item-handle { font-size: 14px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0;}
.profile-list-item-badges { display: contents;}
.profile-list-item .label-badge { font-size: 12px; padding-right: 5px; margin-top: 5px; margin-right: 2px;}
.profile-list-item .label-badge-image { width: 12px; height: 12px;}
.profile-list-item-follow { margin-left: auto; align-self: center; white-space: nowrap; flex-shrink: 0;}
.profile-list-item-skeleton-bio { display: flex; flex-direction: column; gap: 6px;}
.profile-list-item-description { font-size: 13px; color: var(--text-color-muted);}
.profile-list-item-description .rich-text { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;}
.search-input-container { position: relative; display: flex; flex-direction: column; width: 100%;}
.search-input { padding-top: 12px; padding-bottom: 12px; padding-left: 42px; padding-right: 36px; margin: 14px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background: var(--text-input-background-color); color: var(--text-color); font-size: 16px; outline: none; transition: border-color 0.2s;}
@media (hover: hover) { .search-input:hover { background: var(--post-hover-color); }}
.search-input-container > app-icon { position: absolute; left: 24px; top: 24px; width: 24px; height: 24px;}
.search-clear-button { position: absolute; right: 23px; top: 23px; width: 24px; height: 24px; background: var(--background-color); color: var(--text-color-muted); cursor: pointer; border-radius: var(--circular-button-border-radius); border: none; display: flex; align-items: center; justify-content: center;}
.search-clear-button app-icon { width: 16px; height: 16px;}
.search-results-container { margin: 0 0 24px 0; padding-bottom: 48px;}
.search-tab-panels { display: flex; flex-direction: column; gap: 16px;}
.search-typeahead { display: flex; flex-direction: column;}
.search-typeahead-row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: none; background: none; text-align: left; font-size: 15px; color: var(--text-color); cursor: pointer; border-bottom: var(--hair) solid var(--post-border-color);}
@media (hover: hover) { .search-typeahead-row:hover { background-color: color-mix( in srgb, var(--highlight-color) 6%, transparent ); }}
.search-typeahead-loading { display: flex; justify-content: center; padding: 16px;}
.search-typeahead-icon { width: var(--avatar-size-post); height: var(--avatar-size-post); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--text-color-muted);}
.search-typeahead-icon > app-icon { width: 24px; height: 24px;}
.search-typeahead-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.search-typeahead-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.search-typeahead-handle { color: var(--text-color-muted); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.search-results-panel { overflow: hidden; display: flex; flex-direction: column;}
.search-recent-heading { padding: 8px 16px; font-size: 15px; font-weight: 600; color: var(--text-color);}
.search-recent-row { position: relative; display: flex; align-items: center;}
.search-recent-row .search-typeahead-row { border: none;}
.search-recent-row .search-typeahead-icon { display: none;}
.search-recent-row-button { flex: 1; min-width: 0; width: 100%; padding-right: 48px;}
.search-recent-remove-button { position: absolute; right: 12px; width: 32px; height: 32px; color: var(--text-color-muted);}
.search-recent-remove-button app-icon { width: 20px; height: 20px;}
.search-recent-profiles { display: flex; flex-wrap: nowrap; gap: 20px; padding-inline: 16px; padding-top: 8px; padding-bottom: 12px; overflow-x: auto; scrollbar-width: none;}
.search-recent-profiles::-webkit-scrollbar { display: none;}
.search-recent-profile { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; width: 80px; flex-shrink: 0;}
.search-recent-profile .avatar { height: 72px; line-height: 0;}
.search-recent-profile .avatar-image-frame { width: 72px; height: 72px;}
.search-recent-profile-name { max-width: 100%; font-size: 11px; color: var(--text-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.search-recent-profile-remove { top: 0; right: 4px; width: 18px; height: 18px;}
.search-recent-profile-skeleton-avatar { width: 72px; height: 72px;}
.search-recent-profile-skeleton-name-line { display: inline-block; width: 48px; height: 10px;}
.search-recent-profile-remove app-icon { width: 16px; height: 16px;}
.search-placeholder { padding: 48px 24px; color: var(--text-color-muted); font-size: 15px; text-align: center; line-height: 1.5; display: flex; flex-direction: column; align-items: center; gap: 12px;}
.search-placeholder-icon { width: 64px; height: 64px; opacity: 0.3;}
.search-placeholder-icon > app-icon { width: 100%; height: 100%; color: var(--text-color-muted);}
.search-placeholder-text { max-width: 345px;}
.search-status-message { padding: 16px; color: var(--text-color-muted); font-size: 14px;}
.search-status-message.error { color: var(--error-color);}
.search-post-results .feed-item { border-bottom: var(--hair) solid var(--post-border-color); background: transparent;}
.search-post-results .feed-item:last-of-type { border-bottom: none;}
sidebar-search { display: none;}
@media (min-width: 1100px) { sidebar-search { display: block; flex-shrink: 0; }}
.sidebar-search { position: relative; z-index: var(--sidebar-search-z-index); margin: 16px;}
.sidebar-search-input-container { position: relative; display: flex;}
.sidebar-search-input { width: 100%; box-sizing: border-box; padding: 10px 36px 10px 42px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background: var(--text-input-background-color); color: var(--text-color); font-size: 16px; outline: none; transition: border-color 0.2s;}
.sidebar-search-input::-webkit-search-cancel-button { display: none;}
@media (hover: hover) { .sidebar-search-input:hover { background: var(--post-hover-color); }}
.sidebar-search-input-container > app-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; color: var(--text-color-muted); pointer-events: none;}
.sidebar-search-clear-button { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 22px; height: 22px; background: none;}
.sidebar-search-typeahead { position: absolute; z-index: 2; left: 0; right: 0; top: calc(100% + 4px); overflow: hidden; border: var(--hair) solid var(--post-border-color); border-radius: 12px; background: var(--background-color); box-shadow: var(--shadow-color-light);}
.sidebar-search-typeahead-row { padding-top: 10px; padding-left: 8px; padding-right: 8px; padding-bottom: 8px; border-bottom: none;}
.sidebar-search-placeholder { height: 16px;}
.feeds-list { display: flex; flex-direction: column; gap: 0;}
.feeds-list-header { padding: 16px; display: flex; align-items: center; font-size: 18px; font-weight: 600; color: var(--text-color); border-bottom: var(--hair) solid var(--post-border-color);}
.feeds-list .loading-spinner { margin-left: auto; margin-right: auto; margin-top: 16px;}
.feeds-list-item { display: flex; align-items: center; padding: 12px 16px; border-bottom: var(--hair) solid var(--post-border-color); text-decoration: none; color: inherit; transition: background-color 0.2s;}
.feeds-list-item.clickable { cursor: pointer;}
@media (hover: hover) { .feeds-list-item.clickable:hover { background-color: var(--post-hover-color); }}
.feeds-list-item-avatar { flex-shrink: 0;}
.feeds-list-item-avatar .feed-avatar { width: 40px; height: 40px; border-radius: var(--list-avatar-border-radius);}
.feeds-list-item-content { flex: 1; min-width: 0; padding-left: 12px;}
.feeds-list-item-title { font-size: 16px; font-weight: 600; margin-bottom: 2px; color: var(--text-primary);}
.feeds-list-item-creator { font-size: 14px; color: var(--text-color-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
.feeds-list-item-description { font-size: 14px; color: var(--text-color-secondary); white-space: pre-wrap;}
.feeds-list-item-chevron { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--text-color-muted);}
.feeds-list-item-chevron svg { width: 32px; height: 32px;}
.feeds-list-item-chevron svg path { stroke-width: 1.2px;}
.feeds-list-item-drag-handle { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: transparent; border: none; padding: 0; color: var(--text-color-muted); cursor: grab; touch-action: none; -webkit-user-select: none; user-select: none;}
.feeds-list-item-unpin-button { flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: transparent; border: none; padding: 0; color: var(--highlight-color); cursor: pointer;}
.feeds-list-item-unpin-button app-icon { width: 20px; height: 20px;}
.feeds-list-item-drag-handle:active { cursor: grabbing;}
.feeds-list-item-drag-handle svg { width: 20px; height: 20px;}
.feeds-list-item.is-dragging { opacity: 0.85; z-index: 1; will-change: transform; background-color: var(--background-color); box-shadow: 0 4px 12px color-mix(in srgb, var(--text-color) 15%, transparent); user-select: none;}
.feeds-list-item.is-shifting { transition: transform 150ms ease;}
.following-avatar { width: 40px; height: 40px; border-radius: var(--list-avatar-border-radius); display: flex; align-items: center; justify-content: center; background-color: #0070ff; color: white;}
.following-avatar app-icon { width: 24px; height: 24px;}
.header-edit-button { padding: 8px;}
.header-edit-button app-icon { width: 24px; height: 24px;}
.header svg { display: block;}
.header-actions { display: flex; align-items: center; gap: 8px; margin-right: 8px; min-height: 40px;}
.feeds-list-item-actions { flex-shrink: 0; display: flex; align-items: center;}
.context-menu-button { border: none; background: none; cursor: pointer; color: var(--text-color-muted); font-size: 18px; font-weight: 600; padding: 0 4px; position: relative; top: -2px; margin-right: 12px;}
.context-menu-button span { position: relative; top: -2px;}
#feed-detail-view .pin-feed-button,#list-detail-view .pin-feed-button { width: 24px; height: 24px; border: none; background: none; cursor: pointer; color: var(--text-color-muted); font-size: 24px;}
#list-detail-view .pin-feed-button { margin-right: 8px;}
#feed-detail-view .pin-feed-button.pinned,#list-detail-view .pin-feed-button.pinned { color: var(--highlight-color);}
.list-detail-header { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; padding: 14px 12px;}
.list-detail-avatar { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; flex-shrink: 0;}
.list-detail-header-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding-top: 2px;}
.list-detail-name { font-size: 22px; font-weight: 600; line-height: 1.2; word-wrap: break-word;}
.list-detail-creator { color: var(--text-color-muted); font-size: 14px; line-height: 1.3;}
.list-detail-description { padding: 0 12px 14px; font-size: 15px; line-height: 1.4; word-wrap: break-word;}
.list-detail-loading { display: flex; justify-content: center; padding: 32px 0;}
.list-empty-add-people-button { display: flex; align-items: center; gap: 6px; margin: 0 auto;}
.list-empty-add-people-button app-icon { width: 24px; height: 24px;}
.feeds-list-item .pin-feed-button app-icon { width: 16px; height: 16px;}
.feeds-list-item-skeleton { pointer-events: none; min-height: 75px;}
.feeds-list-item-skeleton-avatar { width: 30px; height: 30px; border-radius: var(--list-avatar-border-radius);}
.feeds-list-item-skeleton-title { height: 14px; width: 45%; border-radius: var(--skeleton-border-radius); margin-bottom: 6px; margin-top: 2px;}
.feeds-list-item-skeleton-creator { height: 12px; width: 30%; border-radius: var(--skeleton-border-radius);}
.composer-error-banner { display: flex; align-items: flex-start; gap: 8px; margin: 0 16px 16px; padding: 10px 12px; border-radius: var(--text-input-border-radius); background-color: var(--error-subtle-color);}
.composer-error-banner app-icon { flex-shrink: 0; width: 20px; height: 20px; color: var(--error-color);}
.composer-error-banner-message { flex: 1; align-self: center; font-size: 14px; line-height: 1.4;}
.composer-error-banner-dismiss { flex-shrink: 0; background: none; border: none; padding: 2px; cursor: pointer; border-radius: var(--icon-button-border-radius); color: var(--text-color-muted);}
.composer-error-banner-dismiss app-icon { width: 16px; height: 16px;}
@media (hover: hover) { .composer-error-banner-dismiss:hover { color: var(--text-color); }}
/* @chunk bottom-sheet */@keyframes fade-in { from { opacity: 0; } to { opacity: 1; }}
@keyframes slide-up { from { transform: translateY(100%); caret-color: transparent; } 99% { caret-color: transparent; } to { transform: translateY(0); caret-color: auto; }}
@keyframes fade-out { from { opacity: 1; } to { opacity: 0; }}
@keyframes slide-down { from { transform: translateY(0); caret-color: transparent; } to { transform: translateY(100%); caret-color: transparent; }}
.bottom-sheet { border: var(--hair) solid var(--post-border-color); border-bottom: none; border-radius: var(--sheet-border-radius) var(--sheet-border-radius) 0 0; background-color: light-dark(var(--white), var(--mid-gray)); color: var(--text-color); max-width: 100%; width: 100%; position: fixed; left: 0; right: 0; bottom: 0; top: auto; height: auto; box-shadow: var(--shadow-color-heavy); animation: slide-up 0.3s cubic-bezier(0.32, 0.72, 0, 1); transform: none; margin: 0; overflow: hidden; padding: 0; padding-bottom: var(--safe-area-inset-bottom);}
/* Shared scroll region for a bottom sheet's flex-fill body: fills the space between a fixed header/footer and scrolls its own overflow. Requires a flex-column ancestor (the dialog or content wrapper) to give it height. */.sheet-scroll-region { flex: 1 1 auto; min-height: 0; overflow-y: auto;}
.bottom-sheet[data-closing] { pointer-events: none;}
/* Only mobile bottom sheets animate out; on desktop they close instantly. */@media (max-width: 799px) { .bottom-sheet[data-closing] { animation: slide-down 0.2s cubic-bezier(0.32, 0.72, 0, 1) forwards; }}
@media (min-width: 800px) { .bottom-sheet { padding-bottom: 0; width: 90%; top: 50%; left: 50%; right: auto; bottom: auto; height: auto; max-height: 90vh; border-bottom: var(--hair) solid var(--post-border-color); border-radius: var(--dialog-border-radius); box-shadow: none; animation: none; transform: translate(-50%, -50%); }}
.bottom-sheet::before { content: ""; position: absolute; top: 6px; left: 50%; transform: translateX(-50%); width: 36px; height: 4px; background-color: var(--light-gray); border-radius: 2px;}
@media (min-width: 800px) { .bottom-sheet::before { display: none; }}
.bottom-sheet.no-handle::before { display: none;}
.bottom-sheet::backdrop { background-color: var(--overlay-color-medium); animation: fade-in 0.2s ease-out;}
.bottom-sheet[data-closing]::backdrop { animation: fade-out 0.15s ease-in forwards;}
@media (max-width: 799px) { .bottom-sheet::backdrop { animation-duration: 0.3s; }
.bottom-sheet[data-closing]::backdrop { animation-duration: 0.2s; }}
@media (prefers-reduced-motion: reduce) { .bottom-sheet { animation: none; }}
@media (max-width: 799px) { .bottom-sheet-fullscreen { top: var(--sheet-top); max-height: none; }}
@media (max-width: 799px) { .bottom-sheet-stacked { top: var(--stacked-sheet-top); max-height: none; }}
/* @chunk post-composer */.post-composer-embed-preview { position: relative;}
.post-composer-image-preview { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px;}
.post-composer-video-preview { display: flex; flex-direction: column; gap: 8px; padding: 12px 16px;}
.post-composer-gif-preview { display: flex; flex-direction: column; gap: 8px; padding: 12px 16px;}
.gif-preview-item { position: relative; width: 100%; max-width: 360px;}
.gif-preview-item .alt-indicator { pointer-events: auto; border: none; cursor: pointer; z-index: 1;}
.post-composer.bottom-sheet { padding-bottom: 0; overflow: visible; touch-action: pan-y; display: flex; flex-direction: column;}
@media (min-width: 800px) { .post-composer.bottom-sheet { max-width: 600px; max-height: calc(100dvh - 64px); touch-action: auto; overflow: hidden; }}
.post-composer-content { padding-top: 16px; padding-bottom: 0; display: flex; flex-direction: column; flex: 1; min-height: 0;}
.post-composer-scroll-area-content { padding: 0 16px;}
.post-composer-scroll-area { flex: 1; min-height: 0; overflow-y: auto;}
@media (min-width: 800px) { .post-composer-content { padding-top: 10px; padding-bottom: 0; }
.post-composer-scroll-area-content { padding: 0 10px; }}
.post-composer-drop-overlay { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; pointer-events: none; background: color-mix(in srgb, var(--highlight-color) 15%, transparent); border: 2px dashed var(--highlight-color);}
.post-composer-drop-overlay span { color: var(--text-color); font-size: 18px; font-weight: 600; padding: 12px 20px; border-radius: 8px; background-color: var(--background-color);}
.post-composer::backdrop { background-color: var(--overlay-color-medium); animation: fade-in 0.2s ease-out;}
.post-composer-top-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; padding: 0 16px;}
@media (min-width: 800px) { .post-composer-top-bar { padding: 0 10px; }}
.post-composer-drafts-button { margin-left: auto; margin-right: 8px;}
.post-composer-body { display: flex; gap: 13px; margin-top: 16px; margin-left: 12px;}
.post-composer .reply-to { margin-left: 12px;}
.post-composer-body-left { flex-shrink: 0;}
.post-composer-body-right { flex: 1; min-width: 0;}
.post-composer-bottom-bar { display: flex; flex-direction: column; align-items: stretch; flex-shrink: 0; margin-top: 16px; padding: 8px 0 calc(var(--safe-area-inset-bottom) + 8px); position: sticky; bottom: 0; background-color: light-dark(var(--white), var(--mid-gray));}
.post-composer-bottom-bar-main { display: flex; justify-content: space-between; align-items: center; padding-right: 16px; padding-left: 10px; position: relative; padding-top: 8px;}
.interaction-settings-section .pill-radio-group label,.interaction-settings-section .interaction-settings-row { min-height: 48px;}
.post-composer-interaction-settings-row { display: flex; padding-bottom: 8px; padding-right: 12px; padding-left: 12px;}
/* workaround for iOS Safari subpixel rounding */.post-composer-bottom-bar-main::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background-color: var(--post-border-color); transform: scaleY(0.5); transform-origin: top;}
.post-composer-bottom-bar-left { display: flex; align-items: center;}
.composer-interaction-settings-button app-icon { width: 15px; height: 15px;}
.post-composer-post { position: relative; transition: opacity 0.15s;}
.post-composer-post.is-inactive { opacity: 0.5;}
/* Threads stack several inputs, so each gets a shorter starting height */.post-composer-scroll-area-content:has( .post-composer-post + .post-composer-post ) .rich-text-input { min-height: 60px;}
.post-composer-remove-post-button { z-index: 1; position: absolute; right: 8px; top: 0; border-radius: var(--circular-button-border-radius); color: var(--text-color); border: none; background: none; width: 28px; height: 28px; cursor: pointer; display: flex; align-items: center;}
.post-composer-remove-post-button app-icon { width: 16px; height: 16px;}
.post-composer-bottom-bar-right { display: flex; align-items: center;}
.post-composer-add-post-button { padding: 6px;}
@media (hover: hover) { .post-composer-add-post-button:not(:disabled):hover { background-color: var(--background-color-secondary); }}
.post-composer-add-post-button app-icon { width: 24px; height: 24px; color: var(--highlight-color);}
.post-composer .rich-text-input { width: 100%; min-height: 140px; border: none; background: transparent; color: var(--text-color); font-size: 16px; font-family: inherit; resize: none; outline: none;}
.post-composer-emoji-wrapper { display: flex; align-items: center;}
.post-composer-emoji-button { padding: 6px; color: var(--highlight-color);}
@media (hover: hover) { .post-composer-emoji-button:not(:disabled):hover { background-color: var(--background-color-secondary); }}
.post-composer-emoji-button app-icon { width: 24px; height: 24px;}
/* @chunk composer-input */.rich-text-input { white-space: pre-wrap; overflow-wrap: break-word; word-break: break-word;}
.rich-text-input .facet { color: var(--text-link-color);}
.rich-text-input-placeholder { pointer-events: none; position: absolute; top: 0; left: 0; right: 0; bottom: 0; color: var(--text-color-muted); font-size: 16px; font-family: inherit; resize: none; outline: none;}
.rich-text-input-placeholder.hidden { display: none;}
.rich-text-input-container { position: relative;}
.image-picker-button { padding: 6px;}
@media (hover: hover) { .image-picker-button:not(:disabled):hover { background-color: var(--background-color-secondary); }}
.image-picker-button app-icon { width: 24px; height: 24px; color: var(--highlight-color);}
.post-composer-gif-button { padding: 6px;}
@media (hover: hover) { .post-composer-gif-button:not(:disabled):hover { background-color: var(--background-color-secondary); }}
.post-composer-gif-button app-icon { width: 24px; height: 24px; color: var(--highlight-color);}
.post-composer-gif-button:disabled app-icon,.image-picker-button:disabled app-icon { color: var(--text-color-muted);}
.word-count { display: flex; align-items: center; gap: 8px;}
.word-count-text { font-size: 13px; color: var(--text-color-muted); /* fixed width (fits "-999") so the layout doesn't shift while typing */ min-width: 4ch; text-align: right; font-variant-numeric: tabular-nums;}
.word-count-indicator { position: relative; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--highlight-color); position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.word-count-indicator-bar { position: absolute; bottom: 0; left: 0; right: 0; background-color: var(--highlight-color);}
.word-count.overflow .word-count-indicator { border-color: var(--error-color);}
.word-count.overflow .word-count-indicator-bar { background-color: var(--error-color);}
.word-count.overflow .word-count-text { color: var(--error-color);}
.fab { display: flex; position: fixed; bottom: calc(70px + var(--safe-area-inset-bottom)); right: 20px; width: 60px; height: 60px; border-radius: var(--circular-button-border-radius); background-color: var(--primary-button-color); color: var(--primary-button-text-color); border: none; cursor: pointer; box-shadow: var(--shadow-color-light); z-index: var(--fab-z-index); align-items: center; justify-content: center; transition: transform 0.2s, box-shadow 0.2s;}
@media (hover: hover) { .fab:hover { transform: scale(1.05); box-shadow: var(--shadow-color-hover); }}
.fab:active { transform: scale(0.95);}
@media (min-width: 800px) { .fab { display: none; }}
.floating-compose-button app-icon { width: 24px; height: 24px;}
.mention-typeahead-host,.mention-typeahead-host:popover-open { position: fixed; inset: unset; margin: 0; padding: 0; border: none; background: transparent; overflow: visible;}
.mention-typeahead { position: fixed; background: var(--context-menu-background-color); border: 1px solid var(--generic-border-color); border-radius: var(--typeahead-border-radius); overflow: hidden; box-shadow: var(--shadow-color-light); margin-top: 8px; max-height: 320px; overflow-y: auto; min-width: 240px; max-width: min(320px, calc(100vw - 24px)); z-index: var(--mention-typeahead-z-index);}
.mention-typeahead.mention-typeahead-above { margin-top: 0; margin-bottom: 8px;}
.mention-typeahead-empty { display: flex; align-items: center; /* Match the height of a suggestion row: its avatar plus the row padding (border-box, so the padding counts into min-height) */ min-height: calc(var(--avatar-size-post) + 20px); padding: 10px 18px; color: var(--text-color-muted); font-size: 14px;}
.profile-hover-card-anim { animation: fade-in 300ms both; will-change: transform, opacity; background: var(--context-menu-background-color); border: 1px solid var(--generic-border-color); border-radius: 12px; box-shadow: var(--shadow-color-light); overflow: hidden;}
@media (prefers-reduced-motion: reduce) { .profile-hover-card-anim { animation: none; }}
.profile-hover-card { padding: 16px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--text-color);}
.profile-hover-card-loading { display: flex; align-items: center; justify-content: center; min-height: 200px; padding: 16px;}
.profile-hover-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px;}
.profile-hover-card-avatar .avatar-image,.profile-hover-card-avatar .avatar-image-frame { width: 64px; height: 64px;}
.profile-hover-card-button-slot { display: flex; align-items: center;}
.profile-hover-card-name-link { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 2px;}
.profile-hover-card-name { font-weight: 700; font-size: 16px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: 4px;}
.profile-hover-card-handle-row { display: flex; align-items: center; gap: 6px; color: var(--text-color-muted); font-size: 14px;}
.profile-hover-card-handle { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.profile-hover-card-stats { display: flex; gap: 12px; font-size: 14px; color: var(--text-color-muted);}
.profile-hover-card-stats .profile-stat { color: inherit; text-decoration: none;}
.profile-hover-card-stats .profile-stat strong { color: var(--text-color); font-weight: 700;}
.profile-hover-card-bio { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.4;}
/* @chunk menus-modals */.mention-suggestion { display: flex; align-items: center; gap: 12px; padding: 10px 12px; cursor: pointer; transition: background-color 0.1s ease;}
.mention-suggestion.selected { background-color: var(--context-menu-item-hover-color);}
@media (hover: hover) { .mention-suggestion:hover { background-color: var(--context-menu-item-hover-color); }}
.mention-suggestion .avatar { flex-shrink: 0;}
.mention-suggestion-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1;}
.mention-suggestion-name { font-weight: 600; color: var(--text-color); font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.mention-suggestion-handle { color: var(--text-color-muted); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.context-menu-container { position: relative;}
.context-menu-container.open { position: fixed; inset: 0;}
.context-menu { z-index: var(--context-menu-z-index); background-color: var(--background-color); padding: 16px 0 0; touch-action: pan-y; max-height: 90dvh; flex-direction: column;}
.context-menu[open] { display: flex;}
.context-menu-body { padding: 0 16px calc(var(--safe-area-inset-bottom) + 16px); overscroll-behavior: contain;}
.context-menu::backdrop { animation: fade-in 0.25s ease-out;}
.context-menu-label { font-size: 13px; font-weight: 500; color: var(--text-color-muted); white-space: nowrap; padding: 4px 0 8px;}
context-menu-item,context-menu-item-group { display: block; color: var(--text-color);}
context-menu-item { margin-bottom: 12px; white-space: nowrap;}
context-menu-item:last-child { margin-bottom: 0;}
context-menu-item > button { width: 100%; border: var(--hair) solid var(--post-border-color); background-color: light-dark(var(--off-white), var(--gray)); font-size: inherit; text-align: left; color: inherit; cursor: pointer; padding: 14px; border-radius: var(--context-menu-button-radius); display: flex; align-items: center; justify-content: space-between; gap: 16px;}
context-menu-item > button > app-icon,context-menu-item > button > .context-menu-item-icon { width: 20px; height: 20px; flex-shrink: 0; color: var(--text-color-muted);}
context-menu-item > button > .context-menu-item-icon { margin-left: 10px;}
context-menu-item > button > .context-menu-item-icon svg { width: 100%; height: 100%; display: block;}
context-menu-item > button > svg.context-menu-item-icon { display: block;}
context-menu-item > button.context-menu-item-style-danger { color: var(--error-color);}
context-menu-item > button.context-menu-item-style-danger > .context-menu-item-icon { color: var(--error-color);}
context-menu-item > a { padding: 14px 16px; width: 100%; color: inherit; display: inline-block; text-align: left;}
context-menu-item-group { border: var(--hair) solid var(--post-border-color); border-radius: var(--context-menu-item-group-border-radius); overflow: hidden; margin-bottom: 12px;}
context-menu-item-group:last-child { margin-bottom: 0;}
context-menu-item-group > context-menu-item { margin-bottom: 0;}
context-menu-item-group > context-menu-item:not(:last-child) { border-bottom: var(--hair) solid var(--post-border-color);}
context-menu-item-group > context-menu-item > button { border: none; border-radius: 0;}
@media (hover: hover) { context-menu-item > a:hover, context-menu-item > button:not([disabled]):hover { background-color: var(--context-menu-item-hover-color); }}
@media (min-width: 800px) { .context-menu-container.open { position: relative; inset: auto; }
.context-menu { position: absolute; left: auto; right: auto; bottom: auto; top: auto; width: auto; max-width: none; max-height: none; transform: none; box-shadow: var(--shadow-color-sidebar); background-color: var(--context-menu-background-color); border-radius: var(--context-menu-border-radius); animation: none; padding: 4px; touch-action: auto; }
.context-menu-body { padding: 0; }
.context-menu::backdrop { background-color: transparent; animation: none; }
.context-menu-label { padding: 12px 14px 4px; font-size: inherit; font-weight: normal; }
context-menu-item { margin-bottom: 0; }
.context-menu-body > context-menu-item { padding: 4px 0; }
.context-menu-body > context-menu-item:first-child { padding-top: 0; }
.context-menu-body > context-menu-item:last-child { padding-bottom: 0; }
.context-menu-body > context-menu-item:not(:last-child) { border-bottom: var(--hair) solid var(--post-border-color); }
context-menu-item > button { background-color: transparent; padding: 10px 12px; border: none; font-size: 14px; }
context-menu-item-group > context-menu-item > button { border-radius: var(--context-menu-button-radius); }
context-menu-item-group { border: none; border-radius: 0; margin-bottom: 0; }
context-menu-item-group > context-menu-item:not(:last-child) { border-bottom: none; }
context-menu-item-group:not(:last-child) { border-bottom: var(--hair) solid var(--post-border-color); padding-bottom: 4px; }
context-menu-item-group:not(:first-child) { padding-top: 4px; }}
.plugin-modal { display: flex; flex-direction: column;}
.permission-prompt { display: block;}
.permission-prompt-intro { display: block; font-size: 15px; font-weight: 600; color: var(--text-color);}
.permission-prompt-sections { display: flex; flex-direction: column; gap: 8px; margin-top: 12px;}
.permission-prompt-section { border: 1px solid var(--generic-border-color); border-radius: 12px; background-color: var(--background-color-secondary); padding: 12px 14px;}
.permission-prompt-section-title { font-size: 13px; font-weight: 600; color: var(--text-color-muted);}
.permission-prompt-list { margin: 8px 0 0; padding-left: 20px; font-size: 13px; color: var(--text-color-secondary);}
.permission-prompt-list li + li { margin-top: 4px;}
.permission-prompt-list code { font-family: var(--monospace-font, monospace); background: var(--background-color); border: 1px solid var(--generic-border-color); color: var(--text-color); padding: 1px 5px; border-radius: 4px; word-break: break-all;}
.permission-prompt-note { display: block; margin-top: 12px; font-size: 13px; color: var(--text-color-muted);}
/* Shared modal base styles */.modal-dialog { border: var(--hair) solid var(--post-border-color); border-radius: var(--dialog-border-radius); background-color: light-dark(var(--white), var(--mid-gray)); color: var(--text-color); padding: 0; max-width: 410px; width: 90%; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0;}
.modal-dialog::backdrop { background-color: var(--overlay-color-medium); animation: fade-in 0.2s ease-out;}
.modal-dialog[data-closing] { pointer-events: none;}
.modal-dialog-title { font-size: 24px; font-weight: 600; margin-bottom: 12px;}
.plugin-modal .modal-dialog-content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0;}
.plugin-modal .modal-dialog-title > * { font-size: inherit; font-weight: inherit; margin: 0;}
.modal-dialog-title-large { font-size: 32px; text-align: center;}
.modal-dialog-content { padding: 24px;}
.modal-dialog-message { font-size: 14px; line-height: 1.5; margin-bottom: 16px; color: var(--text-color);}
.alert-modal .modal-dialog-message { margin-bottom: 12px;}
.modal-dialog-message a { color: var(--text-link-color);}
@media (hover: hover) { .modal-dialog-message a:hover { text-decoration: underline; }}
.modal-dialog-button { padding: 12px 20px; border-radius: var(--pill-button-border-radius); border: none; font-size: 14px; line-height: 20px; cursor: pointer; transition: background-color 0.2s; text-decoration: none; display: inline-block; text-align: center;}
.modal-dialog-button.cancel-button { background-color: var(--secondary-button-color);}
@media (hover: hover) { .modal-dialog-button.cancel-button:hover { background-color: var(--secondary-button-hover-color); }}
.modal-dialog-button.primary-button { background-color: var(--primary-button-color); color: var(--primary-button-text-color);}
.modal-dialog-button.danger-button { background-color: var(--error-color); color: var(--primary-button-text-color);}
.modal-dialog-button.danger-subtle-button { background-color: var(--error-subtle-color); color: var(--error-color);}
@media (hover: hover) { .modal-dialog-button.danger-subtle-button:not(:disabled):hover { background-color: var(--error-subtle-hover-color); }}
@media (hover: hover) { .modal-dialog-button.primary-button:not(:disabled):hover { background-color: var(--primary-button-hover-color); }}
.modal-dialog-button.full-width { width: 100%;}
.modal-dialog-buttons { padding-top: 8px; display: flex; gap: 8px; justify-content: flex-end; flex-direction: column-reverse;}
.modal-dialog-button.is-pending { display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: default; opacity: 1;}
.modal-dialog-button .loading-spinner { width: 14px; height: 14px; border-width: 2px; border-left-color: transparent; border-right-color: transparent; border-bottom-color: transparent;}
.modal-dialog-button.primary-button .loading-spinner,.modal-dialog-button.danger-button .loading-spinner { border-top-color: var(--primary-button-text-color);}
.modal-dialog-button.danger-subtle-button .loading-spinner { border-top-color: var(--error-color);}
.modal-dialog-buttons-stacked { flex-direction: column;}
/* @chunk lightbox */@media (min-width: 800px) { .image-alt-text-dialog.bottom-sheet { max-width: 600px; max-height: none; }}
.image-alt-text-dialog { display: flex; flex-direction: column;}
.image-alt-text-dialog-content { padding: 20px; display: flex; flex-direction: column; gap: 16px; flex: 1 1 auto; min-height: 0;}
@media (min-width: 800px) { .image-alt-text-dialog-content { max-height: 80vh; }}
.image-alt-text-dialog-header { display: flex; justify-content: space-between; align-items: center;}
.image-alt-text-dialog-header h2 { margin: 0; font-size: 18px; font-weight: 600;}
.image-alt-text-dialog-close { display: none; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 0 8px; opacity: 0.6;}
@media (min-width: 800px) { .image-alt-text-dialog-close { display: inline-flex; align-items: center; }}
@media (hover: hover) { .image-alt-text-dialog-close:hover { opacity: 1; }}
.image-alt-text-dialog-body { display: flex; flex-direction: column; gap: 16px;}
.image-alt-text-dialog-image-container { width: 100%; max-height: 300px; border-radius: var(--image-preview-border-radius); overflow: hidden; border: var(--hair) solid var(--post-border-color); background-color: light-dark(var(--light-gray), var(--dark-gray)); display: flex; align-items: center; justify-content: center;}
.image-alt-text-dialog-image-container img { max-width: 100%; max-height: 300px; object-fit: contain;}
.image-alt-text-dialog-input-container { position: relative; display: flex; flex-direction: column; gap: 8px;}
.image-alt-text-dialog-textarea { width: 100%; min-height: 120px; padding: 12px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background-color: light-dark(var(--white), var(--mid-gray)); color: var(--text-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 16px; resize: none; outline: none; transition: border-color 0.2s;}
.image-alt-text-dialog-footer .word-count-text { min-width: 32px; text-align: right;}
.image-alt-text-dialog-footer-buttons { display: flex; gap: 8px;}
.image-alt-text-dialog-footer-buttons .rounded-button { padding: 12px 20px;}
.image-alt-text-dialog-footer { display: flex; justify-content: space-between; align-items: center; gap: 8px;}
.toast { position: fixed; display: flex; align-items: center; opacity: 0; touch-action: none; top: calc( env(safe-area-inset-top, 0px) + 8px + var(--toast-stack-offset, 0px) ); left: 8px; right: 8px; width: auto; margin: 0; background: light-dark(var(--white), var(--mid-gray)); border: var(--hair) solid var(--post-border-color); color: var(--text-color-muted); padding: 12px 16px; border-radius: var(--toast-border-radius); box-shadow: 0 1px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1); transform: translateY(-150%); transition: top 0.3s linear, transform 0.3s linear, opacity 0.3s linear; z-index: var(--toast-z-index);}
.toast.active { transform: translateY(0); opacity: 1;}
.toast.success { background: light-dark( color-mix(in srgb, var(--highlight-color) 8%, var(--white)), color-mix(in srgb, var(--highlight-color) 8%, var(--mid-gray)) ); border-color: var(--highlight-color); color: var(--highlight-color);}
.toast.error { background: light-dark( color-mix(in srgb, var(--error-color) 12%, var(--white)), color-mix(in srgb, var(--error-color) 12%, var(--mid-gray)) ); border-color: var(--error-color); color: var(--error-color);}
.toast.warning { background: light-dark( color-mix(in srgb, var(--warning-color) 12%, var(--white)), color-mix(in srgb, var(--warning-color) 12%, var(--mid-gray)) ); border-color: var(--warning-color); color: var(--warning-color);}
.toast.warning .toast-icon { color: var(--warning-color);}
@media (min-width: 800px) { .toast { width: fit-content; padding-right: 20px; top: auto; left: 16px; right: auto; bottom: var(--toast-stack-offset, 0px); transform: translateY(150%); transition: bottom 0.3s linear, transform 0.3s linear, opacity 0.3s linear; }
.toast.active { transform: translateY(-16px); }}
.toast-icon { display: inline-block; width: 21px; height: 21px; margin-right: 8px;}
.toast-with-link { display: flex; align-items: center; gap: 6px;}
.toast-with-link a { color: inherit; text-decoration: underline; font-weight: 500; display: inline-block; margin-left: 2px;}
.lightbox { border: none; padding: 0; margin: 0; color: inherit; position: fixed; top: 0; left: 0; width: 100%; height: 100%; max-width: none; max-height: none; background-color: var(--overlay-color-darkest); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: var(--lightbox-z-index);}
.lightbox img { max-width: 90%; max-height: 90%; height: auto; width: auto; object-fit: contain; display: block; box-shadow: var(--shadow-color-lightbox); touch-action: none; will-change: transform;}
.lightbox img.lightbox-image-circle { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover;}
.lightbox-alt-text { color: var(--off-white); font-size: 14px; padding: 1em; max-height: 20vh; overflow-y: auto;}
.lightbox-close { position: absolute; top: 20px; right: 20px; color: var(--overlay-text-color); cursor: pointer; background: var(--overlay-color); width: 40px; height: 40px; border-radius: var(--icon-button-border-radius); display: flex; align-items: center; justify-content: center; z-index: var(--lightbox-close-z-index);}
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); color: var(--overlay-text-color); background: var(--overlay-color); border: none; width: 40px; height: 40px; border-radius: var(--icon-button-border-radius); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: var(--lightbox-close-z-index); transition: background 0.2s ease;}
@media (hover: hover) { .lightbox-nav:hover:not(:disabled) { background: var(--overlay-color-heavy); }}
.lightbox-nav-prev { left: 20px;}
.lightbox-nav-next { right: 20px;}
.lightbox-nav app-icon { width: 24px; height: 24px; color: var(--white);}
/* @chunk settings */.settings-section { padding: 16px; border-bottom: var(--hair) solid var(--post-border-color); position: relative;}
.settings-section h2 { font-size: 16px; font-weight: 500; color: var(--text-color); margin-bottom: 8px;}
.settings-section p { font-size: 12px; color: var(--text-color-muted); margin-bottom: 16px;}
.settings-section p a { color: var(--text-link-color);}
.settings-color-picker { display: flex; flex-direction: column; align-items: center; overflow: hidden; flex-shrink: 0;}
.settings-color-picker-reset { font-size: 12px; color: var(--text-color-muted); margin-top: 6px; cursor: pointer; border: none; background: none;}
.settings-footer-links { padding-top: 12px; display: flex; flex-direction: row; justify-content: center; gap: 8px;}
.settings-footer-links a { font-size: 14px; color: var(--text-link-color); background: none; border: none; padding: 0; cursor: pointer;}
.settings-footer-separator { color: var(--text-color-muted); font-size: 14px;}
.muted-word-form { padding: 16px; border-bottom: var(--hair) solid var(--post-border-color);}
.muted-word-form h2 { font-size: 16px; font-weight: 600; color: var(--text-color); margin-bottom: 8px;}
.muted-word-form p { font-size: 13px; color: var(--text-color-muted); line-height: 1.4; margin-bottom: 16px;}
.muted-word-input { width: 100%; padding: 10px 12px; border-radius: var(--text-input-border-radius); border: var(--hair) solid var(--post-border-color); background: var(--text-input-background-color); color: var(--text-color); font-size: 16px; box-sizing: border-box; margin-bottom: 12px;}
.field-caption { font-size: 13px; font-weight: 600; color: var(--text-color-muted); margin-bottom: 6px;}
.pill-radio-group { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px;}
.pill-radio-group label { flex: 1; display: flex; align-items: center; gap: 8px; padding: 12px 12px; border-radius: var(--card-border-radius); background: var(--post-hover-color); cursor: pointer; font-size: 14px; color: var(--text-color); transition: background-color 0.15s; font-weight: 500;}
.pill-radio-group label:has(input:checked) { background: color-mix(in srgb, var(--highlight-color) 15%, transparent);}
.pill-radio-group input[type="radio"] { accent-color: var(--highlight-color); background-color: transparent; margin: 0;}
.checkbox-row { display: flex; align-items: center; gap: 8px; padding: 12px 12px; border-radius: var(--card-border-radius); background: var(--post-hover-color); cursor: pointer; font-size: 14px; color: var(--text-color); margin-bottom: 12px; font-weight: 500;}
.checkbox-row:has(input:checked) { background: color-mix(in srgb, var(--highlight-color) 15%, transparent);}
.checkbox-row input[type="checkbox"] { accent-color: var(--highlight-color); background-color: transparent; margin: 0;}
.settings-button { gap: 6px; width: 100%; padding: 10px; font-size: 15px;}
.settings-button app-icon[icon="plus-line"] { width: 14px; height: 14px;}
.settings-button .loading-spinner { border-color: color-mix( in srgb, var(--primary-button-text-color) 30%, transparent ); border-top-color: var(--primary-button-text-color);}
.muted-word-delete-button .loading-spinner { width: 14px; height: 14px; border-width: 2px;}
.muted-word-error { margin-top: 8px; padding: 10px 12px; border-radius: var(--card-border-radius); background: var(--error-color, #ef4444); color: white; font-size: 13px; font-style: italic;}
.muted-word-list-header { font-size: 16px; font-weight: 600; color: var(--text-color); padding: 16px 16px 12px;}
.muted-word-list { display: flex; flex-direction: column;}
.muted-word-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px;}
.muted-word-item:nth-child(odd) { background: var(--post-hover-color);}
.muted-word-item-info { flex: 1; min-width: 0;}
.muted-word-item-value { font-size: 14px; font-weight: 600; color: var(--text-color); line-height: 1.4; overflow-wrap: break-word; word-break: break-word;}
.muted-word-item-target { font-weight: 400; color: var(--text-color-muted);}
.muted-word-item-meta { font-size: 12px; color: var(--text-color-muted); line-height: 1.4; margin-top: 2px;}
.muted-word-item-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0;}
.muted-word-renew-button { padding: 4px 12px; border-radius: var(--pill-button-border-radius); border: var(--hair) solid var(--post-border-color); background: none; color: var(--text-link-color); cursor: pointer; font-size: 12px; font-weight: 600; line-height: 1.4;}
.muted-word-delete-button { flex-shrink: 0; width: 28px; height: 28px; border-radius: var(--circular-button-border-radius); border: var(--hair) solid var(--post-border-color); background: none; color: var(--text-color-muted); cursor: pointer; display: flex; align-items: center; justify-content: center;}
.muted-word-delete-button app-icon { width: 16px; height: 16px;}
.muted-word-delete-button span { position: relative; top: -1px;}
.muted-word-empty { padding: 12px 16px; margin: 0 16px 16px; border-radius: var(--card-border-radius); background: var(--post-hover-color); color: var(--text-color); font-style: italic; font-size: 14px;}
.blocked-account-description,.muted-account-description { padding: 16px 16px 16px; margin: 0; font-size: 14px; color: var(--text-color-secondary); border-bottom: var(--hair) solid var(--post-border-color);}
.vertical-nav { display: flex; flex-direction: column;}
.vertical-nav-item { display: flex; align-items: center; gap: 12px; padding: 12px 20px; text-decoration: none; transition: background-color 0.2s; cursor: pointer; background: none; border: none; width: 100%; text-align: left; font: inherit;}
.vertical-nav-item:not(.danger-button) { color: inherit;}
.vertical-nav hr { margin: 0;}
.vertical-nav-item.active { pointer-events: none; cursor: default;}
@media (hover: hover) { .vertical-nav-item:hover { background: var(--post-hover-color); }}
.vertical-nav-icon { width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.vertical-nav-icon app-icon { width: 26px; height: 26px; color: var(--text-color);}
.vertical-nav-label { flex: 1;}
.vertical-nav-arrow app-icon { width: 20px; height: 20px; color: var(--text-color-muted);}
.settings-account-avatar-stack { display: flex; flex-direction: row-reverse; align-items: center; flex-shrink: 0;}
.settings-account-avatar-stack .avatar { width: 24px; height: 24px; margin-left: -8px;}
.settings-account-avatar-stack .avatar:first-child { margin-left: 0;}
.settings-account-avatar-stack .avatar .avatar-image-frame { width: 24px; height: 24px; border: 2px solid var(--background-color); border-radius: 50%; overflow: hidden;}
.settings-account-avatar-stack .avatar .avatar-image { width: 100%; height: 100%; object-fit: cover;}
.settings-account-row .vertical-nav-icon .avatar { width: 26px; height: 26px;}
.settings-account-row .vertical-nav-icon .avatar .avatar-image-frame { width: 26px; height: 26px; border: none;}
/* Keep the inline context-menu host out of flex layout so it doesn't add a `gap` between the ellipsis trigger and the right edge of the row. */.settings-account-row > context-menu { position: absolute;}
.settings-account-ellipsis { background: none; border: none; cursor: pointer; color: var(--text-color-muted); width: 20px; height: 20px; padding: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; line-height: 1; flex-shrink: 0;}
.settings-account-ellipsis app-icon { width: 16px; height: 16px;}
.account-spinner { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
@media (min-width: 800px) { .account-switcher-dialog { max-width: 410px; }}
/* @chunk drafts */@media (min-width: 800px) { .drafts-dialog { max-width: 500px; }}
.drafts-dialog-content { padding: 16px; display: flex; flex-direction: column; min-height: 0;}
.drafts-dialog-header { position: relative; display: flex; align-items: center; justify-content: center; margin-bottom: 12px;}
.drafts-dialog-title { font-size: 18px; font-weight: 600; margin: 0;}
.drafts-dialog-back { position: absolute; left: 0;}
.drafts-dialog-list { overflow-y: auto; min-height: 120px; max-height: 60vh;}
.drafts-dialog-message { display: flex; justify-content: center; padding: 32px 0; color: var(--text-color-muted); font-size: 15px;}
.draft-item { display: flex; align-items: flex-start; gap: 8px; padding: 12px; border: var(--hair) solid var(--post-border-color); border-radius: 12px; cursor: pointer;}
.draft-item:not(:first-child) { margin-top: 8px;}
@media (hover: hover) { .draft-item:hover { background-color: var(--secondary-background-color); }}
.draft-item-main { flex: 1; min-width: 0;}
.draft-item-text { font-size: 15px; line-height: 1.4; white-space: pre-wrap; word-break: break-word; display: -webkit-box; -webkit-line-clamp: 8; line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden;}
.draft-item-media { display: flex; gap: 6px; margin-top: 8px;}
.draft-item-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; border: var(--hair) solid var(--post-border-color);}
.draft-item-video-placeholder { display: flex; align-items: center; justify-content: center; color: var(--text-color-muted); background-color: var(--secondary-background-color);}
.draft-item-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 8px;}
.draft-item-tag { font-size: 12px; padding: 2px 8px; border-radius: 999px; background-color: var(--secondary-background-color); color: var(--text-color-muted);}
.draft-item-tag-warning { background-color: color-mix(in srgb, var(--error-color) 15%, transparent); color: var(--error-color);}
.draft-item-side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; align-self: stretch; gap: 6px;}
.draft-item-timestamp { font-size: 12px; color: var(--text-color-muted); margin-bottom: 4px;}
.draft-item-delete app-icon { width: 18px; height: 18px;}
/* @chunk views-misc */.account-switcher-content { padding: 16px; /* Extra top padding leaves room for the sheet drag handle on mobile */ padding-top: 20px;}
@media (min-width: 800px) { .account-switcher-content { padding-top: 16px; }}
.account-switcher-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px;}
.account-switcher-title { font-size: 18px; font-weight: 600; margin: 0;}
.account-switcher-close { display: none; background: none; border: none; padding: 0; color: var(--text-color-muted); cursor: pointer;}
@media (min-width: 800px) { .account-switcher-close { display: flex; align-items: center; }}
.account-switcher-list { display: flex; flex-direction: column; border: var(--hair) solid var(--post-border-color); border-radius: 12px; overflow: hidden;}
.account-switcher-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; background: none; border: none; text-align: left; font-size: 15px; color: var(--text-color); cursor: pointer;}
.account-switcher-item:not(:first-child) { border-top: var(--hair) solid var(--post-border-color);}
@media (hover: hover) { .account-switcher-item:hover { background-color: var(--post-hover-color); }}
.account-switcher-item.is-pending { opacity: 1;}
@media (min-width: 800px) { .account-switcher-item.is-pending { background-color: var(--post-hover-color); }}
.account-switcher-avatar { flex-shrink: 0; display: flex;}
.account-switcher-item .avatar,.account-switcher-item .avatar-placeholder,.account-switcher-item .skeleton-avatar { width: 40px; height: 40px;}
.account-switcher-add-icon { width: 40px; height: 40px; align-items: center; justify-content: center; color: var(--text-color-muted);}
.account-switcher-names { display: flex; flex-direction: column; min-width: 0; flex-grow: 1; gap: 1px;}
.account-switcher-names.account-switcher-names-skeleton { gap: 6px; justify-content: center;}
.account-switcher-display-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.account-switcher-display-name .verification-badge,.account-switcher-display-name .automated-account-badge { margin-left: 4px;}
.account-switcher-handle { font-size: 14px; color: var(--text-color-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.account-switcher-reauth-hint { display: block; font-size: 13px; font-weight: 400; color: var(--highlight-color); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.account-switcher-current-check { color: var(--highlight-color); flex-shrink: 0;}
.account-switcher-chevron { color: var(--text-color-muted); flex-shrink: 0;}
moderation-warning { width: 100%;}
moderation-warning .top-bar { display: flex; flex-direction: row; justify-content: space-between; gap: 8px; border-radius: var(--moderation-warning-border-radius); padding-left: 16px; padding-right: 16px; padding-top: 12px; padding-bottom: 12px; color: var(--text-color-muted); font-size: 13px; font-weight: 500; background: light-dark(var(--lightest-gray), var(--gray)); cursor: pointer;}
.post-muted-warning .top-bar { margin-top: 8px;}
.post-moderation-warning .top-bar { margin-top: 8px;}
.post-moderation-warning-description { font-size: 14px; color: var(--text-color-muted); line-height: 1.5;}
.post-moderation-warning-description a { color: var(--text-link-color);}/* .post-content-warning .post-moderation-warning-description { margin-bottom: 8px;} */
.quoted-account-muted-warning .top-bar { margin-top: 8px; margin-bottom: 8px;}
moderation-warning .show-hide-label { color: var(--text-color);}
moderation-warning .moderation-warning-label { display: flex; flex-direction: row; align-items: center; gap: 8px; min-width: 0;}
moderation-warning .moderation-warning-label app-icon { width: 18px; height: 18px; flex-shrink: 0;}
@media (hover: hover) { moderation-warning .top-bar:hover { background: light-dark(var(--lighter-gray), var(--mid-gray)); }}
moderation-warning .toggle-content { margin-top: 8px;}
#login-view main { margin: 0; max-width: none; display: flex; flex-direction: row; height: 100dvh;}
#login-view h1 { font-size: 55px; font-weight: 800; color: var(--highlight-color);}
#login-view .column-left { flex: 3; display: none; flex-direction: column; align-items: flex-end; justify-content: center; background: var(--background-color-secondary); padding: 0 32px;}
#login-view h2 small { font-size: 18px;}
#login-view h2 { padding-bottom: 2em;}
@media (min-width: 800px) { #login-view .column-left { display: flex; }}
#login-view .column-right { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start;}
@media (min-width: 800px) { #login-view .column-right { flex: 7; justify-content: center; }}
#login-form[hidden] { display: none;}
#login-form { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; width: 100%; padding: 24px 16px;}
#login-view .saved-accounts-section { width: 100%; padding: 24px 16px 0; display: flex; flex-direction: column; gap: 12px; max-width: 600px;}
#login-view .saved-accounts-heading { color: var(--text-color-secondary); font-size: 14px; font-weight: 400; margin: 0; padding-bottom: 0;}
#login-form input { font-size: 16px;}
@media (min-width: 800px) { #login-form { padding: 24px 32px; max-width: 500px; }}
.select-wrapper { position: relative; width: 100%;}
.select-wrapper::after { content: ""; position: absolute; right: 14px; top: 50%; width: 12px; height: 8px; transform: translateY(-50%); pointer-events: none; background-color: var(--text-color-muted); -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center / contain;}
.select-wrapper select { font-size: 16px; width: 100%; padding: 12px 40px 12px 12px; border-radius: var(--text-input-border-radius); border: var(--hair) solid var(--post-border-color); background-color: var(--text-input-background-color); color: var(--text-color); appearance: none; -webkit-appearance: none; cursor: pointer;}
@media (hover: hover) { .select-wrapper select:hover { border-color: var(--text-color-muted); }}
#settings-advanced-form input { font-size: 16px;}
.settings-section .form-group { margin-top: 8px;}
.settings-section .button-group { margin-top: 16px;}
.settings-section button { flex: 1;}
#login-advanced { width: 100%; padding: 4px 0;}
#login-advanced summary { font-size: 14px; cursor: pointer; user-select: none; color: var(--text-color-muted);}#login-advanced summary::marker { margin-right: 2px;}
#login-advanced .form-group { margin-top: 8px;}
.warning-area { margin-top: 12px; padding: 12px; background-color: color-mix(in srgb, var(--warning-color) 12%, transparent); color: color-mix(in srgb, var(--warning-color) 60%, var(--text-color)); font-size: 14px; line-height: 1.5; border-radius: var(--text-input-border-radius);}.warning-area h4 { color: var(--warning-color);}
.warning-area h4 { display: flex; align-items: center; gap: 6px;}
.warning-area h4 app-icon { width: 18px; height: 18px;}
.warning-area .button-group { margin-top: 12px;}
@media (min-width: 800px) { #login-form .form-title { display: none; }}
.form-title { width: 100%; text-align: left; font-size: 20px; font-weight: 600; margin-bottom: 4px;}
.error-message { padding: 12px; color: var(--error-color); font-size: 14px;}
#login-view .error-message-container { height: 2em;}
.error-state { color: var(--text-color-muted); padding-top: 2em; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.5;}
.error-state h3 { color: var(--text-color); margin-bottom: 4px;}
.error-state button,.error-state a.rounded-button { margin-top: 16px;}
.error-state a { color: var(--text-link-color);}
.try-again-button app-icon svg { width: 18px; height: 18px; display: block;}
#profile-view .error-state { min-height: 30vh;}
.boot-state-layer { position: fixed; inset: 0; z-index: 9999; background: var(--background-color);}
.app-error-state { min-height: 100dvh; justify-content: center; padding: 16px;}
.app-error-state[hidden] { display: none;}
.app-loading-state-content { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100dvh;}
.app-loading-state-content .loading-spinner { width: 32px; height: 32px; border-width: 3px; border-top-color: var(--highlight-color);}
.version-info { margin-top: 20px; color: var(--text-color-muted); font-size: 12px; text-align: center;}
.dev-version-overlay { position: fixed; bottom: 4px; right: 4px; z-index: 9999; padding: 2px 6px; border-radius: 4px; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 10px; font-family: monospace; pointer-events: none;}
.plain-text-page { padding: 16px;}
.plain-text-page h1 { margin-top: 0.5em; margin-bottom: 0.5em;}
.plain-text-page p { margin-bottom: 1em;}
.plain-text-page a { color: var(--text-link-color);}
.labeler-settings-container { padding: 16px; padding-bottom: 80px;}
.labeler-settings-header { color: var(--text-color-muted); font-size: 14px; line-height: 1.5; margin-bottom: 16px;}
.labeler-settings-header p { margin-bottom: 12px;}
.labeler-settings-header p:last-child { margin-bottom: 0;}
.label-preference-list { background-color: var(--background-color-secondary);}
.label-preference-row { padding: 16px; border-bottom: var(--hair) solid var(--generic-border-color);}
.label-preference-row:last-child { border-bottom: none;}
.label-preference-name { font-weight: 600; margin-bottom: 4px;}
.label-preference-description { color: var(--text-color-muted); font-size: 14px; line-height: 1.4;}
.label-preference-name + .label-preference-buttons { margin-top: 8px;}
.label-preference-buttons { display: flex; border-radius: var(--embed-border-radius); overflow: hidden; border: var(--hair) solid var(--generic-border-color); margin-top: 12px;}
.label-pref-button { flex: 1; padding: 10px 12px; font-size: 14px; border: none; border-right: var(--hair) solid var(--generic-border-color); background-color: var(--background-color); cursor: pointer; transition: all 0.15s;}
.label-pref-button:last-child { border-right: none;}
@media (hover: hover) { .label-pref-button:hover:not(:disabled):not(.active) { background: var(--post-hover-color); }}
.label-pref-button.active { background: var(--primary-button-color); color: var(--primary-button-text-color);}
.label-pref-button:disabled { cursor: not-allowed;}
@media (min-width: 800px) { .report-dialog { max-width: 480px; top: 50%; max-height: calc(100dvh - var(--sheet-top)); }}
.report-dialog-content { display: flex; flex-direction: column; height: 100%; max-height: calc(100dvh - 16px); padding-top: 16px;}
@media (min-width: 800px) { .report-dialog-content { padding-top: 0; max-height: 80vh; }}
.report-dialog-close { display: none; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 0; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: var(--icon-button-border-radius); position: absolute; top: 12px; right: 12px;}
@media (min-width: 800px) { .report-dialog-close { display: flex; }}
.report-dialog-body { padding: 16px 20px; overflow-y: auto; flex: 1;}
.report-step { margin-bottom: 16px;}
.report-step:last-child { margin-bottom: 0;}
.report-step-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px;}
.report-step-indicator { width: 28px; height: 28px; border-radius: 50%; background-color: light-dark(var(--lighter-gray), var(--dark-gray)); color: var(--text-color-secondary); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; flex-shrink: 0;}
.report-step-indicator.active,.report-step-indicator.completed { background-color: var(--highlight-color); color: var(--white);}
.report-step-indicator app-icon { width: 16px; height: 16px;}
.report-step-title { font-size: 15px; font-weight: 500; color: var(--text-color-secondary);}
.report-step-title.active { color: var(--text-color); font-weight: 600;}
.report-step-content { margin-left: 40px;}
.report-options { display: flex; flex-direction: column; gap: 8px;}
.report-option-card { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 12px 16px; border: var(--hair) solid var(--post-border-color); border-radius: var(--card-border-radius); background-color: transparent; cursor: pointer; transition: background-color 0.15s; text-align: left; width: 100%;}
@media (hover: hover) { .report-option-card:hover { background-color: light-dark(var(--lightest-gray), var(--dark-gray)); }}
.report-option-title { font-size: 15px; font-weight: 500; color: var(--text-color);}
.report-option-description { font-size: 13px; color: var(--text-color-secondary);}
.report-labeler-card { flex-direction: row; align-items: center; gap: 12px;}
.report-labeler-avatar { flex-shrink: 0;}
.report-labeler-info { display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.report-labeler-info .report-option-title,.report-labeler-info .report-option-description { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.report-selected-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; background-color: light-dark(var(--lightest-gray), var(--dark-gray)); border-radius: var(--report-selected-item-border-radius);}
.report-selected-title { font-size: 14px; font-weight: 500; color: var(--text-color);}
.report-selected-clear { background: none; border: none; cursor: pointer; color: var(--text-color-secondary); padding: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: var(--icon-button-border-radius);}
.report-selected-clear app-icon { width: 16px; height: 16px;}
.report-submit-section { display: flex; flex-direction: column; gap: 16px;}
.report-submit-info { font-size: 14px; color: var(--text-color); margin: 0;}
.report-submit-info strong { font-weight: 600;}
.report-details-section { display: flex; flex-direction: column; gap: 8px;}
.report-details-section label { font-size: 14px; font-weight: 500; color: var(--text-color);}
.report-details-input { width: 100%; min-height: 80px; padding: 12px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background-color: light-dark(var(--white), var(--mid-gray)); color: var(--text-color); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; font-size: 16px; resize: none; outline: none; transition: border-color 0.2s;}
.report-details-counter { font-size: 12px; color: var(--text-color-secondary); text-align: right;}
.report-error { font-size: 14px; color: var(--error-color); padding: 8px 12px; border-radius: var(--card-border-radius);}
.report-submit-button { width: 100%; padding: 12px 20px;}
.report-submit-button:disabled { cursor: not-allowed;}
.report-no-labelers { font-size: 14px; color: var(--text-color-secondary); padding: 12px 0;}
.report-no-labelers { text-align: center;}
/* Toggle Switch */
toggle-switch { display: inline-block;}
label:has(toggle-switch) { cursor: pointer;}
label:has(toggle-switch[disabled]) { cursor: not-allowed;}
.toggle-switch-track { width: 44px; height: 26px; border-radius: var(--pill-button-border-radius); background-color: light-dark(var(--lighter-gray), var(--light-gray)); position: relative; cursor: pointer; transition: background-color 0.2s ease;}
.toggle-switch-track.checked { background-color: var(--highlight-color);}
.toggle-switch-track.disabled { opacity: 0.4; cursor: not-allowed;}
.toggle-switch-knob { width: 22px; height: 22px; border-radius: 50%; background-color: var(--white); position: absolute; top: 2px; left: 2px; transition: transform 0.2s ease; box-shadow: var(--shadow-color-subtle);}
.toggle-switch-track.checked .toggle-switch-knob { transform: translateX(18px);}
/* Post Notifications Dialog */
.post-notifications-dialog::before { z-index: 1;}
@media (min-width: 800px) { .post-notifications-dialog { max-width: 400px; }}
.post-notifications-dialog-content { padding: 24px 20px; padding-top: 28px; position: relative;}
@media (min-width: 800px) { .post-notifications-dialog-content { padding-top: 24px; }}
.post-notifications-dialog-close { display: none; position: absolute; top: 12px; right: 12px; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 4px 8px; opacity: 0.6;}
@media (min-width: 800px) { .post-notifications-dialog-close { display: flex; align-items: center; }}
@media (hover: hover) { .post-notifications-dialog-close:hover { opacity: 1; }}
.post-notifications-dialog-body { display: flex; flex-direction: column; gap: 20px;}
.post-notifications-dialog-header { display: flex; flex-direction: column; gap: 4px;}
.post-notifications-dialog-title { font-size: 1.3rem; font-weight: 700; margin: 0;}
.post-notifications-dialog-subtitle { margin: 0; color: var(--text-color-secondary); font-size: 0.95rem;}
.post-notifications-dialog-options { display: flex; flex-direction: column; gap: 12px;}
.post-notifications-dialog-option { display: flex; align-items: center; justify-content: space-between; padding: 4px 0;}
.post-notifications-dialog-option-label { font-size: 1rem;}
.post-notifications-dialog-error { color: var(--error-color); font-size: 0.9rem;}
.post-notifications-dialog-save { width: 100%; padding: 12px 20px; text-align: center;}
.post-notifications-dialog-save:disabled { cursor: not-allowed;}
.add-to-lists-dialog::before { z-index: 1;}
@media (min-width: 800px) { .add-to-lists-dialog { max-width: 480px; }}
.add-to-lists-dialog-content { padding: 24px 20px; padding-top: 28px; position: relative;}
@media (min-width: 800px) { .add-to-lists-dialog-content { padding-top: 24px; }}
.add-to-lists-dialog-close { display: none; position: absolute; top: 12px; right: 12px; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 4px 8px; opacity: 0.6;}
@media (min-width: 800px) { .add-to-lists-dialog-close { display: flex; align-items: center; }}
@media (hover: hover) { .add-to-lists-dialog-close:hover { opacity: 1; }}
.add-to-lists-dialog-body { display: flex; flex-direction: column; gap: 20px;}
.add-to-lists-dialog-header { display: flex; flex-direction: column; gap: 4px;}
.add-to-lists-dialog-title { font-size: 1.3rem; font-weight: 700; margin: 0;}
.add-to-lists-dialog-subtitle { margin: 0; color: var(--text-color-secondary); font-size: 0.95rem;}
.add-to-lists-dialog-rows { max-height: 60vh; overflow-y: auto;}
.add-to-lists-dialog-rows .infinite-scroll-container { display: flex; flex-direction: column;}
.add-to-lists-row .add-to-lists-toggle { flex-shrink: 0; min-width: 80px; margin-left: 12px;}
.add-to-lists-toggle:disabled { cursor: not-allowed;}
.add-to-lists-dialog-empty,.add-to-lists-dialog-error { color: var(--text-color-secondary); text-align: center; padding: 20px 0;}
.add-to-lists-dialog-error { color: var(--error-color);}
.add-to-lists-dialog-loading { display: flex; justify-content: center; align-items: center; height: 60vh;}
.add-to-lists-dialog-loading .loading-spinner { height: 24px; width: 24px;}
.add-to-lists-dialog-loading-more { display: flex; justify-content: center; padding: 12px 0;}
.add-to-lists-dialog-loading-more .loading-spinner { height: 20px; width: 20px;}
/* Post Interaction Settings Dialog */
.post-interaction-settings-dialog::before { z-index: 1;}
.post-interaction-settings-dialog[open] { display: flex; flex-direction: column;}
@media (max-width: 799px) { .post-interaction-settings-dialog { max-height: calc(100dvh - var(--sheet-top)); }}
@media (min-width: 800px) { .post-interaction-settings-dialog { max-width: 440px; }}
.post-interaction-settings-dialog-content { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; padding: 24px 20px; padding-top: 28px; position: relative;}
@media (min-width: 800px) { .post-interaction-settings-dialog-content { padding-top: 24px; }}
.post-interaction-settings-dialog-close { display: none; position: absolute; top: 12px; right: 12px; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 4px 8px; opacity: 0.6;}
@media (min-width: 800px) { .post-interaction-settings-dialog-close { display: flex; align-items: center; }}
@media (hover: hover) { .post-interaction-settings-dialog-close:hover { opacity: 1; }}
.post-interaction-settings-dialog-body { display: flex; flex-direction: column;}
.post-interaction-settings-dialog-body > * + * { margin-top: 16px;}
.post-interaction-settings-dialog-header { display: flex; flex-direction: column; gap: 4px;}
.post-interaction-settings-dialog-title { font-size: 1.3rem; font-weight: 700; margin: 0;}
.post-interaction-settings-dialog-subtitle { margin: 0; color: var(--text-color-secondary); font-size: 0.95rem;}
.interaction-settings-section-title { font-size: 0.95rem; font-weight: 600; margin: 0 0 8px;}
.interaction-settings-rows { display: flex; flex-direction: column;}
.interaction-settings-row { margin-bottom: 8px;}
.interaction-settings-row-disabled { opacity: 0.5; cursor: not-allowed;}
.interaction-settings-list-avatar { width: 24px; height: 24px; border-radius: 4px; flex-shrink: 0;}
.interaction-settings-list-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.interaction-settings-preserved-row { justify-content: space-between; color: var(--text-color-secondary);}
.interaction-settings-lists-toggle { justify-content: space-between; list-style: none;}
.interaction-settings-lists-toggle::-webkit-details-marker { display: none;}
.interaction-settings-lists-chevron { display: flex; width: 18px; height: 18px; flex-shrink: 0;}
.interaction-settings-lists-message { color: var(--text-color-secondary); font-size: 0.9rem; padding: 8px 0;}
.interaction-settings-quote-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 12px; border-radius: var(--card-border-radius); background: var(--post-hover-color); font-size: 14px; font-weight: 500; margin-top: 8px;}
.interaction-settings-quote-label { display: flex; align-items: center; gap: 8px;}
.interaction-settings-quote-label app-icon { display: flex; width: 18px; height: 18px;}
.interaction-settings-default-note { color: var(--text-color-muted); font-size: 14px;}
.interaction-settings-save-default-row { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px;}
.interaction-settings-save-default-row input[type="checkbox"] { accent-color: var(--highlight-color); margin: 0;}
.interaction-settings-error { color: var(--error-color); font-size: 0.9rem;}
.interaction-settings-save { width: 100%; padding: 12px 20px; text-align: center;}
.interaction-settings-save:disabled { cursor: not-allowed;}
.chat-header-buttons { display: flex; align-items: center; gap: 8px;}
#chat-view .feed-end-message .rounded-button { margin: 18px auto 0;}
.new-chat-button { display: none; align-items: center; justify-content: center; cursor: pointer; border: none; padding: 0; background-color: var(--primary-button-color); color: var(--primary-button-text-color); height: 33px; width: 33px; border-radius: var(--circular-button-border-radius); transition: background-color 0.2s;}
@media (min-width: 800px) { .new-chat-button { display: flex; }}
@media (hover: hover) { .new-chat-button:hover { background-color: var(--primary-button-hover-color); }}
.new-chat-button app-icon { width: 16px; height: 16px;}
.new-chat-fab app-icon { width: 28px; height: 28px;}
@media (max-width: 799px) { .search-dialog { display: flex; flex-direction: column; }
.search-dialog-content { flex: 1; min-height: 0; }
.search-dialog-results { flex: 1; height: auto; min-height: 0; }}
@media (min-width: 800px) { .search-dialog { max-width: 480px; top: 50%; max-height: calc(100dvh - var(--sheet-top)); }}
.search-dialog-content { display: flex; flex-direction: column; gap: 16px; padding: 24px 20px; padding-top: 28px; position: relative;}
@media (min-width: 800px) { .search-dialog-content { padding-top: 24px; max-height: 80vh; }}
.search-dialog-header { display: flex; align-items: center; justify-content: space-between;}
.search-dialog-title { font-size: 1.3rem; font-weight: 700; margin: 0;}
.search-dialog-close { display: none; background: none; border: none; cursor: pointer; color: var(--text-color); padding: 4px 8px; opacity: 0.6;}
@media (min-width: 800px) { .search-dialog-close { display: flex; align-items: center; }}
@media (hover: hover) { .search-dialog-close:hover { opacity: 1; }}
.search-dialog-input-container { position: relative; display: flex; flex-direction: column;}
.search-dialog-input-container > app-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; color: var(--text-color-muted); pointer-events: none;}
.search-dialog-input-container .search-clear-button { right: 8px; top: 50%; transform: translateY(-50%);}
.search-dialog-input { padding: 12px; padding-left: 42px; padding-right: 36px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background: var(--text-input-background-color); color: var(--text-color); font-size: 16px; outline: none;}
.search-dialog-results { display: flex; flex-direction: column; height: 50vh; overflow-y: auto;}
.search-dialog-message { color: var(--text-color-secondary); text-align: center; padding: 20px 0;}
.search-dialog-section-header { color: var(--text-color-secondary); font-size: 0.85rem; padding: 4px 4px 8px;}
.new-chat-not-messageable-hint { align-self: center; color: var(--text-color-muted); font-size: 0.85rem; flex-shrink: 0;}
.new-chat-dialog .search-dialog-title { flex: 1; text-align: left;}
.new-chat-dialog .profile-list-item { border: none;}
.new-group-back-button { display: flex; align-items: center; margin-left: -8px;}
.search-dialog-header-action { display: inline-flex; align-items: center; gap: 8px; background: none; border: none; font-size: 16px; font-weight: 600; cursor: pointer; color: var(--highlight-color); padding: 4px 0;}
.search-dialog-header-action:disabled:not(.saving) { color: var(--text-color-muted); cursor: default;}
.search-dialog-header-action .loading-spinner { border-top-color: var(--highlight-color);}
.new-group-entry-button { display: flex; align-items: center; gap: 12px; padding: 12px; background: none; border: none; text-align: left; color: var(--text-color); font-size: 1rem; cursor: pointer; margin-bottom: 4px;}
.new-group-entry-button app-icon:first-child { color: var(--highlight-color);}
.new-group-entry-button .new-group-entry-label { flex: 1; font-weight: 600;}
.new-group-entry-button app-icon { color: var(--text-color-muted);}
.new-group-entry-button.is-disabled { opacity: 0.5;}
@media (hover: hover) { .new-group-entry-button:hover { background: var(--highlight-color-tint); border-radius: 8px; }}
.new-group-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; flex-shrink: 0;}
.new-group-member-chip { display: flex; align-items: center; gap: 6px; padding: 4px 6px 4px 4px; border-radius: 999px; background: var(--highlight-color-tint); flex-shrink: 0;}
.new-group-member-chip .avatar-image-frame { width: 24px; height: 24px;}
.new-group-chip-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.85rem;}
.new-group-chip-remove { display: flex; align-items: center; background: none; border: none; padding: 0; cursor: pointer; color: var(--text-color-muted);}
.new-group-chip-remove app-icon { width: 20px; height: 20px;}
@media (hover: hover) { .new-group-chip-remove:hover { color: var(--text-color); }}
.new-group-member-toggle { align-self: center; display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--post-border-color); color: transparent; flex-shrink: 0;}
.new-group-member-toggle.is-selected { background: var(--highlight-color); border-color: var(--highlight-color); color: white;}
.new-group-member-toggle app-icon { line-height: 0;}
.new-group-member-toggle app-icon svg { width: 14px; height: 14px;}
.new-group-name-section { display: flex; flex-direction: column; gap: 4px; padding-bottom: 12px; flex-shrink: 0;}
.new-group-name-input { padding-left: 12px;}
.new-chat-result { display: flex; align-items: center; gap: 12px; padding: 10px 4px; background: none; border: none; text-align: left; color: var(--text-color); cursor: pointer;}
.new-chat-result.is-not-messageable { cursor: not-allowed;}
/* Scoped to [open]: the picker stays mounted in the composer, so an unconditional display would override the UA's closed-dialog display:none */.gif-picker-dialog[open] { display: flex; flex-direction: column;}
@media (min-width: 800px) { .gif-picker-dialog { max-width: 480px; }}
.gif-picker-content { display: flex; flex-direction: column; gap: 12px; padding: 24px 20px 0; flex: 1; min-height: 0;}
.gif-picker-header { display: flex; align-items: center; gap: 8px;}
.gif-picker-input-container { flex: 1;}
.gif-picker-pills { display: flex; justify-content: space-between; gap: 8px;}
.gif-picker-pill { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: var(--pill-button-border-radius); border: var(--hair) solid var(--post-border-color); background: none; color: var(--text-color); cursor: pointer;}
@media (hover: hover) { .gif-picker-pill:not(.is-active):hover { background: var(--background-color-secondary); }}
.gif-picker-pill.is-active { background: var(--text-color); border-color: var(--text-color); color: var(--background-color);}
.gif-picker-pill app-icon { width: 24px; height: 24px;}
/* Fixed height so the sheet doesn't collapse while a category/search swap empties the grid; on mobile the fullscreen sheet already fixes it */.gif-picker-body { height: 60vh; padding-bottom: 12px;}
@media (max-width: 799px) { .gif-picker-body { height: auto; }}
.gif-picker-grid { columns: 2; column-gap: 8px;}
@media (min-width: 800px) { .gif-picker-grid { columns: 3; }}
.gif-picker-tile { display: block; width: 100%; break-inside: avoid; margin-bottom: 8px; padding: 0; border: none; border-radius: var(--image-preview-border-radius); overflow: hidden; /* Visible while the gif image is still loading (the tile is already sized by its inline aspect-ratio) */ background: var(--skeleton-color); cursor: pointer;}
@media (hover: hover) { .gif-picker-tile:hover { opacity: 0.85; }}
.gif-picker-tile:active { opacity: 0.85; transform: scale(0.97);}
.gif-picker-tile img { display: block; width: 100%; height: 100%; object-fit: cover;}
.gif-picker-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 40px 16px; color: var(--text-color-secondary); text-align: center;}
.gif-picker-placeholder-title { font-size: 1.1rem; font-weight: 700; color: var(--text-color);}
.gif-picker-footer-message { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 16px; color: var(--text-color-secondary);}
/* @chunk form-dialog */.new-chat-result .avatar { flex-shrink: 0;}
.new-chat-result .avatar-image-frame,.new-chat-skeleton-avatar { width: 40px; height: 40px; flex-shrink: 0; border-radius: 50%;}
.new-chat-result-content { display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.new-chat-result-name { font-size: 15px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.new-chat-result-handle { color: var(--text-color-muted); font-size: 0.9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.new-chat-skeleton-name { width: 120px; height: 14px; border-radius: 4px;}
.new-chat-skeleton-handle { width: 90px; height: 12px; border-radius: 4px;}
.manage-list-members-toggle { align-self: center; flex-shrink: 0; min-width: 80px;}
.manage-list-members-toggle .loading-spinner { width: 14px; height: 14px;}
tab-bar[full-width] { width: 100%;}
tab-bar[full-width] .tab-bar-button { flex: 1;}
.form-dialog { background-color: var(--background-color); overflow: visible; display: flex; flex-direction: column;}
@media (min-width: 800px) { .form-dialog { max-width: 600px; max-height: none; top: 50%; }}
.form-dialog-content { padding: 0; display: flex; flex-direction: column;}
@media (min-width: 800px) { .form-dialog-content { max-height: 80vh; }}
.form-dialog-header { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; background-color: var(--background-color); padding: 16px; border-radius: var(--sheet-border-radius) var(--sheet-border-radius) 0 0;}
@media (min-width: 800px) { .form-dialog-header { border-radius: var(--dialog-border-radius) var(--dialog-border-radius) 0 0; }}
.form-dialog-header h2 { margin: 0; font-size: 18px; position: absolute; left: 50%; transform: translateX(-50%);}
.form-dialog-header-button { background: none; border: none; font-size: 16px; cursor: pointer; color: var(--text-link-color); padding: 4px 0;}
.form-dialog-save-button:enabled,.form-dialog-save-button.saving { color: var(--primary-button-color);}
.form-dialog-save-button { display: inline-flex; align-items: center; gap: 8px;}
.form-dialog-save-button .loading-spinner { border-top-color: var(--primary-button-color);}
.form-dialog-body { display: flex; flex-direction: column; padding: 0 20px 20px;}
.form-dialog-body > .form-dialog-field ~ .form-dialog-field,.form-dialog-body > .form-dialog-images-section ~ .form-dialog-field,.form-dialog-body > .form-dialog-field ~ .form-dialog-error { margin-top: 12px;}
.form-dialog-body .field-caption { margin-bottom: 0;}
.form-dialog-body .pill-radio-group { margin-bottom: 0;}
.form-dialog-images-section { position: relative; padding-bottom: 40px;}
.edit-profile-banner-preview { position: relative; width: 100%; aspect-ratio: 3 / 1; border-radius: var(--image-preview-border-radius); overflow: hidden; background-color: light-dark(var(--lightest-gray), var(--gray)); cursor: pointer;}
.edit-profile-banner-preview img { width: 100%; height: 100%; object-fit: cover;}
.edit-profile-banner-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--text-color-muted); font-size: 14px;}
.form-dialog-image-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.4); color: white; font-size: 14px; font-weight: 600; opacity: 0; transition: opacity 0.15s;}
@media (hover: hover) { .edit-profile-banner-preview:hover .form-dialog-image-overlay, .form-dialog-avatar-wrapper:hover .form-dialog-image-overlay { opacity: 1; }}
.form-dialog-camera-button { position: absolute; width: 24px; height: 24px; border-radius: var(--circular-button-border-radius); background-color: light-dark(var(--lightest-gray), var(--dark-gray)); border: 1px solid light-dark(var(--lighter-gray), var(--light-gray)); display: flex; align-items: center; justify-content: center; pointer-events: none;}
.form-dialog-camera-button app-icon { width: 14px; height: 14px;}
.form-dialog-camera-button-banner { bottom: 8px; right: 8px;}
.form-dialog-camera-button-avatar { bottom: 0; right: 0;}
.form-dialog-avatar-wrapper { position: absolute; bottom: 0; left: 12px; cursor: pointer;}
.form-dialog-avatar-preview { position: relative; width: 80px; height: 80px; border-radius: 50%; overflow: hidden; background-color: light-dark(var(--light-gray), var(--dark-gray)); border: 2px solid light-dark(var(--less-white), var(--dark-gray));}
.form-dialog-avatar-preview img { width: 100%; height: 100%; object-fit: cover;}
.form-dialog-avatar-placeholder { width: 100%; height: 100%; object-fit: cover;}
.form-dialog-field { display: flex; flex-direction: column; gap: 4px;}
.form-dialog-field > label { font-size: 13px; font-weight: 600; color: var(--text-color-muted);}
.form-dialog-input,.form-dialog-textarea { padding: 10px 12px; border: var(--hair) solid var(--post-border-color); border-radius: var(--text-input-border-radius); background-color: var(--text-input-background-color); color: var(--text-color); font-size: 16px; font-family: inherit; resize: vertical;}
.form-dialog-char-count { font-size: 12px; color: var(--text-color-muted); text-align: right;}
.form-dialog-char-count.overflow { color: var(--danger-color, #dc3545); font-weight: 600;}
.form-dialog-error { color: var(--danger-color, #dc3545); font-size: 14px; padding: 8px 12px; border-radius: var(--card-border-radius); background-color: light-dark(#fef2f2, #3b1111);}
.edit-list-details-dialog .form-dialog-images-section,.create-list-dialog .form-dialog-images-section { padding: 0; display: flex; justify-content: flex-start;}
.edit-list-details-dialog .form-dialog-avatar-wrapper,.create-list-dialog .form-dialog-avatar-wrapper { position: relative; bottom: auto; left: auto;}
.edit-list-details-dialog .form-dialog-avatar-preview,.create-list-dialog .form-dialog-avatar-preview { border-radius: var(--list-avatar-border-radius);}
/* Image Cropper */
image-cropper { display: flex; flex-direction: column; width: 100%; height: 300px;}
.image-cropper-canvas { width: 100%; flex: 1; min-height: 0; cursor: grab; touch-action: none;}
.image-cropper-canvas:active { cursor: grabbing;}
.image-cropper-slider-container { display: flex; align-items: center; justify-content: center; padding: 12px 20px; background: #000;}
.image-cropper-slider { width: 100%; max-width: 300px; height: 4px; appearance: none; -webkit-appearance: none; background: rgba(255, 255, 255, 0.3); border-radius: 2px; outline: none;}
.image-cropper-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; cursor: pointer;}
.image-cropper-slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #fff; border: none; cursor: pointer;}
.form-dialog-cropper-content { max-height: calc(100dvh - 56px);}
.form-dialog-cropper-container { border-radius: var(--image-preview-border-radius); overflow: hidden;}
.community-plugins-link { display: flex; align-items: center; gap: 14px; margin: 12px 16px; padding: 14px 16px; border-radius: var(--callout-border-radius); background: var(--callout-color); color: var(--text-color); text-decoration: none; transition: background-color 0.15s;}
@media (hover: hover) { .community-plugins-link:hover { background: color-mix(in srgb, var(--text-color) 10%, var(--callout-color)); }}
.community-plugins-link-icon,.plugins-intro-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--background-color); color: var(--primary-button-color); flex-shrink: 0;}
.community-plugins-link-icon app-icon,.plugins-intro-icon app-icon { width: 22px; height: 22px;}
.community-plugins-link-text { display: flex; flex-direction: column; flex: 1; min-width: 0;}
.community-plugins-link-title { font-weight: 600; font-size: 15px;}
.community-plugins-link-subtitle { font-size: 13px; color: var(--text-color-muted); margin-top: 2px;}
.community-plugins-link-arrow { display: flex; align-items: center; flex-shrink: 0;}
.community-plugins-link-arrow app-icon { width: 20px; height: 20px; color: var(--text-color-muted);}
.plugins-intro { margin: 12px 16px; padding: 16px; border-radius: var(--callout-border-radius); background: var(--callout-color);}
.plugins-intro-header { display: flex; align-items: center; gap: 14px;}
.plugins-intro-title { font-weight: 600; font-size: 17px;}
.plugins-intro-message { margin: 6px 0 14px; font-size: 14px; color: var(--text-color-muted);}
.plugin-list { list-style: none; padding: 0; margin: 0;}
.plugin-list-loading { padding: 24px 16px; color: var(--text-color-muted); text-align: center; font-size: 14px;}
.plugins-loading-state { display: flex; justify-content: center; padding: 32px 16px;}
.plugins-empty-state { margin: 16px; padding: 24px 20px; border-radius: var(--callout-border-radius); background: var(--callout-color); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 6px;}
.plugins-empty-state-title { font-weight: 600; font-size: 16px;}
.plugins-empty-state-message { margin: 0; color: var(--text-color-muted); font-size: 14px; line-height: 1.5; max-width: 32em;}
/* @chunk plugins */#community-plugins-view .error-state,#installed-plugins-view .error-state { padding: 32px 20px;}
.plugin-list-item { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px; border-bottom: var(--hair) solid var(--post-border-color);}
.plugin-list-item-name { font-weight: 600;}
.plugin-local-badge { font-size: 12px; font-weight: 400; background: var(--secondary-button-color); padding: 3px 8px; border-radius: var(--tag-border-radius); display: inline-block; min-width: fit-content; margin-left: 5px; vertical-align: middle; margin-bottom: 3px;}
.plugin-list-item-description { font-size: 14px; opacity: 0.8; margin-top: 2px;}
.plugin-list-item-version,.plugin-list-item-author { font-size: 12px; opacity: 0.6; margin-top: 4px;}
a.plugin-list-item-info { color: inherit; text-decoration: none; width: 100%;}
.plugin-list-item-controls { display: flex; align-items: center; gap: 12px;}
.plugin-list-item.uninstalling { opacity: 0.5;}
.plugin-installed-badge { font-size: 12px; font-weight: 400; background: light-dark( color-mix(in srgb, var(--highlight-color) 12%, var(--white)), color-mix(in srgb, var(--highlight-color) 16%, var(--mid-gray)) ); color: var(--highlight-color); padding: 3px 8px; border-radius: var(--tag-border-radius); display: inline-block; min-width: fit-content; margin-left: 5px; vertical-align: middle; margin-bottom: 3px;}
/* Community plugin rows are whole-row navigation links */#community-plugins-view .plugin-list-item { padding: 0;}
.plugin-list-item-link { display: flex; flex: 1; min-width: 0; align-items: center; gap: 24px; padding: 16px; text-decoration: none; color: inherit;}
.plugin-list-item-link .plugin-list-item-info { flex: 1; min-width: 0;}
.plugin-list-item-arrow { display: flex; align-items: center;}
.plugin-list-item-arrow app-icon { width: 20px; height: 20px; color: var(--text-color-muted);}
@media (hover: hover) { .plugin-list-item-link:hover { background: var(--post-hover-color); }}
.plugin-listing-header { padding: 20px 16px;}
.plugin-listing-name { margin: 0 0 16px; font-size: 22px; font-weight: 700; line-height: 1.1;}
.plugin-listing-name .plugin-local-badge { font-size: 14px;}
.plugin-listing-meta { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: var(--text-color-secondary);}
.plugin-listing-meta a { color: var(--primary-button-color); text-decoration: none; word-break: break-all;}
@media (hover: hover) { .plugin-listing-meta a:hover { text-decoration: underline; }}
.plugin-listing-description { margin: 16px 0 0; font-size: 16px; line-height: 1.5;}
.plugin-listing-actions { display: flex; gap: 12px; margin-top: 16px;}
.plugin-listing-readme { border-top: var(--hair) solid var(--post-border-color); padding: 16px;}
#community-plugin-listing-view rendered-markdown { display: block; font-size: 15px; line-height: 1.6; color: var(--text-color); word-break: break-word;}
#community-plugin-listing-view rendered-markdown h1,#community-plugin-listing-view rendered-markdown h2,#community-plugin-listing-view rendered-markdown h3,#community-plugin-listing-view rendered-markdown h4 { line-height: 1.25; margin: 24px 0 12px;}
#community-plugin-listing-view rendered-markdown h1 { font-size: 24px;}
#community-plugin-listing-view rendered-markdown h2 { font-size: 20px;}
#community-plugin-listing-view rendered-markdown h3 { font-size: 17px;}
#community-plugin-listing-view rendered-markdown :is(h1, h2, h3, h4):first-child { margin-top: 0;}
#community-plugin-listing-view rendered-markdown p,#community-plugin-listing-view rendered-markdown ul,#community-plugin-listing-view rendered-markdown ol { margin: 12px 0;}
rendered-markdown ul,rendered-markdown ol { padding-left: 24px;}
rendered-markdown ul { list-style: disc;}
rendered-markdown ol { list-style: decimal;}
rendered-markdown li { margin: 4px 0;}
rendered-markdown li > ul,rendered-markdown li > ol { margin: 4px 0;}
rendered-markdown ul:has(> li > input[type="checkbox"]) { list-style: none; padding-left: 0;}
#community-plugin-listing-view rendered-markdown a { color: var(--primary-button-color);}
#community-plugin-listing-view rendered-markdown img { max-width: 100%; height: auto;}
#community-plugin-listing-view rendered-markdown code { font-family: var(--mono-font, monospace); font-size: 0.9em; background: var(--secondary-button-color); padding: 2px 5px; border-radius: var(--tag-border-radius);}
#community-plugin-listing-view rendered-markdown pre { background: var(--secondary-button-color); padding: 12px; border-radius: var(--callout-border-radius); overflow-x: auto;}
#community-plugin-listing-view rendered-markdown pre code { background: none; padding: 0;}
#community-plugin-listing-view rendered-markdown blockquote { margin: 12px 0; padding-left: 12px; border-left: 3px solid var(--post-border-color); color: var(--text-color-secondary);}
.plugin-content h1,.plugin-content h2,.plugin-content h3,.plugin-content h4 { color: var(--text-color);}
.plugin-system-settings { display: block; margin-top: 16px;}
.plugin-system-settings-bar { padding: 8px 16px; background-color: var(--background-color-secondary); border-top: 1px solid var(--generic-border-color); border-bottom: 1px solid var(--generic-border-color); color: var(--text-color-muted);}
.plugin-system-settings-body { padding: 16px;}
.plugin-network-access-title { font-size: 15px; font-weight: 600;}
.plugin-network-access-description { margin-top: 4px; font-size: 13px; color: var(--text-color-muted);}
.plugin-network-access-list { margin-top: 12px; list-style: none; display: flex; flex-direction: column; gap: 8px;}
.plugin-network-access-item { display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.plugin-network-access-item code { font-family: var(--monospace-font, monospace); font-size: 13px; word-break: break-all;}
.plugin-content { --plugin-prose-inset: 0px;}
.plugin-content.plugin-content-page { --plugin-prose-inset: 16px;}
.plugin-content :is(h1, h2, h3, h4) { padding: 16px var(--plugin-prose-inset);}
.plugin-content :is(p, pre) { padding-inline: var(--plugin-prose-inset);}
.plugin-content :is(ul, ol) { padding-inline: calc(16px + var(--plugin-prose-inset)) var(--plugin-prose-inset);}
.plugin-content h1:first-child,.plugin-content h2:first-child,.plugin-content h3:first-child,.plugin-content h4:first-child { margin-top: 0;}
.plugin-content h3 { font-size: 16px; font-weight: 600;}
.plugin-content h4 { font-size: 14px; font-weight: 600; color: var(--text-color-secondary);}
.plugin-content p,.plugin-content ul,.plugin-content ol { font-size: 14px; color: var(--text-color-secondary); margin: 8px 0;}
.plugin-content li { margin: 4px 0;}
.plugin-content pre { overflow-x: auto;}
.setting-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; padding: 16px; border-bottom: var(--hair) solid var(--generic-border-color);}
.setting-item-disabled .setting-item-name,.setting-item-disabled .setting-item-desc { color: var(--text-color-muted);}
.setting-item:last-child { border-bottom: none;}
.setting-item-info { flex: 1 1 200px; min-width: 0; max-width: 100%; overflow-wrap: anywhere;}
h2.setting-item-name { font-size: inherit; margin: 0;}
.setting-item-name { font-weight: 600; color: var(--text-color);}
.setting-item-desc { font-size: 14px; color: var(--text-color-secondary); margin-top: 4px;}
.setting-item-desc a { color: var(--text-link-color);}
.plugin-content .setting-item-name,.plugin-content .setting-item-desc { padding: 0;}
.plugin-content .setting-item-desc { margin: 4px 0 0;}
.setting-item-control { flex: 0 0 auto; display: flex; align-items: center; gap: 8px;}
.setting-item-dropdown,.setting-item-text-input,.setting-item-textarea,.plugin-content textarea,.plugin-content :is( input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="url"], input[type="tel"], input[type="password"], input[type="number"] ) { font-size: 16px; font-family: inherit; padding: 10px 12px; border-radius: var(--text-input-border-radius); border: var(--hair) solid var(--post-border-color); background: var(--text-input-background-color); color: var(--text-color);}
.setting-item-textarea,.plugin-content textarea { resize: vertical;}
.installed-plugins-header { padding: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px;}
.installed-plugins-header h2 { font-size: 16px;}
.installed-plugins-header-actions { display: flex; align-items: center; gap: 12px;}
.plugin-check-updates-button { min-height: 37px;}
.external-link-warning-href { display: block; padding: 12px; margin-bottom: 16px; border: var(--hair) solid var(--post-border-color); border-radius: 8px; background-color: light-dark(var(--lightest-gray), var(--gray)); color: var(--text-color); font-size: 16px; text-decoration: none; word-break: break-all; overflow-wrap: anywhere;}
.external-link-warning-host { font-weight: 600; color: var(--text-color);}
.external-link-warning-path { color: var(--text-color-secondary, var(--text-color)); opacity: 0.75;}
.bottom-sheet.text-modal { color: var(--text-color);}
.bottom-sheet.text-modal .modal-dialog-content { padding-top: 32px; padding-right: 24px; padding-bottom: 16px; padding-left: 24px;}
@media (min-width: 800px) { .bottom-sheet.text-modal { width: 90%; max-width: 410px; } .bottom-sheet.text-modal.compact { max-width: 350px; } .bottom-sheet.text-modal .modal-dialog-content { padding-top: 24px; padding-right: 24px; padding-bottom: 16px; padding-left: 24px; }}
.bottom-sheet.profile-list-modal .profile-list-modal-body { max-height: 60vh; overflow-y: auto; margin: 0 -24px;}
.bottom-sheet.welcome-modal { width: 90%; max-width: 410px; padding-bottom: 0; top: 50%; left: 50%; right: auto; bottom: auto; max-height: 80vh; border: var(--hair) solid var(--post-border-color); border-radius: 22px; box-shadow: none; animation: none; transform: translate(-50%, -50%);}
.bottom-sheet.welcome-modal::before { display: none;}
.bottom-sheet.welcome-modal .modal-dialog-content { padding-top: 24px;}
.sidebar-action-items { display: flex; flex-direction: column; align-items: flex-start;}
@media (min-width: 800px) and (max-width: 1199.98px) { .logged-out-sidebar .sidebar-footer, .logged-out-sidebar .sidebar-action-items, .logged-out-sidebar .sidebar-title { display: none; }
.footer-nav.logged-out-footer { display: flex !important; }}
.subscribe-list-button { margin-right: 12px;}
.plugin-preview-banner { position: fixed; left: 0; right: 0; bottom: calc(var(--footer-height) + var(--safe-area-inset-bottom)); z-index: calc(var(--footer-z-index) + 1); display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid color-mix(in srgb, var(--highlight-color) 35%, transparent); background: var(--highlight-color-tint);}
@media (min-width: 1200px) { .plugin-preview-banner { right: 24px; left: auto; bottom: 24px; max-width: min(360px, calc(100vw - 48px)); padding: 12px 14px; display: grid; grid-template-columns: auto 1fr; grid-template-areas: "icon body" ". button"; align-items: center; gap: 8px 12px; border: 1px solid color-mix(in srgb, var(--highlight-color) 35%, transparent); border-radius: var(--card-border-radius); box-shadow: 0 4px 16px rgb(0 0 0 / 15%); }
.plugin-preview-banner-icon { grid-area: icon; }
.plugin-preview-banner-body { grid-area: body; }
.plugin-preview-banner-exit { grid-area: button; justify-self: end; }}
.plugin-preview-banner-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 32px; height: 32px; width: 32px; border-radius: 999px; background: color-mix(in srgb, var(--highlight-color) 20%, transparent); color: var(--highlight-color);}
.plugin-preview-banner-icon app-icon { width: 18px; height: 18px;}
.plugin-preview-banner-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;}
.plugin-preview-banner-title { font-weight: 600; font-size: 14px; color: var(--text-color); letter-spacing: 0.01em;}
.plugin-preview-banner-subtitle { font-size: 13px; color: var(--text-color-muted); line-height: 1.4;}
.plugin-preview-banner-link { color: var(--highlight-color); font-weight: 500; text-decoration: none;}
.plugin-preview-banner-exit { flex: 0 0 auto; padding: 8px 14px; border: 1px solid color-mix(in srgb, var(--highlight-color) 35%, transparent); border-radius: var(--pill-button-border-radius); background: transparent; color: var(--highlight-color); font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer;}
@media (hover: hover) { .plugin-preview-banner-exit:hover { background: color-mix(in srgb, var(--highlight-color) 12%, transparent); }}
@media (hover: hover) { .plugin-preview-banner-link:hover { text-decoration: underline; }}