pintura.scss 82 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104
  1. /*!
  2. * Pintura Image Editor 8.13.1
  3. * (c) 2018-2021 PQINA Inc. - All Rights Reserved
  4. * License: https://pqina.nl/pintura/license/
  5. */
  6. /* eslint-disable */
  7. .PinturaRadioGroup .PinturaRadioGroupOptions {
  8. display: flex;
  9. flex-direction: column;
  10. }
  11. .PinturaRadioGroup
  12. .PinturaRadioGroupOptionGroup
  13. + .PinturaRadioGroupOptionGroup {
  14. margin-top: 0.5em;
  15. }
  16. .PinturaRadioGroup[data-layout="row"] .PinturaRadioGroupOptions {
  17. flex-direction: row;
  18. }
  19. .PinturaRadioGroup label {
  20. -webkit-tap-highlight-color: transparent;
  21. }
  22. .PinturaDetailsPanel.PinturaSliderPanel {
  23. border-radius: var(--border-radius-round);
  24. }
  25. .PinturaPercentageLabel {
  26. font-variant-numeric: tabular-nums;
  27. min-width: 3em;
  28. text-align: center;
  29. }
  30. .PinturaSliderPanel .PinturaSlider {
  31. width: 10em;
  32. --knob-size: 0.75em;
  33. --knob-margin-left: 0.3125em;
  34. --knob-margin-right: 0.3125em;
  35. }
  36. .PinturaSliderPanel .PinturaSliderTrack {
  37. background-color: #eee;
  38. }
  39. .PinturaSliderPanel .PinturaSliderKnob {
  40. background-color: #111;
  41. box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.35),
  42. 0 -0.125em 0.25em rgba(0, 0, 0, 0.1);
  43. }
  44. .PinturaPanel[data-util="redact"] .PinturaUtilFooter {
  45. padding: 0;
  46. }
  47. .PinturaPanel[data-util="redact"] .PinturaUtilFooter > div {
  48. height: 1px;
  49. }
  50. .pintura-editor,
  51. pintura-editor {
  52. --color-primary: #ffd843;
  53. --color-primary-dark: #ffc343;
  54. --color-primary-text: #000;
  55. --color-secondary: #03a9f4;
  56. --color-secondary-dark: #046bbf;
  57. --color-focus: 4, 107, 191;
  58. --color-focus-100: rgba(var(--color-focus), 1);
  59. --color-focus-50: rgba(var(--color-focus), 0.5);
  60. --color-focus-25: rgba(var(--color-focus), 0.25);
  61. --color-error: 255, 87, 34;
  62. --color-error-100: rgb(var(--color-error));
  63. --color-error-75: rgba(var(--color-error), 0.75);
  64. --color-error-50: rgba(var(--color-error), 0.5);
  65. --color-error-25: rgba(var(--color-error), 0.25);
  66. --color-foreground: 0, 0, 0;
  67. --color-background: 255, 255, 255;
  68. --color-preview-outline: var(--color-foreground);
  69. --color-foreground-100: rgba(var(--color-foreground), 1);
  70. --color-foreground-95: rgba(var(--color-foreground), 0.95);
  71. --color-foreground-90: rgba(var(--color-foreground), 0.9);
  72. --color-foreground-80: rgba(var(--color-foreground), 0.8);
  73. --color-foreground-70: rgba(var(--color-foreground), 0.7);
  74. --color-foreground-60: rgba(var(--color-foreground), 0.6);
  75. --color-foreground-50: rgba(var(--color-foreground), 0.5);
  76. --color-foreground-40: rgba(var(--color-foreground), 0.4);
  77. --color-foreground-30: rgba(var(--color-foreground), 0.3);
  78. --color-foreground-20: rgba(var(--color-foreground), 0.25);
  79. --color-foreground-15: rgba(var(--color-foreground), 0.2);
  80. --color-foreground-10: rgba(var(--color-foreground), 0.15);
  81. --color-foreground-5: rgba(var(--color-foreground), 0.075);
  82. --color-foreground-3: rgba(var(--color-foreground), 0.05);
  83. --color-foreground-1: rgba(var(--color-foreground), 0.02);
  84. --color-foreground-0: rgba(var(--color-foreground), 0);
  85. --color-background-100: rgba(var(--color-background), 1);
  86. --color-background-95: rgba(var(--color-background), 0.95);
  87. --color-background-90: rgba(var(--color-background), 0.9);
  88. --color-background-80: rgba(var(--color-background), 0.8);
  89. --color-background-70: rgba(var(--color-background), 0.7);
  90. --color-background-60: rgba(var(--color-background), 0.6);
  91. --color-background-50: rgba(var(--color-background), 0.5);
  92. --color-background-40: rgba(var(--color-background), 0.4);
  93. --color-background-30: rgba(var(--color-background), 0.3);
  94. --color-background-20: rgba(var(--color-background), 0.2);
  95. --color-background-15: rgba(var(--color-background), 0.15);
  96. --color-background-10: rgba(var(--color-background), 0.1);
  97. --color-background-5: rgba(var(--color-background), 0.05);
  98. --color-background-3: rgba(var(--color-background), 0.03);
  99. --color-background-1: rgba(var(--color-background), 0.01);
  100. --color-background-0: rgba(var(--color-background), 0);
  101. --button-cursor: pointer;
  102. --font-size: 16px;
  103. --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
  104. Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
  105. "Segoe UI Symbol";
  106. --backdrop-filter-bright: brightness(110%) saturate(180%) blur(10px);
  107. --backdrop-filter-dark: brightness(90%) saturate(180%) blur(10px);
  108. --border-radius-round: 9999em;
  109. --border-radius: 0.625em;
  110. --filter-disabled: grayscale(95%) opacity(40%);
  111. --editor-inset-top: 0px;
  112. --editor-inset-bottom: 0px;
  113. --safe-area-inset-top: 0px;
  114. --safe-area-inset-bottom: 0px;
  115. }
  116. .pintura-editor,
  117. .PinturaRootWrapper,
  118. pintura-editor {
  119. display: block;
  120. }
  121. .PinturaRootWrapper {
  122. height: 100%;
  123. }
  124. .PinturaRoot {
  125. --nav-group-margin: 0.5em;
  126. --editor-calculated-inset-top: calc(
  127. var(--safe-area-inset-top) + var(--editor-inset-top)
  128. );
  129. --editor-calculated-inset-bottom: calc(
  130. var(--safe-area-inset-bottom) + var(--editor-inset-bottom)
  131. );
  132. box-sizing: border-box;
  133. width: var(--editor-width, 100%);
  134. height: var(--editor-height, 100%);
  135. padding-top: var(--editor-calculated-inset-top);
  136. padding-bottom: var(--editor-calculated-inset-bottom);
  137. max-width: var(--editor-max-width, var(--editor-max-width-default, none));
  138. max-height: var(--editor-max-height, var(--editor-max-height-default, none));
  139. position: relative;
  140. overflow: hidden;
  141. contain: strict;
  142. display: grid;
  143. -webkit-user-select: none;
  144. -moz-user-select: none;
  145. -ms-user-select: none;
  146. user-select: none;
  147. line-height: normal;
  148. font-size: var(--font-size);
  149. font-family: var(--font-family);
  150. font-weight: 450;
  151. touch-action: manipulation;
  152. text-align: left;
  153. text-transform: none;
  154. text-rendering: optimizeLegibility;
  155. direction: ltr;
  156. color: var(--color-foreground-90);
  157. background-color: var(--color-background-100);
  158. outline-color: rgba(var(--color-preview-outline), 1);
  159. transition: background-color 1ms, outline-color 1ms, color 0.15s ease-in-out;
  160. }
  161. .PinturaRoot * {
  162. box-sizing: content-box;
  163. }
  164. .PinturaRoot button,
  165. .PinturaRoot fieldset,
  166. .PinturaRoot input,
  167. .PinturaRoot legend {
  168. padding: 0;
  169. margin: 0;
  170. border: none;
  171. background: transparent;
  172. color: inherit;
  173. font-size: inherit;
  174. font-family: inherit;
  175. line-height: inherit;
  176. width: auto;
  177. text-decoration: none;
  178. }
  179. .PinturaRoot button[disabled] {
  180. pointer-events: none;
  181. }
  182. .PinturaRoot canvas {
  183. display: block;
  184. }
  185. .PinturaRoot svg {
  186. display: inline-block;
  187. width: auto;
  188. height: auto;
  189. }
  190. .PinturaRoot p {
  191. margin: 0;
  192. }
  193. .PinturaRoot li,
  194. .PinturaRoot ul {
  195. list-style: none;
  196. margin: 0;
  197. padding: 0;
  198. }
  199. .PinturaRoot a {
  200. color: inherit;
  201. text-decoration: none;
  202. }
  203. .PinturaRoot .implicit {
  204. border: 0;
  205. clip: rect(0 0 0 0);
  206. -webkit-clip-path: polygon(0 0, 0 0, 0 0);
  207. clip-path: polygon(0 0, 0 0, 0 0);
  208. height: 1px;
  209. margin: -1px;
  210. overflow: hidden;
  211. padding: 0;
  212. position: absolute;
  213. width: 1px;
  214. white-space: nowrap;
  215. }
  216. .PinturaRoot .PinturaStage {
  217. display: flex;
  218. align-self: stretch;
  219. flex: 1;
  220. }
  221. .PinturaRoot .PinturaStage[tabindex="-1"] {
  222. outline: none;
  223. }
  224. .PinturaRoot .PinturaRootPortal {
  225. position: absolute;
  226. left: 0;
  227. top: 0;
  228. }
  229. .PinturaRoot > .PinturaCanvas {
  230. position: absolute;
  231. left: 0;
  232. top: 0;
  233. width: 100%;
  234. height: 100%;
  235. z-index: 0;
  236. pointer-events: none;
  237. }
  238. .PinturaRoot > .PinturaCanvas:after {
  239. content: "";
  240. position: absolute;
  241. left: 0;
  242. top: 0;
  243. bottom: 0;
  244. right: 0;
  245. pointer-events: none;
  246. background-repeat: no-repeat;
  247. }
  248. .PinturaRoot > .PinturaStatus {
  249. position: absolute;
  250. z-index: 99999;
  251. left: 0;
  252. top: 0;
  253. width: 100%;
  254. height: 100%;
  255. display: flex;
  256. justify-content: center;
  257. align-items: flex-start;
  258. background-color: var(--color-background-90);
  259. }
  260. .PinturaRoot > .PinturaStatus > p {
  261. position: absolute;
  262. top: 50%;
  263. left: 50%;
  264. display: inline-flex;
  265. white-space: nowrap;
  266. align-items: center;
  267. transition: opacity 0.5s ease-out;
  268. }
  269. .PinturaRoot .PinturaStatusMessage {
  270. position: absolute;
  271. font-size: 0.875em;
  272. }
  273. .PinturaRoot .PinturaStatusAside {
  274. position: absolute;
  275. left: 0;
  276. }
  277. .PinturaRoot .PinturaStatusAside svg {
  278. width: 1.25em;
  279. height: 1.25em;
  280. }
  281. .PinturaRoot .PinturaStatusAside .PinturaProgressIndicator {
  282. margin-left: 0.5em;
  283. }
  284. .PinturaRoot .PinturaStatusAside .PinturaButton {
  285. outline: transparent;
  286. margin-left: 0.75em;
  287. font-size: 0.875em;
  288. border-radius: var(--border-radius-round);
  289. background-color: var(--color-foreground-5);
  290. padding: 0.25em;
  291. transition: background-color 0.1s ease-out, color 0.1s ease-out;
  292. -webkit-backdrop-filter: var(--backdrop-filter-dark);
  293. backdrop-filter: var(--backdrop-filter-dark);
  294. }
  295. .PinturaRoot
  296. .PinturaStatusAside
  297. .PinturaButton:not([disabled])[data-focus-visible] {
  298. background-color: var(--color-focus-50);
  299. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  300. }
  301. .PinturaRoot .PinturaStatusAside .PinturaButton:not([disabled]):hover {
  302. background-color: var(--color-foreground-10);
  303. }
  304. .PinturaRoot .PinturaStatusIcon svg {
  305. font-size: 0.875em;
  306. margin-top: 0.25em;
  307. margin-left: 0.5em;
  308. }
  309. .PinturaRoot > .PinturaNav {
  310. position: relative;
  311. z-index: 3;
  312. }
  313. .PinturaRoot > .PinturaNav:empty() {
  314. display: none !important;
  315. }
  316. .PinturaRoot > .PinturaNav .PinturaButton {
  317. outline: transparent;
  318. transition: background-color 0.1s ease-out, color 0.1s ease-out;
  319. }
  320. .PinturaRoot > .PinturaNav .PinturaButton svg {
  321. width: 1em;
  322. transition: opacity 0.1s ease-out;
  323. }
  324. .PinturaRoot > .PinturaNav .PinturaButton > span {
  325. justify-content: center;
  326. }
  327. .PinturaRoot > .PinturaNav .PinturaButtonIconOnly .PinturaButtonInner,
  328. .PinturaRoot > .PinturaNav .PinturaDropdownIconOnly .PinturaButtonInner {
  329. width: 1.75em;
  330. }
  331. .PinturaRoot > .PinturaNav .PinturaButton .PinturaButtonInner {
  332. height: 1.75em;
  333. }
  334. .PinturaRoot
  335. > .PinturaNav
  336. .PinturaButton:not(.PinturaButtonIconOnly):not(.PinturaDropdownIconOnly) {
  337. padding-left: 0.75em;
  338. padding-right: 0.75em;
  339. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  340. }
  341. .PinturaRoot
  342. > .PinturaNav
  343. .PinturaButton:not(.PinturaButtonIconOnly):not(.PinturaDropdownIconOnly)
  344. .PinturaButtonLabel {
  345. font-size: 0.75em;
  346. line-height: 2;
  347. }
  348. .PinturaRoot > .PinturaNav .PinturaButton:only-of-type {
  349. border-radius: var(--border-radius-round);
  350. }
  351. .PinturaRoot > .PinturaNav .PinturaButton:only-of-type + * {
  352. margin-left: 0.5em;
  353. }
  354. .PinturaRoot > .PinturaNav .PinturaButton[disabled] svg {
  355. opacity: 0.25;
  356. }
  357. .PinturaRoot
  358. > .PinturaNav
  359. .PinturaButton:not(.PinturaButtonExport):not([disabled])[data-focus-visible] {
  360. background-color: var(--color-focus-50);
  361. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  362. }
  363. .PinturaRoot
  364. > .PinturaNav
  365. .PinturaButton:not(.PinturaButtonExport):not([disabled]):hover {
  366. background-color: var(--color-foreground-10);
  367. }
  368. .PinturaRoot .PinturaButtonExport {
  369. color: var(--color-primary-text);
  370. background-color: var(--color-primary);
  371. }
  372. .PinturaRoot .PinturaButtonExport:hover {
  373. background-color: var(--color-primary-dark);
  374. }
  375. .PinturaRoot .PinturaButtonExport[data-focus-visible] {
  376. color: var(--color-primary-text);
  377. background-color: var(--color-primary);
  378. box-shadow: inset 0 0 0 1px var(--color-foreground-5),
  379. 0 0 0 3px var(--color-focus-50);
  380. background-color: var(--color-primary-dark);
  381. }
  382. .PinturaRoot .PinturaButtonExport:not(.PinturaButtonIconOnly) {
  383. flex: 1;
  384. padding: 0 0.75em;
  385. }
  386. .PinturaRoot > .PinturaNavMain {
  387. display: flex;
  388. overflow: hidden;
  389. }
  390. .PinturaRoot > .PinturaNavMain [aria-selected="true"] button {
  391. -webkit-backdrop-filter: var(--backdrop-filter-dark);
  392. backdrop-filter: var(--backdrop-filter-dark);
  393. background-color: var(--color-foreground-10);
  394. }
  395. .PinturaRoot > .PinturaNavMain button svg {
  396. align-self: center;
  397. width: 1.5em;
  398. }
  399. .PinturaRoot > .PinturaNavMain button span,
  400. .PinturaRoot > .PinturaNavMain button svg {
  401. pointer-events: none;
  402. }
  403. .PinturaRoot > .PinturaNavMain button svg + span {
  404. margin-top: 0.75em;
  405. }
  406. .PinturaRoot > .PinturaNavMain button span {
  407. font-size: 0.875em;
  408. display: block;
  409. width: calc(100% - 1em);
  410. overflow: hidden;
  411. text-overflow: ellipsis;
  412. width: inherit;
  413. max-width: calc(100% - 1em);
  414. }
  415. .PinturaRoot > .PinturaNavMain button {
  416. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  417. transition: background-color 0.1s ease-out, color 0.1s ease-out,
  418. box-shadow 0.1s ease-out;
  419. }
  420. .PinturaRoot > .PinturaNavMain button:hover {
  421. box-shadow: inset 0 0 0 1px var(--color-foreground-10);
  422. }
  423. .PinturaRoot > .PinturaNavMain button[data-focus-visible] {
  424. background-color: var(--color-focus-50);
  425. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  426. }
  427. .PinturaRoot > .PinturaNavTools {
  428. max-width: 100%;
  429. box-sizing: border-box;
  430. pointer-events: none;
  431. }
  432. .PinturaRoot > .PinturaNavTools:empty {
  433. display: none;
  434. }
  435. .PinturaRoot > .PinturaNavTools,
  436. .PinturaRoot > .PinturaNavTools .PinturaNavGroup,
  437. .PinturaRoot > .PinturaNavTools .PinturaNavSet {
  438. display: flex;
  439. align-items: center;
  440. justify-content: center;
  441. }
  442. .PinturaRoot > .PinturaNavTools .PinturaButton,
  443. .PinturaRoot > .PinturaNavTools .PinturaNavSet {
  444. pointer-events: all;
  445. }
  446. .PinturaRoot > .PinturaNavTools .PinturaButton[data-focus-visible] {
  447. background-color: var(--color-focus-50);
  448. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  449. }
  450. .PinturaRoot .PinturaNavGroup {
  451. margin: 0 var(--nav-group-margin);
  452. }
  453. .PinturaRoot .PinturaNavGroup > * {
  454. border-radius: var(--border-radius-round);
  455. }
  456. .PinturaRoot .PinturaNavGroup > * + * {
  457. margin-left: 0.5em;
  458. }
  459. .PinturaRoot .PinturaNavGroup:first-of-type {
  460. margin-right: auto;
  461. margin-left: 0;
  462. }
  463. .PinturaRoot .PinturaNavGroup:last-of-type {
  464. margin-left: auto;
  465. margin-right: 0;
  466. }
  467. .PinturaRoot .PinturaNavSet {
  468. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  469. }
  470. .PinturaRoot .PinturaNavSet > :not(:only-child) {
  471. border: 1px solid var(--color-foreground-3);
  472. border-top: 0;
  473. border-bottom: 0;
  474. }
  475. .PinturaRoot .PinturaNavSet > :first-child:not(:only-child) {
  476. border-left: 0;
  477. }
  478. .PinturaRoot .PinturaNavSet > :last-child:not(:only-child) {
  479. border-right: 0;
  480. }
  481. .PinturaRoot .PinturaNavSet > * + * {
  482. margin-left: -1px;
  483. }
  484. .PinturaRoot .PinturaNavSet > .PinturaButton:hover,
  485. .PinturaRoot .PinturaNavSet > .PinturaButton[data-focus-visible] {
  486. position: relative;
  487. z-index: 1;
  488. }
  489. .PinturaRoot .PinturaNavSet > :only-child {
  490. border-radius: var(--border-radius-round);
  491. }
  492. .PinturaRoot
  493. .PinturaNavSet
  494. > :first-child:not(:only-child)
  495. .PinturaButtonInner {
  496. padding: 0 0.125em 0 0.25em;
  497. }
  498. .PinturaRoot .PinturaNavSet > :first-child:not(:only-child) {
  499. border-top-left-radius: var(--border-radius-round);
  500. border-bottom-left-radius: var(--border-radius-round);
  501. }
  502. .PinturaRoot .PinturaNavSet > :last-child:not(:only-child) .PinturaButtonInner {
  503. padding: 0 0.25em 0 0.125em;
  504. }
  505. .PinturaRoot .PinturaNavSet > :last-child:not(:only-child) {
  506. border-top-right-radius: var(--border-radius-round);
  507. border-bottom-right-radius: var(--border-radius-round);
  508. }
  509. .PinturaRoot[data-env~="overlay"] .PinturaNavSet {
  510. background-color: var(--color-background-50);
  511. -webkit-backdrop-filter: var(--backdrop-filter-bright);
  512. backdrop-filter: var(--backdrop-filter-bright);
  513. box-shadow: inset 0 0 0 1px var(--color-background-15),
  514. 0 0.0625em 0.125em rgba(0, 0, 0, 0.25), 0 0.125em 0.35em rgba(0, 0, 0, 0.35);
  515. }
  516. .PinturaRoot[data-env~="overlay"]
  517. .PinturaNavSet
  518. .PinturaButton:not(.PinturaButtonExport):not([disabled]):hover,
  519. .PinturaRoot[data-env~="overlay"] .PinturaNavSet > * {
  520. border-color: var(--color-background-15);
  521. }
  522. .PinturaRoot[data-env~="overlay"] .PinturaNavGroup > .PinturaButton {
  523. box-shadow: 0 0.0625em 0.125em rgba(0, 0, 0, 0.25),
  524. 0 0.125em 0.35em rgba(0, 0, 0, 0.35);
  525. }
  526. .PinturaRoot[data-env~="overlay"] .PinturaNavGroup .PinturaButtonExport {
  527. box-shadow: inset 0 0 0.125em rgba(0, 0, 0, 0.25),
  528. 0 0.0625em 0.125em rgba(0, 0, 0, 0.25), 0 0.125em 0.35em rgba(0, 0, 0, 0.35);
  529. }
  530. .PinturaRoot .PinturaNavGroupFloat {
  531. position: absolute;
  532. left: 0;
  533. right: 0;
  534. pointer-events: none;
  535. }
  536. .PinturaRoot .PinturaNavGroupFloat > * {
  537. pointer-events: all;
  538. }
  539. .PinturaRoot .PinturaUtilFooter .PinturaScrollable > div {
  540. padding-left: 1em;
  541. padding-right: 1em;
  542. }
  543. .PinturaRoot > .PinturaMain {
  544. max-width: 100vw;
  545. }
  546. .PinturaRoot:not([data-env~="has-toolbar"]) .PinturaUtilHeader {
  547. padding-top: 0;
  548. padding-bottom: 1em;
  549. margin-bottom: -1em;
  550. }
  551. .PinturaRoot[data-env~="landscape"] {
  552. grid-template-rows: -webkit-min-content auto;
  553. grid-template-rows: min-content auto;
  554. grid-template-columns: auto;
  555. }
  556. .PinturaRoot[data-env~="landscape"] > .PinturaNavTools {
  557. grid-row: 1;
  558. grid-column: 1;
  559. padding: 1em 1em 0;
  560. z-index: 3;
  561. }
  562. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain {
  563. align-items: center;
  564. justify-content: flex-end;
  565. position: absolute;
  566. left: 1em;
  567. top: calc(1em + var(--editor-calculated-inset-top));
  568. bottom: calc(1em + var(--editor-calculated-inset-bottom));
  569. }
  570. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain .PinturaTabList {
  571. flex-direction: column;
  572. }
  573. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain .PinturaTabList li {
  574. display: flex;
  575. }
  576. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain .PinturaTabList li + li {
  577. margin: 0.5em 0 0;
  578. }
  579. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain button {
  580. flex: 1;
  581. width: 4em;
  582. height: 4em;
  583. border-radius: var(--border-radius);
  584. justify-content: center;
  585. }
  586. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain button span {
  587. font-size: 0.6875em;
  588. margin-top: 0.5em;
  589. }
  590. .PinturaRoot[data-env~="landscape"] > .PinturaNavMain button svg {
  591. width: 1em;
  592. margin-top: 0.25em;
  593. }
  594. .PinturaRoot[data-env~="landscape"][data-env~="has-toolbar"] > .PinturaNavMain {
  595. top: calc(4em + var(--editor-calculated-inset-top));
  596. bottom: calc(4em + var(--editor-calculated-inset-bottom));
  597. }
  598. .PinturaRoot[data-env~="landscape"][data-env~="has-limited-space"]
  599. > .PinturaNavMain {
  600. align-items: flex-start;
  601. bottom: calc(1em + var(--editor-calculated-inset-bottom));
  602. }
  603. .PinturaRoot[data-env~="landscape"] > .PinturaMain {
  604. grid-row: 2;
  605. grid-column: 1;
  606. }
  607. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"] {
  608. grid-template-columns: 6em auto;
  609. }
  610. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"]
  611. .PinturaNavGroupFloat {
  612. margin: 0 0 0 6em;
  613. }
  614. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"]
  615. > .PinturaNavTools {
  616. grid-column: 1 / span 2;
  617. }
  618. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"] > .PinturaMain {
  619. grid-column: 2;
  620. }
  621. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"] {
  622. grid-template-columns: auto 6em;
  623. }
  624. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"]
  625. .PinturaNavGroupFloat {
  626. margin: 0 6em 0 0;
  627. }
  628. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"]
  629. > .PinturaNavMain {
  630. right: 1em;
  631. left: auto;
  632. }
  633. .PinturaRoot[data-env~="landscape"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"]
  634. > .PinturaMain {
  635. grid-column: 1;
  636. }
  637. .PinturaRoot[data-env~="portrait"] {
  638. grid-template-rows: -webkit-min-content auto -webkit-min-content;
  639. grid-template-rows: min-content auto min-content;
  640. grid-template-columns: auto;
  641. }
  642. .PinturaRoot[data-env~="portrait"] > * {
  643. grid-column: 1;
  644. }
  645. .PinturaRoot[data-env~="portrait"] > .PinturaNavTools {
  646. grid-row: 1;
  647. padding: 0.75em 0.75em 0;
  648. }
  649. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain {
  650. grid-row: 3;
  651. margin-bottom: 0.75em;
  652. justify-content: center;
  653. }
  654. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain .PinturaTabList {
  655. padding: 0 0.875em;
  656. }
  657. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain li + li {
  658. margin-left: 0.5em;
  659. }
  660. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain[data-state~="overflows"] {
  661. overflow: visible;
  662. }
  663. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain button {
  664. flex: 1;
  665. width: 4em;
  666. height: 4em;
  667. border-radius: var(--border-radius);
  668. justify-content: center;
  669. }
  670. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain button span {
  671. font-size: 0.6875em;
  672. margin-top: 0.5em;
  673. }
  674. .PinturaRoot[data-env~="portrait"] > .PinturaNavMain button svg {
  675. width: 1em;
  676. margin-top: 0.25em;
  677. }
  678. .PinturaRoot[data-env~="portrait"] > .PinturaMain {
  679. grid-row: 2;
  680. grid-column: 1;
  681. }
  682. .PinturaRoot[data-env~="portrait"]:not([data-env~="narrow"])[data-env~="has-navigation-preference-top"] {
  683. grid-template-rows: -webkit-min-content -webkit-min-content auto;
  684. grid-template-rows: min-content min-content auto;
  685. }
  686. .PinturaRoot[data-env~="portrait"]:not([data-env~="narrow"])[data-env~="has-navigation-preference-top"]
  687. > .PinturaMain {
  688. grid-row: 3;
  689. }
  690. .PinturaRoot[data-env~="portrait"]:not([data-env~="narrow"])[data-env~="has-navigation-preference-top"]
  691. > .PinturaNavMain {
  692. grid-row: 2;
  693. margin-top: 0.75em;
  694. margin-bottom: 0;
  695. }
  696. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"]
  697. > .PinturaNavMain
  698. button {
  699. flex: 1;
  700. flex-direction: row;
  701. width: auto;
  702. height: auto;
  703. border-radius: var(--border-radius);
  704. justify-content: flex-start;
  705. align-items: center;
  706. padding: 0.625em 0;
  707. width: 6em;
  708. }
  709. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"]
  710. > .PinturaNavMain
  711. button
  712. span {
  713. font-size: 0.6875em;
  714. margin: 0 0.625em 0 0;
  715. line-height: 1.2;
  716. text-align: left;
  717. }
  718. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"]
  719. > .PinturaNavMain
  720. button
  721. svg {
  722. margin: 0 0.5em 0 0.625em;
  723. min-width: 1em;
  724. }
  725. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"][data-env~="has-navigation"] {
  726. grid-template-columns: 8em auto;
  727. }
  728. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"][data-env~="has-navigation"]
  729. .PinturaNavGroupFloat {
  730. margin: 0 0 0 8em;
  731. }
  732. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"] {
  733. grid-template-columns: auto 8em;
  734. }
  735. .PinturaRoot[data-env~="landscape"][data-env~="is-compact"][data-env~="has-navigation"][data-env~="has-navigation-preference-right"]
  736. .PinturaNavGroupFloat {
  737. margin: 0 8em 0 0;
  738. }
  739. .PinturaRoot[data-env~="portrait"][data-env~="is-compact"]
  740. > .PinturaNavMain
  741. button {
  742. padding: 0;
  743. font-size: 0.625em;
  744. width: 4em;
  745. height: 4em;
  746. justify-content: center;
  747. border-radius: 9999em;
  748. }
  749. .PinturaRoot[data-env~="portrait"][data-env~="is-compact"]
  750. > .PinturaNavMain
  751. button
  752. span {
  753. visibility: hidden;
  754. font-size: 0;
  755. margin: 0;
  756. }
  757. .PinturaRoot[data-env~="portrait"][data-env~="is-compact"]
  758. > .PinturaNavMain
  759. button
  760. svg {
  761. margin-top: 0;
  762. width: 1.6em;
  763. }
  764. .PinturaRoot[data-env~="portrait"][data-env~="is-compact"]
  765. > .PinturaNavMain
  766. button
  767. svg
  768. [stroke-width] {
  769. stroke-width: 0.15em;
  770. }
  771. .PinturaRoot[data-env~="portrait"][data-env~="narrow"] {
  772. --nav-group-margin: 0.25em;
  773. grid-template-rows: -webkit-min-content auto -webkit-min-content;
  774. grid-template-rows: min-content auto min-content;
  775. grid-template-columns: auto;
  776. }
  777. .PinturaRoot[data-env~="portrait"][data-env~="narrow"] > * {
  778. grid-column: 1;
  779. }
  780. .PinturaRoot[data-env~="portrait"][data-env~="narrow"]
  781. .PinturaUtilFooter
  782. .PinturaControlList
  783. .PinturaControlListOption
  784. span,
  785. .PinturaRoot[data-env~="portrait"][data-env~="narrow"]
  786. .PinturaUtilFooter
  787. .PinturaControlList
  788. [role="tab"]
  789. span {
  790. font-size: 0.6875em;
  791. }
  792. .PinturaRoot[data-env~="portrait"][data-env~="narrow"]
  793. .PinturaToolbar
  794. .PinturaToolbarInner
  795. > * {
  796. margin: 0 0.25em;
  797. }
  798. .PinturaRoot[data-env~="portrait"][data-env~="narrow"][data-env~="short"]
  799. .PinturaNavGroupFloat {
  800. position: static;
  801. }
  802. .PinturaRoot[data-env~="overlay"] {
  803. grid-template-rows: auto !important;
  804. grid-template-columns: auto !important;
  805. }
  806. .PinturaRoot[data-env~="overlay"] .PinturaNav {
  807. z-index: 3;
  808. }
  809. .PinturaRoot[data-env~="overlay"] .PinturaMain {
  810. grid-row: 1;
  811. grid-column: 1;
  812. }
  813. .PinturaRoot[data-env~="overlay"] .PinturaUtilMain {
  814. position: absolute;
  815. left: 0;
  816. top: 0;
  817. right: 0;
  818. bottom: 0;
  819. padding: 0;
  820. z-index: -1;
  821. }
  822. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter,
  823. .PinturaRoot[data-env~="overlay"] .PinturaUtilHeader {
  824. position: absolute;
  825. left: 0;
  826. right: 0;
  827. }
  828. .PinturaRoot[data-env~="overlay"] .PinturaUtilHeader {
  829. top: 0;
  830. }
  831. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter {
  832. bottom: 0;
  833. }
  834. .PinturaRoot[data-env~="overlay"] .PinturaNavMain {
  835. position: absolute;
  836. right: 0;
  837. top: 0;
  838. bottom: 0;
  839. background: none;
  840. }
  841. .PinturaRoot[data-env~="overlay"] .PinturaNavTools {
  842. position: absolute;
  843. left: 0;
  844. top: 0;
  845. right: 0;
  846. }
  847. .PinturaRoot[data-env~="has-swipe-navigation"] .PinturaUtilMain {
  848. padding-left: 2em;
  849. padding-right: 2em;
  850. }
  851. .PinturaRoot[data-env*="is-disabled"],
  852. .PinturaRoot[data-env*="is-disabled"] * {
  853. pointer-events: none !important;
  854. }
  855. .PinturaRoot[data-env*="is-disabled"] {
  856. --color-primary: #b4b4b4;
  857. --color-primary-dark: #a0a0a0;
  858. --color-primary-text: #000;
  859. --color-secondary: #969696;
  860. --color-secondary-dark: #646464;
  861. }
  862. .PinturaRoot[data-env*="is-disabled"] .PinturaCanvas,
  863. .PinturaRoot[data-env*="is-disabled"] .PinturaColorPickerButton {
  864. filter: grayscale(100%);
  865. }
  866. .PinturaRoot .PinturaEditorOverlay {
  867. position: absolute;
  868. top: 0;
  869. left: 0;
  870. right: 0;
  871. bottom: 0;
  872. z-index: 3;
  873. background: var(--color-background-50);
  874. pointer-events: none;
  875. }
  876. .PinturaColorPickerPanel {
  877. padding: 0.5em;
  878. max-width: 14em;
  879. overflow: visible;
  880. touch-action: none;
  881. }
  882. .PinturaColorPickerPanel .PinturaColorPickerButton {
  883. outline: transparent;
  884. }
  885. .PinturaColorPickerPanel .PinturaColorPickerButton[data-focus-visible] {
  886. box-shadow: inset 0 0 0 1px var(--color-foreground-70);
  887. }
  888. .PinturaColorPickerPanel .PinturaColorPreview {
  889. width: 1.25em;
  890. height: 1.25em;
  891. border-radius: 0.25em;
  892. }
  893. .PinturaColorPickerPanel .PinturaColorPreview span {
  894. border-radius: 0.2em;
  895. box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
  896. }
  897. .PinturaColorPickerPanel .PinturaColorPresets legend {
  898. color: #777;
  899. margin: 0 0 0.25em 0.3125em;
  900. font-size: 0.75em;
  901. }
  902. .PinturaColorPickerPanel .PinturaColorPresetsGrid .PinturaRadioGroupOptions {
  903. display: flex;
  904. flex-direction: row;
  905. flex-wrap: wrap;
  906. }
  907. .PinturaColorPickerPanel .PinturaColorPresetsGrid .PinturaDropdownOption {
  908. display: block;
  909. padding: 0.25em;
  910. }
  911. .PinturaColorPickerPanel .PinturaColorPresetsGrid .PinturaDropdownOption label,
  912. .PinturaColorPickerPanel
  913. .PinturaColorPresetsGrid
  914. .PinturaDropdownOption
  915. label
  916. span {
  917. display: block;
  918. cursor: var(--button-cursor);
  919. }
  920. .PinturaColorPickerPanel
  921. .PinturaColorPresetsGrid
  922. input[data-focus-visible]
  923. + label
  924. .PinturaColorPreview:after {
  925. position: absolute;
  926. left: -0.3125em;
  927. right: -0.3125em;
  928. top: -0.3125em;
  929. bottom: -0.3125em;
  930. border-radius: inherit;
  931. pointer-events: none;
  932. content: "";
  933. background-color: var(--color-focus-50);
  934. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  935. }
  936. .PinturaColorPickerPanel .PinturaSlider {
  937. margin-left: -0.325em;
  938. margin-right: -0.325em;
  939. }
  940. .PinturaColorPickerPanel .PinturaPicker {
  941. width: 100%;
  942. padding-bottom: 0.5em;
  943. }
  944. .PinturaColorPickerPanel .PinturaPicker .PinturaPickerKnob,
  945. .PinturaColorPickerPanel .PinturaPicker .PinturaSliderKnob {
  946. border-radius: 9999em;
  947. box-shadow: inset 0 0.06125em 0.06125em rgba(0, 0, 0, 0.1), 0 0 0 0.125em #fff,
  948. 0 0.1875em 0.25em rgba(0, 0, 0, 0.35), 0 -0.125em 0.25em rgba(0, 0, 0, 0.1);
  949. }
  950. .PinturaColorPickerPanel .PinturaPicker .PinturaPickerKnob {
  951. pointer-events: none;
  952. position: absolute;
  953. z-index: 1;
  954. left: 0;
  955. top: 0;
  956. margin-left: -0.625em;
  957. margin-top: -0.625em;
  958. width: 1.25em;
  959. height: 1.25em;
  960. visibility: visible;
  961. outline: none;
  962. }
  963. .PinturaColorPickerPanel
  964. .PinturaPicker
  965. .PinturaPickerKnob[data-focus-visible]:after {
  966. position: absolute;
  967. left: -0.3125em;
  968. right: -0.3125em;
  969. top: -0.3125em;
  970. bottom: -0.3125em;
  971. border-radius: inherit;
  972. pointer-events: none;
  973. content: "";
  974. background-color: var(--color-focus-50);
  975. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  976. }
  977. .PinturaColorPickerPanel .PinturaPicker .PinturaPickerKnobController {
  978. position: absolute;
  979. left: 0;
  980. top: 0;
  981. right: 0;
  982. bottom: 0;
  983. visibility: hidden;
  984. }
  985. .PinturaColorPickerPanel .PinturaPicker .PinturaSaturationPicker {
  986. position: relative;
  987. border-radius: var(--border-radius) var(--border-radius) 0 0;
  988. margin: -0.5em -0.5em 0.5em;
  989. height: 7em;
  990. background-image: linear-gradient(180deg, transparent, #000),
  991. linear-gradient(90deg, #fff, transparent);
  992. }
  993. .PinturaColorPickerPanel .PinturaPicker .PinturaHuePicker .PinturaSliderTrack {
  994. background-image: linear-gradient(
  995. 90deg,
  996. red,
  997. #ff0,
  998. #0f0,
  999. #0ff,
  1000. #00f,
  1001. #f0f,
  1002. red
  1003. );
  1004. }
  1005. .PinturaColorPickerPanel
  1006. .PinturaPicker
  1007. .PinturaOpacityPicker
  1008. .PinturaSliderTrack:before {
  1009. position: absolute;
  1010. content: "";
  1011. display: block;
  1012. left: 0;
  1013. top: 0;
  1014. width: 100%;
  1015. height: 100%;
  1016. z-index: -1;
  1017. border-radius: inherit;
  1018. background-color: #fff;
  1019. background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h4v4H0zm4 4h4v4H4z' fill='%23E5E5E5'/%3E%3C/svg%3E");
  1020. }
  1021. .PinturaColorPickerPanel .PinturaPicker .PinturaOpacityPicker {
  1022. margin-top: 0.5em;
  1023. }
  1024. .PinturaDropdownPanel {
  1025. overflow: hidden;
  1026. border-radius: inherit;
  1027. }
  1028. .PinturaDropdownPanel .PinturaDropdownOption {
  1029. transition: background-color 0.1s;
  1030. border-radius: inherit;
  1031. }
  1032. .PinturaDropdownPanel .PinturaDropdownOption label {
  1033. display: block;
  1034. margin: 0;
  1035. border-radius: inherit;
  1036. white-space: nowrap;
  1037. }
  1038. .PinturaDropdownPanel .PinturaDropdownOption svg {
  1039. margin-right: 0.25em;
  1040. margin-left: -0.5em;
  1041. min-width: 1.5em;
  1042. }
  1043. .PinturaDropdownPanel .PinturaDropdownOption [slot] {
  1044. display: flex;
  1045. align-items: center;
  1046. padding: 0.325em 0.75em;
  1047. }
  1048. .PinturaDropdownPanel .PinturaDropdownOptionLabel {
  1049. font-size: 0.75em;
  1050. line-height: 1.75;
  1051. padding: 0 0.325em;
  1052. margin-left: -0.325em;
  1053. }
  1054. .PinturaDropdownPanel .PinturaDropdownOptionGroup > span {
  1055. display: block;
  1056. padding: 0.75em 1em;
  1057. text-transform: uppercase;
  1058. font-size: 0.75em;
  1059. color: rgba(0, 0, 0, 0.75);
  1060. }
  1061. .PinturaDropdownPanel [data-disabled="true"] {
  1062. color: #999;
  1063. }
  1064. .PinturaDropdownPanel
  1065. [data-selected="false"]:not([data-disabled="true"]):hover {
  1066. background-color: rgba(0, 0, 0, 0.15);
  1067. }
  1068. .PinturaDropdownPanel [data-selected="true"] {
  1069. color: #fff;
  1070. background: #000;
  1071. }
  1072. .PinturaDropdownPanel [data-focus-visible] + label .PinturaDropdownOptionLabel {
  1073. background-color: var(--color-focus-50);
  1074. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1075. border-radius: 0.25em;
  1076. }
  1077. .PinturaDropdownOption label {
  1078. margin: 0;
  1079. }
  1080. .PinturaPanel[data-util="frame"] .PinturaShapeStyleEditor {
  1081. min-height: 3.375em;
  1082. }
  1083. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption {
  1084. margin: 1em 1em 0 0;
  1085. padding: 0.125em;
  1086. border: 1px dashed var(--color-foreground-15);
  1087. color: var(--color-foreground-70);
  1088. }
  1089. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption span {
  1090. color: var(--color-foreground-90);
  1091. }
  1092. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption label {
  1093. font-size: 0.75em;
  1094. }
  1095. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption img,
  1096. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption svg {
  1097. position: absolute;
  1098. left: 0;
  1099. top: 0;
  1100. width: 100%;
  1101. height: 100%;
  1102. -o-object-fit: contain;
  1103. object-fit: contain;
  1104. }
  1105. .PinturaPanel[data-util="frame"] [data-selected="true"] {
  1106. border-color: var(--color-primary);
  1107. color: var(--color-primary);
  1108. }
  1109. .PinturaPanel[data-util="frame"] [data-selected="true"] span {
  1110. color: var(--color-foreground-90);
  1111. }
  1112. .PinturaPanel[data-util="frame"]
  1113. [data-layout="row"]
  1114. > .PinturaRadioGroupOptions
  1115. > li {
  1116. margin: 0 0.5em;
  1117. }
  1118. .PinturaPanel[data-util="frame"]
  1119. [data-layout="row"]
  1120. > .PinturaRadioGroupOptions
  1121. > li:first-child {
  1122. margin-left: 0;
  1123. }
  1124. .PinturaPanel[data-util="frame"]
  1125. [data-layout="row"]
  1126. > .PinturaRadioGroupOptions
  1127. > li:last-child {
  1128. margin-right: 0;
  1129. }
  1130. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOptionGroupLabel {
  1131. width: 1px;
  1132. height: 1px;
  1133. position: absolute;
  1134. font-size: 0;
  1135. }
  1136. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOptionGroup {
  1137. display: flex;
  1138. flex-direction: column-reverse;
  1139. }
  1140. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption {
  1141. cursor: var(--button-cursor);
  1142. margin-bottom: 1em;
  1143. }
  1144. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption span {
  1145. display: block;
  1146. text-align: center;
  1147. padding: 0 1.5em;
  1148. font-size: 0.625em;
  1149. font-weight: 400;
  1150. }
  1151. .PinturaPanel[data-util="frame"]
  1152. [data-focus-visible]
  1153. + label
  1154. > .PinturaRadioGroupOption
  1155. span {
  1156. background-color: var(--color-focus-50);
  1157. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1158. border-radius: 0.25em;
  1159. }
  1160. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption {
  1161. position: relative;
  1162. width: 3em;
  1163. height: 4em;
  1164. }
  1165. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption div {
  1166. position: absolute;
  1167. outline-color: currentColor;
  1168. border-color: currentColor;
  1169. }
  1170. .PinturaPanel[data-util="frame"] .PinturaRadioGroupOption div[slot] {
  1171. overflow: hidden;
  1172. left: -1px;
  1173. top: -1px;
  1174. bottom: -1px;
  1175. right: -1px;
  1176. display: flex;
  1177. align-items: center;
  1178. justify-content: center;
  1179. }
  1180. .PinturaRoot[data-env~="is-compact"]
  1181. .PinturaPanel[data-util="frame"]
  1182. .PinturaUtilFooter
  1183. > div {
  1184. padding: 0;
  1185. }
  1186. .PinturaRoot[data-env~="is-compact"]
  1187. .PinturaPanel[data-util="frame"]
  1188. .PinturaRadioGroupOption {
  1189. width: 2.25em;
  1190. height: 3em;
  1191. }
  1192. .PinturaRoot[data-env~="is-compact"]
  1193. .PinturaPanel[data-util="frame"]
  1194. .PinturaRadioGroupOption
  1195. span {
  1196. font-size: 0.5em;
  1197. }
  1198. .PinturaPanel[data-util="crop"] .PinturaStage {
  1199. touch-action: none;
  1200. }
  1201. .PinturaPanel[data-util="crop"] .PinturaImageInfo {
  1202. position: absolute;
  1203. right: 1em;
  1204. bottom: 1em;
  1205. }
  1206. .PinturaPanel[data-util="crop"] .PinturaButtonCenter {
  1207. --size: 3em;
  1208. position: absolute;
  1209. left: 0;
  1210. top: 0;
  1211. width: var(--size);
  1212. height: var(--size);
  1213. z-index: 1;
  1214. line-height: 0;
  1215. margin-top: calc(var(--size) * (-0.5));
  1216. margin-left: calc(var(--size) * (-0.5));
  1217. overflow: hidden;
  1218. color: #000;
  1219. background: hsla(0, 0%, 100%, 0.8);
  1220. border-radius: 50%;
  1221. -webkit-backdrop-filter: var(--backdrop-filter-bright);
  1222. backdrop-filter: var(--backdrop-filter-bright);
  1223. outline: none;
  1224. }
  1225. .PinturaPanel[data-util="crop"] .PinturaButtonCenter[data-focus-visible] {
  1226. background-color: var(--color-focus-50);
  1227. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1228. }
  1229. .PinturaRoot[data-env~="short"]
  1230. .PinturaPanel[data-util="crop"]
  1231. .PinturaUtilFooter {
  1232. padding-bottom: 0.5em;
  1233. }
  1234. .PinturaPanel[data-util="filter"] .PinturaScrollable {
  1235. width: 100%;
  1236. max-width: 40em;
  1237. min-height: 5.5em;
  1238. }
  1239. .PinturaPanel[data-util="filter"]
  1240. [data-layout="row"]
  1241. > .PinturaRadioGroupOptions
  1242. > li {
  1243. margin: 0 0.5em;
  1244. }
  1245. .PinturaPanel[data-util="filter"]
  1246. [data-layout="row"]
  1247. > .PinturaRadioGroupOptions
  1248. > li:first-child {
  1249. margin-left: 0;
  1250. }
  1251. .PinturaPanel[data-util="filter"]
  1252. [data-layout="row"]
  1253. > .PinturaRadioGroupOptions
  1254. > li:last-child {
  1255. margin-right: 0;
  1256. }
  1257. .PinturaPanel[data-util="filter"] .PinturaRadioGroupOptionGroupLabel {
  1258. width: 1px;
  1259. height: 1px;
  1260. position: absolute;
  1261. font-size: 0;
  1262. pointer-events: none;
  1263. }
  1264. .PinturaPanel[data-util="filter"] .PinturaFilterPreview {
  1265. border-radius: 0;
  1266. transition: border-radius 1ms;
  1267. }
  1268. .PinturaPanel[data-util="filter"] .PinturaFilterOption {
  1269. border-radius: 0;
  1270. }
  1271. .PinturaPanel[data-util="filter"]
  1272. .PinturaRadioGroupOptions
  1273. .PinturaRadioGroupOption:first-of-type
  1274. .PinturaFilterPreview {
  1275. border-top-left-radius: var(--border-radius);
  1276. border-bottom-left-radius: var(--border-radius);
  1277. }
  1278. .PinturaPanel[data-util="filter"]
  1279. .PinturaRadioGroupOptions
  1280. .PinturaRadioGroupOption:first-of-type
  1281. .PinturaFilterOption {
  1282. border-bottom-left-radius: var(--border-radius);
  1283. }
  1284. .PinturaPanel[data-util="filter"]
  1285. .PinturaRadioGroupOptions
  1286. .PinturaRadioGroupOption:last-of-type
  1287. .PinturaFilterPreview {
  1288. border-top-right-radius: var(--border-radius);
  1289. border-bottom-right-radius: var(--border-radius);
  1290. }
  1291. .PinturaPanel[data-util="filter"]
  1292. .PinturaRadioGroupOptions
  1293. .PinturaRadioGroupOption:last-of-type
  1294. .PinturaFilterOption {
  1295. border-bottom-right-radius: var(--border-radius);
  1296. }
  1297. .PinturaPanel[data-util="filter"] .PinturaRadioGroupOptionGroup {
  1298. display: flex;
  1299. flex-direction: column-reverse;
  1300. }
  1301. .PinturaPanel[data-util="filter"] .PinturaFilterOption {
  1302. cursor: var(--button-cursor);
  1303. margin-bottom: 1em;
  1304. }
  1305. .PinturaPanel[data-util="filter"] .PinturaFilterOption span {
  1306. display: block;
  1307. text-align: center;
  1308. padding: 0 0.3125em;
  1309. line-height: 1.75;
  1310. max-width: 100%;
  1311. font-size: 0.625em;
  1312. font-weight: 400;
  1313. margin-left: 1px;
  1314. overflow: hidden;
  1315. text-overflow: ellipsis;
  1316. white-space: nowrap;
  1317. }
  1318. .PinturaPanel[data-util="filter"] .PinturaFilterPreview:before {
  1319. transition: background-color 0.1s, color 0.1s;
  1320. }
  1321. .PinturaPanel[data-util="filter"]
  1322. [data-selected="true"]
  1323. .PinturaFilterOption
  1324. .PinturaFilterPreview {
  1325. position: relative;
  1326. z-index: 1;
  1327. }
  1328. .PinturaPanel[data-util="filter"]
  1329. [data-selected="true"]
  1330. .PinturaFilterOption
  1331. .PinturaFilterPreview:before {
  1332. content: "";
  1333. position: absolute;
  1334. width: 100%;
  1335. height: 100%;
  1336. opacity: 0.35;
  1337. border-radius: inherit;
  1338. background-color: var(--color-primary);
  1339. }
  1340. .PinturaPanel[data-util="filter"]
  1341. [data-focus-visible]
  1342. + label
  1343. > .PinturaFilterOption
  1344. span {
  1345. background-color: var(--color-focus-50);
  1346. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1347. border-radius: 0.25em;
  1348. }
  1349. .PinturaPanel[data-util="filter"] .PinturaFilterOption,
  1350. .PinturaPanel[data-util="filter"] .PinturaFilterPreview {
  1351. width: 3.75em;
  1352. height: 4.5em;
  1353. }
  1354. .PinturaRoot[data-env~="is-compact"]
  1355. .PinturaPanel[data-util="filter"]
  1356. .PinturaUtilFooter
  1357. > div {
  1358. padding: 0;
  1359. }
  1360. .PinturaRoot[data-env~="is-compact"]
  1361. .PinturaPanel[data-util="filter"]
  1362. .PinturaFilterOption,
  1363. .PinturaRoot[data-env~="is-compact"]
  1364. .PinturaPanel[data-util="filter"]
  1365. .PinturaFilterPreview {
  1366. width: 2.875em;
  1367. height: 3.5em;
  1368. }
  1369. .PinturaRoot[data-env~="is-compact"]
  1370. .PinturaPanel[data-util="filter"]
  1371. .PinturaFilterOption
  1372. span {
  1373. font-size: 0.5em;
  1374. }
  1375. .PinturaRoot[data-env~="is-compact"]
  1376. .PinturaPanel[data-util="filter"]
  1377. .PinturaScrollable {
  1378. min-height: 4.5em;
  1379. }
  1380. .PinturaPanel[data-util="resize"] form {
  1381. display: flex;
  1382. justify-content: center;
  1383. padding: 0 1em;
  1384. }
  1385. .PinturaPanel[data-util="resize"] .PinturaFormInner {
  1386. position: relative;
  1387. display: flex;
  1388. justify-content: center;
  1389. align-items: center;
  1390. }
  1391. .PinturaPanel[data-util="resize"] .PinturaFormInner > button {
  1392. position: absolute;
  1393. left: 100%;
  1394. margin-left: 1em;
  1395. }
  1396. .PinturaPanel[data-util="resize"] .PinturaFieldsetInner {
  1397. display: inline-flex;
  1398. align-items: center;
  1399. justify-content: center;
  1400. }
  1401. .PinturaPanel[data-util="resize"] .PinturaResizeLabel {
  1402. font-size: 0.75em;
  1403. }
  1404. .PinturaPanel[data-util="resize"] .PinturaDropdownButton {
  1405. margin-left: 0.5em;
  1406. margin-right: 0.5em;
  1407. -webkit-backdrop-filter: var(--backdrop-filter-dark);
  1408. backdrop-filter: var(--backdrop-filter-dark);
  1409. background-color: var(--color-foreground-5);
  1410. border-radius: var(--border-radius-round);
  1411. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  1412. transition: background-color 0.1s;
  1413. }
  1414. .PinturaPanel[data-util="resize"] .PinturaDropdownButton:hover {
  1415. background-color: var(--color-foreground-10);
  1416. }
  1417. .PinturaPanel[data-util="resize"] .PinturaDropdownButton .PinturaButtonLabel {
  1418. display: block;
  1419. line-height: 2.65;
  1420. padding: 0 1em;
  1421. font-variant-numeric: tabular-nums;
  1422. font-size: 0.75em;
  1423. font-weight: 400;
  1424. }
  1425. .PinturaPanel[data-util="resize"]
  1426. .PinturaDropdownButton
  1427. .PinturaButtonLabel:after {
  1428. content: "▼";
  1429. font-size: 0.6875em;
  1430. margin-left: 0.75em;
  1431. position: relative;
  1432. top: -0.125em;
  1433. margin-right: -0.25em;
  1434. pointer-events: none;
  1435. }
  1436. .PinturaPanel[data-util="resize"] input[type="checkbox"] + label {
  1437. padding: 0 0.125em;
  1438. outline: transparent;
  1439. display: block;
  1440. cursor: pointer;
  1441. }
  1442. .PinturaPanel[data-util="resize"]
  1443. input[type="checkbox"][data-focus-visible]
  1444. + label {
  1445. background-color: var(--color-focus-50);
  1446. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1447. }
  1448. .PinturaInputDimension {
  1449. display: inline-flex;
  1450. align-items: center;
  1451. position: relative;
  1452. }
  1453. .PinturaInputDimension label {
  1454. position: absolute;
  1455. right: 0.625em;
  1456. font-size: 0.75em;
  1457. text-transform: uppercase;
  1458. pointer-events: none;
  1459. color: var(--color-foreground-20);
  1460. z-index: 1;
  1461. }
  1462. .PinturaInputDimension button,
  1463. .PinturaInputDimension input,
  1464. .PinturaInputDimension label {
  1465. font-size: 0.75em;
  1466. font-weight: 400;
  1467. }
  1468. .PinturaInputDimension button,
  1469. .PinturaInputDimension input {
  1470. -webkit-appearance: none;
  1471. appearance: none;
  1472. -moz-appearance: textfield;
  1473. box-sizing: border-box;
  1474. font-variant-numeric: tabular-nums;
  1475. padding: 0.625em 0 0.625em 0.625em;
  1476. width: 100%;
  1477. max-width: 7em;
  1478. outline: transparent;
  1479. border-radius: var(--border-radius);
  1480. box-shadow: none;
  1481. border: 1px solid var(--color-foreground-20);
  1482. transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out,
  1483. border-color 0.1s ease-in-out;
  1484. }
  1485. .PinturaInputDimension button::-moz-selection,
  1486. .PinturaInputDimension input::-moz-selection {
  1487. background-color: var(--color-foreground-20);
  1488. }
  1489. .PinturaInputDimension button::selection,
  1490. .PinturaInputDimension input::selection {
  1491. background-color: var(--color-foreground-20);
  1492. }
  1493. .PinturaInputDimension button:hover,
  1494. .PinturaInputDimension input:hover {
  1495. border-color: var(--color-foreground-30);
  1496. }
  1497. .PinturaInputDimension button:focus,
  1498. .PinturaInputDimension input:focus {
  1499. border-color: var(--color-focus-100);
  1500. }
  1501. .PinturaInputDimension input {
  1502. -webkit-backdrop-filter: var(--backdrop-filter-dark);
  1503. backdrop-filter: var(--backdrop-filter-dark);
  1504. background-color: var(--color-foreground-5);
  1505. }
  1506. .PinturaInputDimension input:-moz-placeholder-shown {
  1507. border-style: dashed;
  1508. }
  1509. .PinturaInputDimension input:-ms-input-placeholder {
  1510. border-style: dashed;
  1511. }
  1512. .PinturaInputDimension input:placeholder-shown {
  1513. border-style: dashed;
  1514. }
  1515. .PinturaInputDimension input::-moz-placeholder {
  1516. color: var(--color-foreground-30);
  1517. }
  1518. .PinturaInputDimension input:-ms-input-placeholder {
  1519. color: var(--color-foreground-30);
  1520. }
  1521. .PinturaInputDimension input::placeholder {
  1522. color: var(--color-foreground-30);
  1523. }
  1524. .PinturaInputDimension input[data-state="invalid"] {
  1525. border-color: var(--color-error-75);
  1526. box-shadow: inset 0 0 0.25em var(--color-error-25),
  1527. 0 0 0.25em var(--color-error-50);
  1528. }
  1529. .PinturaInputDimension button {
  1530. width: 10em;
  1531. min-height: 2.65em;
  1532. }
  1533. .PinturaInputDimension input::-webkit-inner-spin-button,
  1534. .PinturaInputDimension input::-webkit-outer-spin-button {
  1535. -webkit-appearance: none;
  1536. }
  1537. .PinturaInputDimension input::-ms-clear {
  1538. display: none;
  1539. }
  1540. .PinturaModal {
  1541. --safe-area-inset-top: env(safe-area-inset-top);
  1542. --safe-area-inset-bottom: env(safe-area-inset-bottom);
  1543. --editor-modal-border-radius: 0;
  1544. --editor-modal-overlay-opacity: 0.95;
  1545. --editor-modal-shadow: 0 1em 2em -1em rgba(0, 0, 0, 0.25),
  1546. 0 1.5em 1.5em -2em rgba(0, 0, 0, 0.5);
  1547. --editor-modal-outline: inset 0 0 0 1px var(--color-foreground-3);
  1548. position: fixed;
  1549. left: 0;
  1550. top: 0;
  1551. width: 100%;
  1552. height: 100vh;
  1553. z-index: 2147483646;
  1554. display: flex;
  1555. justify-content: center;
  1556. align-items: center;
  1557. background-color: rgba(
  1558. var(--color-background),
  1559. var(
  1560. --editor-modal-overlay-opacity,
  1561. var(--editor-modal-overlay-opacity-default, 0.95)
  1562. )
  1563. );
  1564. }
  1565. .PinturaModal > .PinturaRoot[data-env~="is-centered"] {
  1566. box-shadow: var(--editor-modal-shadow);
  1567. border-radius: var(--editor-modal-border-radius);
  1568. }
  1569. .PinturaModal > .PinturaRoot[data-env~="is-centered"]:after {
  1570. position: absolute;
  1571. left: 0;
  1572. top: 0;
  1573. bottom: 0;
  1574. right: 0;
  1575. pointer-events: none;
  1576. border-radius: inherit;
  1577. content: "";
  1578. box-shadow: var(--editor-modal-outline);
  1579. z-index: 2147483646;
  1580. }
  1581. .PinturaModal[style*="--viewport-pad-footer:1"] {
  1582. box-sizing: border-box;
  1583. padding-bottom: env(safe-area-inset-bottom);
  1584. }
  1585. .PinturaModal + .PinturaModal {
  1586. --editor-modal-overlay-opacity-default: 0.75;
  1587. }
  1588. .PinturaModal + .PinturaModal .PinturaRoot:not([data-env~="is-compact"]) {
  1589. --editor-max-width-default: calc(100vw - 8em);
  1590. --editor-max-height-default: calc(100vh - 8em);
  1591. }
  1592. .PinturaDocumentLock,
  1593. .PinturaDocumentLock body {
  1594. height: var(--pintura-document-height);
  1595. overflow-y: hidden;
  1596. box-sizing: border-box;
  1597. }
  1598. .PinturaDocumentLock .PinturaModal {
  1599. height: 100% !important;
  1600. }
  1601. .PinturaCanvas canvas {
  1602. position: absolute;
  1603. width: 100%;
  1604. height: 100%;
  1605. }
  1606. .PinturaDetailsPanel {
  1607. position: absolute;
  1608. top: 0;
  1609. left: 0;
  1610. z-index: 2147483647;
  1611. width: -webkit-max-content;
  1612. width: -moz-max-content;
  1613. width: max-content;
  1614. cursor: auto;
  1615. outline: transparent;
  1616. box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.25),
  1617. 0 0.125em 0.75em rgba(0, 0, 0, 0.15), 0 0.125em 0.125em rgba(0, 0, 0, 0.1);
  1618. border-radius: var(--border-radius);
  1619. color: #111;
  1620. background: #fff;
  1621. }
  1622. .PinturaDetailsPanelTip {
  1623. position: absolute;
  1624. width: 0.5em;
  1625. height: 0.5em;
  1626. margin-left: -0.25em;
  1627. margin-top: -0.25em;
  1628. background: #fff;
  1629. z-index: -1;
  1630. }
  1631. .PinturaTabPanels {
  1632. position: relative;
  1633. flex: 1;
  1634. }
  1635. .PinturaTabPanel {
  1636. position: absolute;
  1637. left: 0;
  1638. top: 0;
  1639. width: 100%;
  1640. height: 100%;
  1641. }
  1642. .PinturaTabPanel:not([hidden]) {
  1643. z-index: 2;
  1644. outline: transparent;
  1645. }
  1646. .PinturaTabPanel[hidden] {
  1647. display: block !important;
  1648. z-index: 1;
  1649. pointer-events: none;
  1650. }
  1651. .PinturaTabPanel[data-inert="true"] {
  1652. visibility: hidden;
  1653. }
  1654. .PinturaTabPanel[data-inert="true"] [data-inert] {
  1655. visibility: hidden !important;
  1656. }
  1657. .PinturaTabList {
  1658. display: flex;
  1659. justify-content: center;
  1660. }
  1661. .PinturaTabList button {
  1662. display: flex;
  1663. align-items: center;
  1664. flex-direction: column;
  1665. outline: transparent;
  1666. cursor: var(--button-cursor);
  1667. -webkit-tap-highlight-color: transparent;
  1668. }
  1669. .PinturaTabList button > * {
  1670. transition: filter 0.2s ease-out;
  1671. }
  1672. .PinturaTabList button[disabled] > * {
  1673. filter: var(--filter-disabled);
  1674. }
  1675. .PinturaScrollable {
  1676. --scrollable-feather-start-opacity: 0;
  1677. --scrollable-feather-end-opacity: 0;
  1678. --scrollable-feather-size: 2em;
  1679. contain: paint;
  1680. overflow: hidden;
  1681. }
  1682. .PinturaScrollable:focus {
  1683. outline: transparent;
  1684. }
  1685. .PinturaScrollable > div {
  1686. position: relative;
  1687. display: inline-flex;
  1688. vertical-align: top;
  1689. }
  1690. .PinturaScrollable {
  1691. touch-action: none;
  1692. }
  1693. .PinturaScrollable[data-direction="x"] {
  1694. max-width: 100%;
  1695. --mask-angle: 90deg;
  1696. }
  1697. .PinturaScrollable[data-direction="y"] {
  1698. max-height: 100%;
  1699. --mask-angle: 180deg;
  1700. }
  1701. .PinturaScrollable[data-state~="overflows"] {
  1702. -webkit-mask: linear-gradient(
  1703. var(--mask-angle),
  1704. rgba(0, 0, 0, var(--scrollable-feather-start-opacity)),
  1705. #000 var(--scrollable-feather-size),
  1706. #000 calc(100% - var(--scrollable-feather-size)),
  1707. rgba(0, 0, 0, var(--scrollable-feather-end-opacity))
  1708. );
  1709. mask: linear-gradient(
  1710. var(--mask-angle),
  1711. rgba(0, 0, 0, var(--scrollable-feather-start-opacity)),
  1712. #000 var(--scrollable-feather-size),
  1713. #000 calc(100% - var(--scrollable-feather-size)),
  1714. rgba(0, 0, 0, var(--scrollable-feather-end-opacity))
  1715. );
  1716. }
  1717. .PinturaScrollable[data-state~="scrolling"] > div * {
  1718. pointer-events: none;
  1719. }
  1720. .PinturaButton {
  1721. white-space: nowrap;
  1722. flex-shrink: 0;
  1723. -webkit-tap-highlight-color: transparent;
  1724. cursor: var(--button-cursor);
  1725. }
  1726. .PinturaButton > span {
  1727. display: inline-flex;
  1728. align-items: center;
  1729. vertical-align: top;
  1730. min-height: 1em;
  1731. }
  1732. .PinturaButton svg + .PinturaButtonLabel {
  1733. margin-left: 0.5em;
  1734. }
  1735. .PinturaButton[disabled] {
  1736. cursor: default;
  1737. }
  1738. .PinturaButton:not(.PinturaButtonIconOnly) svg:first-of-type {
  1739. margin-left: -0.25em;
  1740. }
  1741. .PinturaPanel {
  1742. position: relative;
  1743. z-index: 1;
  1744. height: 100%;
  1745. display: flex;
  1746. flex: 1;
  1747. flex-direction: column;
  1748. contain: layout size;
  1749. }
  1750. .PinturaProgressIndicator {
  1751. position: relative;
  1752. display: block;
  1753. width: 1.25em;
  1754. height: 1.25em;
  1755. }
  1756. .PinturaProgressIndicator .PinturaProgressIndicatorFill {
  1757. stroke-dashoffset: 0;
  1758. }
  1759. .PinturaProgressIndicator[data-status="busy"] svg {
  1760. -webkit-animation: image_editor_spin 1s linear infinite;
  1761. animation: image_editor_spin 1s linear infinite;
  1762. }
  1763. .PinturaProgressIndicator[data-status="busy"] .PinturaProgressIndicatorFill {
  1764. stroke-dashoffset: -26.5;
  1765. stroke-dasharray: 26.5 53;
  1766. transition: stroke-dashoffset 0.5s linear, stroke-dasharray 0.5s linear;
  1767. }
  1768. @-webkit-keyframes image_editor_spin {
  1769. 0% {
  1770. transform: rotate(0deg);
  1771. }
  1772. to {
  1773. transform: rotate(1turn);
  1774. }
  1775. }
  1776. @keyframes image_editor_spin {
  1777. 0% {
  1778. transform: rotate(0deg);
  1779. }
  1780. to {
  1781. transform: rotate(1turn);
  1782. }
  1783. }
  1784. @media only screen and (-webkit-min-device-pixel-ratio: 3) {
  1785. .PinturaRoot[data-env~="is-ios"] .PinturaProgressIndicator svg {
  1786. transform-origin: 49% 49%;
  1787. }
  1788. }
  1789. .PinturaColorPreview {
  1790. --color: transparent;
  1791. color: var(--color);
  1792. position: relative;
  1793. pointer-events: none;
  1794. background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='8' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h4v4H0zm4 4h4v4H4z' fill='%23E5E5E5'/%3E%3C/svg%3E");
  1795. }
  1796. .PinturaColorPreview span {
  1797. position: absolute;
  1798. left: 0;
  1799. top: 0;
  1800. right: 0;
  1801. bottom: 0;
  1802. background-color: var(--color);
  1803. border-radius: inherit;
  1804. }
  1805. .PinturaSlider {
  1806. position: relative;
  1807. --track-offset-x: 0.5em;
  1808. --track-offset-y: 0.5em;
  1809. --track-size: 1.5em;
  1810. --knob-size: 1em;
  1811. --knob-margin-top: 0em;
  1812. --knob-margin-right: 0em;
  1813. --knob-margin-bottom: 0em;
  1814. --knob-margin-left: 0em;
  1815. display: flex;
  1816. align-items: center;
  1817. touch-action: none;
  1818. }
  1819. .PinturaSlider[data-direction="y"] {
  1820. flex-direction: column;
  1821. }
  1822. .PinturaSlider .PinturaSliderControl {
  1823. position: relative;
  1824. flex: 1;
  1825. }
  1826. .PinturaSlider > button {
  1827. position: relative;
  1828. z-index: 1;
  1829. width: var(--track-size);
  1830. height: var(--track-size);
  1831. overflow: hidden;
  1832. cursor: pointer;
  1833. flex-shrink: none;
  1834. }
  1835. .PinturaSlider > button svg {
  1836. width: 1.25em;
  1837. height: 1.25em;
  1838. margin: 0.125em;
  1839. stroke-width: 0.125em;
  1840. stroke: #aaa;
  1841. }
  1842. .PinturaSlider > button:first-of-type {
  1843. order: 2;
  1844. padding-right: 0.125em;
  1845. margin-left: -0.325em;
  1846. }
  1847. .PinturaSlider > button:last-of-type {
  1848. order: 1;
  1849. padding-left: 0.125em;
  1850. margin-right: -0.325em;
  1851. }
  1852. .PinturaSlider > .PinturaSliderControl {
  1853. order: 2;
  1854. }
  1855. .PinturaSlider .PinturaSliderKnob {
  1856. left: 0;
  1857. top: 50%;
  1858. border-radius: 9999em;
  1859. visibility: visible;
  1860. background-color: #333;
  1861. width: var(--knob-size);
  1862. height: var(--knob-size);
  1863. margin-left: calc(var(--knob-size) * -0.5);
  1864. margin-top: calc(var(--knob-size) * -0.5);
  1865. }
  1866. .PinturaSlider .PinturaSliderKnob,
  1867. .PinturaSlider .PinturaSliderKnobController,
  1868. .PinturaSlider .PinturaSliderTrack {
  1869. pointer-events: none;
  1870. position: absolute;
  1871. }
  1872. .PinturaSlider .PinturaSliderTrack {
  1873. top: var(--track-offset-y);
  1874. bottom: var(--track-offset-y);
  1875. left: var(--track-offset-x);
  1876. right: var(--track-offset-x);
  1877. }
  1878. .PinturaSlider .PinturaSliderKnobController {
  1879. visibility: hidden;
  1880. top: calc(var(--track-offset-y) + var(--knob-margin-top));
  1881. bottom: calc(var(--track-offset-y) + var(--knob-margin-bottom));
  1882. left: calc(var(--track-offset-x) + var(--knob-margin-left));
  1883. right: calc(var(--track-offset-x) + var(--knob-margin-right));
  1884. }
  1885. .PinturaSlider .PinturaSliderTrack {
  1886. border-radius: 9999em;
  1887. }
  1888. .PinturaSlider[data-direction="x"] input[type="range"] {
  1889. height: var(--track-size);
  1890. margin-left: 0.5em;
  1891. width: calc(100% - 1em);
  1892. }
  1893. .PinturaSlider[data-direction="y"] input[type="range"] {
  1894. width: var(--track-size);
  1895. margin-top: 0.5em;
  1896. height: calc(100% - 1em);
  1897. }
  1898. .PinturaSlider input[type="range"] {
  1899. -webkit-appearance: none;
  1900. display: block;
  1901. }
  1902. .PinturaSlider input[type="range"]::-webkit-slider-runnable-track {
  1903. background: transparent;
  1904. }
  1905. .PinturaSlider input[type="range"]::-webkit-slider-thumb {
  1906. -webkit-appearance: none;
  1907. line-height: 0;
  1908. margin: 0;
  1909. padding: 0;
  1910. border: none;
  1911. }
  1912. .PinturaSlider input[type="range"]::-moz-range-thumb {
  1913. line-height: 0;
  1914. margin: 0;
  1915. padding: 0;
  1916. border: none;
  1917. }
  1918. .PinturaSlider input[type="range"]::-ms-thumb {
  1919. line-height: 0;
  1920. margin: 0;
  1921. padding: 0;
  1922. border: none;
  1923. }
  1924. .PinturaSlider input[type="range"]::-ms-ticks-before,
  1925. .PinturaSlider input[type="range"]::-ms-tooltip {
  1926. display: none;
  1927. }
  1928. .PinturaSlider input[type="range"]::-ms-ticks-after {
  1929. display: none;
  1930. }
  1931. .PinturaSlider input[type="range"]::-ms-track {
  1932. color: transparent;
  1933. border: none;
  1934. background: transparent;
  1935. }
  1936. .PinturaSlider input[type="range"]::-ms-fill-lower,
  1937. .PinturaSlider input[type="range"]::-ms-fill-upper {
  1938. background: transparent;
  1939. }
  1940. .PinturaSlider input[type="range"]:focus {
  1941. outline: transparent;
  1942. }
  1943. .PinturaSlider
  1944. input[type="range"][data-focus-visible]
  1945. ~ .PinturaSliderKnobController
  1946. .PinturaSliderKnob:after {
  1947. position: absolute;
  1948. left: -0.3125em;
  1949. right: -0.3125em;
  1950. top: -0.3125em;
  1951. bottom: -0.3125em;
  1952. border-radius: inherit;
  1953. content: "";
  1954. background-color: var(--color-focus-50);
  1955. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  1956. pointer-events: none;
  1957. }
  1958. .PinturaUtilMain {
  1959. padding: 1em;
  1960. min-height: 1px;
  1961. }
  1962. .PinturaUtilMain,
  1963. .PinturaUtilMain > [slot] {
  1964. flex: 1;
  1965. display: flex;
  1966. flex-direction: column;
  1967. }
  1968. .PinturaUtilMain > [slot] {
  1969. align-items: center;
  1970. }
  1971. .PinturaUtilFooter {
  1972. padding: 0 0 1em;
  1973. }
  1974. .PinturaUtilFooter > [slot]:empty {
  1975. height: 1em;
  1976. }
  1977. .PinturaUtilFooter > [slot] {
  1978. display: flex;
  1979. flex-direction: column;
  1980. align-items: center;
  1981. justify-content: stretch;
  1982. }
  1983. .PinturaUtilFooter .PinturaRangeInput {
  1984. margin-top: -0.25em;
  1985. }
  1986. .PinturaUtilFooter > [slot] > .PinturaControlList,
  1987. .PinturaUtilFooter > [slot] > .PinturaControlListScroller {
  1988. order: 1;
  1989. margin-bottom: -0.1875em;
  1990. }
  1991. .PinturaUtilFooter
  1992. .PinturaControlList
  1993. [role="tab"][aria-selected="true"]
  1994. button {
  1995. -webkit-backdrop-filter: var(--backdrop-filter-dark);
  1996. backdrop-filter: var(--backdrop-filter-dark);
  1997. background-color: var(--color-foreground-10);
  1998. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  1999. }
  2000. .PinturaUtilFooter .PinturaControlList .PinturaControlListOption label,
  2001. .PinturaUtilFooter .PinturaControlList [role="tab"] button {
  2002. flex-direction: row;
  2003. line-height: 1;
  2004. padding: 0 0.75em;
  2005. min-height: 1.75em;
  2006. border-radius: var(--border-radius-round);
  2007. transition: background-color 0.1s ease-out, color 0.1s ease-out,
  2008. filter 0.2s ease-out;
  2009. box-shadow: inset 0 0 0 1px var(--color-foreground-0);
  2010. cursor: var(--button-cursor);
  2011. }
  2012. .PinturaUtilFooter .PinturaControlList .PinturaControlListOption label span,
  2013. .PinturaUtilFooter .PinturaControlList [role="tab"] button span {
  2014. font-size: 0.75em;
  2015. font-weight: 400;
  2016. }
  2017. .PinturaUtilFooter .PinturaControlList .PinturaControlListOption label svg,
  2018. .PinturaUtilFooter .PinturaControlList [role="tab"] button svg {
  2019. width: 0.875em;
  2020. font-size: 0.875em;
  2021. }
  2022. .PinturaUtilFooter
  2023. .PinturaControlList
  2024. .PinturaControlListOption
  2025. label
  2026. svg:not(:only-child),
  2027. .PinturaUtilFooter
  2028. .PinturaControlList
  2029. [role="tab"]
  2030. button
  2031. svg:not(:only-child) {
  2032. margin-left: -0.25em;
  2033. margin-right: 0.375em;
  2034. }
  2035. .PinturaUtilFooter .PinturaControlList .PinturaControlListOption label:hover,
  2036. .PinturaUtilFooter .PinturaControlList [role="tab"] button:hover {
  2037. box-shadow: inset 0 0 0 1px var(--color-foreground-10);
  2038. }
  2039. .PinturaUtilFooter
  2040. .PinturaControlList
  2041. .PinturaControlListOption
  2042. label[data-focus-visible],
  2043. .PinturaUtilFooter .PinturaControlList [role="tab"] button[data-focus-visible] {
  2044. background-color: var(--color-focus-50);
  2045. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2046. }
  2047. .PinturaUtilFooter .PinturaControlListOption [slot],
  2048. .PinturaUtilFooter .PinturaControlListOption label {
  2049. display: flex;
  2050. flex-direction: row;
  2051. align-items: center;
  2052. }
  2053. .PinturaUtilFooter .PinturaControlListOption[data-selected="true"] label {
  2054. background-color: var(--color-foreground-10);
  2055. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2056. }
  2057. .PinturaUtilFooter .PinturaControlListOption input[data-focus-visible] + label {
  2058. background-color: var(--color-focus-50);
  2059. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2060. }
  2061. .PinturaUtilFooter .PinturaControlListOption input[disabled] + label {
  2062. filter: var(--filter-disabled);
  2063. }
  2064. .PinturaUtilFooter
  2065. .PinturaControlList
  2066. .PinturaControlListOption
  2067. + .PinturaControlListOption,
  2068. .PinturaUtilFooter .PinturaControlList > li + li {
  2069. margin-left: 0.5em;
  2070. }
  2071. .PinturaUtilFooter .PinturaControlPanels {
  2072. position: relative;
  2073. width: 100%;
  2074. max-width: 30em;
  2075. min-height: 3.375em;
  2076. margin: 0 auto;
  2077. flex: auto;
  2078. }
  2079. .PinturaUtilFooter .PinturaControlPanel {
  2080. position: absolute;
  2081. left: 0;
  2082. top: 0;
  2083. width: 100%;
  2084. height: 100%;
  2085. visibility: visible;
  2086. opacity: 1;
  2087. }
  2088. .PinturaUtilFooter .PinturaControlPanel[hidden] {
  2089. display: block !important;
  2090. visibility: hidden;
  2091. transition-delay: 0s;
  2092. pointer-events: none;
  2093. opacity: 0;
  2094. }
  2095. .PinturaUtilFooter .PinturaControlList[data-layout="compact"] > * + * {
  2096. margin-left: -1px;
  2097. }
  2098. .PinturaUtilFooter
  2099. .PinturaControlList[data-layout="compact"]
  2100. > [role="tab"]
  2101. button {
  2102. padding-left: 0.625em;
  2103. padding-right: 0.625em;
  2104. border-radius: 0;
  2105. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2106. }
  2107. .PinturaUtilFooter
  2108. .PinturaControlList[data-layout="compact"]
  2109. > [role="tab"]:only-child
  2110. button {
  2111. border-radius: var(--border-radius-round);
  2112. }
  2113. .PinturaUtilFooter
  2114. .PinturaControlList[data-layout="compact"]
  2115. > [role="tab"]:first-child:not(:only-child)
  2116. button {
  2117. padding-left: 0.75em;
  2118. border-top-left-radius: var(--border-radius-round);
  2119. border-bottom-left-radius: var(--border-radius-round);
  2120. }
  2121. .PinturaUtilFooter
  2122. .PinturaControlList[data-layout="compact"]
  2123. > [role="tab"]:last-child:not(:only-child)
  2124. button {
  2125. padding-right: 0.75em;
  2126. border-top-right-radius: var(--border-radius-round);
  2127. border-bottom-right-radius: var(--border-radius-round);
  2128. }
  2129. .PinturaRoot[data-env~="is-animated"] .PinturaUtilFooter .PinturaControlPanel {
  2130. transition: opacity 0.3s ease-in-out, visibility 0.3s linear;
  2131. transition-delay: 0.1s;
  2132. }
  2133. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter {
  2134. margin-bottom: 0.75em;
  2135. }
  2136. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter .PinturaControlPanels {
  2137. min-height: 1.375em;
  2138. max-width: 20em;
  2139. }
  2140. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter .PinturaControlList {
  2141. margin-top: 1em;
  2142. }
  2143. .PinturaRoot[data-env~="overlay"]
  2144. .PinturaUtilFooter
  2145. .PinturaControlList
  2146. > li
  2147. + li {
  2148. margin-left: 0;
  2149. }
  2150. .PinturaRoot[data-env~="overlay"]
  2151. .PinturaUtilFooter
  2152. .PinturaControlList
  2153. li[role="tab"]
  2154. span {
  2155. font-size: 0.75em;
  2156. }
  2157. .PinturaRoot[data-env~="overlay"]
  2158. .PinturaUtilFooter
  2159. .PinturaControlList
  2160. li[role="tab"]
  2161. button {
  2162. border-radius: 0;
  2163. background-color: var(--color-background-50);
  2164. -webkit-backdrop-filter: var(--backdrop-filter-bright);
  2165. backdrop-filter: var(--backdrop-filter-bright);
  2166. box-shadow: inset 0 0 0 1px var(--color-background-15),
  2167. 0 0.0625em 0.125em rgba(0, 0, 0, 0.25), 0 0.125em 0.35em rgba(0, 0, 0, 0.35);
  2168. }
  2169. .PinturaRoot[data-env~="overlay"]
  2170. .PinturaUtilFooter
  2171. .PinturaControlList
  2172. li[role="tab"]:first-child
  2173. button {
  2174. padding-left: 0.875em;
  2175. border-top-left-radius: var(--border-radius-round);
  2176. border-bottom-left-radius: var(--border-radius-round);
  2177. }
  2178. .PinturaRoot[data-env~="overlay"]
  2179. .PinturaUtilFooter
  2180. .PinturaControlList
  2181. li[role="tab"]:last-child
  2182. button {
  2183. padding-right: 0.875em;
  2184. border-top-right-radius: var(--border-radius-round);
  2185. border-bottom-right-radius: var(--border-radius-round);
  2186. }
  2187. .PinturaRoot[data-env~="overlay"]
  2188. .PinturaUtilFooter
  2189. .PinturaControlList
  2190. li:not([aria-selected="true"])
  2191. span {
  2192. color: var(--color-foreground-40);
  2193. }
  2194. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter .PinturaControlPanels {
  2195. background-color: var(--color-background-50);
  2196. -webkit-backdrop-filter: var(--backdrop-filter-bright);
  2197. backdrop-filter: var(--backdrop-filter-bright);
  2198. border-radius: var(--border-radius-round);
  2199. box-shadow: inset 0 0 0 1px var(--color-background-15),
  2200. 0 0.0625em 0.125em rgba(0, 0, 0, 0.25), 0 0.125em 0.35em rgba(0, 0, 0, 0.35);
  2201. }
  2202. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter .PinturaRangeInput {
  2203. height: 1.5em;
  2204. margin-top: 0;
  2205. }
  2206. .PinturaRoot[data-env~="overlay"] .PinturaUtilFooter .PinturaRangeInputReset {
  2207. opacity: 0;
  2208. }
  2209. .PinturaRangeInput {
  2210. position: relative;
  2211. display: flex;
  2212. flex-direction: column;
  2213. align-items: center;
  2214. width: 24em;
  2215. height: 3.5em;
  2216. margin: auto;
  2217. max-width: 90%;
  2218. touch-action: none;
  2219. --range-input-feather-left: 2em;
  2220. --range-input-feather-right: 2em;
  2221. --range-input-mask-from: 0%;
  2222. --range-input-mask-to: 100%;
  2223. --range-input-mask-color: rgba(0, 0, 0, 0.25);
  2224. --range-input-line-color: var(--color-foreground-15);
  2225. outline: transparent;
  2226. }
  2227. .PinturaRangeInput[data-focus-visible]:after {
  2228. background-color: var(--color-focus-50);
  2229. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2230. content: "";
  2231. position: absolute;
  2232. left: 0;
  2233. right: 0;
  2234. top: calc(50% - 1em);
  2235. height: 2em;
  2236. border-radius: 0.25em;
  2237. }
  2238. .PinturaRangeInputInner {
  2239. position: relative;
  2240. overflow: hidden;
  2241. height: 100%;
  2242. width: 100%;
  2243. contain: strict;
  2244. -webkit-mask: linear-gradient(
  2245. 90deg,
  2246. transparent 0,
  2247. #000 var(--range-input-feather-left),
  2248. #000 calc(50% - 3em),
  2249. transparent 50%,
  2250. #000 calc(50% + 3em),
  2251. #000 calc(100% - var(--range-input-feather-right)),
  2252. transparent
  2253. );
  2254. mask: linear-gradient(
  2255. 90deg,
  2256. transparent 0,
  2257. #000 var(--range-input-feather-left),
  2258. #000 calc(50% - 3em),
  2259. transparent 50%,
  2260. #000 calc(50% + 3em),
  2261. #000 calc(100% - var(--range-input-feather-right)),
  2262. transparent
  2263. );
  2264. }
  2265. .PinturaRangeInputMeter {
  2266. height: 100%;
  2267. }
  2268. .PinturaRangeInput .PinturaRangeInputMeter svg {
  2269. display: block;
  2270. pointer-events: none;
  2271. fill: currentColor;
  2272. }
  2273. .PinturaRangeInput > .PinturaRangeInputValue {
  2274. position: absolute;
  2275. z-index: 1;
  2276. pointer-events: none;
  2277. top: calc(50% - 0.6875em);
  2278. left: calc(50% - 1.75em);
  2279. width: 3.5em;
  2280. height: 1.5em;
  2281. overflow: hidden;
  2282. contain: strict;
  2283. text-align: center;
  2284. font-size: 0.75em;
  2285. font-variant-numeric: tabular-nums;
  2286. font-feature-settings: "tnum";
  2287. font-family: Tahoma, Geneva, Verdana, sans-serif;
  2288. }
  2289. .PinturaRangeInput > .PinturaRangeInputReset {
  2290. position: absolute;
  2291. left: calc(50% - 1.0625em);
  2292. top: 0;
  2293. margin-top: 0.125em;
  2294. padding: 0;
  2295. z-index: 1;
  2296. width: 2em;
  2297. overflow: hidden;
  2298. color: transparent !important;
  2299. transition: opacity 0.25s;
  2300. opacity: 0.35;
  2301. outline: transparent;
  2302. cursor: var(--button-cursor);
  2303. }
  2304. .PinturaRangeInput > .PinturaRangeInputReset:hover {
  2305. opacity: 0.5;
  2306. }
  2307. .PinturaRangeInput > .PinturaRangeInputReset[data-focus-visible] {
  2308. opacity: 1;
  2309. }
  2310. .PinturaRangeInput > .PinturaRangeInputReset[data-focus-visible]:before {
  2311. content: "";
  2312. pointer-events: none;
  2313. position: absolute;
  2314. left: calc(50% - 0.5em);
  2315. top: calc(50% - 0.5em);
  2316. height: 1em;
  2317. width: 1em;
  2318. z-index: 2;
  2319. border-radius: 0.25em;
  2320. background-color: var(--color-focus-50);
  2321. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2322. }
  2323. .PinturaRangeInput > .PinturaRangeInputReset[disabled] {
  2324. opacity: 0.15;
  2325. }
  2326. .PinturaRangeInput > .PinturaRangeInputReset:after {
  2327. content: "";
  2328. position: absolute;
  2329. left: 50%;
  2330. top: 20%;
  2331. width: 1px;
  2332. height: 60%;
  2333. background: var(--color-foreground-100);
  2334. }
  2335. .PinturaRangeInputInner[data-value-limited] svg {
  2336. -webkit-mask: linear-gradient(
  2337. 90deg,
  2338. var(--range-input-mask-color) var(--range-mask-from),
  2339. #000 var(--range-mask-from),
  2340. #000 var(--range-mask-to),
  2341. var(--range-input-mask-color) var(--range-mask-to)
  2342. );
  2343. mask: linear-gradient(
  2344. 90deg,
  2345. var(--range-input-mask-color) var(--range-mask-from),
  2346. #000 var(--range-mask-from),
  2347. #000 var(--range-mask-to),
  2348. var(--range-input-mask-color) var(--range-mask-to)
  2349. );
  2350. }
  2351. .PinturaRangeInputInner[data-value-limited] svg rect {
  2352. x: var(--range-mask-from);
  2353. width: calc(var(--range-mask-to) - var(--range-mask-from));
  2354. fill: var(--range-input-line-color);
  2355. }
  2356. .PinturaImageInfo {
  2357. pointer-events: none;
  2358. }
  2359. .PinturaImageInfo p {
  2360. width: 8em;
  2361. height: 1.25em;
  2362. contain: strict;
  2363. overflow: hidden;
  2364. font-variant-numeric: tabular-nums;
  2365. font-feature-settings: "tnum";
  2366. font-family: Tahoma, Geneva, Verdana, sans-serif;
  2367. text-align: right;
  2368. line-height: 1;
  2369. font-size: 0.75em;
  2370. }
  2371. .PinturaShapeStyleEditor {
  2372. position: relative;
  2373. width: 100%;
  2374. min-height: 2.75em;
  2375. }
  2376. .PinturaShapeStyles {
  2377. position: absolute;
  2378. left: 0;
  2379. right: 0;
  2380. top: 0;
  2381. }
  2382. .PinturaShapeStyles:not([data-state~="overflows"]) {
  2383. display: flex;
  2384. justify-content: center;
  2385. }
  2386. .PinturaShapeStyleList {
  2387. display: flex;
  2388. }
  2389. .PinturaShapeStyleList .PinturaButton,
  2390. .PinturaShapeStyleList .PinturaInput {
  2391. outline: transparent;
  2392. }
  2393. .PinturaShapeStyleList .PinturaInput {
  2394. padding: 0 0 0 0.625em;
  2395. font-size: 0.75em;
  2396. line-height: 2.25;
  2397. }
  2398. .PinturaShapeStyleList .PinturaShapeStyleLabel {
  2399. line-height: 1.75;
  2400. font-size: 0.625em;
  2401. font-weight: 300;
  2402. padding: 0 0.75em;
  2403. text-transform: lowercase;
  2404. pointer-events: none;
  2405. text-align: center;
  2406. color: var(--color-foreground-50);
  2407. white-space: nowrap;
  2408. }
  2409. .PinturaShapeStyleList > .PinturaShapeStyle {
  2410. border-radius: var(--border-radius-round);
  2411. }
  2412. .PinturaShapeStyleList > .PinturaShapeStyle + .PinturaShapeStyle {
  2413. margin-left: 1em;
  2414. }
  2415. .PinturaShapeStyle {
  2416. display: flex;
  2417. flex-direction: column;
  2418. align-items: stretch;
  2419. }
  2420. .PinturaShapeStyle .PinturaDetailsButton {
  2421. border-radius: inherit;
  2422. }
  2423. .PinturaShapeStyle > .PinturaButton:hover,
  2424. .PinturaShapeStyle > .PinturaButton[data-focus-visible] {
  2425. position: relative;
  2426. z-index: 1;
  2427. }
  2428. .PinturaShapeStyle > .PinturaColorPickerButton .PinturaButtonLabel {
  2429. display: block;
  2430. border-radius: inherit;
  2431. }
  2432. .PinturaShapeStyle > .PinturaColorPickerButton {
  2433. display: flex;
  2434. justify-content: center;
  2435. }
  2436. .PinturaShapeStyle .PinturaColorPreview {
  2437. border-radius: inherit;
  2438. width: 1.5em;
  2439. height: 1.5em;
  2440. background-color: #fff;
  2441. background-size: 4px;
  2442. border: 1px solid var(--color-background-100);
  2443. margin-top: -1px;
  2444. }
  2445. .PinturaShapeStyle .PinturaColorPreview span {
  2446. border-radius: inherit;
  2447. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2448. }
  2449. .PinturaShapeStyle [data-focus-visible] .PinturaColorPreview span:before {
  2450. position: absolute;
  2451. left: 0;
  2452. top: 0;
  2453. right: 0;
  2454. bottom: 0;
  2455. border-radius: inherit;
  2456. background-color: var(--color-focus-50);
  2457. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2458. content: "";
  2459. z-index: 1;
  2460. }
  2461. .PinturaShapeStyle
  2462. > .PinturaColorPickerButtonStroke
  2463. .PinturaColorPreview
  2464. span:after {
  2465. position: absolute;
  2466. left: 6px;
  2467. top: 6px;
  2468. right: 6px;
  2469. bottom: 6px;
  2470. background: var(--color-background-100);
  2471. border-radius: inherit;
  2472. box-shadow: 0 0 0 1px var(--color-foreground-5);
  2473. content: "";
  2474. }
  2475. .PinturaShapeStyle > .PinturaDropdownButton .PinturaButtonLabel,
  2476. .PinturaShapeStyle > .PinturaRadioGroup .PinturaButtonLabel,
  2477. .PinturaShapeStyle > .PinturaRadioGroupOption label,
  2478. .PinturaShapeStyle > .PinturaSliderButton .PinturaButtonLabel {
  2479. display: block;
  2480. line-height: 2.25;
  2481. padding: 0 1em;
  2482. font-size: 0.6875em;
  2483. }
  2484. .PinturaShapeStyle
  2485. > .PinturaButton:not(.PinturaColorPickerButton)[data-focus-visible] {
  2486. background-color: var(--color-focus-50);
  2487. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2488. }
  2489. .PinturaShapeStyle .PinturaInputField {
  2490. text-align: right;
  2491. padding: 0 0.75em;
  2492. width: 3em;
  2493. height: 2em;
  2494. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2495. border-radius: var(--border-radius);
  2496. }
  2497. .PinturaShapeStyle > .PinturaDropdownButton {
  2498. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2499. transition: background-color 0.1s;
  2500. }
  2501. .PinturaShapeStyle > .PinturaDropdownButton:hover {
  2502. background-color: var(--color-foreground-10);
  2503. }
  2504. .PinturaShapeStyle > .PinturaDropdownButton .PinturaButtonLabel:after {
  2505. content: "▼";
  2506. font-size: 0.6875em;
  2507. margin-left: 0.75em;
  2508. position: relative;
  2509. top: -0.125em;
  2510. margin-right: -0.25em;
  2511. pointer-events: none;
  2512. }
  2513. .PinturaShapeStyle > .PinturaRadioGroup > .PinturaRadioGroupOptions {
  2514. flex-direction: row;
  2515. }
  2516. .PinturaShapeStyle > .PinturaRadioGroup > .PinturaRadioGroupOptions label {
  2517. cursor: var(--button-cursor);
  2518. display: flex;
  2519. height: 1.5em;
  2520. align-items: center;
  2521. padding: 0 0.25em;
  2522. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2523. transition: background-color 0.1s;
  2524. }
  2525. .PinturaShapeStyle
  2526. > .PinturaRadioGroup
  2527. > .PinturaRadioGroupOptions
  2528. label:hover {
  2529. background-color: var(--color-foreground-20);
  2530. }
  2531. .PinturaShapeStyle > .PinturaRadioGroup > .PinturaRadioGroupOptions svg {
  2532. width: 1.125em;
  2533. height: 1.125em;
  2534. }
  2535. .PinturaShapeStyle
  2536. > .PinturaRadioGroup
  2537. > .PinturaRadioGroupOptions
  2538. .PinturaRadioGroupOption:first-of-type
  2539. label {
  2540. padding-left: 0.5em;
  2541. border-top-left-radius: var(--border-radius-round);
  2542. border-bottom-left-radius: var(--border-radius-round);
  2543. }
  2544. .PinturaShapeStyle
  2545. > .PinturaRadioGroup
  2546. > .PinturaRadioGroupOptions
  2547. .PinturaRadioGroupOption:last-of-type
  2548. label {
  2549. padding-right: 0.5em;
  2550. border-top-right-radius: var(--border-radius-round);
  2551. border-bottom-right-radius: var(--border-radius-round);
  2552. }
  2553. .PinturaShapeStyle
  2554. > .PinturaRadioGroup
  2555. > .PinturaRadioGroupOptions
  2556. [data-selected="true"]
  2557. label {
  2558. background-color: var(--color-foreground-10);
  2559. }
  2560. .PinturaRectManipulator {
  2561. --size: 1.25em;
  2562. position: absolute;
  2563. left: 0;
  2564. top: 0;
  2565. outline: none;
  2566. touch-action: none;
  2567. }
  2568. .PinturaRectManipulator:not([data-shape="edge"]) {
  2569. width: var(--size);
  2570. height: var(--size);
  2571. z-index: 2;
  2572. }
  2573. .PinturaRectManipulator:not([data-shape="edge"]):after {
  2574. position: absolute;
  2575. left: -0.5em;
  2576. right: -0.5em;
  2577. top: -0.5em;
  2578. bottom: -0.5em;
  2579. border-radius: inherit;
  2580. content: "";
  2581. }
  2582. .PinturaRectManipulator:not([data-shape="edge"])[data-focus-visible]:after {
  2583. background-color: var(--color-focus-50);
  2584. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2585. }
  2586. .PinturaRectManipulator[data-shape~="circle"] {
  2587. margin-left: calc(var(--size) * (-0.5));
  2588. margin-top: calc(var(--size) * (-0.5));
  2589. line-height: var(--size);
  2590. border-radius: 50%;
  2591. background-color: var(--color-foreground-100);
  2592. box-shadow: 0 0 2px var(--color-background-50);
  2593. }
  2594. .PinturaRectManipulator[data-shape="hook"] {
  2595. border: 3px solid var(--color-foreground-100);
  2596. }
  2597. .PinturaRectManipulator[data-shape="hook"][data-direction*="t"] {
  2598. margin-top: -3px;
  2599. border-bottom: 0;
  2600. }
  2601. .PinturaRectManipulator[data-shape="hook"][data-direction*="r"] {
  2602. border-left: 0;
  2603. margin-left: calc(var(--size) * (-1));
  2604. }
  2605. .PinturaRectManipulator[data-shape="hook"][data-direction*="b"] {
  2606. margin-top: calc(var(--size) * (-1));
  2607. border-top: 0;
  2608. }
  2609. .PinturaRectManipulator[data-shape="hook"][data-direction*="l"] {
  2610. border-right: 0;
  2611. margin-left: -3px;
  2612. }
  2613. .PinturaRectManipulator[data-shape~="edge"] {
  2614. height: 1px;
  2615. width: 1px;
  2616. z-index: 1;
  2617. }
  2618. .PinturaRectManipulator[data-shape~="edge"][data-focus-visible] {
  2619. background-color: var(--color-focus-50);
  2620. }
  2621. .PinturaRectManipulator[data-direction="b"],
  2622. .PinturaRectManipulator[data-direction="t"] {
  2623. cursor: ns-resize;
  2624. height: var(--size);
  2625. margin-top: calc(var(--size) * (-0.5));
  2626. transform-origin: 0 center;
  2627. }
  2628. .PinturaRectManipulator[data-direction="l"],
  2629. .PinturaRectManipulator[data-direction="r"] {
  2630. cursor: ew-resize;
  2631. width: var(--size);
  2632. margin-left: calc(var(--size) * (-0.5));
  2633. transform-origin: center 0;
  2634. }
  2635. .PinturaRectManipulator[data-direction="bl"],
  2636. .PinturaRectManipulator[data-direction="tr"] {
  2637. cursor: nesw-resize;
  2638. }
  2639. .PinturaRectManipulator[data-direction="br"],
  2640. .PinturaRectManipulator[data-direction="tl"] {
  2641. cursor: nwse-resize;
  2642. }
  2643. .PinturaRoot[data-env~="pointer-coarse"]
  2644. .PinturaRectManipulator[data-shape="edge"]:active {
  2645. background-color: var(--color-foreground-5);
  2646. }
  2647. .PinturaRoot[data-env~="pointer-coarse"]
  2648. .PinturaRectManipulator:not([data-shape="edge"]):after {
  2649. left: -1em;
  2650. right: -1em;
  2651. top: -1em;
  2652. bottom: -1em;
  2653. }
  2654. .PinturaRoot[data-env~="pointer-coarse"]
  2655. .PinturaRectManipulator:not([data-shape="edge"]):active:after {
  2656. background-color: var(--color-foreground-5);
  2657. }
  2658. .PinturaToolbar {
  2659. display: flex;
  2660. justify-content: center;
  2661. margin-left: 1em;
  2662. margin-right: 1em;
  2663. padding-top: 1em;
  2664. }
  2665. .PinturaToolbar .PinturaToolbarInner {
  2666. display: inline-flex;
  2667. }
  2668. .PinturaToolbar[data-layout="compact"] .PinturaToolbarContentWide,
  2669. .PinturaToolbar[data-overflow="overflow"] .PinturaToolbarContentOptional {
  2670. display: none;
  2671. }
  2672. .PinturaToolbar .PinturaButton {
  2673. border-radius: var(--border-radius-round);
  2674. outline: transparent;
  2675. padding: 0.3125em 0.75em;
  2676. transition: background-color 0.1s ease-out, color 0.1s ease-out,
  2677. box-shadow 0.1s ease-out;
  2678. line-height: 1.1;
  2679. }
  2680. .PinturaToolbar .PinturaButton:hover {
  2681. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2682. }
  2683. .PinturaToolbar .PinturaButton[data-focus-visible] {
  2684. background-color: var(--color-focus-50);
  2685. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2686. }
  2687. .PinturaToolbar .PinturaButton .PinturaButtonIcon {
  2688. width: 1em;
  2689. }
  2690. .PinturaToolbar .PinturaButtonLabel {
  2691. font-size: 0.75em;
  2692. }
  2693. .PinturaToolbar .PinturaDetailsPanel {
  2694. z-index: 3;
  2695. }
  2696. .PinturaToolbar .PinturaToolbarInner > * {
  2697. margin: 0 0.5em;
  2698. }
  2699. .PinturaShapePresetsPalette {
  2700. width: calc(100% - 2em);
  2701. text-align: center;
  2702. }
  2703. .PinturaShapePresetsPalette .PinturaShapePresetSelect {
  2704. vertical-align: top;
  2705. display: inline-block;
  2706. }
  2707. .PinturaShapePresetsPalette .PinturaScrollable:not([data-state~="overflows"]) {
  2708. display: flex;
  2709. justify-content: center;
  2710. }
  2711. .PinturaShapePresetsPalette .PinturaButton + .PinturaButton {
  2712. margin-left: 0.5em;
  2713. }
  2714. .PinturaShapePresetsPalette .PinturaButton {
  2715. flex-direction: row;
  2716. line-height: 1.1;
  2717. padding: 0.3125em 0.75em;
  2718. border-radius: var(--border-radius-round);
  2719. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2720. cursor: var(--button-cursor);
  2721. transition: background-color 0.1s ease-out, color 0.1s ease-out,
  2722. box-shadow 0.1s ease-out;
  2723. outline: none;
  2724. }
  2725. .PinturaShapePresetsPalette .PinturaButton .PinturaButtonIcon {
  2726. width: 1em;
  2727. }
  2728. .PinturaShapePresetsPalette .PinturaButton .PinturaButtonLabel {
  2729. font-size: 0.75em;
  2730. }
  2731. .PinturaShapePresetsPalette .PinturaButton:hover {
  2732. box-shadow: inset 0 0 0 1px var(--color-foreground-10);
  2733. }
  2734. .PinturaShapePresetsPalette .PinturaButton[data-focus-visible] {
  2735. background-color: var(--color-focus-50);
  2736. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2737. }
  2738. .PinturaShapePresetsPalette .PinturaShapePresetsFlat > * + *,
  2739. .PinturaShapePresetsPalette .PinturaShapePresetsGroups > * + * {
  2740. margin-left: 0.5em;
  2741. }
  2742. .PinturaShapePresetsGroups {
  2743. display: flex;
  2744. order: 2;
  2745. margin-bottom: -0.1875em;
  2746. }
  2747. .PinturaShapePresetsGrouped {
  2748. display: flex;
  2749. flex-direction: column;
  2750. align-items: center;
  2751. }
  2752. .PinturaShapePresetsFlat {
  2753. display: flex;
  2754. align-items: center;
  2755. justify-content: center;
  2756. }
  2757. .PinturaShapeList {
  2758. pointer-events: none;
  2759. opacity: 0;
  2760. transition: opacity 0.1s ease-in-out;
  2761. position: absolute;
  2762. top: 1em;
  2763. left: 1em;
  2764. width: -webkit-max-content;
  2765. width: -moz-max-content;
  2766. width: max-content;
  2767. z-index: 1;
  2768. border-radius: var(--border-radius);
  2769. color: var(--color-foreground-100);
  2770. background: var(--color-background-70);
  2771. box-shadow: 0 0 0 1px var(--color-foreground-5);
  2772. }
  2773. .PinturaShapeList li + li {
  2774. margin-top: -0.3125em;
  2775. }
  2776. .PinturaShapeList[data-visible="true"] {
  2777. opacity: 1;
  2778. }
  2779. .PinturaShapeList .PinturaColorPreview {
  2780. width: 0.75em;
  2781. height: 0.75em;
  2782. margin-right: 0.25em;
  2783. border-radius: 0.25em;
  2784. }
  2785. .PinturaShapeList .PinturaShapeListItem {
  2786. display: flex;
  2787. align-items: center;
  2788. padding: 0.25em 0.5em;
  2789. outline: none;
  2790. }
  2791. .PinturaShapeList .PinturaShapeListItem > span {
  2792. font-size: 0.75em;
  2793. line-height: 1.75;
  2794. padding: 0 0.325em;
  2795. margin-left: -0.325em;
  2796. }
  2797. .PinturaShapeList .PinturaShapeListItem[data-focus-visible] > span {
  2798. background-color: var(--color-focus-50);
  2799. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2800. }
  2801. .PinturaShapeList[data-visible="true"] .PinturaShapeListItem {
  2802. pointer-events: all;
  2803. }
  2804. .PinturaShapeEditor {
  2805. height: 100%;
  2806. width: 100%;
  2807. outline: none;
  2808. touch-action: none;
  2809. }
  2810. .PinturaShapeControls {
  2811. position: absolute !important;
  2812. left: 0;
  2813. top: 0;
  2814. z-index: 3;
  2815. pointer-events: none;
  2816. display: flex;
  2817. align-items: center;
  2818. }
  2819. .PinturaShapeControlsGroup {
  2820. pointer-events: all;
  2821. }
  2822. .PinturaShapeControlsGroup,
  2823. .PinturaShapeControlsGroup .PinturaSlider {
  2824. color: #eee;
  2825. background: #333;
  2826. box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.25);
  2827. border-radius: 0.25em;
  2828. }
  2829. .PinturaShapeControlsGroup,
  2830. .PinturaShapeControlsGroup .PinturaShapeControlsGroupToggle {
  2831. display: inline-flex;
  2832. min-height: 1.75em;
  2833. }
  2834. .PinturaShapeControlsGroup + .PinturaShapeControlsGroup {
  2835. margin-left: 0.5em;
  2836. }
  2837. .PinturaShapeControlsGroup .PinturaShapeControlsGroupToggle {
  2838. position: relative;
  2839. }
  2840. .PinturaShapeControlsGroup .PinturaButton {
  2841. outline: transparent;
  2842. }
  2843. .PinturaShapeControlsGroup .PinturaButton[data-focus-visible] {
  2844. background-color: var(--color-focus-50);
  2845. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  2846. }
  2847. .PinturaShapeControlsGroup > .PinturaButton {
  2848. display: block;
  2849. font-weight: 700;
  2850. transition: background-color 0.1s;
  2851. outline: transparent;
  2852. }
  2853. .PinturaShapeControlsGroup > .PinturaButton:hover {
  2854. background-color: hsla(0, 0%, 100%, 0.15);
  2855. }
  2856. .PinturaShapeControlsGroup > .PinturaButton .PinturaButtonLabel {
  2857. display: block;
  2858. font-size: 0.6875em;
  2859. padding: 0 0.75em;
  2860. line-height: 1.7em;
  2861. }
  2862. .PinturaShapeControlsGroup .PinturaButtonIconOnly {
  2863. width: 1.75em;
  2864. transition: background-color 0.1s;
  2865. }
  2866. .PinturaShapeControlsGroup .PinturaButtonIconOnly:hover {
  2867. background-color: hsla(0, 0%, 100%, 0.15);
  2868. }
  2869. .PinturaShapeControlsGroup > button:first-of-type {
  2870. border-radius: 0.25em 0 0 0.25em;
  2871. }
  2872. .PinturaShapeControlsGroup > button:last-of-type {
  2873. border-radius: 0 0.25em 0.25em 0;
  2874. }
  2875. .PinturaShapeControlsGroup > button:only-of-type {
  2876. border-radius: 0.25em;
  2877. }
  2878. .PinturaShapeControlsGroup > * + * {
  2879. border-left: 1px solid rgba(0, 0, 0, 0.5);
  2880. }
  2881. .PinturaShapeControlsGroup svg {
  2882. pointer-events: none;
  2883. }
  2884. .PinturaShapePresetsList {
  2885. display: flex;
  2886. align-items: center;
  2887. }
  2888. .PinturaShapePresetsList text {
  2889. font-family: monospace;
  2890. }
  2891. .PinturaShapePresetsList .PinturaShapePreset {
  2892. display: flex;
  2893. justify-content: center;
  2894. align-items: center;
  2895. }
  2896. .PinturaShapePresetsList .PinturaShapePreset img,
  2897. .PinturaShapePresetsList .PinturaShapePreset svg {
  2898. display: block;
  2899. width: 1.75em;
  2900. height: 1.75em;
  2901. -o-object-fit: cover;
  2902. object-fit: cover;
  2903. border-radius: 0.3125em;
  2904. }
  2905. .PinturaShapePresetsList .PinturaShapePreset .PinturaDragButton {
  2906. padding: 0.3125em;
  2907. border-radius: var(--border-radius);
  2908. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2909. }
  2910. .PinturaShapePresetsList .PinturaShapePreset .PinturaDragButton:hover {
  2911. background-color: var(--color-foreground-10);
  2912. }
  2913. .PinturaShapePresetsList .PinturaShapePreset + .PinturaShapePreset {
  2914. margin-left: 0.5em;
  2915. }
  2916. .PinturaInputForm {
  2917. opacity: 0;
  2918. cursor: auto;
  2919. z-index: 2147483647;
  2920. }
  2921. .PinturaInputForm:not([data-layout="stick"]) {
  2922. position: absolute;
  2923. bottom: 6.5em;
  2924. width: 30em;
  2925. left: calc(50% - 15em);
  2926. box-shadow: 0 0.25em 0.5em -0.5em rgba(0, 0, 0, 0.75),
  2927. inset 0 0 0 1px var(--color-foreground-10);
  2928. border-radius: var(--border-radius);
  2929. background-color: var(--color-background-95);
  2930. }
  2931. @media (max-width: 34em) {
  2932. .PinturaInputForm:not([data-layout="stick"]) {
  2933. left: 2em;
  2934. right: 2em;
  2935. width: auto;
  2936. }
  2937. }
  2938. .PinturaInputForm[data-layout="stick"] {
  2939. transition: opacity 0.15s ease 0.25s;
  2940. position: absolute;
  2941. left: 0;
  2942. right: 0;
  2943. outline: 1px solid var(--color-foreground-15);
  2944. background-color: var(--color-background-100);
  2945. }
  2946. .PinturaInputForm[data-layout="stick"] > .PinturaInputFormInner {
  2947. background-color: var(--color-foreground-3);
  2948. }
  2949. .PinturaInputFormInner > .PinturaButton {
  2950. color: var(--color-foreground-100);
  2951. border-radius: 9999em;
  2952. box-shadow: inset 0 0 0 1px var(--color-foreground-5);
  2953. }
  2954. .PinturaInputFormInner > .PinturaButton:first-of-type {
  2955. left: 1em;
  2956. }
  2957. .PinturaInputFormInner > .PinturaButton:last-of-type {
  2958. right: 1rem;
  2959. color: var(--color-primary-text);
  2960. background: var(--color-primary);
  2961. box-shadow: inset 0 0 0 1px var(--color-foreground-10);
  2962. }
  2963. .PinturaInputFormInner
  2964. > .PinturaButton:not(.PinturaButtonIconOnly)
  2965. .PinturaButtonInner {
  2966. padding: 0 0.875em 0 0.625em;
  2967. }
  2968. .PinturaInputFormInner > .PinturaButton .PinturaButtonIcon {
  2969. width: 0.875em;
  2970. height: 0.875em;
  2971. }
  2972. .PinturaInputFormInner > .PinturaButton.PinturaButtonIconOnly {
  2973. width: 1.875em;
  2974. height: 1.875em;
  2975. }
  2976. .PinturaInputFormInner > .PinturaButton .PinturaButtonLabel {
  2977. font-size: 0.875em;
  2978. }
  2979. .PinturaInputFormInner > .PinturaButton .PinturaButtonInner {
  2980. line-height: 2;
  2981. display: flex;
  2982. justify-content: center;
  2983. }
  2984. .PinturaInputFormInner {
  2985. padding-top: 1em;
  2986. padding-bottom: 3.5em;
  2987. }
  2988. .PinturaInputFormInner > .PinturaButton {
  2989. position: absolute;
  2990. bottom: 1em;
  2991. }
  2992. .PinturaInputFormFields textarea:only-child {
  2993. width: 100%;
  2994. padding: 0 1em 0.5em;
  2995. height: 5em;
  2996. display: block;
  2997. background: transparent;
  2998. -webkit-mask: linear-gradient(0deg, transparent, #000 1em);
  2999. mask: linear-gradient(0deg, transparent, #000 1em);
  3000. }
  3001. .PinturaInputFormFields textarea:only-child::-webkit-scrollbar {
  3002. width: 1em;
  3003. cursor: pointer;
  3004. }
  3005. .PinturaInputFormFields textarea:only-child::-webkit-scrollbar-track {
  3006. background: none;
  3007. }
  3008. .PinturaInputFormFields textarea:only-child::-webkit-scrollbar-thumb {
  3009. cursor: pointer;
  3010. background-clip: padding-box;
  3011. background-color: var(--color-foreground-70);
  3012. border-radius: 9999em;
  3013. border: 0.25em solid transparent;
  3014. }
  3015. .PinturaInputForm input,
  3016. .PinturaInputForm textarea {
  3017. box-sizing: border-box;
  3018. resize: none;
  3019. border: none;
  3020. font-size: 1rem;
  3021. outline: transparent;
  3022. color: var(--color-foreground-100);
  3023. }
  3024. .PinturaInputForm input {
  3025. background-color: var(--color-background-100);
  3026. }
  3027. .PinturaModalBodyLock .PinturaInputForm {
  3028. margin-top: -50px;
  3029. }
  3030. .PinturaShapeManipulator {
  3031. position: absolute;
  3032. left: 0;
  3033. top: 0;
  3034. outline: none;
  3035. touch-action: none;
  3036. --size: 0.75em;
  3037. }
  3038. .PinturaShapeManipulator:not([data-control="edge"]) {
  3039. margin-left: calc(var(--size) * (-0.5));
  3040. margin-top: calc(var(--size) * (-0.5));
  3041. line-height: var(--size);
  3042. width: var(--size);
  3043. height: var(--size);
  3044. border-radius: 9999em;
  3045. }
  3046. .PinturaShapeManipulator:not([data-control="edge"]):after {
  3047. position: absolute;
  3048. left: -0.5em;
  3049. right: -0.5em;
  3050. top: -0.5em;
  3051. bottom: -0.5em;
  3052. content: "";
  3053. }
  3054. .PinturaShapeManipulator:not([data-control="edge"])[data-focus-visible]:after {
  3055. border-radius: inherit;
  3056. background-color: var(--color-focus-50);
  3057. box-shadow: inset 0 0 0 1px var(--color-focus-100);
  3058. }
  3059. .PinturaShapeManipulator[data-control="point"] {
  3060. background: linear-gradient(
  3061. 90deg,
  3062. var(--color-secondary-dark),
  3063. var(--color-secondary)
  3064. );
  3065. box-shadow: 0 0 0 2px #fff, 0 0 4px #000;
  3066. z-index: 3;
  3067. }
  3068. .PinturaShapeManipulator[data-control="edge"] {
  3069. margin-top: calc(var(--size) * (-0.5));
  3070. height: var(--size);
  3071. width: 1px;
  3072. z-index: 1;
  3073. transform-origin: 0 calc(var(--size) * 0.5);
  3074. }
  3075. .PinturaShapeManipulator[data-control="edge"][data-focus-visible] {
  3076. background-color: var(--color-focus-50);
  3077. }
  3078. .PinturaShapeManipulator[data-control="rotate"] {
  3079. border-radius: 9999em;
  3080. background: linear-gradient(90deg, #fff, #ddd);
  3081. box-shadow: 0 0 0 2px var(--color-secondary-dark), 0 0 4px #000;
  3082. z-index: 2;
  3083. cursor: move;
  3084. }
  3085. .PinturaDragButton {
  3086. cursor: var(--button-cursor);
  3087. outline: transparent;
  3088. }
  3089. .PinturaDragButton > * {
  3090. pointer-events: none;
  3091. }
  3092. .PinturaDragButton {
  3093. -webkit-user-select: none;
  3094. -moz-user-select: none;
  3095. -ms-user-select: none;
  3096. user-select: none;
  3097. -webkit-touch-callout: none;
  3098. -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  3099. transition: filter 0.2s ease-out;
  3100. }
  3101. .PinturaDragButton[disabled] {
  3102. filter: var(--filter-disabled);
  3103. }